def _augment(resource_set): resources = [] client = local_session(self.session_factory).client('kinesis') for stream_name in resource_set: resources.append( client.describe_stream( StreamName=stream_name)['StreamDescription']) return resources
def _augment(resource_set): resources = [] client = local_session(self.session_factory).client('firehose') for stream_name in resource_set: resources.append( client.describe_delivery_stream( DeliveryStreamName=stream_name)[ 'DeliveryStreamDescription']) return resources
def get_resources(self, resource_ids, cache=True): """For IAM Roles on events, resource ids are role names.""" resources = [] client = local_session(self.session_factory).client('iam') for rid in resource_ids: try: resources.append(client.get_role(RoleName=rid)['Role']) except client.exceptions.NoSuchEntityException: continue return resources
def get_resources(self, resource_ids, cache=True): client = local_session(self.session_factory).client('backup') resources = [] for rid in resource_ids: try: resources.append( client.describe_backup_vault(BackupVaultName=rid)) except client.exceptions.ResourceNotFoundException: continue return self.augment(resources)
def get_resources(self, resource_ids, cache=True): client = local_session(self.manager.session_factory).client('iam') resources = [] for rid in resource_ids: try: resources.append(client.get_user(UserName=rid).get('User')) except ClientError as e: if e.response['Error']['Code'] == 'NoSuchEntityException': continue raise return resources
def get_resources(self, resource_ids, cache=True): client = local_session(self.session_factory).client('backup') resources = [] for rid in resource_ids: try: resources.append( client.get_backup_plan(BackupPlanId=rid)['BackupPlan']) except client.exceptions.ResourceNotFoundException: continue return resources
def get_resources(self, ids): client = local_session(self.manager.session_factory).client('lambda') resources = [] for rid in ids: try: func = self.manager.retry(client.get_function, FunctionName=rid) except client.exceptions.ResourceNotFoundException: continue config = func.pop('Configuration') config.update(func) resources.append(config) return resources
def get_resources(self, resource_ids, cache=True): """For IAM Groups on events, resource ids are Group Names.""" client = local_session(self.session_factory).client('iam') resources = [] for rid in resource_ids: try: result = client.get_group(GroupName=rid) except client.exceptions.NoSuchEntityException: continue group = result.pop('Group') group['c7n:Users'] = result['Users'] resources.append(group) return resources
def get_resources(self, resource_ids, cache=True): client = local_session(self.manager.session_factory).client('backup') resources = [] for rid in resource_ids: try: r = client.get_backup_plan(BackupPlanId=rid) plan = r.pop('BackupPlan', {}) r.update(plan) resources.append(r) except client.exceptions.ResourceNotFoundException: continue return resources
def get_resources(self, ids): client = local_session(self.manager.session_factory).client('lambda') resources = [] for rid in ids: try: func = self.manager.retry(client.get_function, FunctionName=rid) except client.exceptions.ResourceNotFoundException: continue config = func.pop('Configuration') config.update(func) if 'Tags' in config: config['Tags'] = [ {'Key': k, 'Value': v} for k, v in config['Tags'].items()] resources.append(config) return resources