HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/awscli/customizations/dlm/__pycache__/iam.cpython-36.pyc
3

�T_�@sddlZGdd�de�ZdS)�Nc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�IAMcCs
||_dS)N)�
iam_client)�selfr�r�/usr/lib/python3.6/iam.py�__init__szIAM.__init__cCs2y|jj|d�Wn|jjjk
r,dSXdS)z,Method to verify if a particular role exists)�RoleNameFT)rZget_role�
exceptions�NoSuchEntityException)r�	role_namerrr�check_if_role_exists	s
zIAM.check_if_role_existscCs2y|jj|d�Wn|jjjk
r,dSXdS)z.Method to verify if a particular policy exists)�	PolicyArnFT)r�
get_policyr	r
)r�
policy_arnrrr�check_if_policy_existss
zIAM.check_if_policy_existscCs|jj||d�S)z?Method to attach LifecyclePolicy to role specified by role_name)r
r)rZattach_role_policy)rrrrrr�attach_policy_to_roleszIAM.attach_policy_to_rolecCs|jj|tj|�d�S)zXMethod to create role with a given role name
            and assume_role_policy
        )rZAssumeRolePolicyDocument)rZcreate_role�json�dumps)rrZassume_role_policyrrr�create_role_with_trust_policy sz!IAM.create_role_with_trust_policycCsB|jj|d�}|jj||jdi�jdd�d�}|jdi�jdi�S)zvMethod to get the Policy for a particular ARN
        This is used to display the policy contents to the user
        )r
ZPolicyZDefaultVersionId�)r
Z	VersionIdZ
PolicyVersionZDocument)rrZget_policy_version�get)rZarnZpol_detZpolicy_version_detailsrrrr(szIAM.get_policyN)	�__name__�
__module__�__qualname__rrrrrrrrrrrsr)r�objectrrrrr�<module>s