Skip to content

Commit

Permalink
Adding sort feature in terraform (#2227)
Browse files Browse the repository at this point in the history
* Adding sort feature in terraform

Co-authored-by: Rajesh Pirati <Rajesh.Pirati@ibm.com>
Co-authored-by: Rudrasish Pradhan <rudrasish.pradhan@ibm.com>
Co-authored-by: Bhavana Bellamgari <bhavana.bellamgari@ibm.com>

* Adding sort arguments in policies

* Adding sort in service policy instead of id

Co-authored-by: Rajesh Pirati <Rajesh.Pirati@ibm.com>
Co-authored-by: Bhavana Bellamgari <bhavana.bellamgari@ibm.com>
  • Loading branch information
3 people authored Feb 19, 2021
1 parent 9ba88a2 commit 73c3454
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 6 deletions.
15 changes: 13 additions & 2 deletions ibm/data_source_ibm_iam_service_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ func dataSourceIBMIAMServicePolicy() *schema.Resource {
Type: schema.TypeString,
Required: true,
},
"sort": {
Description: "Sort query for policies",
Type: schema.TypeString,
Optional: true,
},
"policies": {
Type: schema.TypeList,
Computed: true,
Expand Down Expand Up @@ -102,11 +107,17 @@ func dataSourceIBMIAMServicePolicyRead(d *schema.ResourceData, meta interface{})
return err
}

policies, err := iampapClient.V1Policy().List(iampapv1.SearchParams{
query := iampapv1.SearchParams{
AccountID: userDetails.userAccount,
Type: iampapv1.AccessPolicyType,
IAMID: serviceID.IAMID,
})
}

if v, ok := d.GetOk("sort"); ok {
query.Sort = v.(string)
}

policies, err := iampapClient.V1Policy().List(query)
if err != nil {
return err
}
Expand Down
1 change: 1 addition & 0 deletions ibm/data_source_ibm_iam_service_policy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ resource "ibm_iam_service_policy" "policy1" {
data "ibm_iam_service_policy" "testacc_ds_service_policy" {
iam_service_id = ibm_iam_service_policy.policy.iam_service_id
sort = "id"
}`, name, name)

}
23 changes: 19 additions & 4 deletions ibm/data_source_ibm_iam_user_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ func dataSourceIBMIAMUserPolicy() *schema.Resource {
Type: schema.TypeString,
Required: true,
},
"sort": {
Description: "Sort query for policies",
Type: schema.TypeString,
Optional: true,
},
"policies": {
Type: schema.TypeList,
Computed: true,
Expand Down Expand Up @@ -99,11 +104,21 @@ func dataSourceIBMIAMUserPolicyRead(d *schema.ResourceData, meta interface{}) er
return err
}

policies, err := iampapClient.V1Policy().List(iampapv1.SearchParams{
query := iampapv1.SearchParams{
AccountID: accountID,
IAMID: ibmUniqueID,
Type: iampapv1.AccessPolicyType,
})
Type: ibmUniqueID,
IAMID: iampapv1.AccessPolicyType,
}

if v, ok := d.GetOk("sort"); ok {
query.Sort = v.(string)
}

policies, err := iampapClient.V1Policy().List(query)
if err != nil {
return err
}

if err != nil {
return err
}
Expand Down
1 change: 1 addition & 0 deletions ibm/data_source_ibm_iam_user_policy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ resource "ibm_iam_user_policy" "policy1" {
data "ibm_iam_user_policy" "testacc_ds_user_policy" {
ibm_id = ibm_iam_user_policy.policy.ibm_id
sort = "-id"
}`, name, IAMUser, IAMUser)

}
1 change: 1 addition & 0 deletions website/docs/d/iam_service_policy.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ data "ibm_iam_service_policy" "testacc_ds_service_policy" {
The following arguments are supported:

* `iam_service_id` - (Required, string) The UUID of the serviceID.
* `sort` - (Optional, string) Single field sort query for policies.

## Attribute Reference

Expand Down
1 change: 1 addition & 0 deletions website/docs/d/iam_user_policy.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ data "ibm_iam_user_policy" "testacc_ds_user_policy" {
The following arguments are supported:

* `ibm_id` - (Required, string) The ibm id or email of user.
* `sort` - (Optional, string) Single field sort query for policies.

## Attribute Reference

Expand Down

0 comments on commit 73c3454

Please sign in to comment.