Skip to content

Commit

Permalink
Merge pull request #28864 from hashicorp/b-schemas-policy-diffs
Browse files Browse the repository at this point in the history
schemas/registry_policy: Improve policy diffs
  • Loading branch information
YakDriver committed Jan 12, 2023
2 parents 1afe0b4 + c9ba079 commit 8cf1ed3
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
3 changes: 3 additions & 0 deletions .changelog/28864.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
resource/aws_schemas_registry_policy: Improve refresh to avoid unnecessary diffs in `policy`
```
17 changes: 10 additions & 7 deletions internal/service/schemas/registry_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,11 @@ func ResourceRegistryPolicy() *schema.Resource {

Schema: map[string]*schema.Schema{
"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
Expand All @@ -58,7 +59,6 @@ func resourceRegistryPolicyCreate(ctx context.Context, d *schema.ResourceData, m

registryName := d.Get("registry_name").(string)
policy, err := structure.ExpandJsonFromString(d.Get("policy").(string))

if err != nil {
return create.DiagError(names.Schemas, create.ErrActionCreating, ResNameRegistryPolicy, registryName, err)
}
Expand Down Expand Up @@ -95,7 +95,11 @@ func resourceRegistryPolicyRead(ctx context.Context, d *schema.ResourceData, met
return create.DiagError(names.Schemas, create.ErrActionReading, ResNameRegistryPolicy, d.Id(), err)
}

policy, _ := structure.FlattenJsonToString(output.Policy)
policy, err := structure.FlattenJsonToString(output.Policy)
if err != nil {
return create.DiagError(names.Schemas, create.ErrActionReading, ResNameRegistryPolicy, d.Id(), err)
}

d.Set("policy", policy)
d.Set("registry_name", d.Id())

Expand All @@ -106,7 +110,6 @@ func resourceRegistryPolicyUpdate(ctx context.Context, d *schema.ResourceData, m
conn := meta.(*conns.AWSClient).SchemasConn()

policy, err := structure.ExpandJsonFromString(d.Get("policy").(string))

if err != nil {
return create.DiagError(names.Schemas, create.ErrActionUpdating, ResNameRegistryPolicy, d.Id(), err)
}
Expand Down

0 comments on commit 8cf1ed3

Please sign in to comment.