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.