Skip to content

Commit

Permalink
Merge pull request #300 from terraform-providers/fix_gw_interface
Browse files Browse the repository at this point in the history
Fix locale services with policy gateway interfaces
  • Loading branch information
annakhm committed Apr 28, 2020
2 parents 766228f + ca4df25 commit 2c6adbe
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 11 deletions.
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

0 comments on commit 2c6adbe

Please sign in to comment.