diff --git a/go.mod b/go.mod index 0562e6351c..2fb92bf39f 100644 --- a/go.mod +++ b/go.mod @@ -18,8 +18,8 @@ require ( github.com/IBM/eventstreams-go-sdk v1.4.0 github.com/IBM/go-sdk-core/v3 v3.2.4 github.com/IBM/go-sdk-core/v5 v5.16.1 - github.com/IBM/ibm-cos-sdk-go v1.10.0 - github.com/IBM/ibm-cos-sdk-go-config v1.2.0 + github.com/IBM/ibm-cos-sdk-go v1.10.1 + github.com/IBM/ibm-cos-sdk-go-config/v2 v2.0.4 github.com/IBM/ibm-hpcs-tke-sdk v0.0.0-20211109141421-a4b61b05f7d1 github.com/IBM/ibm-hpcs-uko-sdk v0.0.20-beta github.com/IBM/keyprotect-go-client v0.12.2 @@ -62,6 +62,7 @@ require ( ) require ( + github.com/IBM/go-sdk-core v1.1.0 github.com/IBM/mqcloud-go-sdk v0.0.4 github.com/IBM/sarama v1.41.2 k8s.io/utils v0.0.0-20230313181309-38a27ef9d749 diff --git a/go.sum b/go.sum index 6c1f7a7906..5322c56785 100644 --- a/go.sum +++ b/go.sum @@ -130,7 +130,8 @@ github.com/IBM/event-notifications-go-admin-sdk v0.4.0 h1:7nqtybv8GNVjuB5QBfx/ke github.com/IBM/event-notifications-go-admin-sdk v0.4.0/go.mod h1:m6WD+q9AHJhybK929vOK8Kfx4BsKO7AmROKRpR2uQP8= github.com/IBM/eventstreams-go-sdk v1.4.0 h1:yS/Ns29sBOe8W2tynQmz9HTKqQZ0ckse4Py5Oy/F2rM= github.com/IBM/eventstreams-go-sdk v1.4.0/go.mod h1:2tuAxaYLctfqfr5jvyqSrxxEQGMwYPm3yJGWSj85YVQ= -github.com/IBM/go-sdk-core/v3 v3.0.0/go.mod h1:JI5NS2+iCoY/D8Oq3JNEZNA7qO42agu6fnaUmDsRcJA= +github.com/IBM/go-sdk-core v1.1.0 h1:pV73lZqr9r1xKb3h08c1uNG3AphwoV5KzUzhS+pfEqY= +github.com/IBM/go-sdk-core v1.1.0/go.mod h1:2pcx9YWsIsZ3I7kH+1amiAkXvLTZtAq9kbxsfXilSoY= github.com/IBM/go-sdk-core/v3 v3.2.4 h1:WKYJYYKlZnw1y/gM+Qbf5EQVAL9xaoD54+ooJZz/iBQ= github.com/IBM/go-sdk-core/v3 v3.2.4/go.mod h1:lk9eOzNbNltPf3CBpcg1Ewkhw4qC3u2QCCKDRsUA2M0= github.com/IBM/go-sdk-core/v5 v5.0.0/go.mod h1:vyNdbFujJtdTj9HbihtvKwwS3k/GKSKpOx9ZIQ6MWDY= @@ -142,11 +143,10 @@ github.com/IBM/go-sdk-core/v5 v5.9.5/go.mod h1:YlOwV9LeuclmT/qi/LAK2AsobbAP42veV github.com/IBM/go-sdk-core/v5 v5.10.2/go.mod h1:WZPFasUzsKab/2mzt29xPcfruSk5js2ywAPwW4VJjdI= github.com/IBM/go-sdk-core/v5 v5.16.1 h1:vAgOxRvaXD5AmgwR7dlstjT1JFE4BA4lPcGsEFZOKGs= github.com/IBM/go-sdk-core/v5 v5.16.1/go.mod h1:aojBkkq4HXkOYdn7YZ6ve8cjPWHdcB3tt8v0b9Cbac8= -github.com/IBM/ibm-cos-sdk-go v1.3.1/go.mod h1:YLBAYobEA8bD27P7xpMwSQeNQu6W3DNBtBComXrRzRY= -github.com/IBM/ibm-cos-sdk-go v1.10.0 h1:/2VIev2/jBei39OqU2+nSZQnoWJ+KtkiSAIDkqsd7uU= -github.com/IBM/ibm-cos-sdk-go v1.10.0/go.mod h1:C8KRTRaoD3CWPPBOa6FCOpdh0ZMlUjKAAA4i3F+Q/sc= -github.com/IBM/ibm-cos-sdk-go-config v1.2.0 h1:1E93234yZgVS0ntm7eUwVb3h0AAayPGcxEhhizEN1LE= -github.com/IBM/ibm-cos-sdk-go-config v1.2.0/go.mod h1:Wetfgv6m1xyuzpZLQTTLIBsWstxjYa15h+Utj7x53Dk= +github.com/IBM/ibm-cos-sdk-go v1.10.1 h1:vQCsu61OHRVF2lL6ah+m3AmUlhnYGkI1qogukCEFULs= +github.com/IBM/ibm-cos-sdk-go v1.10.1/go.mod h1:zhcgfL2YG5DVaI5R2F6oYO2DYnvwW14vpcpFq+ybhXU= +github.com/IBM/ibm-cos-sdk-go-config/v2 v2.0.4 h1:fvy/cMKn/3BngdxaL5dXaSlUuzTANY42VuVQuW0NEYE= +github.com/IBM/ibm-cos-sdk-go-config/v2 v2.0.4/go.mod h1:Pam4aWm9Ve/pqAVrPW8nm2yCXq0h9LDeQ1Iacx5g9rU= github.com/IBM/ibm-hpcs-tke-sdk v0.0.0-20211109141421-a4b61b05f7d1 h1:T5UwRKKd+BoaPZ7UIlpJrzXzVTUEs8HcxwQ3pCIbORs= github.com/IBM/ibm-hpcs-tke-sdk v0.0.0-20211109141421-a4b61b05f7d1/go.mod h1:M2JyuyeWHPtgGNeezr6YqVRuaav2MpY8Ha4QrEYvMoI= github.com/IBM/ibm-hpcs-uko-sdk v0.0.20-beta h1:P1fdIfKsD9xvJQ5MHIEztPS9yfNf9x+VDTamaYcmqcs= @@ -1222,7 +1222,6 @@ github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= diff --git a/ibm/conns/config.go b/ibm/conns/config.go index 38d3afc484..77e20c0615 100644 --- a/ibm/conns/config.go +++ b/ibm/conns/config.go @@ -27,7 +27,7 @@ import ( "github.com/IBM/cloud-databases-go-sdk/clouddatabasesv5" "github.com/IBM/container-registry-go-sdk/containerregistryv1" "github.com/IBM/go-sdk-core/v5/core" - cosconfig "github.com/IBM/ibm-cos-sdk-go-config/resourceconfigurationv1" + cosconfig "github.com/IBM/ibm-cos-sdk-go-config/v2/resourceconfigurationv1" kp "github.com/IBM/keyprotect-go-client" "github.com/IBM/mqcloud-go-sdk/mqcloudv1" cisalertsv1 "github.com/IBM/networking-go-sdk/alertsv1" diff --git a/ibm/flex/structures.go b/ibm/flex/structures.go index 629b053f45..704e310dc0 100644 --- a/ibm/flex/structures.go +++ b/ibm/flex/structures.go @@ -25,7 +25,7 @@ import ( "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" "github.com/IBM/cloud-databases-go-sdk/clouddatabasesv5" "github.com/IBM/go-sdk-core/v5/core" - "github.com/IBM/ibm-cos-sdk-go-config/resourceconfigurationv1" + "github.com/IBM/ibm-cos-sdk-go-config/v2/resourceconfigurationv1" "github.com/IBM/ibm-cos-sdk-go/aws" "github.com/IBM/ibm-cos-sdk-go/service/s3" kp "github.com/IBM/keyprotect-go-client" diff --git a/ibm/service/cos/data_source_ibm_cos_bucket.go b/ibm/service/cos/data_source_ibm_cos_bucket.go index 22c54e1c96..83f519a394 100644 --- a/ibm/service/cos/data_source_ibm_cos_bucket.go +++ b/ibm/service/cos/data_source_ibm_cos_bucket.go @@ -11,7 +11,7 @@ import ( "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/validate" - "github.com/IBM/ibm-cos-sdk-go-config/resourceconfigurationv1" + rcsdk "github.com/IBM/ibm-cos-sdk-go-config/v2/resourceconfigurationv1" "github.com/IBM/ibm-cos-sdk-go/aws" "github.com/IBM/ibm-cos-sdk-go/aws/credentials/ibmiam" token "github.com/IBM/ibm-cos-sdk-go/aws/credentials/ibmiam/token" @@ -707,16 +707,10 @@ func dataSourceIBMCosBucketRead(d *schema.ResourceData, meta interface{}) error d.Set("s3_endpoint_public", apiEndpoint) d.Set("s3_endpoint_private", apiEndpointPrivate) d.Set("s3_endpoint_direct", directApiEndpoint) - - getBucketConfigOptions := &resourceconfigurationv1.GetBucketConfigOptions{ - Bucket: &bucketName, - } - sess, err := meta.(conns.ClientSession).CosConfigV1API() if err != nil { return err } - if endpointType == "private" { sess.SetServiceURL("https://config.private.cloud-object-storage.cloud.ibm.com/v1") } @@ -728,10 +722,11 @@ func dataSourceIBMCosBucketRead(d *schema.ResourceData, meta interface{}) error satconfig := fmt.Sprintf("https://config.%s.%s.cloud-object-storage.appdomain.cloud/v1", serviceID, satlc_id) sess.SetServiceURL(satconfig) - } - bucketPtr, response, err := sess.GetBucketConfig(getBucketConfigOptions) + getOptions := new(rcsdk.GetBucketConfigOptions) + getOptions.SetBucket(bucketName) + bucketPtr, response, err := sess.GetBucketConfig(getOptions) if err != nil { return fmt.Errorf("[ERROR] Error in getting bucket info rule: %s\n%s", err, response) } diff --git a/ibm/service/cos/resource_ibm_cos_bucket.go b/ibm/service/cos/resource_ibm_cos_bucket.go index fabf40bc9d..299dfb77ad 100644 --- a/ibm/service/cos/resource_ibm_cos_bucket.go +++ b/ibm/service/cos/resource_ibm_cos_bucket.go @@ -14,7 +14,8 @@ import ( "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex" "github.com/IBM-Cloud/terraform-provider-ibm/ibm/validate" - "github.com/IBM/ibm-cos-sdk-go-config/resourceconfigurationv1" + "github.com/IBM/go-sdk-core/core" + rcsdk "github.com/IBM/ibm-cos-sdk-go-config/v2/resourceconfigurationv1" "github.com/IBM/ibm-cos-sdk-go/aws" "github.com/IBM/ibm-cos-sdk-go/aws/credentials/ibmiam" token "github.com/IBM/ibm-cos-sdk-go/aws/credentials/ibmiam/token" @@ -936,19 +937,18 @@ func resourceIBMCOSBucketUpdate(d *schema.ResourceData, meta interface{}) error } hasChanged := false - updateBucketConfigOptions := &resourceconfigurationv1.UpdateBucketConfigOptions{} //BucketName bucketName = d.Get("bucket_name").(string) - updateBucketConfigOptions.Bucket = &bucketName - + bucketPatchModel := new(rcsdk.BucketPatch) if d.HasChange("hard_quota") { hasChanged = true - updateBucketConfigOptions.HardQuota = aws.Int64(int64(d.Get("hard_quota").(int))) + bucketPatchModel.HardQuota = core.Int64Ptr(int64(d.Get("hard_quota").(int))) + } if d.HasChange("allowed_ip") { - firewall := &resourceconfigurationv1.Firewall{} + firewall := &rcsdk.Firewall{} var ips = make([]string, 0) if ip, ok := d.GetOk("allowed_ip"); ok && ip != nil { for _, i := range ip.([]interface{}) { @@ -959,11 +959,11 @@ func resourceIBMCOSBucketUpdate(d *schema.ResourceData, meta interface{}) error firewall.AllowedIp = []string{} } hasChanged = true - updateBucketConfigOptions.Firewall = firewall + bucketPatchModel.Firewall = firewall } if d.HasChange("activity_tracking") { - activityTracker := &resourceconfigurationv1.ActivityTracking{} + activityTracker := &rcsdk.ActivityTracking{} if activity, ok := d.GetOk("activity_tracking"); ok { activitylist := activity.([]interface{}) for _, l := range activitylist { @@ -987,11 +987,12 @@ func resourceIBMCOSBucketUpdate(d *schema.ResourceData, meta interface{}) error } } hasChanged = true - updateBucketConfigOptions.ActivityTracking = activityTracker + bucketPatchModel.ActivityTracking = activityTracker + } if d.HasChange("metrics_monitoring") { - metricsMonitor := &resourceconfigurationv1.MetricsMonitoring{} + metricsMonitoring := &rcsdk.MetricsMonitoring{} if metrics, ok := d.GetOk("metrics_monitoring"); ok { metricslist := metrics.([]interface{}) for _, l := range metricslist { @@ -1000,24 +1001,32 @@ func resourceIBMCOSBucketUpdate(d *schema.ResourceData, meta interface{}) error //metrics enabled - as its optional check for existence if metricsSet := metricsMap["usage_metrics_enabled"]; metricsSet != nil { metrics := metricsSet.(bool) - metricsMonitor.UsageMetricsEnabled = &metrics + metricsMonitoring.UsageMetricsEnabled = &metrics } // request metrics enabled - as its optional check for existence if metricsSet := metricsMap["request_metrics_enabled"]; metricsSet != nil { metrics := metricsSet.(bool) - metricsMonitor.RequestMetricsEnabled = &metrics + metricsMonitoring.RequestMetricsEnabled = &metrics } //crn - Required field crn := metricsMap["metrics_monitoring_crn"].(string) - metricsMonitor.MetricsMonitoringCrn = &crn + metricsMonitoring.MetricsMonitoringCrn = &crn } } hasChanged = true - updateBucketConfigOptions.MetricsMonitoring = metricsMonitor + bucketPatchModel.MetricsMonitoring = metricsMonitoring + } if hasChanged { - response, err := sess.UpdateBucketConfig(updateBucketConfigOptions) + bucketPatchModelAsPatch, asPatchErr := bucketPatchModel.AsPatch() + if asPatchErr != nil { + return fmt.Errorf("[ERROR] Error Update COS Bucket: %s\n%s", err, bucketPatchModelAsPatch) + } + setOptions := new(rcsdk.UpdateBucketConfigOptions) + setOptions.SetBucket(bucketName) + setOptions.BucketPatch = bucketPatchModelAsPatch + response, err := sess.UpdateBucketConfig(setOptions) if err != nil { return fmt.Errorf("[ERROR] Error Update COS Bucket: %s\n%s", err, response) } @@ -1145,11 +1154,6 @@ func resourceIBMCOSBucketRead(d *schema.ResourceData, meta interface{}) error { if endpointType != "" { d.Set("endpoint_type", endpointType) } - - getBucketConfigOptions := &resourceconfigurationv1.GetBucketConfigOptions{ - Bucket: &bucketName, - } - sess, err := meta.(conns.ClientSession).CosConfigV1API() if err != nil { return err @@ -1168,7 +1172,9 @@ func resourceIBMCOSBucketRead(d *schema.ResourceData, meta interface{}) error { sess.SetServiceURL(satconfig) } - bucketPtr, response, err := sess.GetBucketConfig(getBucketConfigOptions) + getOptions := new(rcsdk.GetBucketConfigOptions) + getOptions.SetBucket(bucketName) + bucketPtr, response, err := sess.GetBucketConfig(getOptions) if err != nil { return fmt.Errorf("[ERROR] Error in getting bucket info rule: %s\n%s", err, response) }