o .&a@sddlZGdddeZdS)Nc@s<eZdZddZddZddZddZd d Zd d Zd S)IAMcCs ||_dS)N) iam_client)selfrr?/usr/lib/python3/dist-packages/awscli/customizations/dlm/iam.py__init__s z IAM.__init__cC0z |jj|dWdS|jjjyYdSw)z,Method to verify if a particular role exists)RoleNameFT)rget_role exceptionsNoSuchEntityException)r role_namerrrcheck_if_role_exists zIAM.check_if_role_existscCr)z.Method to verify if a particular policy exists PolicyArnFT)r get_policyr r )r policy_arnrrrcheck_if_policy_existsrzIAM.check_if_policy_existscCs|jj||dS)z?Method to attach LifecyclePolicy to role specified by role_name)rr )rattach_role_policy)rrr rrrattach_policy_to_roleszIAM.attach_policy_to_rolecCs|jj|t|dS)zXMethod to create role with a given role name and assume_role_policy )r AssumeRolePolicyDocument)r create_rolejsondumps)rr assume_role_policyrrrcreate_role_with_trust_policy sz!IAM.create_role_with_trust_policycCsB|jj|d}|jj||diddd}|didiS)zvMethod to get the Policy for a particular ARN This is used to display the policy contents to the user rPolicyDefaultVersionId)r VersionId PolicyVersionDocument)rrget_policy_versionget)rarnpol_detpolicy_version_detailsrrrr(szIAM.get_policyN) __name__ __module__ __qualname__rrrrrrrrrrrs r)robjectrrrrrs