本文整理匯總了Golang中github.com/aws/aws-sdk-go/service/iam.IAM.ListRolePolicies方法的典型用法代碼示例。如果您正苦於以下問題:Golang IAM.ListRolePolicies方法的具體用法?Golang IAM.ListRolePolicies怎麽用?Golang IAM.ListRolePolicies使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/aws/aws-sdk-go/service/iam.IAM
的用法示例。
在下文中一共展示了IAM.ListRolePolicies方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: ListRolePolicies
func (r *Role) ListRolePolicies(cli *iam.IAM, rolename string) {
req := &iam.ListRolePoliciesInput{
RoleName: aws.String(rolename),
}
resp, err := cli.ListRolePolicies(req)
if err != nil {
panic(err)
}
if len(resp.PolicyNames) < 1 {
fmt.Println("\tnot found")
return
}
for i := 0; i < len(resp.PolicyNames); i++ {
fmt.Printf("\t%s\n", *resp.PolicyNames[i])
}
}
示例2: attachPolicyToRoles
func attachPolicyToRoles(conn *iam.IAM, roles []*string, arn string) error {
for _, r := range roles {
_, err := conn.AttachRolePolicy(&iam.AttachRolePolicyInput{
RoleName: r,
PolicyArn: aws.String(arn),
})
if err != nil {
return err
}
var attachmentErr error
attachmentErr = resource.Retry(2*time.Minute, func() *resource.RetryError {
input := iam.ListRolePoliciesInput{
RoleName: r,
}
attachedPolicies, err := conn.ListRolePolicies(&input)
if err != nil {
return resource.NonRetryableError(err)
}
if len(attachedPolicies.PolicyNames) > 0 {
var foundPolicy bool
for _, policyName := range attachedPolicies.PolicyNames {
if strings.HasSuffix(arn, *policyName) {
foundPolicy = true
break
}
}
if !foundPolicy {
return resource.NonRetryableError(err)
}
}
return nil
})
if attachmentErr != nil {
return attachmentErr
}
}
return nil
}