def _get_arns(self): """ Gets a list of all Role ARNs in a given account, optionally limited by class property ARN filter :return: list of role ARNs """ client = boto3_cached_conn('iam', service_type='client', **self.conn_details) account_arns = set() for role in list_roles(**self.conn_details): account_arns.add(role['Arn']) for user in list_users(**self.conn_details): account_arns.add(user['Arn']) for page in client.get_paginator('list_policies').paginate( Scope='Local'): for policy in page['Policies']: account_arns.add(policy['Arn']) for page in client.get_paginator('list_groups').paginate(): for group in page['Groups']: account_arns.add(group['Arn']) result_arns = set() for arn in self.arn_list: if arn.lower() == 'all': return account_arns if arn not in account_arns: self.current_app.logger.warn( "Provided ARN {arn} not found in account.".format(arn=arn)) continue result_arns.add(arn) return list(result_arns)
def list_method(self, **kwargs): return list_users(**kwargs)
def list_users(self, **kwargs): users = list_users(**kwargs) return [ user for user in users if not self.check_ignore_list(user['UserName']) ]
def list_users(self, **kwargs): users = list_users(**kwargs) return [user for user in users if not self.check_ignore_list(user['UserName'])]
def list_method(self, **kwargs): return list_users(**kwargs)