Skip to content

Commit 242faba

Browse files
update service, trusted id policies (#6453)
* update service, trusted id poilices * Fix acceptance testcase
1 parent 68976c0 commit 242faba

File tree

2 files changed

+11
-27
lines changed

2 files changed

+11
-27
lines changed

ibm/service/iampolicy/data_source_ibm_iam_service_policy_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ resource "ibm_iam_service_policy" "policy1" {
188188
189189
data "ibm_iam_service_policy" "testacc_ds_service_policy" {
190190
iam_service_id = ibm_iam_service_policy.policy.iam_service_id
191-
sort = "id"
191+
sort = "created_at"
192192
}`, name, name)
193193

194194
}

ibm/service/iampolicy/resource_ibm_iam_service_policy.go

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ func ResourceIBMIAMServicePolicy() *schema.Resource {
3636
return []*schema.ResourceData{d}, nil
3737
},
3838
},
39-
4039
Schema: map[string]*schema.Schema{
4140
"iam_service_id": {
4241
Type: schema.TypeString,
4342
Optional: true,
43+
Computed: true,
4444
Description: "UUID of ServiceID",
4545
ForceNew: true,
4646
Deprecated: "This field is deprecated and will be removed starting with this 1.82.0 release. Please use iam_id field instead.",
@@ -50,6 +50,7 @@ func ResourceIBMIAMServicePolicy() *schema.Resource {
5050
"iam_id": {
5151
Type: schema.TypeString,
5252
Optional: true,
53+
Computed: true,
5354
Description: "IAM ID of ServiceID",
5455
ForceNew: true,
5556
},
@@ -453,17 +454,16 @@ func resourceIBMIAMServicePolicyCreate(d *schema.ResourceData, meta interface{})
453454
}
454455
if err != nil {
455456
if v, ok := d.GetOk("iam_service_id"); ok && v != nil {
456-
serviceIDUUID := v.(string)
457-
d.SetId(fmt.Sprintf("%s/%s", serviceIDUUID, policyID))
457+
d.SetId(fmt.Sprintf("%s/%s", "iam-"+v.(string), policyID))
458+
458459
} else if v, ok := d.GetOk("iam_id"); ok && v != nil {
459460
iamID := v.(string)
460461
d.SetId(fmt.Sprintf("%s/%s", iamID, policyID))
461462
}
462463
return fmt.Errorf("[ERROR] Error fetching service policy: %s", err)
463464
}
464465
if v, ok := d.GetOk("iam_service_id"); ok && v != nil {
465-
serviceIDUUID := v.(string)
466-
d.SetId(fmt.Sprintf("%s/%s", serviceIDUUID, policyID))
466+
d.SetId(fmt.Sprintf("%s/%s", "iam-"+v.(string), policyID))
467467
} else if v, ok := d.GetOk("iam_id"); ok && v != nil {
468468
iamID := v.(string)
469469
d.SetId(fmt.Sprintf("%s/%s", iamID, policyID))
@@ -514,10 +514,15 @@ func resourceIBMIAMServicePolicyRead(d *schema.ResourceData, meta interface{}) e
514514
if err != nil || servicePolicy == nil || res == nil {
515515
return fmt.Errorf("[ERROR] Error retrieving servicePolicy: %s %s", err, res)
516516
}
517+
517518
if strings.HasPrefix(serviceIDUUID, "iam-") {
518519
d.Set("iam_id", serviceIDUUID)
520+
d.Set("iam_service_id", strings.TrimPrefix(serviceIDUUID, "iam-"))
521+
d.SetId(fmt.Sprintf("%s/%s", serviceIDUUID, servicePolicyID))
519522
} else {
520523
d.Set("iam_service_id", serviceIDUUID)
524+
d.Set("iam_id", fmt.Sprintf("iam-%s", serviceIDUUID))
525+
d.SetId(fmt.Sprintf("%s/%s", fmt.Sprintf("iam-%s", serviceIDUUID), servicePolicyID))
521526
}
522527

523528
roles, err := flex.GetRoleNamesFromPolicyResponse(*servicePolicy, d, meta)
@@ -572,27 +577,6 @@ func resourceIBMIAMServicePolicyUpdate(d *schema.ResourceData, meta interface{})
572577
servicePolicyID := parts[1]
573578

574579
var iamID string
575-
if v, ok := d.GetOk("iam_service_id"); ok && v != nil {
576-
serviceIDUUID := v.(string)
577-
578-
iamClient, err := meta.(conns.ClientSession).IAMIdentityV1API()
579-
if err != nil {
580-
return err
581-
}
582-
getServiceIDOptions := iamidentityv1.GetServiceIDOptions{
583-
ID: &serviceIDUUID,
584-
}
585-
586-
if transactionID, ok := d.GetOk("transaction_id"); ok {
587-
getServiceIDOptions.SetHeaders(map[string]string{"Transaction-Id": transactionID.(string)})
588-
}
589-
590-
serviceID, resp, err := iamClient.GetServiceID(&getServiceIDOptions)
591-
if err != nil {
592-
return fmt.Errorf("[ERROR] Error] Error Getting Service Id %s %s", err, resp)
593-
}
594-
iamID = *serviceID.IamID
595-
}
596580
if v, ok := d.GetOk("iam_id"); ok && v != nil {
597581
iamID = v.(string)
598582
}

0 commit comments

Comments
 (0)