Skip to content

Commit

Permalink
Fix update function of minio_iam_policy, ensuring policy gets updated (
Browse files Browse the repository at this point in the history
  • Loading branch information
benosman committed May 20, 2021
1 parent d037155 commit d43f030
Showing 1 changed file with 4 additions and 34 deletions.
38 changes: 4 additions & 34 deletions minio/resource_minio_iam_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,43 +112,13 @@ func minioReadPolicy(d *schema.ResourceData, meta interface{}) error {
}

func minioUpdatePolicy(d *schema.ResourceData, meta interface{}) error {

var on interface{}
var nn interface{}
var name string

iamPolicyConfig := IAMPolicyConfig(d, meta)

if len(iamPolicyConfig.MinioIAMName) > 0 {
name = iamPolicyConfig.MinioIAMName
} else if len(iamPolicyConfig.MinioIAMNamePrefix) > 0 {
name = resource.PrefixedUniqueId(iamPolicyConfig.MinioIAMNamePrefix)
}

if d.HasChange(name) {
on, nn = d.GetChange(name)
} else if d.HasChange(iamPolicyConfig.MinioIAMPolicy) {
on, nn = d.GetChange(iamPolicyConfig.MinioIAMPolicy)
}

if on == nil && nn == nil {
return minioReadPolicy(d, meta)
}

if len(on.(string)) > 0 && len(nn.(string)) > 0 {
log.Println("[DEBUG] Update IAM Policy:", iamPolicyConfig.MinioIAMName)
err := iamPolicyConfig.MinioAdmin.RemoveCannedPolicy(context.Background(), on.(string))
if err != nil {
return NewResourceError("Unable to update policy", name, err)
}

err = iamPolicyConfig.MinioAdmin.AddCannedPolicy(context.Background(), nn.(string), ParseIamPolicyConfigFromString(iamPolicyConfig.MinioIAMPolicy))
if err != nil {
return NewResourceError("Unable to update policy", name, err)
}

d.SetId(nn.(string))
log.Println("[DEBUG] Update IAM Policy:", string(d.Id()))

err := iamPolicyConfig.MinioAdmin.AddCannedPolicy(context.Background(), string(d.Id()), ParseIamPolicyConfigFromString(iamPolicyConfig.MinioIAMPolicy))
if err != nil {
return NewResourceError("Unable to update policy", string(d.Id()), err)
}

return minioReadPolicy(d, meta)
Expand Down

0 comments on commit d43f030

Please sign in to comment.