Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix locale services with policy gateway interfaces #300

Merged
merged 1 commit into from
Apr 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 6 additions & 5 deletions nsxt/resource_nsxt_policy_tier0_gateway_interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -249,8 +249,8 @@ func resourceNsxtPolicyTier0GatewayInterfaceUpdate(d *schema.ResourceData, m int
tier0Path := d.Get("gateway_path").(string)
localeServiceID := d.Get("locale_service_id").(string)
tier0ID := getPolicyIDFromPath(tier0Path)
if id == "" || tier0ID == "" {
return fmt.Errorf("Error obtaining Tier0 id")
if id == "" || tier0ID == "" || localeServiceID == "" {
return fmt.Errorf("Error obtaining Tier0 id or Locale Service id")
}

displayName := d.Get("display_name").(string)
Expand Down Expand Up @@ -305,11 +305,12 @@ func resourceNsxtPolicyTier0GatewayInterfaceDelete(d *schema.ResourceData, m int
id := d.Id()
tier0Path := d.Get("gateway_path").(string)
tier0ID := getPolicyIDFromPath(tier0Path)
if id == "" || tier0ID == "" {
return fmt.Errorf("Error obtaining Tier0 Interface id")
localeServiceID := d.Get("locale_service_id").(string)
if id == "" || tier0ID == "" || localeServiceID == "" {
return fmt.Errorf("Error obtaining Tier0 id or Locale Service id")
}

err := client.Delete(tier0ID, defaultPolicyLocaleServiceID, id)
err := client.Delete(tier0ID, localeServiceID, id)
if err != nil {
return handleDeleteError("Tier0 Interface", id, err)
}
Expand Down
7 changes: 7 additions & 0 deletions nsxt/resource_nsxt_policy_tier0_gateway_interface_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ func TestAccResourceNsxtPolicyTier0GatewayInterface_service(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand All @@ -63,6 +64,7 @@ func TestAccResourceNsxtPolicyTier0GatewayInterface_service(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand All @@ -79,6 +81,7 @@ func TestAccResourceNsxtPolicyTier0GatewayInterface_service(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand Down Expand Up @@ -120,6 +123,7 @@ func TestAccResourceNsxtPolicyTier0GatewayInterface_external(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "edge_node_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand All @@ -141,6 +145,7 @@ func TestAccResourceNsxtPolicyTier0GatewayInterface_external(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "edge_node_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand Down Expand Up @@ -179,6 +184,7 @@ func TestAccResourceNsxtPolicyTier0GatewayInterface_withID(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand All @@ -197,6 +203,7 @@ func TestAccResourceNsxtPolicyTier0GatewayInterface_withID(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand Down
21 changes: 15 additions & 6 deletions nsxt/resource_nsxt_policy_tier1_gateway_interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ func resourceNsxtPolicyTier1GatewayInterface() *schema.Resource {
"mtu": getMtuSchema(),
"ipv6_ndra_profile_path": getIPv6NDRAPathSchema(),
"urpf_mode": getGatewayInterfaceUrpfModeSchema(),
"locale_service_id": {
Type: schema.TypeString,
Description: "Locale Service ID for this interface",
Computed: true,
},
},
}
}
Expand Down Expand Up @@ -125,6 +130,7 @@ func resourceNsxtPolicyTier1GatewayInterfaceCreate(d *schema.ResourceData, m int

d.SetId(id)
d.Set("nsx_id", id)
d.Set("locale_service_id", localeServiceID)

return resourceNsxtPolicyTier1GatewayInterfaceRead(d, m)
}
Expand Down Expand Up @@ -182,10 +188,12 @@ func resourceNsxtPolicyTier1GatewayInterfaceUpdate(d *schema.ResourceData, m int

id := d.Id()
tier1Path := d.Get("gateway_path").(string)
localeServiceID := d.Get("locale_service_id").(string)
tier1ID := getPolicyIDFromPath(tier1Path)
if id == "" || tier1ID == "" {
return fmt.Errorf("Error obtaining Tier1 id")
if id == "" || tier1ID == "" || localeServiceID == "" {
return fmt.Errorf("Error obtaining Tier1 id or Locale Service id")
}

displayName := d.Get("display_name").(string)
description := d.Get("description").(string)
tags := getPolicyTagsFromSchema(d)
Expand Down Expand Up @@ -216,7 +224,7 @@ func resourceNsxtPolicyTier1GatewayInterfaceUpdate(d *schema.ResourceData, m int
obj.UrpfMode = &urpfMode
}

_, err := client.Update(tier1ID, defaultPolicyLocaleServiceID, id, obj)
_, err := client.Update(tier1ID, localeServiceID, id, obj)
if err != nil {
return handleUpdateError("Tier1 Interface", id, err)
}
Expand All @@ -231,11 +239,12 @@ func resourceNsxtPolicyTier1GatewayInterfaceDelete(d *schema.ResourceData, m int
id := d.Id()
tier1Path := d.Get("gateway_path").(string)
tier1ID := getPolicyIDFromPath(tier1Path)
if id == "" || tier1ID == "" {
return fmt.Errorf("Error obtaining Tier1 Interface id")
localeServiceID := d.Get("locale_service_id").(string)
if id == "" || tier1ID == "" || localeServiceID == "" {
return fmt.Errorf("Error obtaining Tier1 id or Locale Service id")
}

err := client.Delete(tier1ID, defaultPolicyLocaleServiceID, id)
err := client.Delete(tier1ID, localeServiceID, id)
if err != nil {
return handleDeleteError("Tier1 Interface", id, err)
}
Expand Down
5 changes: 5 additions & 0 deletions nsxt/resource_nsxt_policy_tier1_gateway_interface_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ func TestAccResourceNsxtPolicyTier1GatewayInterface_basic(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand All @@ -61,6 +62,7 @@ func TestAccResourceNsxtPolicyTier1GatewayInterface_basic(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand All @@ -77,6 +79,7 @@ func TestAccResourceNsxtPolicyTier1GatewayInterface_basic(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand Down Expand Up @@ -116,6 +119,7 @@ func TestAccResourceNsxtPolicyTier1GatewayInterface_withID(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand All @@ -135,6 +139,7 @@ func TestAccResourceNsxtPolicyTier1GatewayInterface_withID(t *testing.T) {
resource.TestCheckResourceAttrSet(testResourceName, "gateway_path"),
resource.TestCheckResourceAttrSet(testResourceName, "path"),
resource.TestCheckResourceAttrSet(testResourceName, "nsx_id"),
resource.TestCheckResourceAttrSet(testResourceName, "locale_service_id"),
resource.TestCheckResourceAttrSet(testResourceName, "revision"),
),
},
Expand Down