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