Placement Policies¶
Warning
JSON formatted policy file is deprecated since Placement 5.0.0 (Wallaby). The oslopolicy-convert-json-to-yaml tool will migrate your existing JSON-formatted policy file to YAML in a backward-compatible way.
The following is an overview of all available policies in Placement. For a sample configuration file, refer to Sample Placement Policy File.
placement¶
- admin_api
- Default:
- role:admin
- Scope Types:
- project 
 
 - Default rule for most placement APIs. 
- service_api
- Default:
- role:service
- Scope Types:
- project 
 
 - Default rule for service-to-service placement APIs. 
- admin_or_service_api
- Default:
- role:admin or role:service
- Scope Types:
- project 
 
 - Default rule for most placement APIs. 
- project_reader_api
- Default:
- role:reader and project_id:%(project_id)s
 - Default rule for Project level reader APIs. 
- admin_or_project_reader_or_service_api
- Default:
- role:admin or rule:project_reader_api or role:service
- Scope Types:
- project 
 
 - Default rule for project level reader APIs. 
- placement:resource_providers:list
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_providers
 
- Scope Types:
- project 
 
 - List resource providers. 
- placement:resource_providers:create
- Default:
- rule:admin_or_service_api
- Operations:
- POST - /resource_providers
 
- Scope Types:
- project 
 
 - Create resource provider. 
- placement:resource_providers:show
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_providers/{uuid}
 
- Scope Types:
- project 
 
 - Show resource provider. 
- placement:resource_providers:update
- Default:
- rule:admin_or_service_api
- Operations:
- PUT - /resource_providers/{uuid}
 
- Scope Types:
- project 
 
 - Update resource provider. 
- placement:resource_providers:delete
- Default:
- rule:admin_or_service_api
- Operations:
- DELETE - /resource_providers/{uuid}
 
- Scope Types:
- project 
 
 - Delete resource provider. 
- placement:resource_classes:list
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_classes
 
- Scope Types:
- project 
 
 - List resource classes. 
- placement:resource_classes:create
- Default:
- rule:admin_or_service_api
- Operations:
- POST - /resource_classes
 
- Scope Types:
- project 
 
 - Create resource class. 
- placement:resource_classes:show
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_classes/{name}
 
- Scope Types:
- project 
 
 - Show resource class. 
- placement:resource_classes:update
- Default:
- rule:admin_or_service_api
- Operations:
- PUT - /resource_classes/{name}
 
- Scope Types:
- project 
 
 - Update resource class. 
- placement:resource_classes:delete
- Default:
- rule:admin_or_service_api
- Operations:
- DELETE - /resource_classes/{name}
 
- Scope Types:
- project 
 
 - Delete resource class. 
- placement:resource_providers:inventories:list
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_providers/{uuid}/inventories
 
- Scope Types:
- project 
 
 - List resource provider inventories. 
- placement:resource_providers:inventories:create
- Default:
- rule:admin_or_service_api
- Operations:
- POST - /resource_providers/{uuid}/inventories
 
- Scope Types:
- project 
 
 - Create one resource provider inventory. 
- placement:resource_providers:inventories:show
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_providers/{uuid}/inventories/{resource_class}
 
- Scope Types:
- project 
 
 - Show resource provider inventory. 
- placement:resource_providers:inventories:update
- Default:
- rule:admin_or_service_api
- Operations:
- PUT - /resource_providers/{uuid}/inventories
- PUT - /resource_providers/{uuid}/inventories/{resource_class}
 
- Scope Types:
- project 
 
 - Update resource provider inventory. 
- placement:resource_providers:inventories:delete
- Default:
- rule:admin_or_service_api
- Operations:
- DELETE - /resource_providers/{uuid}/inventories
- DELETE - /resource_providers/{uuid}/inventories/{resource_class}
 
- Scope Types:
- project 
 
 - Delete resource provider inventory. 
- placement:resource_providers:aggregates:list
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_providers/{uuid}/aggregates
 
- Scope Types:
- project 
 
 - List resource provider aggregates. 
- placement:resource_providers:aggregates:update
- Default:
- rule:admin_or_service_api
- Operations:
- PUT - /resource_providers/{uuid}/aggregates
 
- Scope Types:
- project 
 
 - Update resource provider aggregates. 
- placement:resource_providers:usages
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_providers/{uuid}/usages
 
- Scope Types:
- project 
 
 - List resource provider usages. 
- placement:usages
- Default:
- rule:admin_or_project_reader_or_service_api
- Operations:
- GET - /usages
 
- Scope Types:
- project 
 
 - List total resource usages for a given project. 
- placement:traits:list
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /traits
 
- Scope Types:
- project 
 
 - List traits. 
- placement:traits:show
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /traits/{name}
 
- Scope Types:
- project 
 
 - Show trait. 
- placement:traits:update
- Default:
- rule:admin_or_service_api
- Operations:
- PUT - /traits/{name}
 
- Scope Types:
- project 
 
 - Update trait. 
- placement:traits:delete
- Default:
- rule:admin_or_service_api
- Operations:
- DELETE - /traits/{name}
 
- Scope Types:
- project 
 
 - Delete trait. 
- placement:resource_providers:traits:list
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_providers/{uuid}/traits
 
- Scope Types:
- project 
 
 - List resource provider traits. 
- placement:resource_providers:traits:update
- Default:
- rule:admin_or_service_api
- Operations:
- PUT - /resource_providers/{uuid}/traits
 
- Scope Types:
- project 
 
 - Update resource provider traits. 
- placement:resource_providers:traits:delete
- Default:
- rule:admin_or_service_api
- Operations:
- DELETE - /resource_providers/{uuid}/traits
 
- Scope Types:
- project 
 
 - Delete resource provider traits. 
- placement:allocations:manage
- Default:
- rule:admin_or_service_api
- Operations:
- POST - /allocations
 
- Scope Types:
- project 
 
 - Manage allocations. 
- placement:allocations:list
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /allocations/{consumer_uuid}
 
- Scope Types:
- project 
 
 - List allocations. 
- placement:allocations:update
- Default:
- rule:admin_or_service_api
- Operations:
- PUT - /allocations/{consumer_uuid}
 
- Scope Types:
- project 
 
 - Update allocations. 
- placement:allocations:delete
- Default:
- rule:admin_or_service_api
- Operations:
- DELETE - /allocations/{consumer_uuid}
 
- Scope Types:
- project 
 
 - Delete allocations. 
- placement:resource_providers:allocations:list
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /resource_providers/{uuid}/allocations
 
- Scope Types:
- project 
 
 - List resource provider allocations. 
- placement:allocation_candidates:list
- Default:
- rule:admin_or_service_api
- Operations:
- GET - /allocation_candidates
 
- Scope Types:
- project 
 
 - List allocation candidates. 
- placement:reshaper:reshape
- Default:
- rule:service_api
- Operations:
- POST - /reshaper
 
- Scope Types:
- project 
 
 - Reshape Inventory and Allocations. 
