aboutsummaryrefslogtreecommitdiffstats
path: root/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'manifests')
-rw-r--r--manifests/honeycomb/configure_role_mappings.pp9
1 files changed, 7 insertions, 2 deletions
diff --git a/manifests/honeycomb/configure_role_mappings.pp b/manifests/honeycomb/configure_role_mappings.pp
index 826f6e6..43d742b 100644
--- a/manifests/honeycomb/configure_role_mappings.pp
+++ b/manifests/honeycomb/configure_role_mappings.pp
@@ -28,10 +28,15 @@ define fdio::honeycomb::configure_role_mappings (
$mapping = split($interface_role_mapping, ':')
$vpp_int = regsubst($mapping[0], '/', '%2F', 'G')
$role_name = $mapping[1]
- $config_url = "${honeycomb_url}/restconf/config/ietf-interfaces:interfaces/interface/${vpp_int}"
+ case $role_name {
+ 'tenant-interface': { $role_type = 'virtual-domain-interface' }
+ 'public-interface': { $role_type = 'public-interface' }
+ default: { fail("Unsupported interface role: ${role_name}") }
+ }
+ $config_url = "${honeycomb_url}/restconf/config/ietf-interfaces:interfaces/ietf-interfaces:interface/${vpp_int}/interface-role:roles/interface-role:role/${role_name}"
exec { "Register interface ${mapping[0]} with role ${role_name}":
- command => "curl -XPOST --fail -H 'Content-Type: application/json' -u ${honeycomb_username}:${honeycomb_password} ${config_url} -d \"{'description': '${role_name}'}\"",
+ command => "curl -XPOST --fail -H 'Content-Type: application/json' -u ${honeycomb_username}:${honeycomb_password} ${config_url} -d \"{'role-type': '${role_type}'}\"",
tries => 5,
try_sleep => 30,
path => '/usr/sbin:/usr/bin:/sbin:/bin',