in modular-service-cli/modular_service_cli/group/policy.py [0:0]
def add(ctx: ContextObj, name, permission, permissions_admin,
path_to_permissions, customer_id):
"""
Creates policy.
"""
permissions = list(permission)
if path_to_permissions:
try:
with open(path_to_permissions, 'r') as fp:
data = json.load(fp)
except FileNotFoundError:
return ApiResponse.build(f'File {path_to_permissions} not found')
except json.JSONDecodeError:
return ApiResponse.build(f'File {path_to_permissions} contains invalid JSON')
except Exception:
return ApiResponse.build(f'Could not load file {path_to_permissions}')
if not isinstance(data, list) and not all([isinstance(i, str) for i in data]):
return ApiResponse.build('File should contain list of strings')
permissions.extend(data)
return ctx.api_client.create_policy(
name=name,
permissions=permissions,
permissions_admin=permissions_admin,
customer_id=customer_id
)