diff --git a/.changelog/28865.txt b/.changelog/28865.txt new file mode 100644 index 00000000000..aa592fe875f --- /dev/null +++ b/.changelog/28865.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_sagemaker_model_package_group_policy: Improve refresh to avoid unnecessary diffs in `resource_policy` +``` diff --git a/internal/service/sagemaker/model_package_group_policy.go b/internal/service/sagemaker/model_package_group_policy.go index 29c1182b053..2d634bcf1ff 100644 --- a/internal/service/sagemaker/model_package_group_policy.go +++ b/internal/service/sagemaker/model_package_group_policy.go @@ -32,10 +32,11 @@ func ResourceModelPackageGroupPolicy() *schema.Resource { ForceNew: true, }, "resource_policy": { - Type: schema.TypeString, - Required: true, - ValidateFunc: validation.StringIsJSON, - DiffSuppressFunc: verify.SuppressEquivalentPolicyDiffs, + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringIsJSON, + DiffSuppressFunc: verify.SuppressEquivalentPolicyDiffs, + DiffSuppressOnRefresh: true, StateFunc: func(v interface{}) string { json, _ := structure.NormalizeJsonString(v) return json @@ -49,7 +50,6 @@ func resourceModelPackageGroupPolicyPut(d *schema.ResourceData, meta interface{} conn := meta.(*conns.AWSClient).SageMakerConn() policy, err := structure.NormalizeJsonString(d.Get("resource_policy").(string)) - if err != nil { return fmt.Errorf("policy (%s) is invalid JSON: %w", d.Get("resource_policy").(string), err) } @@ -87,7 +87,6 @@ func resourceModelPackageGroupPolicyRead(d *schema.ResourceData, meta interface{ d.Set("model_package_group_name", d.Id()) policyToSet, err := verify.PolicyToSet(d.Get("resource_policy").(string), aws.StringValue(mpg.ResourcePolicy)) - if err != nil { return err }