placement/placement-api-ref/source/parameters.yaml
Andrey Volkov b817c6b6a6 [placement] Add api-ref for aggregates
This provides simple documentation of the path, request and response
body parameters when listing and updating aggregates.

Change-Id: Ife94d22e87a73fc26c4dcbda9545a9f59680f44f
2017-06-08 15:32:33 +00:00

193 lines
4.4 KiB
YAML

# variables in path
resource_class_path: &resource_class_path
type: string
in: path
required: true
description: >
The name of one resource class.
resource_provider_uuid_path: &resource_provider_uuid_path
type: string
in: path
required: true
description: >
The uuid of a resource provider.
# variables in query
member_of:
type: string
in: query
required: false
description: >
A comma-separated list of strings representing aggregate uuids.
The returned resource providers must be associated with at
least one of the aggregates identified by uuid.
resource_provider_name_query:
type: string
in: query
required: false
description: >
The name of a resource provider to filter the list.
resource_provider_uuid_query:
<<: *resource_provider_uuid_path
in: query
required: false
resources_query:
type: string
in: query
required: false
description: |
A comma-separated list of strings indicating an amount of
resource of a specified class that a provider must have the
capacity to serve::
resources=VCPU:4,DISK_GB:64,MEMORY_MB:2048
# variables in body
aggregates:
type: array
in: body
required: true
description: >
A list of aggregate uuids.
allocation_ratio: &allocation_ratio
type: float
in: body
required: true
description: |
It is used in determining whether consumption of the resource of
the provider can exceed physical constraints.
For example, for a vCPU resource with::
allocation_ratio = 16.0
total = 8
Overall capacity is equal to 128 vCPUs.
allocation_ratio_opt:
<<: *allocation_ratio
required: false
inventories:
type: object
in: body
required: true
description: >
A dictionary of inventories keyed by resource classes.
max_unit: &max_unit
type: integer
in: body
required: true
description: >
A maximum amount any single allocation against an inventory can have.
max_unit_opt:
<<: *max_unit
required: false
min_unit: &min_unit
type: integer
in: body
required: true
description: >
A minimum amount any single allocation against an inventory can have.
min_unit_opt:
<<: *min_unit
required: false
reserved: &reserved
type: integer
in: body
required: true
description: >
The amount of the resource a provider has reserved for its own use.
reserved_opt:
<<: *reserved
required: false
resource_class:
<<: *resource_class_path
in: body
resource_class_links:
type: array
in: body
required: true
description: >
A list of links associated with one resource class.
resource_classes:
type: array
in: body
required: true
description: >
A list of ``resource_class`` objects.
resource_provider_generation:
type: integer
in: body
required: true
description: >
A consistent view marker that assists with the management of
concurrent resource provider updates.
resource_provider_links:
type: array
in: body
required: true
description: |
A list of links associated with one resource provider.
.. note:: Trait relationship link is available starting from version 1.6.
resource_provider_name:
type: string
in: body
required: true
description: >
The name of one resource provider.
resource_provider_uuid:
<<: *resource_provider_uuid_path
in: body
resource_provider_uuid_opt:
<<: *resource_provider_uuid_path
in: body
required: false
resource_providers:
type: array
in: body
required: true
description: >
A list of ``resource_provider`` objects.
step_size: &step_size
type: integer
in: body
required: true
description: >
A representation of the divisible amount of the resource
that may be requested. For example, step_size = 5 means
that only values divisible by 5 (5, 10, 15, etc.) can be requested.
step_size_opt:
<<: *step_size
required: false
total:
type: integer
in: body
required: true
description: >
The actual amount of the resource that the provider can accommodate.
version_id:
type: string
in: body
required: true
description: >
A common name for the version being described. Informative only.
version_max:
type: string
in: body
required: true
description: >
The maximum microversion that is supported.
version_min:
type: string
in: body
required: true
description: >
The minimum microversion that is supported.
versions:
type: array
in: body
required: true
description: >
A list of version objects that describe the API versions available.