Sample Freezer Policy File¶
The following is a sample Freezer API policy file for adaptation and use.
The sample policy can also be viewed in file form.
Important
The sample policy file is auto-generated from freezer-api when this documentation is built.
# Creates action.
# POST /v2/actions
# Intended scope(s): project
#"actions:create": "rule:admin_or_owner"
# Delete action.
# DELETE /v2/actions/{action_id}
# Intended scope(s): project
#"actions:delete": "rule:admin_or_owner"
# Show actions.
# GET /v2/actions/{action_id}
# Intended scope(s): project
#"actions:get": "rule:admin_or_reader_or_service"
# Lists actions.
# GET /v2/actions
# Intended scope(s): project
#"actions:get_all": "rule:admin_or_reader_or_service"
# Updates actions.
# PATCH /v2/actions/{action_id}
# Intended scope(s): project
#"actions:update": "rule:admin_or_owner"
# Creates/replaces the specified action.
# PUT /v2/actions/{action_id}
# Intended scope(s): project
#"actions:replace": "rule:admin_or_owner"
# Creates backup entry.
# POST /v2/backups
# Intended scope(s): project
#"backups:create": "rule:admin_or_owner"
# Delete backup.
# DELETE /v2/backups/{backup_id}
# Intended scope(s): project
#"backups:delete": "rule:admin_or_owner"
# Show backups.
# GET /v2/backups/{backup_id}
# Intended scope(s): project
#"backups:get": "rule:admin_or_reader_or_service"
# Lists backups.
# GET /v2/backups
# Intended scope(s): project
#"backups:get_all": "rule:admin_or_reader_or_service"
# Intended scope(s): project
#"context_is_admin": "role:admin"
# Intended scope(s): project
#"admin_or_owner": "is_admin:True or project_id:%(project_id)s"
# Intended scope(s): project
#"admin_or_service": "role:admin or role:service"
# Intended scope(s): project
#"project_member": "role:member and project_id:%(project_id)s"
# Intended scope(s): project
#"project_reader": "role:reader and project_id:%(project_id)s"
# Intended scope(s): project
#"admin_or_reader_or_service": "rule:admin_or_owner or rule:project_reader or role:service"
# Create client entry.
# POST /v2/clients
# Intended scope(s): project
#"clients:create": "rule:admin_or_owner"
# Delete specified client.
# DELETE /v2/clients/{client_id}
# Intended scope(s): project
#"clients:delete": "rule:admin_or_owner"
# Show clients.
# GET /v2/clients/{client_id}
# Intended scope(s): project
#"clients:get": "rule:admin_or_reader_or_service"
# List clients.
# GET /v2/clients
# Intended scope(s): project
#"clients:get_all": "rule:admin_or_reader_or_service"
# Register a central scheduler client.
# POST /v2/{project_id}/clients
# Intended scope(s): project
#"clients:create_central": "rule:admin_or_service"
# Creates job.
# POST /v2/jobs
# Intended scope(s): project
#"jobs:create": "rule:admin_or_owner"
# Delete jobs.
# DELETE /v2/jobs/{job_id}
# Intended scope(s): project
#"jobs:delete": "rule:admin_or_owner"
# Show jobs.
# GET /v2/jobs/{job_id}
# Intended scope(s): project
#"jobs:get": "rule:admin_or_reader_or_service"
# Lists jobs.
# GET /v2/jobs
# Intended scope(s): project
#"jobs:get_all": "rule:admin_or_reader_or_service"
# Lists all projects jobs.
# GET /v2/jobs
# Intended scope(s): project
#"jobs:get_all_projects": "rule:admin_or_service"
# Updates jobs.
# PATCH /v2/jobs/{job_id}
# Intended scope(s): project
#"jobs:update": "rule:admin_or_owner"
# Create an event on the specified job
# POST /v2/jobs/{job_id}/event
# Intended scope(s): project
#"jobs:event:create": "rule:admin_or_owner"
# Creates session.
# POST /v2/sessions
# Intended scope(s): project
#"sessions:create": "rule:admin_or_owner"
# Delete session.
# DELETE /v2/sessions/{session_id}
# Intended scope(s): project
#"sessions:delete": "rule:admin_or_owner"
# Show sessions.
# GET /v2/sessions/{session_id}
# Intended scope(s): project
#"sessions:get": "rule:admin_or_reader_or_service"
# Lists sessions.
# GET /v2/sessions
# Intended scope(s): project
#"sessions:get_all": "rule:admin_or_reader_or_service"
# Updates sessions.
# PATCH /v2/sessions/{session_id}
# Intended scope(s): project
#"sessions:update": "rule:admin_or_owner"
# Creates/replaces the specified session.
# PUT /v2/sessions/{session_id}
# Intended scope(s): project
#"sessions:replace": "rule:admin_or_owner"
# Executes an action on the specified session.
# POST /v2/sessions/{session_id}/action
# Intended scope(s): project
#"sessions:action:create": "rule:admin_or_owner"
# Adds a certain job to a session.
# PUT /v2/sessions/{session_id}/jobs/{job_id}
# Intended scope(s): project
#"sessions:job:add": "rule:admin_or_owner"
# Remove a job from a session.
# DELETE /v2/sessions/{session_id}/jobs/{job_id}
# Intended scope(s): project
#"sessions:job:remove": "rule:admin_or_owner"