Beispiel #1
0
def get_item_file(region, table, key_col, key_attr):
    return (
        to_json(
            simplify_dynamo_item(
                get_client(region).
                get_item(TableName=table, Key={key_col: key_attr})
                ['Item'])
        ).encode())
Beispiel #2
0
def iam_root():
    return SDir([
        ('users', CLDir(lambda: [
            (user['UserName'], SDir([
                ('info', SFile(to_json(user).encode())),
                ('groups', CLDir(lambda _user=user: [
                    (group['GroupName'], VLink('../../../groups/' + group['GroupName']))
                    for group in get_user_groups(_user)
                ])),
                ('policies', CLDir(lambda _user=user: [
                    (policy_name, VLink('../../../policies/' + policy_name))
                    for policy_name in get_user_policy_names(_user)
                ]))
            ]))
            for user in get_users()
        ])),
        ('groups', CLDir(lambda: [
            (group['GroupName'], SDir([
                ('info', SFile(to_json(group).encode())),
                ('policies', CLDir(lambda _group=group: [
                    (policy_name, VLink('../../../policies/' + policy_name))
                    for policy_name in get_group_policy_names(_group)
                ]))
            ]))
            for group in get_groups()
        ])),
        ('roles', CLDir(lambda: [
            (role['RoleName'], SDir([
                ('info', SFile(to_json(role).encode())),
                ('policies', CLDir(lambda _role=role: [
                    (policy_name, VLink('../../../policies/' + policy_name))
                    for policy_name in get_role_policy_names(_role)
                ]))
            ]))
            for role in get_roles()
        ])),
        ('policies', CLDir(lambda: [
            (policy['PolicyName'], SDir([
                ('info', SFile(to_json(policy).encode()))
            ]))
            for policy in get_policies()
        ])),
    ])