def list_configurations(context, installed_region, aws_account_id=None):
"""Retrieve configuration from DynamoDB and return array of dictionary objects"""
found_configurations = {}
if aws_account_id is None:
aws_account_id = utils.get_owner_id(context)[0]
dynamodb = boto3.resource('dynamodb', region_name=installed_region)
table = dynamodb.Table('ebs_snapshot_configuration')
results = table.query(
KeyConditionExpression=Key('aws_account_id').eq(aws_account_id)
)
for item in results.get('Items', []):
str_item = item.get('configuration', None)
try:
json_item = json.loads(str_item)
found_configurations[str_item] = json_item
except Exception as e:
raise EbsSnapperError('error loading configuration', e)
return found_configurations.values()
评论列表
文章目录