From 28e7c2a664714e00d93cee38b94b89ce2b1c48bc Mon Sep 17 00:00:00 2001 From: srushti-patl Date: Tue, 30 Apr 2024 13:45:01 -0700 Subject: [PATCH 1/2] fix: Updating CreateConnection method for passing additional_info in Fabric connection Resource --- equinix/resource_fabric_connection.go | 48 +++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/equinix/resource_fabric_connection.go b/equinix/resource_fabric_connection.go index 0b52e1ea8..ad7ecf1c6 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 { @@ -694,6 +701,35 @@ func resourceFabricConnectionCreate(ctx context.Context, d *schema.ResourceData, return resourceFabricConnectionRead(ctx, d, meta) } +//func checkServiceProfileCustomFields(ctx context.Context, d *schema.ResourceData, meta interface{}) (bool, error) { +// client := meta.(*config.Config).NewFabricClientForSDK(d) +// +// // Get A-side service profile +// //aSideServiceProfileID := d.Get("uuid").(string) +// //aSideServiceProfile, _, err := client.ServiceProfilesApi.GetServiceProfileByUuid(ctx, aSideServiceProfileID).Execute() +// //if err != nil { +// // return false, err +// //} +// +// // Get Z-side service profile +// ServiceProfileID := d.Get("uuid").(string) +// ServiceProfile, _, err := client.ServiceProfilesApi.GetServiceProfileByUuid(ctx, ServiceProfileID).Execute() +// if err != nil { +// return false, err +// } +// +// //// Check if custom fields are set in A-side service profile +// //aSideCustomFields := aSideServiceProfile.GetCustomFields() +// //if len(aSideCustomFields) == 0 { +// // return false, fmt.Errorf("custom fields are not set in A-side service profile") +// //} +// +// // Check if custom fields are set in Z-side service profile +// CustomFields := ServiceProfile.GetCustomFields() +// +// return true, nil +//} + func additionalInfoContainsAWSSecrets(info []interface{}) ([]interface{}, bool) { var awsSecrets []interface{} From 728379a862b65c7d0e45736e46c1b59fada0b3ff Mon Sep 17 00:00:00 2001 From: srushti-patl Date: Tue, 30 Apr 2024 13:47:48 -0700 Subject: [PATCH 2/2] fix:Removing commented code --- equinix/resource_fabric_connection.go | 29 --------------------------- 1 file changed, 29 deletions(-) diff --git a/equinix/resource_fabric_connection.go b/equinix/resource_fabric_connection.go index ad7ecf1c6..112e2aab9 100644 --- a/equinix/resource_fabric_connection.go +++ b/equinix/resource_fabric_connection.go @@ -701,35 +701,6 @@ func resourceFabricConnectionCreate(ctx context.Context, d *schema.ResourceData, return resourceFabricConnectionRead(ctx, d, meta) } -//func checkServiceProfileCustomFields(ctx context.Context, d *schema.ResourceData, meta interface{}) (bool, error) { -// client := meta.(*config.Config).NewFabricClientForSDK(d) -// -// // Get A-side service profile -// //aSideServiceProfileID := d.Get("uuid").(string) -// //aSideServiceProfile, _, err := client.ServiceProfilesApi.GetServiceProfileByUuid(ctx, aSideServiceProfileID).Execute() -// //if err != nil { -// // return false, err -// //} -// -// // Get Z-side service profile -// ServiceProfileID := d.Get("uuid").(string) -// ServiceProfile, _, err := client.ServiceProfilesApi.GetServiceProfileByUuid(ctx, ServiceProfileID).Execute() -// if err != nil { -// return false, err -// } -// -// //// Check if custom fields are set in A-side service profile -// //aSideCustomFields := aSideServiceProfile.GetCustomFields() -// //if len(aSideCustomFields) == 0 { -// // return false, fmt.Errorf("custom fields are not set in A-side service profile") -// //} -// -// // Check if custom fields are set in Z-side service profile -// CustomFields := ServiceProfile.GetCustomFields() -// -// return true, nil -//} - func additionalInfoContainsAWSSecrets(info []interface{}) ([]interface{}, bool) { var awsSecrets []interface{}