Skip to content

Commit

Permalink
Fix testcase failure and added missing code after rebase
Browse files Browse the repository at this point in the history
  • Loading branch information
Rajesh-Pirati committed Apr 28, 2022
1 parent 9fc8110 commit 6852b17
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 9 deletions.
4 changes: 0 additions & 4 deletions ibm/service/iampolicy/data_source_ibm_iam_user_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,10 +156,6 @@ func dataSourceIBMIAMUserPolicyRead(d *schema.ResourceData, meta interface{}) er
Type: core.StringPtr("access"),
}

if transactionID, ok := d.GetOk("transaction_id"); ok {
listPoliciesOptions.SetHeaders(map[string]string{"Transaction-Id": transactionID.(string)})
}

if v, ok := d.GetOk("sort"); ok {
listPoliciesOptions.Sort = core.StringPtr(v.(string))
}
Expand Down
4 changes: 4 additions & 0 deletions ibm/service/iampolicy/resource_ibm_iam_access_group_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,10 @@ func resourceIBMIAMAccessGroupPolicyRead(d *schema.ResourceData, meta interface{
d.Set("description", *accessGroupPolicy.Description)
}

if res.Headers["Transaction-Id"][0] != "" {
d.Set("transaction_id", res.Headers["Transaction-Id"][0])
}

return nil
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@ func testAccCheckIBMIAMAccessGroupPolicyServiceSpecificRoles(name string) string
resource "ibm_iam_access_group_policy" "policy" {
access_group_id = ibm_iam_access_group.accgrp.id
roles = ["Satellite Link Source and Endpoint Controller"]
roles = ["Satellite Link Administrator"]
resource_attributes {
name = "resource"
value = "test*"
Expand Down
23 changes: 23 additions & 0 deletions ibm/service/iampolicy/resource_ibm_iam_authorization_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,13 @@ func ResourceIBMIAMAuthorizationPolicy() *schema.Resource {
Optional: true,
Description: "Description of the Policy",
},

"transaction_id": {
Type: schema.TypeString,
Optional: true,
Computed: true,
Description: "Set transactionID for debug",
},
},
}
}
Expand Down Expand Up @@ -347,6 +354,10 @@ func resourceIBMIAMAuthorizationPolicyCreate(d *schema.ResourceData, meta interf
createPolicyOptions.Description = &des
}

if transactionID, ok := d.GetOk("transaction_id"); ok {
createPolicyOptions.SetHeaders(map[string]string{"Transaction-Id": transactionID.(string)})
}

authPolicy, resp, err := iampapClient.CreatePolicy(createPolicyOptions)
if err != nil {
return fmt.Errorf("[ERROR] Error creating authorization policy: %s %s", err, resp)
Expand All @@ -368,6 +379,10 @@ func resourceIBMIAMAuthorizationPolicyRead(d *schema.ResourceData, meta interfac
PolicyID: core.StringPtr(d.Id()),
}

if transactionID, ok := d.GetOk("transaction_id"); ok {
getPolicyOptions.SetHeaders(map[string]string{"Transaction-Id": transactionID.(string)})
}

authorizationPolicy, resp, err := iampapClient.GetPolicy(getPolicyOptions)
if err != nil {
return fmt.Errorf("[ERROR] Error retrieving authorizationPolicy: %s %s", err, resp)
Expand All @@ -379,6 +394,9 @@ func resourceIBMIAMAuthorizationPolicyRead(d *schema.ResourceData, meta interfac
if authorizationPolicy.Description != nil {
d.Set("description", *authorizationPolicy.Description)
}
if resp.Headers["Transaction-Id"][0] != "" {
d.Set("transaction_id", resp.Headers["Transaction-Id"][0])
}
d.Set("roles", roles)
source := authorizationPolicy.Subjects[0]
target := authorizationPolicy.Resources[0]
Expand Down Expand Up @@ -415,6 +433,11 @@ func resourceIBMIAMAuthorizationPolicyDelete(d *schema.ResourceData, meta interf
deletePolicyOptions := &iampolicymanagementv1.DeletePolicyOptions{
PolicyID: core.StringPtr(authorizationPolicyID),
}

if transactionID, ok := d.GetOk("transaction_id"); ok {
deletePolicyOptions.SetHeaders(map[string]string{"Transaction-Id": transactionID.(string)})
}

resp, err := iampapClient.DeletePolicy(deletePolicyOptions)
if err != nil {
log.Printf(
Expand Down
4 changes: 4 additions & 0 deletions ibm/service/iampolicy/resource_ibm_iam_service_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,10 @@ func resourceIBMIAMServicePolicyCreate(d *schema.ResourceData, meta interface{})
*servicePolicy.ID,
)

if transactionID, ok := d.GetOk("transaction_id"); ok {
getPolicyOptions.SetHeaders(map[string]string{"Transaction-Id": transactionID.(string)})
}

err = resource.Retry(5*time.Minute, func() *resource.RetryError {
var err error
policy, res, err := iamPolicyManagementClient.GetPolicy(getPolicyOptions)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,10 @@ func resourceIBMIAMTrustedProfilePolicyCreate(d *schema.ResourceData, meta inter
*trustedProfilePolicy.ID,
)

if transactionID, ok := d.GetOk("transaction_id"); ok {
getPolicyOptions.SetHeaders(map[string]string{"Transaction-Id": transactionID.(string)})
}

err = resource.Retry(5*time.Minute, func() *resource.RetryError {
var err error
policy, res, err := iamPolicyManagementClient.GetPolicy(getPolicyOptions)
Expand Down Expand Up @@ -498,6 +502,10 @@ func resourceIBMIAMTrustedProfilePolicyUpdate(d *schema.ResourceData, meta inter
updatePolicyOptions.Description = &des
}

if transactionID, ok := d.GetOk("transaction_id"); ok {
updatePolicyOptions.SetHeaders(map[string]string{"Transaction-Id": transactionID.(string)})
}

_, resp, err := iamPolicyManagementClient.UpdatePolicy(updatePolicyOptions)
if err != nil {
return fmt.Errorf("[ERROR] Error updating trusted profile policy: %s: %s", err, resp)
Expand Down
8 changes: 4 additions & 4 deletions ibm/service/iampolicy/resource_ibm_iam_user_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,10 @@ func resourceIBMIAMUserPolicyCreate(d *schema.ResourceData, meta interface{}) er
PolicyID: userPolicy.ID,
}

if transactionID, ok := d.GetOk("transaction_id"); ok {
getPolicyOptions.SetHeaders(map[string]string{"Transaction-Id": transactionID.(string)})
}

err = resource.Retry(5*time.Minute, func() *resource.RetryError {
var err error
policy, res, err := iamPolicyManagementClient.GetPolicy(getPolicyOptions)
Expand Down Expand Up @@ -301,10 +305,6 @@ func resourceIBMIAMUserPolicyRead(d *schema.ResourceData, meta interface{}) erro
userEmail := parts[0]
userPolicyID := parts[1]

if err != nil {
return err
}

getPolicyOptions := &iampolicymanagementv1.GetPolicyOptions{
PolicyID: core.StringPtr(userPolicyID),
}
Expand Down

0 comments on commit 6852b17

Please sign in to comment.