diff --git a/equinix/resource_fabric_connection.go b/equinix/resource_fabric_connection.go index 0b52e1ea8..112e2aab9 100644 --- a/equinix/resource_fabric_connection.go +++ b/equinix/resource_fabric_connection.go @@ -644,12 +644,6 @@ func resourceFabricConnectionCreate(ctx context.Context, d *schema.ResourceData, createConnectionRequest.SetProject(project) } - additionalInfoTerraConfig, ok := d.GetOk("additional_info") - if ok { - additionalInfo := additionalInfoTerraformToGo(additionalInfoTerraConfig.([]interface{})) - createConnectionRequest.SetAdditionalInfo(additionalInfo) - } - aSide := d.Get("a_side").(*schema.Set).List() connectionASide := connectionSideTerraformToGo(aSide) createConnectionRequest.SetASide(connectionASide) @@ -658,6 +652,19 @@ func resourceFabricConnectionCreate(ctx context.Context, d *schema.ResourceData, connectionZSide := connectionSideTerraformToGo(zSide) createConnectionRequest.SetZSide(connectionZSide) + additionalInfoTerraConfig, ok := d.GetOk("additional_info") + if ok { + zSideAccessPoint := connectionZSide.GetAccessPoint() + zSideAccessPointServiceProfile := zSideAccessPoint.GetProfile() + serviceProfile, _, _ := client.ServiceProfilesApi.GetServiceProfileByUuid(ctx, zSideAccessPointServiceProfile.GetUuid()).Execute() + customFields := serviceProfile.GetCustomFields() + + if len(customFields) != 0 { + additionalInfo := additionalInfoTerraformToGo(additionalInfoTerraConfig.([]interface{})) + createConnectionRequest.SetAdditionalInfo(additionalInfo) + } + } + start := time.Now() conn, _, err := client.ConnectionsApi.CreateConnection(ctx).ConnectionPostRequest(createConnectionRequest).Execute() if err != nil {