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.