Some IAM fixes.
- Fixed InstanceProfiles having `Path` set to `None`. - Added in some dynamic `CreateDate`s. - Fixed missing Instance Profile ID's being sent over
This commit is contained in:
parent
90a62b5640
commit
b4b0ae5077
@ -117,6 +117,7 @@ class Role(BaseModel):
|
|||||||
self.path = path
|
self.path = path
|
||||||
self.policies = {}
|
self.policies = {}
|
||||||
self.managed_policies = {}
|
self.managed_policies = {}
|
||||||
|
self.create_date = datetime.now(pytz.utc)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):
|
def create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):
|
||||||
@ -168,6 +169,7 @@ class InstanceProfile(BaseModel):
|
|||||||
self.name = name
|
self.name = name
|
||||||
self.path = path
|
self.path = path
|
||||||
self.roles = roles if roles else []
|
self.roles = roles if roles else []
|
||||||
|
self.create_date = datetime.now(pytz.utc)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):
|
def create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name):
|
||||||
|
@ -201,7 +201,7 @@ class IamResponse(BaseResponse):
|
|||||||
|
|
||||||
def create_instance_profile(self):
|
def create_instance_profile(self):
|
||||||
profile_name = self._get_param('InstanceProfileName')
|
profile_name = self._get_param('InstanceProfileName')
|
||||||
path = self._get_param('Path')
|
path = self._get_param('Path', '/')
|
||||||
|
|
||||||
profile = iam_backend.create_instance_profile(
|
profile = iam_backend.create_instance_profile(
|
||||||
profile_name, path, role_ids=[])
|
profile_name, path, role_ids=[])
|
||||||
@ -734,7 +734,7 @@ CREATE_INSTANCE_PROFILE_TEMPLATE = """<CreateInstanceProfileResponse xmlns="http
|
|||||||
<InstanceProfileName>{{ profile.name }}</InstanceProfileName>
|
<InstanceProfileName>{{ profile.name }}</InstanceProfileName>
|
||||||
<Path>{{ profile.path }}</Path>
|
<Path>{{ profile.path }}</Path>
|
||||||
<Arn>{{ profile.arn }}</Arn>
|
<Arn>{{ profile.arn }}</Arn>
|
||||||
<CreateDate>2012-05-09T16:11:10.222Z</CreateDate>
|
<CreateDate>{{ profile.create_date }}</CreateDate>
|
||||||
</InstanceProfile>
|
</InstanceProfile>
|
||||||
</CreateInstanceProfileResult>
|
</CreateInstanceProfileResult>
|
||||||
<ResponseMetadata>
|
<ResponseMetadata>
|
||||||
@ -753,7 +753,7 @@ GET_INSTANCE_PROFILE_TEMPLATE = """<GetInstanceProfileResponse xmlns="https://ia
|
|||||||
<Arn>{{ role.arn }}</Arn>
|
<Arn>{{ role.arn }}</Arn>
|
||||||
<RoleName>{{ role.name }}</RoleName>
|
<RoleName>{{ role.name }}</RoleName>
|
||||||
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
||||||
<CreateDate>2012-05-09T15:45:35Z</CreateDate>
|
<CreateDate>{{ role.create_date }}</CreateDate>
|
||||||
<RoleId>{{ role.id }}</RoleId>
|
<RoleId>{{ role.id }}</RoleId>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@ -761,7 +761,7 @@ GET_INSTANCE_PROFILE_TEMPLATE = """<GetInstanceProfileResponse xmlns="https://ia
|
|||||||
<InstanceProfileName>{{ profile.name }}</InstanceProfileName>
|
<InstanceProfileName>{{ profile.name }}</InstanceProfileName>
|
||||||
<Path>{{ profile.path }}</Path>
|
<Path>{{ profile.path }}</Path>
|
||||||
<Arn>{{ profile.arn }}</Arn>
|
<Arn>{{ profile.arn }}</Arn>
|
||||||
<CreateDate>2012-05-09T16:11:10Z</CreateDate>
|
<CreateDate>{{ profile.create_date }}</CreateDate>
|
||||||
</InstanceProfile>
|
</InstanceProfile>
|
||||||
</GetInstanceProfileResult>
|
</GetInstanceProfileResult>
|
||||||
<ResponseMetadata>
|
<ResponseMetadata>
|
||||||
@ -776,7 +776,7 @@ CREATE_ROLE_TEMPLATE = """<CreateRoleResponse xmlns="https://iam.amazonaws.com/d
|
|||||||
<Arn>{{ role.arn }}</Arn>
|
<Arn>{{ role.arn }}</Arn>
|
||||||
<RoleName>{{ role.name }}</RoleName>
|
<RoleName>{{ role.name }}</RoleName>
|
||||||
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
||||||
<CreateDate>2012-05-08T23:34:01.495Z</CreateDate>
|
<CreateDate>{{ role.create_date }}</CreateDate>
|
||||||
<RoleId>{{ role.id }}</RoleId>
|
<RoleId>{{ role.id }}</RoleId>
|
||||||
</Role>
|
</Role>
|
||||||
</CreateRoleResult>
|
</CreateRoleResult>
|
||||||
@ -803,7 +803,7 @@ GET_ROLE_TEMPLATE = """<GetRoleResponse xmlns="https://iam.amazonaws.com/doc/201
|
|||||||
<Arn>{{ role.arn }}</Arn>
|
<Arn>{{ role.arn }}</Arn>
|
||||||
<RoleName>{{ role.name }}</RoleName>
|
<RoleName>{{ role.name }}</RoleName>
|
||||||
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
||||||
<CreateDate>2012-05-08T23:34:01Z</CreateDate>
|
<CreateDate>{{ role.create_date }}</CreateDate>
|
||||||
<RoleId>{{ role.id }}</RoleId>
|
<RoleId>{{ role.id }}</RoleId>
|
||||||
</Role>
|
</Role>
|
||||||
</GetRoleResult>
|
</GetRoleResult>
|
||||||
@ -834,7 +834,7 @@ LIST_ROLES_TEMPLATE = """<ListRolesResponse xmlns="https://iam.amazonaws.com/doc
|
|||||||
<Arn>{{ role.arn }}</Arn>
|
<Arn>{{ role.arn }}</Arn>
|
||||||
<RoleName>{{ role.name }}</RoleName>
|
<RoleName>{{ role.name }}</RoleName>
|
||||||
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
||||||
<CreateDate>2012-05-09T15:45:35Z</CreateDate>
|
<CreateDate>{{ role.create_date }}</CreateDate>
|
||||||
<RoleId>{{ role.id }}</RoleId>
|
<RoleId>{{ role.id }}</RoleId>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@ -865,7 +865,7 @@ CREATE_POLICY_VERSION_TEMPLATE = """<CreatePolicyVersionResponse xmlns="https://
|
|||||||
<Document>{{ policy_version.document }}</Document>
|
<Document>{{ policy_version.document }}</Document>
|
||||||
<VersionId>{{ policy_version.version_id }}</VersionId>
|
<VersionId>{{ policy_version.version_id }}</VersionId>
|
||||||
<IsDefaultVersion>{{ policy_version.is_default }}</IsDefaultVersion>
|
<IsDefaultVersion>{{ policy_version.is_default }}</IsDefaultVersion>
|
||||||
<CreateDate>2012-05-09T15:45:35Z</CreateDate>
|
<CreateDate>{{ policy_version.create_datetime }}</CreateDate>
|
||||||
</PolicyVersion>
|
</PolicyVersion>
|
||||||
</CreatePolicyVersionResult>
|
</CreatePolicyVersionResult>
|
||||||
<ResponseMetadata>
|
<ResponseMetadata>
|
||||||
@ -879,7 +879,7 @@ GET_POLICY_VERSION_TEMPLATE = """<GetPolicyVersionResponse xmlns="https://iam.am
|
|||||||
<Document>{{ policy_version.document }}</Document>
|
<Document>{{ policy_version.document }}</Document>
|
||||||
<VersionId>{{ policy_version.version_id }}</VersionId>
|
<VersionId>{{ policy_version.version_id }}</VersionId>
|
||||||
<IsDefaultVersion>{{ policy_version.is_default }}</IsDefaultVersion>
|
<IsDefaultVersion>{{ policy_version.is_default }}</IsDefaultVersion>
|
||||||
<CreateDate>2012-05-09T15:45:35Z</CreateDate>
|
<CreateDate>{{ policy_version.create_datetime }}</CreateDate>
|
||||||
</PolicyVersion>
|
</PolicyVersion>
|
||||||
</GetPolicyVersionResult>
|
</GetPolicyVersionResult>
|
||||||
<ResponseMetadata>
|
<ResponseMetadata>
|
||||||
@ -896,7 +896,7 @@ LIST_POLICY_VERSIONS_TEMPLATE = """<ListPolicyVersionsResponse xmlns="https://ia
|
|||||||
<Document>{{ policy_version.document }}</Document>
|
<Document>{{ policy_version.document }}</Document>
|
||||||
<VersionId>{{ policy_version.version_id }}</VersionId>
|
<VersionId>{{ policy_version.version_id }}</VersionId>
|
||||||
<IsDefaultVersion>{{ policy_version.is_default }}</IsDefaultVersion>
|
<IsDefaultVersion>{{ policy_version.is_default }}</IsDefaultVersion>
|
||||||
<CreateDate>2012-05-09T15:45:35Z</CreateDate>
|
<CreateDate>{{ policy_version.create_datetime }}</CreateDate>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</Versions>
|
</Versions>
|
||||||
@ -912,7 +912,7 @@ LIST_INSTANCE_PROFILES_TEMPLATE = """<ListInstanceProfilesResponse xmlns="https:
|
|||||||
<InstanceProfiles>
|
<InstanceProfiles>
|
||||||
{% for instance in instance_profiles %}
|
{% for instance in instance_profiles %}
|
||||||
<member>
|
<member>
|
||||||
<Id>{{ instance.id }}</Id>
|
<InstanceProfileId>{{ instance.id }}</InstanceProfileId>
|
||||||
<Roles>
|
<Roles>
|
||||||
{% for role in instance.roles %}
|
{% for role in instance.roles %}
|
||||||
<member>
|
<member>
|
||||||
@ -920,7 +920,7 @@ LIST_INSTANCE_PROFILES_TEMPLATE = """<ListInstanceProfilesResponse xmlns="https:
|
|||||||
<Arn>{{ role.arn }}</Arn>
|
<Arn>{{ role.arn }}</Arn>
|
||||||
<RoleName>{{ role.name }}</RoleName>
|
<RoleName>{{ role.name }}</RoleName>
|
||||||
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
||||||
<CreateDate>2012-05-09T15:45:35Z</CreateDate>
|
<CreateDate>{{ role.create_date }}</CreateDate>
|
||||||
<RoleId>{{ role.id }}</RoleId>
|
<RoleId>{{ role.id }}</RoleId>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@ -928,7 +928,7 @@ LIST_INSTANCE_PROFILES_TEMPLATE = """<ListInstanceProfilesResponse xmlns="https:
|
|||||||
<InstanceProfileName>{{ instance.name }}</InstanceProfileName>
|
<InstanceProfileName>{{ instance.name }}</InstanceProfileName>
|
||||||
<Path>{{ instance.path }}</Path>
|
<Path>{{ instance.path }}</Path>
|
||||||
<Arn>{{ instance.arn }}</Arn>
|
<Arn>{{ instance.arn }}</Arn>
|
||||||
<CreateDate>2012-05-09T16:27:03Z</CreateDate>
|
<CreateDate>{{ instance.create_date }}</CreateDate>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</InstanceProfiles>
|
</InstanceProfiles>
|
||||||
@ -1277,23 +1277,23 @@ LIST_INSTANCE_PROFILES_FOR_ROLE_TEMPLATE = """<ListInstanceProfilesForRoleRespon
|
|||||||
<InstanceProfiles>
|
<InstanceProfiles>
|
||||||
{% for profile in instance_profiles %}
|
{% for profile in instance_profiles %}
|
||||||
<member>
|
<member>
|
||||||
<Id>{{ profile.id }}</Id>
|
<InstanceProfileId>{{ profile.id }}</InstanceProfileId>
|
||||||
<Roles>
|
<Roles>
|
||||||
{% for role in profile.roles %}
|
{% for role in profile.roles %}
|
||||||
<member>
|
<member>
|
||||||
<Path>{{ role.path }}</Path>
|
<Path>{{ role.path }}</Path>
|
||||||
<Arn>{{ role.arn }}</Arn>
|
<Arn>{{ role.arn }}</Arn>
|
||||||
<RoleName>{{ role.name }}</RoleName>
|
<RoleName>{{ role.name }}</RoleName>
|
||||||
<AssumeRolePolicyDocument>{{ role.assume_policy_document }}</AssumeRolePolicyDocument>
|
<AssumeRolePolicyDocument>{{ role.assume_policy_document }}</AssumeRolePolicyDocument>
|
||||||
<CreateDate>2012-05-09T15:45:35Z</CreateDate>
|
<CreateDate>{{ role.create_date }}</CreateDate>
|
||||||
<RoleId>{{ role.id }}</RoleId>
|
<RoleId>{{ role.id }}</RoleId>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</Roles>
|
</Roles>
|
||||||
<InstanceProfileName>{{ profile.name }}</InstanceProfileName>
|
<InstanceProfileName>{{ profile.name }}</InstanceProfileName>
|
||||||
<Path>{{ profile.path }}</Path>
|
<Path>{{ profile.path }}</Path>
|
||||||
<Arn>{{ profile.arn }}</Arn>
|
<Arn>{{ profile.arn }}</Arn>
|
||||||
<CreateDate>2012-05-09T16:27:11Z</CreateDate>
|
<CreateDate>{{ profile.create_date }}</CreateDate>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</InstanceProfiles>
|
</InstanceProfiles>
|
||||||
@ -1382,7 +1382,7 @@ GET_ACCOUNT_AUTHORIZATION_DETAILS_TEMPLATE = """<GetAccountAuthorizationDetailsR
|
|||||||
<Path>{{ user.path }}</Path>
|
<Path>{{ user.path }}</Path>
|
||||||
<UserName>{{ user.name }}</UserName>
|
<UserName>{{ user.name }}</UserName>
|
||||||
<Arn>{{ user.arn }}</Arn>
|
<Arn>{{ user.arn }}</Arn>
|
||||||
<CreateDate>2012-05-09T15:45:35Z</CreateDate>
|
<CreateDate>{{ user.created_iso_8601 }}</CreateDate>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</UserDetailList>
|
</UserDetailList>
|
||||||
@ -1401,7 +1401,7 @@ GET_ACCOUNT_AUTHORIZATION_DETAILS_TEMPLATE = """<GetAccountAuthorizationDetailsR
|
|||||||
<GroupName>{{ group.name }}</GroupName>
|
<GroupName>{{ group.name }}</GroupName>
|
||||||
<Path>{{ group.path }}</Path>
|
<Path>{{ group.path }}</Path>
|
||||||
<Arn>{{ group.arn }}</Arn>
|
<Arn>{{ group.arn }}</Arn>
|
||||||
<CreateDate>2012-05-09T16:27:11Z</CreateDate>
|
<CreateDate>{{ group.create_date }}</CreateDate>
|
||||||
<GroupPolicyList/>
|
<GroupPolicyList/>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@ -1421,23 +1421,23 @@ GET_ACCOUNT_AUTHORIZATION_DETAILS_TEMPLATE = """<GetAccountAuthorizationDetailsR
|
|||||||
<InstanceProfileList>
|
<InstanceProfileList>
|
||||||
{% for profile in instance_profiles %}
|
{% for profile in instance_profiles %}
|
||||||
<member>
|
<member>
|
||||||
<Id>{{ profile.id }}</Id>
|
<InstanceProfileId>{{ profile.id }}</InstanceProfileId>
|
||||||
<Roles>
|
<Roles>
|
||||||
{% for role in profile.roles %}
|
{% for role in profile.roles %}
|
||||||
<member>
|
<member>
|
||||||
<Path>{{ role.path }}</Path>
|
<Path>{{ role.path }}</Path>
|
||||||
<Arn>{{ role.arn }}</Arn>
|
<Arn>{{ role.arn }}</Arn>
|
||||||
<RoleName>{{ role.name }}</RoleName>
|
<RoleName>{{ role.name }}</RoleName>
|
||||||
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
||||||
<CreateDate>2012-05-09T15:45:35Z</CreateDate>
|
<CreateDate>{{ role.create_date }}</CreateDate>
|
||||||
<RoleId>{{ role.id }}</RoleId>
|
<RoleId>{{ role.id }}</RoleId>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</Roles>
|
</Roles>
|
||||||
<InstanceProfileName>{{ profile.name }}</InstanceProfileName>
|
<InstanceProfileName>{{ profile.name }}</InstanceProfileName>
|
||||||
<Path>{{ profile.path }}</Path>
|
<Path>{{ profile.path }}</Path>
|
||||||
<Arn>{{ profile.arn }}</Arn>
|
<Arn>{{ profile.arn }}</Arn>
|
||||||
<CreateDate>2012-05-09T16:27:11Z</CreateDate>
|
<CreateDate>{{ profile.create_date }}</CreateDate>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</InstanceProfileList>
|
</InstanceProfileList>
|
||||||
@ -1445,7 +1445,7 @@ GET_ACCOUNT_AUTHORIZATION_DETAILS_TEMPLATE = """<GetAccountAuthorizationDetailsR
|
|||||||
<Arn>{{ role.arn }}</Arn>
|
<Arn>{{ role.arn }}</Arn>
|
||||||
<RoleName>{{ role.name }}</RoleName>
|
<RoleName>{{ role.name }}</RoleName>
|
||||||
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
<AssumeRolePolicyDocument>{{ role.assume_role_policy_document }}</AssumeRolePolicyDocument>
|
||||||
<CreateDate>2014-07-30T17:09:20Z</CreateDate>
|
<CreateDate>{{ role.create_date }}</CreateDate>
|
||||||
<RoleId>{{ role.id }}</RoleId>
|
<RoleId>{{ role.id }}</RoleId>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@ -1474,9 +1474,9 @@ GET_ACCOUNT_AUTHORIZATION_DETAILS_TEMPLATE = """<GetAccountAuthorizationDetailsR
|
|||||||
</PolicyVersionList>
|
</PolicyVersionList>
|
||||||
<Arn>{{ policy.arn }}</Arn>
|
<Arn>{{ policy.arn }}</Arn>
|
||||||
<AttachmentCount>1</AttachmentCount>
|
<AttachmentCount>1</AttachmentCount>
|
||||||
<CreateDate>2012-05-09T16:27:11Z</CreateDate>
|
<CreateDate>{{ policy.create_datetime }}</CreateDate>
|
||||||
<IsAttachable>true</IsAttachable>
|
<IsAttachable>true</IsAttachable>
|
||||||
<UpdateDate>2012-05-09T16:27:11Z</UpdateDate>
|
<UpdateDate>{{ policy.update_datetime }}</UpdateDate>
|
||||||
</member>
|
</member>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</Policies>
|
</Policies>
|
||||||
|
@ -108,6 +108,10 @@ def test_create_role_and_instance_profile():
|
|||||||
|
|
||||||
conn.list_roles().roles[0].role_name.should.equal('my-role')
|
conn.list_roles().roles[0].role_name.should.equal('my-role')
|
||||||
|
|
||||||
|
# Test with an empty path:
|
||||||
|
profile = conn.create_instance_profile('my-other-profile')
|
||||||
|
profile.path.should.equal('/')
|
||||||
|
|
||||||
|
|
||||||
@mock_iam_deprecated()
|
@mock_iam_deprecated()
|
||||||
def test_remove_role_from_instance_profile():
|
def test_remove_role_from_instance_profile():
|
||||||
@ -700,10 +704,10 @@ def test_get_account_authorization_details():
|
|||||||
import json
|
import json
|
||||||
conn = boto3.client('iam', region_name='us-east-1')
|
conn = boto3.client('iam', region_name='us-east-1')
|
||||||
conn.create_role(RoleName="my-role", AssumeRolePolicyDocument="some policy", Path="/my-path/")
|
conn.create_role(RoleName="my-role", AssumeRolePolicyDocument="some policy", Path="/my-path/")
|
||||||
conn.create_user(Path='/', UserName='testCloudAuxUser')
|
conn.create_user(Path='/', UserName='testUser')
|
||||||
conn.create_group(Path='/', GroupName='testCloudAuxGroup')
|
conn.create_group(Path='/', GroupName='testGroup')
|
||||||
conn.create_policy(
|
conn.create_policy(
|
||||||
PolicyName='testCloudAuxPolicy',
|
PolicyName='testPolicy',
|
||||||
Path='/',
|
Path='/',
|
||||||
PolicyDocument=json.dumps({
|
PolicyDocument=json.dumps({
|
||||||
"Version": "2012-10-17",
|
"Version": "2012-10-17",
|
||||||
@ -715,46 +719,47 @@ def test_get_account_authorization_details():
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}),
|
}),
|
||||||
Description='Test CloudAux Policy'
|
Description='Test Policy'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
conn.create_instance_profile(InstanceProfileName='ipn')
|
||||||
|
conn.add_role_to_instance_profile(InstanceProfileName='ipn', RoleName='my-role')
|
||||||
|
|
||||||
result = conn.get_account_authorization_details(Filter=['Role'])
|
result = conn.get_account_authorization_details(Filter=['Role'])
|
||||||
len(result['RoleDetailList']) == 1
|
assert len(result['RoleDetailList']) == 1
|
||||||
len(result['UserDetailList']) == 0
|
assert len(result['UserDetailList']) == 0
|
||||||
len(result['GroupDetailList']) == 0
|
assert len(result['GroupDetailList']) == 0
|
||||||
len(result['Policies']) == 0
|
assert len(result['Policies']) == 0
|
||||||
|
assert len(result['RoleDetailList'][0]['InstanceProfileList']) == 1
|
||||||
|
|
||||||
result = conn.get_account_authorization_details(Filter=['User'])
|
result = conn.get_account_authorization_details(Filter=['User'])
|
||||||
len(result['RoleDetailList']) == 0
|
assert len(result['RoleDetailList']) == 0
|
||||||
len(result['UserDetailList']) == 1
|
assert len(result['UserDetailList']) == 1
|
||||||
len(result['GroupDetailList']) == 0
|
assert len(result['GroupDetailList']) == 0
|
||||||
len(result['Policies']) == 0
|
assert len(result['Policies']) == 0
|
||||||
|
|
||||||
result = conn.get_account_authorization_details(Filter=['Group'])
|
result = conn.get_account_authorization_details(Filter=['Group'])
|
||||||
len(result['RoleDetailList']) == 0
|
assert len(result['RoleDetailList']) == 0
|
||||||
len(result['UserDetailList']) == 0
|
assert len(result['UserDetailList']) == 0
|
||||||
len(result['GroupDetailList']) == 1
|
assert len(result['GroupDetailList']) == 1
|
||||||
len(result['Policies']) == 0
|
assert len(result['Policies']) == 0
|
||||||
|
|
||||||
result = conn.get_account_authorization_details(Filter=['LocalManagedPolicy'])
|
result = conn.get_account_authorization_details(Filter=['LocalManagedPolicy'])
|
||||||
len(result['RoleDetailList']) == 0
|
assert len(result['RoleDetailList']) == 0
|
||||||
len(result['UserDetailList']) == 0
|
assert len(result['UserDetailList']) == 0
|
||||||
len(result['GroupDetailList']) == 0
|
assert len(result['GroupDetailList']) == 0
|
||||||
len(result['Policies']) == 1
|
assert len(result['Policies']) == 1
|
||||||
|
|
||||||
# Check for greater than 1 since this should always be greater than one but might change.
|
# Check for greater than 1 since this should always be greater than one but might change.
|
||||||
# See iam/aws_managed_policies.py
|
# See iam/aws_managed_policies.py
|
||||||
result = conn.get_account_authorization_details(Filter=['AWSManagedPolicy'])
|
result = conn.get_account_authorization_details(Filter=['AWSManagedPolicy'])
|
||||||
len(result['RoleDetailList']) == 0
|
assert len(result['RoleDetailList']) == 0
|
||||||
len(result['UserDetailList']) == 0
|
assert len(result['UserDetailList']) == 0
|
||||||
len(result['GroupDetailList']) == 0
|
assert len(result['GroupDetailList']) == 0
|
||||||
len(result['Policies']) > 1
|
assert len(result['Policies']) > 1
|
||||||
|
|
||||||
result = conn.get_account_authorization_details()
|
result = conn.get_account_authorization_details()
|
||||||
len(result['RoleDetailList']) == 1
|
assert len(result['RoleDetailList']) == 1
|
||||||
len(result['UserDetailList']) == 1
|
assert len(result['UserDetailList']) == 1
|
||||||
len(result['GroupDetailList']) == 1
|
assert len(result['GroupDetailList']) == 1
|
||||||
len(result['Policies']) > 1
|
assert len(result['Policies']) > 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user