Create yaml files, publish rst

-Uses generated <service>*.json file from wadl files
 to create yaml and rst files.
-Creates parameters.yaml per service and version
 from intermediate parameters/operation files.

Change-Id: Idf074d0393737fee4cd246cb3ef9f0d51c3014d7
This commit is contained in:
Karen Bradshaw 2016-04-05 18:35:57 -04:00
parent 3d6c7af515
commit a9aa207d72
23 changed files with 18438 additions and 3 deletions

View File

@ -0,0 +1,209 @@
# variables in header
{}
# variables in path
driver_name:
description: |
The name of the driver.
in: path
required: false
type: string
node_id:
description: |
The UUID of the node.
in: path
required: false
type: string
port_id:
description: |
The UUID of the port.
in: path
required: false
type: string
# variables in query
fields:
description: |
One or more chassis fields to be returned in the response.
For example, the following request returns only the ``description``
field for each chassis:
::
GET /v1/chassis?fields=description
in: query
required: false
type: array
limit:
description: |
Requests a page size of items. Returns a number
of items up to a limit value. Use the ``limit`` parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the ``marker`` parameter value in a
subsequent limited request.
in: query
required: false
type: integer
marker:
description: |
The ID of the last-seen item. Use the ``limit``
parameter to make an initial limited request and use the ID of the
last-seen item from the response as the ``marker`` parameter value
in a subsequent limited request.
in: query
required: false
type: string
sort_dir:
description: |
Sorts the response by the requested sort
direction. A valid value is ``asc`` (ascending) or ``desc``
(descending). Default is ``asc``. You can specify multiple pairs
of sort key and sort direction query parameters. If you omit the
sort direction in a pair, the API uses the natural sorting
direction of the server attribute that is provided as the
``sort_key``.
in: query
required: false
type: string
sort_key:
description: |
Sorts the response by the this attribute value.
Default is ``id``. You can specify multiple pairs of sort key and
sort direction query parameters. If you omit the sort direction in
a pair, the API uses the natural sorting direction of the server
attribute that is provided as the ``sort_key``.
in: query
required: false
type: string
# variables in body
chassis:
description: |
A ``chassis`` object.
in: body
required: true
type: array
chassis_1:
description: |
A list of chassis objects.
in: body
required: true
type: array
created_at:
description: |
The date and time when the resource was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
description:
description: |
A description for the chassis.
in: body
required: false
type: string
description_1:
description: |
A description for the chassis.
in: body
required: true
type: string
drivers:
description: |
A list of ``drivers`` objects.
in: body
required: true
type: array
extra:
description: |
A set of one or more arbitrary metadata key and
value pairs for the chassis.
in: body
required: false
type: object
extra_1:
description: |
A set of zero or more arbitrary metadata key and
value pairs for the chassis.
in: body
required: true
type: object
hosts:
description: |
A list of active hosts that support this driver.
in: body
required: true
type: array
links:
description: |
A list that contains a self link and associated
chassis links.
in: body
required: true
type: array
links_1:
description: |
A list of relative links. Includes the self and
bookmark links.
in: body
required: true
type: array
name:
description: |
The name of the driver.
in: body
required: true
type: string
nodes:
description: |
Links to the collection of nodes contained in
this chassis.
in: body
required: true
type: array
properties:
description: |
A list of links to driver properties.
in: body
required: true
type: array
updated_at:
description: |
The date and time when the resource was updated.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
If the ``updated_at`` date and time stamp is not set, its value is
``null``.
in: body
required: true
type: string
uuid:
description: |
The UUID for the chassis.
in: body
required: true
type: string

View File

@ -0,0 +1,638 @@
# variables in header
{}
# variables in path
snapshot_id_1:
description: |
The UUID of the snapshot.
in: path
required: false
type: string
tenant_id:
description: |
The UUID of the tenant in a multi-tenancy cloud.
in: path
required: false
type: string
user_id:
description: |
The user ID. Specify in the URI as
``user_id={user_id}``.
in: path
required: false
type: string
volume_id:
description: |
The UUID of the volume.
in: path
required: false
type: string
volume_type_id:
description: |
The UUID for an existing volume type.
in: path
required: false
type: string
# variables in query
usage:
description: |
Set to ``usage=true`` to show quota usage.
Default is ``false``.
in: query
required: false
type: boolean
# variables in body
attachments:
description: |
Instance attachment information. If this volume
is attached to a server instance, the attachments list includes
the UUID of the attached server, an attachment UUID, the name of
the attached host, if any, the volume UUID, the device, and the
device UUID. Otherwise, this list is empty.
in: body
required: true
type: array
availability_zone:
description: |
The availability zone.
in: body
required: false
type: string
availability_zone_1:
description: |
The availability zone.
in: body
required: true
type: string
bootable:
description: |
Enables or disables the bootable attribute. You
can boot an instance from a bootable volume.
in: body
required: true
type: boolean
consistencygroup_id:
description: |
The UUID of the consistency group.
in: body
required: false
type: string
consistencygroup_id_1:
description: |
The UUID of the consistency group.
in: body
required: true
type: string
cores:
description: |
The number of instance cores that are allowed for
each tenant.
in: body
required: true
type: integer
cores_1:
description: |
A ``cores`` object.
in: body
required: true
type: string
cores_2:
description: |
The number of instance cores that are allowed for
each tenant.
in: body
required: false
type: integer
created_at:
description: |
The date and time when the resource was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
description:
description: |
The volume description.
in: body
required: false
type: string
description_1:
description: |
The volume description.
in: body
required: true
type: string
encrypted:
description: |
If true, this volume is encrypted.
in: body
required: true
type: boolean
extra_specs:
description: |
A set of key and value pairs that contains the
specifications for a volume type.
in: body
required: true
type: object
fixed_ips:
description: |
The number of fixed IP addresses that are allowed
for each tenant. Must be equal to or greater than the number of
allowed instances.
in: body
required: true
type: integer
fixed_ips_1:
description: |
A ``fixed_ips`` object.
in: body
required: true
type: string
fixed_ips_2:
description: |
The number of fixed IP addresses that are allowed
for each tenant. Must be equal to or greater than the number of
allowed instances.
in: body
required: false
type: integer
floating_ips:
description: |
The number of floating IP addresses that are
allowed for each tenant.
in: body
required: true
type: integer
floating_ips_1:
description: |
A ``floating_ips`` object.
in: body
required: true
type: string
floating_ips_2:
description: |
The number of floating IP addresses that are
allowed for each tenant.
in: body
required: false
type: integer
id:
description: |
The UUID of the volume.
in: body
required: true
type: string
id_1:
description: |
The ID for the quota set.
in: body
required: true
type: integer
id_2:
description: |
The ID for the quota set.
in: body
required: true
type: string
id_3:
description: |
The ID for the quota set.
in: body
required: false
type: integer
imageRef:
description: |
The UUID of the image from which you want to
create the volume. Required to create a bootable volume.
in: body
required: false
type: string
in_use:
description: |
The in use data size. Visible only if you set the
``usage=true`` query parameter.
in: body
required: false
type: string
in_use_1:
description: |
The number of items in use.
in: body
required: true
type: integer
injected_file_content_bytes:
description: |
The number of bytes of content that are allowed
for each injected file.
in: body
required: true
type: integer
injected_file_content_bytes_1:
description: |
An ``injected_file_content_bytes`` object.
in: body
required: true
type: string
injected_file_content_bytes_2:
description: |
The number of bytes of content that are allowed
for each injected file.
in: body
required: false
type: integer
injected_file_path_bytes:
description: |
The number of bytes that are allowed for each
injected file path.
in: body
required: true
type: integer
injected_file_path_bytes_1:
description: |
An ``injected_file_path_bytes`` object.
in: body
required: true
type: string
injected_file_path_bytes_2:
description: |
The number of bytes that are allowed for each
injected file path.
in: body
required: false
type: integer
injected_files:
description: |
The number of injected files that are allowed for
each tenant.
in: body
required: true
type: integer
injected_files_1:
description: |
An ``injected_files`` object.
in: body
required: true
type: string
injected_files_2:
description: |
The number of injected files that are allowed for
each tenant.
in: body
required: false
type: integer
instances:
description: |
The number of instances that are allowed for each
tenant.
in: body
required: true
type: integer
instances_1:
description: |
An ``instances`` object.
in: body
required: true
type: string
instances_2:
description: |
The number of instances that are allowed for each
tenant.
in: body
required: false
type: integer
key_pairs:
description: |
The number of key pairs that are allowed for each
user.
in: body
required: true
type: integer
key_pairs_1:
description: |
A ``key_pairs`` object.
in: body
required: true
type: string
key_pairs_2:
description: |
The number of key pairs that are allowed for each
user.
in: body
required: false
type: integer
limit:
description: |
The number of items permitted for this tenant.
in: body
required: true
type: integer
links:
description: |
The volume links.
in: body
required: true
type: array
metadata:
description: |
One or more metadata key and value pairs that are
associated with the volume.
in: body
required: false
type: object
metadata_1:
description: |
One or more metadata key and value pairs that are
associated with the volume.
in: body
required: true
type: object
metadata_2:
description: |
One or more metadata key and value pairs for the
snapshot.
in: body
required: false
type: object
metadata_items:
description: |
The number of metadata items that are allowed for
each instance.
in: body
required: true
type: integer
metadata_items_1:
description: |
A ``metadata_items`` object.
in: body
required: true
type: string
metadata_items_2:
description: |
The number of metadata items that are allowed for
each instance.
in: body
required: false
type: integer
migration_status:
description: |
The volume migration status.
in: body
required: true
type: string
multiattach:
description: |
To enable this volume to attach to more than one
server, set this value to ``true``. Default is ``false``.
in: body
required: false
type: boolean
multiattach_1:
description: |
If true, this volume can attach to more than one
instance.
in: body
required: true
type: boolean
name:
description: |
The name of the volume type.
in: body
required: true
type: string
name_1:
description: |
The volume name.
in: body
required: false
type: string
name_2:
description: |
The volume name.
in: body
required: true
type: string
quota_set:
description: |
A ``quota_set`` object.
in: body
required: true
type: object
quota_set_1:
description: |
A ``quota_set`` object.
in: body
required: true
type: string
ram:
description: |
The amount of instance RAM in megabytes that are
allowed for each tenant.
in: body
required: true
type: integer
ram_1:
description: |
A ``ram`` object.
in: body
required: true
type: string
ram_2:
description: |
The amount of instance RAM in megabytes that are
allowed for each tenant.
in: body
required: false
type: integer
replication_status:
description: |
The volume replication status.
in: body
required: true
type: string
reserved:
description: |
Reserved volume size. Visible only if you set the
``usage=true`` query parameter.
in: body
required: false
type: integer
reserved_1:
description: |
The number of reserved items.
in: body
required: true
type: integer
scheduler_hints:
description: |
The dictionary of data to send to the scheduler.
in: body
required: false
type: object
security_group_rules:
description: |
The number of rules that are allowed for each
security group.
in: body
required: false
type: integer
security_group_rules_1:
description: |
A ``security_group_rules`` object.
in: body
required: true
type: string
security_groups:
description: |
The number of security groups that are allowed
for each tenant.
in: body
required: true
type: integer
security_groups_1:
description: |
A ``security_groups`` object.
in: body
required: true
type: string
security_groups_2:
description: |
The number of security groups that are allowed
for each tenant.
in: body
required: false
type: integer
size:
description: |
The size of the volume, in gibibytes (GiB).
in: body
required: true
type: integer
snapshot:
description: |
A ``snapshot`` object.
in: body
required: true
type: object
snapshot_id:
description: |
To create a volume from an existing snapshot,
specify the UUID of the volume snapshot. The volume is created in
same availability zone and with same size as the snapshot.
in: body
required: false
type: string
snapshot_id_2:
description: |
The UUID of the source volume snapshot. The API
creates a new volume snapshot with the same size as the source
volume snapshot.
in: body
required: true
type: string
source_replica:
description: |
The UUID of the primary volume to clone.
in: body
required: false
type: string
source_volid:
description: |
The UUID of the source volume. The API creates a
new volume with the same size as the source volume.
in: body
required: false
type: string
source_volid_1:
description: |
The UUID of the source volume.
in: body
required: true
type: string
status:
description: |
The volume status.
in: body
required: true
type: string
updated_at:
description: |
The date and time when the resource was updated.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
If the ``updated_at`` date and time stamp is not set, its value is
``null``.
in: body
required: true
type: string
user_id_1:
description: |
The UUID of the user.
in: body
required: true
type: string
volume:
description: |
A ``volume`` object.
in: body
required: true
type: object
volume_type:
description: |
The volume type. To create an environment with
multiple-storage back ends, you must specify a volume type. Block
Storage volume back ends are spawned as children to ``cinder-
volume``, and they are keyed from a unique queue. They are named
``cinder- volume.HOST.BACKEND``. For example, ``cinder-
volume.ubuntu.lvmdriver``. When a volume is created, the scheduler
chooses an appropriate back end to handle the request based on the
volume type. Default is ``None``. For information about how to
use volume types to create multiple- storage back ends, see
`Configure multiple-storage back ends
<http://docs.openstack.org/admin-
guide/blockstorage_multi_backend.html>`_.
in: body
required: false
type: string
volume_type_1:
description: |
The volume type. In an environment with multiple-
storage back ends, the scheduler determines where to send the
volume based on the volume type. For information about how to use
volume types to create multiple- storage back ends, see `Configure
multiple-storage back ends <http://docs.openstack.org/admin-
guide/blockstorage_multi_backend.html>`_.
in: body
required: true
type: string
volumes:
description: |
A list of ``volume`` objects.
in: body
required: true
type: array

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,616 @@
# variables in header
location:
description: |
The URL against which to check the status of the
action spawned from the request.
in: header
required: true
type: string
location_1:
description: |
The URL against which to check the status of the
resource.
in: header
required: true
type: string
# variables in path
action_id:
description: |
The UUID of the action.
in: path
required: false
type: string
cluster_id:
description: |
The UUID of the cluster.
in: path
required: false
type: string
event_id:
description: |
The UUID of the event.
in: path
required: false
type: string
node_id:
description: |
The UUID of the node.
in: path
required: false
type: string
policy_id:
description: |
The UUID of the policy.
in: path
required: false
type: string
policy_type:
description: |
The name of the policy type.
in: path
required: false
type: string
profile_id_2:
description: |
The UUID of the profile.
in: path
required: false
type: string
profile_type:
description: |
The name of the profile type.
in: path
required: false
type: string
receiver_id:
description: |
The UUID of the receiver.
in: path
required: false
type: string
webhook_id:
description: |
The UUID of the webhook.
in: path
required: false
type: string
# variables in query
V:
description: |
The webhook implementation version requested.
in: query
required: true
type: string
action_1:
description: |
Filters the response by an action name. Use this
filter multiple times to filter by multiple names.
in: query
required: false
type: string
action_2:
description: |
Filters the response by the action name
associated with an event. Use this filter multiple times to filter
by multiple actions.
in: query
required: false
type: string
action_3:
description: |
Filters the response by the targeted action of a
receiver.
in: query
required: false
type: string
cluster_id_2:
description: |
Filters the response by the cluster ID associated
with an event. Use this filter multiple times to filter by
multiple clusters.
in: query
required: false
type: string
cluster_id_3:
description: |
Filters the response by the cluster that owns a
node.
in: query
required: false
type: string
cluster_id_4:
description: |
Filters the response by the ID of the targeted
cluster of a receiver.
in: query
required: false
type: string
enabled:
description: |
Filters the response by a policy enabled status
on the cluster.
in: query
required: false
type: boolean
global_project:
description: |
Indicates whether to include objects for all
projects or objects for the current project in the response. If
you are an administrative user and you set this value to ``true``,
the call returns all objects from all projects. Default is
``false``, which returns only objects in the current project.
in: query
required: false
type: boolean
limit:
description: |
Requests a page size of items. Returns a number
of items up to a limit value. Use the ``limit`` parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the ``marker`` parameter value in a
subsequent limited request.
in: query
required: false
type: integer
marker:
description: |
The ID of the last-seen item. Use the ``limit``
parameter to make an initial limited request and use the ID of the
last-seen item from the response as the ``marker`` parameter value
in a subsequent limited request.
in: query
required: false
type: string
metadata_3:
description: |
Filters the response by a metadata key and value
pair.
in: query
required: false
type: object
name_10:
description: |
Filters the response by the name of a receiver.
in: query
required: false
type: string
name_4:
description: |
Filters the response by an action name. Use this
filter multiple times to filter by multiple names.
in: query
required: false
type: string
name_5:
description: |
Filters the response by a cluster name. Use this
filter multiple times to filter by multiple names.
in: query
required: false
type: string
name_6:
description: |
Filters the response by the name of a node.
in: query
required: false
type: string
name_7:
description: |
Filters the response by the name of a policy.
in: query
required: false
type: string
name_9:
description: |
Filters the response by the name of a profile.
in: query
required: false
type: string
obj_id:
description: |
Filters the response by the object ID for an
event. Use this filter multiple times to filter by multiple
objects.
in: query
required: false
type: string
obj_name:
description: |
Filters the response by the name of object
associated with an event. Use this filter multiple times to filter
by multiple objects.
in: query
required: false
type: string
obj_type:
description: |
Filters the response by the type of object
associated with an event. Use this filter multiple times to filter
by multiple objects. A valid value is ``CLUSTER`` or ``NODE``.
in: query
required: false
type: string
params:
description: |
The query string that forms the inputs to use for
the targeted action.
in: query
required: false
type: object
show_details:
description: |
Indicates whether the node details are returned.
Default is ``false``.
in: query
required: false
type: boolean
sort:
description: |
Sorts the response by one or more attribute and optional sort
direction combinations. A valid direction is ``asc`` (ascending) or
``desc`` (descending). Default direction is ``asc`` (ascending).
Specify the list as < key > [: < direction > ].
For example, the following query parameters in the URI sort the
objects in the response by ``name`` in ascending order and then by
``status`` in descending order:
.. code-block:: json
GET /v2/images?sort=name:asc,status:desc
The following query parameters in the URI sort the objects in the
response by ``name`` in descending order and then by ``status`` in
ascending order.
.. code-block:: json
GET /v2/images?sort=name:desc,status
in: query
required: false
type: string
status:
description: |
Filters the response by a cluster status. Use
this filter multiple times to filter by multiple statuses.
in: query
required: false
type: string
status_1:
description: |
Filters the response by the status of a node.
in: query
required: false
type: string
target:
description: |
Filters the response by the targeted object ID
that is associated with an action. An object can be a cluster, a
node, and so on. Use this filter multiple times to filter by
multiple targets.
in: query
required: false
type: string
type:
description: |
Filters the response by the type of a policy.
in: query
required: false
type: string
type_1:
description: |
Filters the response by the type of a profile.
in: query
required: false
type: string
type_2:
description: |
Filters the response by the type of a receiver.
in: query
required: false
type: string
user:
description: |
Filters the response by the user name of a
receiver.
in: query
required: false
type: string
# variables in body
action:
description: |
The action to trigger. Each action takes a
different set of parameters. Supported actions include: -
``add_nodes`` Add one or more nodes, as a list, to a cluster. For
example: - ``del_nodes`` Delete one or more nodes, as a list,
from a cluster. For example: - ``scale_out`` Enlarge the
cluster by ``count`` number of nodes. For example: -
``scale_in`` Shrink the cluster by ``count`` number of nodes. For
example: - ``resize`` Change the size of the cluster by
``adjustment_type``, ``number``, ``min_step``, ``min_size``,
``max_size``, or ``strict`` values. For example: - ``check``
Check the health status of a cluster. For example: - ``recover``
Recover a cluster from its current unhealthy status. For
example: - ``policy_attach`` Attach a policy to a cluster. The
request body contains parameters for the policy attachment: -
``policy_detach`` Detach a policy from a cluster. The request body
contains the ID of the policy: - ``policy_update`` Update the
policy attachment. Specify the policy ID and property settings
in the request body:
in: body
required: true
type: string
action_4:
description: |
The action to trigger. Each action takes a
different set of parameters. Supported actions include: -
``check`` Check the health status of a node. For example: -
``recover`` Recover a node from its current unhealthy status. For
example:
in: body
required: true
type: string
cluster:
description: |
A map of cluster details.
in: body
required: true
type: object
cluster_id_1:
description: |
The ID or shortID or name of the cluster the node
lives in. If not specified, the node created will be an orphaned
node.
in: body
required: false
type: string
clusters:
description: |
List of cluster records. Each record contains
fields such as ``created_at``, ``id``, ``name``, ``profile_id``,
``size``, ``nodes``, ``status``, ``status_reason``, and so on.
in: body
required: true
type: array
cooldown:
description: |
The cooldown value, in seconds.
in: body
required: false
type: integer
desired_capacity:
description: |
The capacity, or initial size, of the cluster.
Default is 0.
in: body
required: true
type: integer
level:
description: |
An integer value that represents the default
enforcement level.
in: body
required: false
type: integer
max_size:
description: |
The maximum size of the cluster. Default is
``-1``, which indicates that no upper limit exists for the cluster
size.
in: body
required: false
type: integer
metadata:
description: |
A set of key and value pairs to associate with
the cluster.
in: body
required: false
type: object
metadata_1:
description: |
A set of key and value pairs to associate with
the node.
in: body
required: false
type: object
metadata_2:
description: |
A list of key and value pairs to associate with
the profile.
in: body
required: false
type: array
metadata_4:
description: |
A list of key and value pairs to associate with
the target profile.
in: body
required: false
type: object
min_size:
description: |
The minimum size of the cluster. Default is 0.
in: body
required: false
type: integer
name:
description: |
The name of the cluster.
in: body
required: true
type: string
name_1:
description: |
The name of the node to be created.
in: body
required: true
type: string
name_11:
description: |
New name for the target profile.
in: body
required: false
type: string
name_2:
description: |
The name for the policy.
in: body
required: true
type: string
name_3:
description: |
The name for the profile.
in: body
required: true
type: string
name_8:
description: |
The name of the policy type.
in: body
required: true
type: string
node:
description: |
Detailed data for the node, such as ``id``,
``name``, ``status``, and so on.
in: body
required: true
type: object
node_1:
description: |
A map with detailed data for the node. **Node
update request body** - ``name`` New name for the node
(optional). - ``profile_id`` Name, ID, or short ID of the new
profile to use by the node. The new profile has to have the same
profile type as that of the node (optional). - ``role`` The new
role this node plays in a cluster (optional). - ``metadata`` A
list of key-value pairs to attach to the updated node
(optional).
in: body
required: true
type: object
nodes:
description: |
List of node records. Each record contains fields
such as ``id``, ``cluster_id``, ``name``, ``physical_id``,
``profile_id``, ``created_at``, ``index``, ``status``,
``status_reason``, ``metadata``, ``updated_at``, and so on.
in: body
required: true
type: array
parent:
description: |
The UUID of the parent cluster if the cluster is
a nested cluster.
in: body
required: false
type: string
policies:
description: |
List of policy records. Each record contains
fields such as ``id``, ``name``, ``type``, ``spec``, and so on.
in: body
required: true
type: array
policy:
description: |
A map with keys and values that specify the
details for the policy to be created:
in: body
required: true
type: object
policy_1:
description: |
A map with a set of key and value pairs that
specify the details of the policy: **Policy body** - ``name``
Name for the policy, if specified.
in: body
required: true
type: object
profile:
description: |
A dictionary with profile details. **Profile
create response** - ``id`` An unique ID for the profile. -
``name`` Name for the profile. - ``type`` Name of policy type
referenced by the profile. - ``spec`` Detailed specification
based on the profile type. - ``metadata`` A list of key and value
pairs that are attached to the profile. - ``created_at`` The
UTC date and time stamp when the profile was created. -
``updated_at`` The UTC date and time stamp when the profile was
updated. - ``domain`` The ID of the domain to which the profile
belongs. - ``project`` The ID of the project to which the profile
belongs. - ``user`` The ID of the user who created the profile.
in: body
required: true
type: object
profile_id:
description: |
The ID or name of the profile for the cluster.
in: body
required: true
type: string
profile_id_1:
description: |
The ID or shortID or name of the profile for the
node.
in: body
required: true
type: string
profiles:
description: |
Profile records. Each record contains the ``id``,
``name``, ``type``, ``spec``, ``metadata``, and other fields.
in: body
required: true
type: array
receiver:
description: |
A map with detailed data for the receiver.
**Receiver Create Request Body** - ``name`` Name for the receiver
(optional). - ``cluster_id`` Name, ID, or short ID of the object
targeted by the receiver (required). - ``type`` The type of the
receiver where the only valid value is ``webhook`` currently
(required). - ``action`` The action to initiate when the receiver
is triggered. A valid value should be the name of an action that
can be applied on a cluster. - ``actor`` A map of key and value
pairs to use for authentication. If omitted, the requester is
assumed to be the actor (optional). - ``params`` A map of key and
value pairs to use for action creation. Some actions might
require certain input parameters (optional).
in: body
required: true
type: object
role:
description: |
A string indicating the role this node plays in a
cluster.
in: body
required: false
type: string
spec:
description: |
A detailed specification based on the policy
type.
in: body
required: true
type: object
spec_1:
description: |
Detailed specification based on the chosen
profile type.
in: body
required: true
type: object
timeout:
description: |
The timeout value, in minutes, for cluster
creation. Default is 60.
in: body
required: false
type: integer

View File

@ -0,0 +1,980 @@
# variables in header
Content-Length:
description: |
The length of the data, in bytes.
in: header
required: true
type: string
# variables in path
cluster_id:
description: |
The ID of the cluster
in: path
required: false
type: string
cluster_template_id_1:
description: |
The unique identifier of the cluster template.
in: path
required: false
type: string
data_source_id:
description: |
The UUID of the data source.
in: path
required: false
type: string
hints:
description: |
Includes configuration hints in the response.
in: path
required: false
type: boolean
image_id:
description: |
The UUID of the image.
in: path
required: false
type: string
job_binary_id:
description: |
The UUID of the job binary.
in: path
required: false
type: string
job_binary_internals_id:
description: |
The UUID of the job binary internal.
in: path
required: false
type: string
job_execution_id:
description: |
The UUID of the job execution.
in: path
required: false
type: string
job_id:
description: |
The UUID of the job.
in: path
required: false
type: string
name_3:
description: |
The name of the job binary internal.
in: path
required: false
type: string
node_group_template_id:
description: |
The UUID of the node group template.
in: path
required: false
type: string
plugin:
description: |
Filters the response by a plugin name.
in: path
required: false
type: string
plugin_name_1:
description: |
Name of the plugin.
in: path
required: false
type: string
type_2:
description: |
Filters the response by a job type.
in: path
required: false
type: string
version:
description: |
Filters the response by a plugin version.
in: path
required: false
type: string
version_1:
description: |
Version of the plugin.
in: path
required: false
type: string
# variables in query
{}
# variables in body
args:
description: |
The list of arguments.
in: body
required: true
type: array
auto_security_group:
description: |
If set to ``True``, the cluster group is
automatically secured.
in: body
required: true
type: boolean
availability_zone:
description: |
The availability of the node in the cluster.
in: body
required: true
type: string
binaries:
description: |
The list of job binary internal objects.
in: body
required: true
type: array
cluster_configs:
description: |
A set of key and value pairs that contain the
cluster configuration.
in: body
required: true
type: object
cluster_id_1:
description: |
The UUID of the cluster.
in: body
required: true
type: string
cluster_template_id:
description: |
The UUID of the cluster template.
in: body
required: true
type: string
clusters:
description: |
The list of clusters.
in: body
required: true
type: array
configs:
description: |
The mappings of the job tasks.
in: body
required: true
type: object
count:
description: |
The number of nodes in the cluster.
in: body
required: true
type: integer
created:
description: |
The date and time when the image was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
created_at:
description: |
The date and time when the cluster was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
created_at_1:
description: |
The date and time when the object was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
created_at_2:
description: |
The date and time when the node was created in the cluster.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
created_at_3:
description: |
The date and time when the job execution object was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
data_source_urls:
description: |
The data source URLs.
in: body
required: true
type: object
datasize:
description: |
The size of the data stored in the internal
database.
in: body
required: true
type: integer
default_image_id:
description: |
The default ID of the image.
in: body
required: true
type: string
description:
description: |
The description of the cluster.
in: body
required: true
type: string
description_1:
description: |
The description of the data source object.
in: body
required: true
type: string
description_2:
description: |
The description of the job object.
in: body
required: true
type: string
description_3:
description: |
The description of the node in the cluster.
in: body
required: true
type: string
description_4:
description: |
The description of the job binary object.
in: body
required: true
type: string
description_5:
description: |
The description of the image.
in: body
required: true
type: string
description_6:
description: |
The full description of the plugin.
in: body
required: true
type: string
description_7:
description: |
Description of the image.
in: body
required: false
type: string
end_time:
description: |
The end date and time of the job execution.
The date and time when the job completed execution.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
flavor_id:
description: |
The ID of the flavor.
in: body
required: true
type: string
floating_ip_pool:
description: |
The UUID of the pool in the template.
in: body
required: true
type: string
hadoop_version:
description: |
The version of the Hadoop used in the cluster.
in: body
required: true
type: string
hadoop_version_1:
description: |
The version of the Hadoop.
in: body
required: true
type: string
id:
description: |
The UUID of the cluster.
in: body
required: true
type: string
id_1:
description: |
The ID of the object.
in: body
required: true
type: string
id_2:
description: |
The UUID of the node in the cluster.
in: body
required: true
type: string
id_3:
description: |
The UUID of the job execution object.
in: body
required: true
type: string
id_4:
description: |
The UUID of the image.
in: body
required: true
type: string
image:
description: |
A set of key and value pairs that contain image
properties.
in: body
required: true
type: object
image_id_1:
description: |
The UUID of the image.
in: body
required: true
type: string
images:
description: |
The list of images and their properties.
in: body
required: true
type: array
info:
description: |
A set of key and value pairs that contain cluster
information.
in: body
required: true
type: object
info_1:
description: |
The report of the executed job objects.
in: body
required: true
type: object
input_id:
description: |
The UUID of the input.
in: body
required: true
type: string
interface:
description: |
The interfaces of the job object.
in: body
required: true
type: array
is_default:
description: |
If set to ``true``, the cluster is the default
cluster.
in: body
required: true
type: boolean
is_default_1:
description: |
If set to ``True`` the node is the default node
in the cluster.
in: body
required: true
type: boolean
is_protected:
description: |
If set to ``true``, the cluster is protected.
in: body
required: true
type: boolean
is_protected_1:
description: |
If set to ``true``, the object is protected.
in: body
required: true
type: boolean
is_protected_2:
description: |
If set to ``true``, the node is protected.
in: body
required: true
type: boolean
is_protected_3:
description: |
If set to ``true``, the job execution object is
protected.
in: body
required: true
type: boolean
is_proxy_gateway:
description: |
If set to ``true``, the node is the proxy
gateway.
in: body
required: true
type: boolean
is_public:
description: |
If set to ``true``, the cluster is public.
in: body
required: true
type: boolean
is_public_1:
description: |
If set to ``true``, the object is public.
in: body
required: true
type: boolean
is_public_2:
description: |
If set to ``True``, the node is public in the
cluster.
in: body
required: true
type: boolean
is_public_3:
description: |
If set to ``true``, the job execution object is
public.
in: body
required: true
type: boolean
is_transient:
description: |
If set to ``true``, the cluster is transient.
in: body
required: true
type: boolean
job_execution:
description: |
A set of key and value pairs that contain the job
object.
in: body
required: true
type: object
job_executions:
description: |
The list of job execution objects.
in: body
required: true
type: array
job_id_1:
description: |
The UUID of the job object.
in: body
required: true
type: string
job_types:
description: |
The list of plugins and their job types.
in: body
required: true
type: array
jobs:
description: |
The list of the jobs.
in: body
required: true
type: array
libs:
description: |
The list of the job object properties.
in: body
required: true
type: array
mains:
description: |
The list of the job object and their properties.
in: body
required: true
type: array
management_public_key:
description: |
The SSH key for the management network.
in: body
required: true
type: string
metadata:
description: |
A set of key and value pairs that contain image
metadata.
in: body
required: true
type: object
minDisk:
description: |
The minimum disk space, in GB.
in: body
required: true
type: integer
minRam:
description: |
The minimum amount of random access memory (RAM)
for the image, in GB.
in: body
required: true
type: integer
name:
description: |
The name of the cluster.
in: body
required: true
type: string
name_1:
description: |
The name of the object.
in: body
required: true
type: string
name_2:
description: |
The name of the node.
in: body
required: true
type: string
name_4:
description: |
The name of the operating system image.
in: body
required: true
type: string
name_5:
description: |
The name of the plugin.
in: body
required: true
type: string
neutron_management_network:
description: |
The UUID of the neutron management network.
in: body
required: true
type: string
node_configs:
description: |
A set of key and value pairs that contain the
node configuration in the cluster.
in: body
required: true
type: object
node_groups:
description: |
The detail properties of the node in key-value
pairs.
in: body
required: true
type: object
node_processes:
description: |
The list of the processes performed by the node.
in: body
required: true
type: array
oozie_job_id:
description: |
The UUID of the ``oozie_job``.
in: body
required: true
type: string
output_id:
description: |
The UUID of the output of job execution object.
in: body
required: true
type: string
params:
description: |
The mappings of values to the parameters.
in: body
required: true
type: object
plugin_name:
description: |
The name of the plugin.
in: body
required: true
type: string
plugins:
description: |
The list of plugins.
in: body
required: true
type: array
progress:
description: |
A progress indicator, as a percentage value, for
the amount of image content that has been processed.
in: body
required: true
type: integer
provision_progress:
description: |
A list of the cluster progresses.
in: body
required: true
type: array
return_code:
description: |
The code returned after job has executed.
in: body
required: true
type: string
security_groups:
description: |
The security groups of the node.
in: body
required: true
type: string
shares:
description: |
The shares of the cluster.
in: body
required: true
type: string
shares_1:
description: |
The sharing of resources in the cluster.
in: body
required: true
type: string
start_time:
description: |
The date and time when the job started.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
status:
description: |
The status of the cluster.
in: body
required: true
type: string
status_1:
description: |
The current status of the image.
in: body
required: true
type: string
status_description:
description: |
The description of the cluster status.
in: body
required: true
type: string
tags:
description: |
List of tags to add.
in: body
required: true
type: array
tags_1:
description: |
Lists images only with specific tag. Can be used
multiple times.
in: body
required: false
type: string
tags_2:
description: |
One or more image tags.
in: body
required: true
type: array
tags_3:
description: |
List of tags to remove.
in: body
required: true
type: array
tenant_id:
description: |
The UUID of the tenant.
in: body
required: true
type: string
title:
description: |
The title of the plugin.
in: body
required: true
type: string
trust_id:
description: |
The id of the trust.
in: body
required: true
type: integer
type:
description: |
The type of the data source object.
in: body
required: true
type: string
type_1:
description: |
The type of the job object.
in: body
required: true
type: string
updated:
description: |
The date and time when the image was updated.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
updated_at:
description: |
The date and time when the cluster was updated.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
updated_at_1:
description: |
The date and time when the object was updated.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
updated_at_2:
description: |
The date and time when the node was updated.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
updated_at_3:
description: |
The date and time when the job execution object was updated.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, returns the time zone as an
offset from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
in: body
required: true
type: string
url:
description: |
The url of the data source object.
in: body
required: true
type: string
url_1:
description: |
The url of the job binary object.
in: body
required: true
type: string
use_autoconfig:
description: |
If set to ``true``, the cluster is auto
configured.
in: body
required: true
type: boolean
use_autoconfig_1:
description: |
If set to ``true``, the node is auto configured.
in: body
required: true
type: boolean
username:
description: |
The name of the user for the image.
in: body
required: true
type: string
username_1:
description: |
The user name to log in to an instance operating
system for remote operations execution.
in: body
required: true
type: string
versions:
description: |
The list of plugin versions.
in: body
required: true
type: array
volume_local_to_instance:
description: |
If set to ``true``, the volume is local to the
instance.
in: body
required: true
type: boolean
volume_mount_prefix:
description: |
The mount point of the node.
in: body
required: true
type: string
volume_type:
description: |
The type of volume in a node.
in: body
required: true
type: string
volumes_availability_zone:
description: |
The availability zone of the volumes.
in: body
required: true
type: string
volumes_per_node:
description: |
The number of volumes for the node.
in: body
required: true
type: integer
volumes_size:
description: |
The size of the volumes in a node.
in: body
required: true
type: integer

View File

@ -0,0 +1,293 @@
# variables in header
{}
# variables in path
accountId:
description: |
The account ID of the owner of the instance.
in: path
required: false
type: string
configId:
description: |
The ID of the configuration group.
in: path
required: false
type: string
databaseName:
description: |
The name for the database.
in: path
required: false
type: string
datastore_name:
description: |
The name of the data store.
in: path
required: false
type: string
datastore_version_id:
description: |
The UUID of the data store version.
in: path
required: false
type: string
flavorId:
description: |
The ID for the flavor.
in: path
required: false
type: string
instanceId:
description: |
The ID for the database instance.
in: path
required: false
type: string
parameter_name:
description: |
The name of the parameter for which to show
details.
in: path
required: false
type: string
# variables in query
{}
# variables in body
characterSet:
description: |
A set of symbols and encodings. Default is
``utf8``. For information about supported character sets and
collations, see `Character Sets and Collations in MySQL
<http://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html>`_.
in: body
required: false
type: string
collate:
description: |
A set of rules for comparing characters in a
character set. Default is ``utf8_general_ci``. For information
about supported character sets and collations, see `Character Sets
and Collations in MySQL <http://dev.mysql.com/doc/refman/5.1/en
/charset-mysql.html>`_.
in: body
required: false
type: string
configuration:
description: |
ID of the configuration group that you want to
attach to the instance.
in: body
required: true
type: string
configuration_1:
description: |
ID of the configuration group to attach to the
instance.
in: body
required: false
type: string
configuration_2:
description: |
To detach a configuration group, set the
configuration parameter to null.
in: body
required: true
type: string
created:
description: |
The date and time when the resource was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
databases:
description: |
A ``databases`` object.
in: body
required: false
type: array
datastore:
description: |
Data store assigned to the configuration group.
Required if you did not configure the default data store.
in: body
required: true
type: string
datastore_1:
description: |
Name of the datastore to use when creating the
instance.
in: body
required: false
type: string
datastore_version:
description: |
Name of the datastore version to use when
creating the instance.
in: body
required: false
type: string
description:
description: |
New description of the configuration group.
in: body
required: true
type: string
flavor:
description: |
A ``flavor`` object, which includes the flavor ID
(integer) and flavor relative links.
in: body
required: true
type: object
flavorRef:
description: |
Reference (href), which is the actual URI to a
flavor as it appears in the list flavors response. Rather than
the flavor URI, you can also pass the flavor ID (integer) as the
``flavorRef`` value. For example, ``1``.
in: body
required: true
type: string
instance:
description: |
An ``instance`` object.
in: body
required: true
type: object
name:
description: |
Name of the configuration group you are creating.
in: body
required: true
type: string
name_1:
description: |
A database name. You cannot use the
``lost+found``, ``information_schema``, or ``mysql`` database name
to create a database because these names are reserved for system
databases. Valid characters in a database name are: - Upper and
lower case letters. - Numbers. - ``@``, ``?``, ``#``, and spaces
except at the beginning or end of the database name. - ``_`` is
allowed anywhere in the database name. You cannot use these
characters in a database name: The maximum length of a database
name is 64 characters.
in: body
required: false
type: string
name_2:
description: |
The user name for the database on instance
creation.
in: body
required: false
type: string
name_3:
description: |
New name of the configuration group.
in: body
required: true
type: string
password:
description: |
The password for those users on instance
creation.
in: body
required: false
type: string
replica_count:
description: |
Number of replicas to create (defaults to 1).
in: body
required: false
type: integer
replica_of:
description: |
ID or name of an existing instance to replicate
from.
in: body
required: false
type: string
replica_of_1:
description: |
To detach a replica, set ``replica_of`` to null.
in: body
required: true
type: string
size:
description: |
The volume size, in gigabytes (GB). A valid value
is from 1 to 50.
in: body
required: true
type: integer
slave_of:
description: |
To detach a replica, set ``slave_of`` to null.
in: body
required: true
type: string
type:
description: |
The volume type to use. You can list the
available volume types on your system by using the ``cinder type-
list`` command. If you want to specify a volume type, you must
also specify a volume size.
in: body
required: false
type: string
updated:
description: |
The date and time when the resource was updated.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
The UTC time zone is assumed.
in: body
required: true
type: string
users:
description: |
A ``users`` object.
in: body
required: true
type: array
values:
description: |
Dictionary that lists configuration parameter
names and associated values.
in: body
required: true
type: string
values_1:
description: |
Dictionary that lists configuration parameter
names and associated values.
in: body
required: true
type: object

View File

@ -0,0 +1,258 @@
# variables in header
X-Auth-Token:
description: |
A valid authentication token for an
administrative user.
in: header
required: true
type: string
# variables in path
tenantId_1:
description: |
The tenant ID.
in: path
required: false
type: string
tokenId:
description: |
The authentication token for which to perform the
operation.
in: path
required: false
type: string
userId:
description: |
The user ID.
in: path
required: false
type: string
# variables in query
name_2:
description: |
Filters the response by a tenant name.
in: query
required: true
type: string
# variables in body
access:
description: |
An ``access`` object.
in: body
required: true
type: string
description:
description: |
The description of the tenant. If not set, this
value is ``null``.
in: body
required: true
type: string
email:
description: |
The user email.
in: body
required: false
type: string
email_1:
description: |
The user email.
in: body
required: true
type: string
enabled:
description: |
Indicates whether the tenant is enabled or
disabled.
in: body
required: true
type: boolean
enabled_1:
description: |
Indicates whether the user is enabled (``true``)
or disabled (``false``). Default is ``true``.
in: body
required: false
type: boolean
enabled_2:
description: |
Indicates whether the user is enabled (``true``)
or disabled(``false``). The default value is ``true``.
in: body
required: true
type: boolean
endpoints:
description: |
One or more ``endpoints`` objects. Each object
shows the ``adminURL``, ``region``, ``internalURL``, ``id``, and
``publicURL`` for the endpoint.
in: body
required: true
type: string
endpoints_links:
description: |
Links for the endpoint.
in: body
required: true
type: string
expires:
description: |
The date and time when the token expires.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
A ``null`` value indicates that the token never expires.
in: body
required: true
type: string
id:
description: |
The ID of the trust.
in: body
required: false
type: string
id_1:
description: |
The user ID.
in: body
required: true
type: string
impersonation:
description: |
The impersonation flag.
in: body
required: false
type: string
issued_at:
description: |
The date and time when the token was issued.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
location:
format: uri
in: body
required: true
type: string
metadata:
description: |
A ``metadata`` object.
in: body
required: true
type: string
name:
description: |
Endpoint name.
in: body
required: true
type: string
name_1:
description: |
The user name.
in: body
required: true
type: string
password:
description: |
The user password.
in: body
required: false
type: string
serviceCatalog:
description: |
A ``serviceCatalog`` object.
in: body
required: true
type: string
tenant:
description: |
A ``tenant`` object.
in: body
required: true
type: string
tenantId:
description: |
The tenant ID.
in: body
required: false
type: string
token:
description: |
A ``token`` object.
in: body
required: true
type: string
trust:
description: |
A ``trust`` object.
in: body
required: false
type: string
trustee_user_id:
description: |
The trustee user ID.
in: body
required: false
type: string
trustor_user_id:
description: |
The trustor user ID.
in: body
required: false
type: string
type:
description: |
Endpoint type.
in: body
required: true
type: string
user:
description: |
A ``user`` object, which shows the ``username``,
``roles_links``, ``id``, ``roles``, and ``name``.
in: body
required: true
type: string
username:
description: |
The user name of the user.
in: body
required: true
type: string
username_1:
description: |
The username of user.
in: body
required: true
type: string
users:
description: |
One or more ``user`` objects.
in: body
required: true
type: array

View File

@ -0,0 +1,167 @@
# variables in header
Location:
format: uri
in: header
required: false
type: string
Location_1:
description: |
The location.
format: uri
in: header
required: false
type: string
# variables in path
endpointTemplateId:
description: |
The endpoint template ID.
in: path
required: false
type: string
roleId:
description: |
The role ID.
in: path
required: false
type: string
serviceId:
description: |
The service ID.
in: path
required: false
type: string
tenantId:
description: |
The tenant ID.
in: path
required: false
type: string
type_1:
description: |
The credential type.
in: path
required: false
type: string
userId:
description: |
The user ID.
in: path
required: false
type: string
# variables in query
{}
# variables in body
description:
description: |
Description about the service.
in: body
required: true
type: string
description_1:
description: |
Description about the tenant.
in: body
required: true
type: string
description_2:
description: |
The role description.
in: body
required: true
type: string
email:
description: |
The user email.
in: body
required: true
type: string
enabled:
description: |
Indicates whether the tenant is enabled or
disabled. Default is ``true``.
in: body
required: true
type: boolean
enabled_1:
description: |
Indicates whether the user is enabled (``true``)
or disabled(``false``). The default value is ``true``.
in: body
required: true
type: boolean
id:
description: |
The UUID of the service.
in: body
required: true
type: string
id_1:
description: |
The tenant ID.
in: body
required: true
type: string
id_2:
description: |
The user ID.
in: body
required: true
type: string
id_3:
description: |
The role ID.
in: body
required: true
type: integer
name:
description: |
The service name.
in: body
required: true
type: string
name_1:
description: |
The tenant name.
in: body
required: true
type: string
name_2:
description: |
The user name.
in: body
required: true
type: string
name_3:
description: |
The role name.
in: body
required: true
type: string
roles:
description: |
A ``roles`` object.
in: body
required: true
type: string
roles_links:
description: |
Role links.
in: body
required: true
type: object
type:
description: |
The type of the service.
in: body
required: true
type: string
users:
description: |
The ``users`` object.
in: body
required: true
type: array

View File

@ -0,0 +1,392 @@
# variables in header
{}
# variables in path
access_token_id:
description: |
The UUID of the access token.
in: path
required: false
type: string
consumer_id:
description: |
The UUID of the consumer.
in: path
required: false
type: string
domain_id:
description: |
The UUID of the domain.
in: path
required: false
type: string
endpoint_id:
description: |
The endpoint ID.
in: path
required: false
type: string
group_id:
description: |
The UUID of the group.
in: path
required: false
type: string
name:
description: |
The name of the group.
in: path
required: false
type: string
policy_id:
description: |
The policy ID.
in: path
required: false
type: string
project_id:
description: |
The UUID of the project.
in: path
required: false
type: string
region_id:
description: |
The region ID.
in: path
required: false
type: string
role_id:
description: |
The UUID of the role.
in: path
required: false
type: string
service_id:
description: |
The service ID.
in: path
required: false
type: string
user_id:
description: |
The UUID of the user.
in: path
required: false
type: string
# variables in query
{}
# variables in body
blob:
description: |
The policy rule itself, as a serialized blob.
in: body
required: true
type: object
endpoints:
description: |
An ``endpoints`` object.
in: body
required: true
type: array
generation:
description: |
A unique integer value that identifies the key.
The generation value changes only if you set a new key. If the
request sets the key to the same value that already exists, the
response shows the existing generation value, which makes the
request idempotent.
in: body
required: true
type: integer
id:
description: |
The ID of the trust.
in: body
required: true
type: string
id_1:
description: |
The endpoint UUID.
in: body
required: true
type: string
id_2:
description: |
The ID of the policy.
in: body
required: true
type: string
impersonation:
description: |
The impersonation flag. Default is false.
in: body
required: false
type: boolean
interface:
description: |
The interface type, which describes the
visibility of the endpoint. Value is: - ``public``. Visible by
end users on a publicly available network interface. -
``internal``. Visible by end users on an unmetered internal
network interface. - ``admin``. Visible by administrative users
on a secure network interface.
in: body
required: true
type: string
links:
description: |
Trust links.
in: body
required: true
type: object
links_1:
description: |
The links for the ``endpoints`` resource.
in: body
required: true
type: object
links_2:
description: |
The links for the ``policy`` resource.
in: body
required: true
type: object
metadata:
description: |
A Base64-encoded JSON object that contains these key and value
pairs:
- ``source``. The identity who is requesting a ticket.
- ``destination``. The target for which the ticket will be valid.
- ``timestamp``. The current time stamp from the requester.
- ``nonce``. Random, single-use data. See `Cryptographic nonce
<https://en.wikipedia.org/wiki/Cryptographic_nonce>`_.
The time stamp and nonce are required to prevent replay attacks.
For example:
.. code-block:: json
{
"source": "scheduler.host.example.com",
"destination": "compute.host.example.com",
"timestamp": "2012-03-26T10:01:01.720000",
"nonce": 1234567890
}
in: body
required: true
type: object
name_1:
description: |
The role name.
in: body
required: true
type: string
name_2:
description: |
The name of the group.
in: body
required: true
type: string
next:
description: |
The ``next`` relative link for the ``endpoints``
resource.
in: body
required: true
type: string
oauth_expires_at:
description: |
The date and time when a request token expires.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
For example, ``2015-08-27T09:49:58-05:00``.
If the Identity API does not include this attribute or its value is
``null``, the token never expires.
in: body
required: false
type: string
policy:
description: |
A ``policy`` object.
in: body
required: true
type: object
previous:
description: |
The ``previous`` relative link for the
``endpoints`` resource.
in: body
required: true
type: string
project_id_1:
description: |
The ID of the project.
in: body
required: true
type: string
region:
description: |
(Deprecated in v3.2) The geographic location of
the service endpoint.
in: body
required: true
type: string
remaining_uses:
description: |
Remaining uses flag. Default is null.
in: body
required: false
type: boolean
roles:
description: |
A roles object.
in: body
required: true
type: array
roles_links:
description: |
A roles links object. Includes ``next``,
``previous``, and ``self`` links for roles.
in: body
required: true
type: object
self:
description: |
The ``self`` relative link for the ``endpoints``
resource.
in: body
required: true
type: string
service_id_1:
description: |
The UUID of the service to which the endpoint
belongs.
in: body
required: true
type: string
signature:
description: |
A Base64-encoded HMAC signature over the
Base64-encoded request metadata object. For example:
``Base64encode(HMAC(SigningKey, RequestMetadata))`` The long-term
key of the requester is used for the signature. When the request
is received, the KDS must verify the signature. To do so, the KDS
must access the ``source`` from the request metadata to look up
the associated long-term key to use to verify the signature. The
KDS should not access any other data contained in the request
metadata before verifying the signature. If the KDS fails to
verify the signature, it risks issuing a ticket to a party who is
impersonating the source.
in: body
required: true
type: string
ticket:
description: |
The ticket is encrypted with the long-term key of the source and
contains a Base64-encoded JSON object containing the following key
and value pairs:
- ``skey``. The newly-generated Base64-encoded message signing key.
- ``ekey``. The newly-generated Base64-encoded message encryption
key.
- ``esek``. Encrypted signing and encryption key pair for the
receiver.
For example:
.. code-block:: json
{
"skey": "ZjhkuYZH8y87rzhgi7...",
"ekey": "Fk8yksa8z8zKtakc8s...",
"esek": "KBo8fajfo8ysad5hq2..."
}
The long-term key of the destination is used to encrypt the
``esek`` value. The ``esek`` value contains a Base64-encoded JSON
object that contains the following key and value pairs:
- ``key``. The Base64-encoded random key that is used to generate
the signing and encryption keys.
- ``timestamp``. The time stamp when the key was created.
- ``ttl``. An integer value that specifies the validity length of
the key, in seconds.
For example:
.. code-block:: json
{
"key": "Afa8sad2hgsd7asv7ad...",
"timestamp": "2012-03-26T10:01:01.720000",
"ttl": 28800
}
The ``key`` and ``timestamp`` values are used as inputs to the HKDF
``expand`` function to generate the signing and encryption keys, as
described in the overview on this page.
The ``timestamp`` and ``ttl`` values must equal the ``expiration``
time stamp value that is contained in the response metadata.
in: body
required: true
type: string
trust:
description: |
A trust object.
in: body
required: true
type: object
trustee_user_id:
description: |
The trustee user ID.
in: body
required: true
type: string
trustor_user_id:
description: |
The trustor user ID.
in: body
required: true
type: string
type:
description: |
The MIME media type of the serialized policy
blob. From the perspective of the Identity API, a policy blob can
be based on any technology. In OpenStack, the ``policy.json`` blob
(``type="application/json"``) is the conventional solution.
However, you might want to use an alternative policy engine that
uses a different policy language type. For example,
``type="application/xacml+xml"``.
in: body
required: true
type: string
url:
description: |
The endpoint URL.
in: body
required: true
type: string

View File

@ -0,0 +1,271 @@
# variables in header
x-openstack-request-id:
description: |
A unique request ID that provides tracking for
the request. Provider must configure middleware to return a
request ID header in a response.
in: header
required: false
type: string
# variables in path
alias_1:
description: |
An alias for the extension name. For example,
``os-server-external- events``.
in: path
required: false
type: string
# variables in query
{}
# variables in body
access:
description: |
An ``access`` object.
in: body
required: true
type: object
alias:
description: |
The alias for the extension. For example,
"FOXNSOX", "os- availability-zone", "os-extended-quotas", "os-
share-unmanage" or "os-used-limits."
in: body
required: true
type: string
description:
description: |
The description of the tenant. If not set, this
value is ``null``.
in: body
required: true
type: string
description_1:
description: |
The extension description.
in: body
required: true
type: string
description_2:
description: |
Description about the tenant.
in: body
required: true
type: string
enabled:
description: |
Indicates whether the tenant is enabled or
disabled.
in: body
required: true
type: boolean
endpoints:
description: |
One or more ``endpoints`` objects. Each object
shows the ``adminURL``, ``region``, ``internalURL``, ``id``, and
``publicURL`` for the endpoint.
in: body
required: true
type: array
endpoints_links:
description: |
Links for the endpoint.
in: body
required: true
type: array
expires:
description: |
The date and time when the token expires.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
A ``null`` value indicates that the token never expires.
in: body
required: true
type: string
id:
description: |
The token ID. This field is required in the
``token`` object.
in: body
required: false
type: string
id_1:
description: |
The tenant ID.
in: body
required: true
type: string
impersonation:
description: |
The impersonation flag.
in: body
required: false
type: boolean
issued_at:
description: |
The date and time when the token was issued.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
metadata:
description: |
A ``metadata`` object.
in: body
required: true
type: object
name:
description: |
Endpoint name.
in: body
required: true
type: string
name_1:
description: |
The name of the extension. For example, "Fox In
Socks."
in: body
required: true
type: string
name_2:
description: |
The tenant name.
in: body
required: true
type: string
password:
description: |
The password of the user. Required if you include
the ``passwordCredentials`` object. Otherwise, you must provide a
token.
in: body
required: false
type: string
passwordCredentials:
description: |
A ``passwordCredentials`` object. To
authenticate, you must provide either a user ID and password or a
token.
in: body
required: false
type: string
serviceCatalog:
description: |
List of ``serviceCatalog`` objects.
in: body
required: true
type: array
tenant:
description: |
A ``tenant`` object.
in: body
required: true
type: object
tenantId:
description: |
The tenant ID. Both the ``tenantId`` and
``tenantName`` attributes are optional and mutually exclusive. If
you specify both attributes, the server returns the ``Bad Request
(400)`` response code.
in: body
required: false
type: string
tenantName:
description: |
The tenant name. Both the ``tenantId`` and
``tenantName`` attributes are optional and mutually exclusive. If
you specify both attributes, the server returns the ``Bad Request
(400)`` response code.
in: body
required: false
type: string
tenants:
description: |
One or more tenant Objects.
in: body
required: true
type: array
tenants_links:
description: |
Links of the tenants.
in: body
required: true
type: array
token:
description: |
A ``token`` object. Required if you do not
provide a password credential.
in: body
required: false
type: object
trust:
description: |
A ``trust`` object.
in: body
required: false
type: object
trustee_user_id:
description: |
The trustee user ID.
in: body
required: false
type: string
trustor_user_id:
description: |
The trustor user ID.
in: body
required: false
type: string
type:
description: |
Endpoint type.
in: body
required: true
type: string
updated:
description: |
The date and time stamp when the extension was
last updated.
in: body
required: true
type: string
user:
description: |
A ``user`` object, which shows the ``username``,
``roles_links``, ``id``, ``roles``, and ``name``.
in: body
required: true
type: object
username:
description: |
The user name. Required if you include the
``passwordCredentials`` object. Otherwise, you must provide a
token.
in: body
required: false
type: string

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,188 @@
# variables in header
{}
# variables in path
image_id:
description: |
Image ID stored through the image API. Typically
a UUID.
in: path
required: false
type: string
owner_id:
description: |
Owner ID, which is the tenant ID.
in: path
required: false
type: string
# variables in query
changes-since:
description: |
Filters the image list to those images that have
changed since a time stamp value.
in: query
required: false
type: string
container_format_1:
description: |
Filters the image list by a container format. A
valid value is ``aki``, ``ami``, ``ari``, ``bare``, ``docker``,
``ova``, or ``ovf``.
in: query
required: false
type: string
disk_format_1:
description: |
Filters the image list by a disk format. A valid
value is ``aki``, ``ami``, ``ari``, ``iso``, ``qcow2``, ``raw``,
``vhd``, ``vdi``, or ``vmdk``.
in: query
required: false
type: string
name_1:
description: |
Filters the image list by an image name, in
string format.
in: query
required: false
type: string
size_max:
description: |
Filters the image list by a maximum image size,
in bytes.
in: query
required: false
type: string
size_min:
description: |
Filters the image list by a minimum image size,
in bytes.
in: query
required: false
type: string
status:
description: |
Filters the image list by a status. A valid value
is ``queued``, ``saving``, ``active``, ``killed``, ``deleted``, or
``pending_delete``.
in: query
required: false
type: string
# variables in body
can_share:
description: |
Indicates whether the owner is authorized to
share the image. If the owner can share the image, this value is
``true``. Otherwise, this value is ``false``. Specify the owner
ID, which is the tenant ID, is in the request URI.
in: body
required: true
type: boolean
container_format:
description: |
A container format defines the file format of the
file that contains the image and metadata about the actual VM.
For a VM image with a ``bare`` container format, the image is a
blob of unstructured data. You can set the container format to
one of these values: - ``aki`` Amazon kernel image. - ``ami``
Amazon machine image. - ``ari`` Amazon ramdisk image. -
``bare`` No container or metadata envelope for the image. -
``docker`` Docker tar archive of the container filesystem. -
``ova`` OVA container format. - ``ovf`` OVF container
format.
in: body
required: true
type: string
createImage:
description: |
Local file path where the image is stored.
in: body
required: false
type: string
disk_format:
description: |
The disk format of a VM image is the format of
the underlying disk image. Virtual appliance vendors have
different formats for laying out the information contained in a VM
disk image. You can set the disk format for your image to one of
these values: - ``aki`` An Amazon kernel image. - ``ami``
An Amazon machine image. - ``ari`` An Amazon ramdisk image. -
``iso`` An archive format for the data contents of an optical
disc, such as CDROM. - ``qcow2`` Supported by the QEMU
emulator that can expand dynamically and supports Copy on Write.
- ``raw`` Unstructured disk image format. - ``vhd`` VHD
disk format, a common disk format used by VM monitors from
VMWare, Xen, Microsoft, VirtualBox, and others. - ``vdi``
Supported by VirtualBox VM monitor and the QEMU emulator. -
``vmdk`` A common disk format that supported by many VM
monitors.
in: body
required: true
type: string
images:
description: |
A list of ``image`` objects.
in: body
required: true
type: array
location:
description: |
A URI location for the image.
format: uri
in: body
required: true
type: string
location_1:
format: uri
in: body
required: true
type: string
member_id:
description: |
The UUID of the member with which an image is
shared.
in: body
required: true
type: string
memberships:
in: body
required: true
type: string
name:
description: |
Name for the image. Note that the name of an
image is not unique to an Image service node. The API cannot
expect users to know the names of images that other users own.
in: body
required: true
type: string
next:
description: |
Show the next item in the list.
format: uri
in: body
required: false
type: string
previous:
description: |
Show the previous item in the list.
format: uri
in: body
required: false
type: string
size:
description: |
The size of the image, in bytes.
in: body
required: true
type: string
uri:
description: |
The exact location needed to get the metadata for
the image.
in: body
required: true
type: string

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,430 @@
# variables in header
{}
# variables in path
network_id_1:
description: |
The UUID of the network.
in: path
required: false
type: string
port_id:
description: |
The UUID of the port.
in: path
required: false
type: string
subnet_id_2:
description: |
The UUID of the subnet.
in: path
required: false
type: string
# variables in query
{}
# variables in body
admin_state_up:
description: |
The administrative state of the network, which is
up (``true``) or down (``false``).
in: body
required: false
type: boolean
admin_state_up_1:
description: |
The administrative status of the port, which is
up (``true``) or down (``false``).
in: body
required: false
type: boolean
admin_state_up_2:
description: |
The administrative state of the network, which is
up (``true``) or down (``false``).
in: body
required: true
type: boolean
admin_state_up_3:
description: |
The administrative state of the port, which is up
(``true``) or down (``false``).
in: body
required: true
type: boolean
allowed_address_pairs:
description: |
A set of zero or more allowed address pairs. An
address pair contains an IP address and MAC address.
in: body
required: false
type: array
allowed_address_pairs_1:
description: |
A set of zero or more allowed address pairs. An
address pair consists of an IP address and MAC address.
in: body
required: true
type: array
availability_zone_hints:
description: |
The availability zone candidate for the network.
in: body
required: true
type: array
availability_zones:
description: |
The availability zone for the network.
in: body
required: true
type: array
changed_at:
description: |
Time at which the network has been created.
in: body
required: true
type: string
created_at:
description: |
Time at which port has been created.
in: body
required: true
type: string
default:
description: |
Defines whether the provider is the default for
the service type. If this value is ``true``, the provider is the
default. If this value is ``false``, the provider is not the
default.
in: body
required: true
type: boolean
device_id:
description: |
The UUID of the device that uses this port. For
example, a virtual server.
in: body
required: false
type: string
device_id_1:
description: |
The UUID of the device that uses this port. For
example, a virtual server.
in: body
required: true
type: string
device_owner:
description: |
The UUID of the entity that uses this port. For
example, a DHCP agent.
in: body
required: false
type: string
device_owner_1:
description: |
The UUID of the entity that uses this port. For
example, a DHCP agent.
in: body
required: true
type: string
extra_dhcp_opts:
description: |
A set of zero or more extra DHCP option pairs. An
option pair consists of an option value and name.
in: body
required: true
type: array
fixed_ips:
description: |
If you specify only a subnet UUID, OpenStack
Networking allocates an available IP from that subnet to the port.
If you specify both a subnet UUID and an IP address, OpenStack
Networking tries to allocate the address to the port.
in: body
required: false
type: array
fixed_ips_1:
description: |
The IP addresses for the port. Includes the IP
address and UUID of the subnet.
in: body
required: true
type: array
id:
description: |
The UUID of the network.
in: body
required: true
type: string
id_1:
description: |
The UUID of the port.
in: body
required: true
type: string
ip_address:
description: |
The IP address of an allowed address pair.
in: body
required: false
type: string
ip_address_1:
description: |
The fixed IP address of the port.
in: body
required: true
type: string
location:
description: |
Full URL to a service or server.
format: uri
in: body
required: true
type: string
mac_address:
description: |
The MAC address of an allowed address pair.
in: body
required: false
type: string
mac_address_1:
description: |
The MAC address.
in: body
required: true
type: string
mtu:
description: |
The MTU of a network resource.
in: body
required: true
type: integer
name:
description: |
The network name.
in: body
required: false
type: string
name_1:
description: |
A symbolic name for the port.
in: body
required: false
type: string
name_2:
description: |
The network name.
in: body
required: true
type: string
name_3:
description: |
The port name.
in: body
required: true
type: string
name_4:
description: |
User-facing provider name.
in: body
required: true
type: string
network:
description: |
A ``network`` object.
in: body
required: true
type: object
network_id:
description: |
The UUID of the network.
in: body
required: true
type: string
network_id_2:
description: |
The UUID of the attached network.
in: body
required: true
type: string
networks:
description: |
A list of ``network`` objects.
in: body
required: true
type: array
opt_name:
description: |
The extra DHCP option name.
in: body
required: false
type: string
opt_name_1:
description: |
The extra DHCP option name.
in: body
required: true
type: string
opt_value:
description: |
The extra DHCP option value.
in: body
required: false
type: string
opt_value_1:
description: |
The extra DHCP option value.
in: body
required: true
type: string
port:
description: |
A ``port`` object.
in: body
required: true
type: object
port_security_enabled:
description: |
The port security status. A valid value is
enabled (``true``) or disabled (``false``).
in: body
required: false
type: boolean
port_security_enabled_1:
description: |
The port security status. The status is enabled
(``true``) or disabled (``false``).
in: body
required: true
type: boolean
ports:
description: |
A list of ``port`` objects.
in: body
required: true
type: array
router:external:
description: |
Indicates whether this network is externally
accessible.
in: body
required: false
type: boolean
router:external_1:
description: |
Indicates whether this network is externally
accessible.
in: body
required: true
type: boolean
security_groups:
description: |
One or more security group UUIDs.
in: body
required: false
type: array
security_groups_1:
description: |
The UUIDs of any attached security groups.
in: body
required: true
type: array
service_providers:
description: |
A list of ``service_provider`` objects.
in: body
required: true
type: array
service_type:
description: |
The service type, which is ``CORE``, ``DUMMY``,
``FIREWALL``, ``FLAVORS``, ``L3_ROUTER_NAT``, ``LOADBALANCER``,
``LOADBALANCERV2``, ``METERING``, ``QOS``, or ``VPN``.
in: body
required: true
type: string
shared:
description: |
Admin-only. Indicates whether this network is
shared across all tenants.
in: body
required: false
type: boolean
shared_1:
description: |
Indicates whether this network is shared across
all tenants. By default, only administrative users can change this
value.
in: body
required: true
type: boolean
status:
description: |
The network status.
in: body
required: true
type: string
status_1:
description: |
The port status. Value is ``ACTIVE`` or ``DOWN``.
in: body
required: true
type: string
subnet_id:
description: |
If you specify only a subnet UUID, OpenStack
Networking allocates an available IP from that subnet to the port.
If you specify both a subnet UUID and an IP address, OpenStack
Networking tries to allocate the address to the port.
in: body
required: false
type: string
subnet_id_1:
description: |
The UUID of the subnet to which the port is
attached.
in: body
required: true
type: string
subnets:
description: |
The associated subnets.
in: body
required: true
type: array
tenant_id:
description: |
The UUID of the tenant who owns the network. Only
administrative users can specify a tenant UUID other than their
own. You cannot change this value through authorization policies.
in: body
required: false
type: string
tenant_id_1:
description: |
The UUID of the tenant.
in: body
required: true
type: string
tenant_id_2:
description: |
The UUID of the tenant who owns the network. Only
administrative users can specify a tenant UUID other than their
own.
in: body
required: true
type: string
updated_at:
description: |
Time at which port has been updated.
in: body
required: true
type: string
updated_at_1:
description: |
Time at which the network has been updated.
in: body
required: true
type: string

View File

@ -0,0 +1,972 @@
# variables in header
Accept:
description: |
Instead of using the ``format`` query parameter,
set this header to ``application/json``, ``application/xml``, or
``text/xml``.
in: header
required: false
type: string
Accept-Ranges:
description: |
The type of ranges that the object accepts.
in: header
required: true
type: string
Content-Disposition:
description: |
If set, specifies the override behavior for the
browser. For example, this header might specify that the browser
use a download program to save this file rather than show the
file, which is the default.
in: header
required: false
type: string
Content-Disposition_1:
description: |
If set, specifies the override behavior for the
browser. For example, this header might specify that the browser
use a download program to save this file rather than show the
file, which is the default. If not set, this header is not
returned by this operation.
in: header
required: false
type: string
Content-Encoding:
description: |
If set, the value of the ``Content-Encoding``
metadata.
in: header
required: false
type: string
Content-Encoding_1:
description: |
If set, the value of the ``Content-Encoding``
metadata. If not set, the operation does not return this header.
in: header
required: false
type: string
Content-Length:
description: |
If the operation succeeds, this value is zero
(0). If the operation fails, this value is the length of the error
text in the response body.
in: header
required: true
type: string
Content-Length_1:
description: |
Set to the length of the object content. Do not
set if chunked transfer encoding is being used.
in: header
required: false
type: integer
Content-Length_2:
description: |
The length of the response body that contains the
list of names. If the operation fails, this value is the length of
the error text in the response body.
in: header
required: true
type: string
Content-Length_3:
description: |
HEAD operations do not return content. The
``Content-Length`` header value is not the size of the response
body but is the size of the object, in bytes.
in: header
required: true
type: string
Content-Length_4:
description: |
The length of the object content in the response
body, in bytes.
in: header
required: true
type: string
Content-Type:
description: |
Changes the MIME type for the object.
in: header
required: false
type: string
Content-Type_1:
description: |
If the operation fails, this value is the MIME
type of the error text in the response body.
in: header
required: true
type: string
Content-Type_2:
description: |
The MIME type of the object.
in: header
required: true
type: string
Content-Type_3:
description: |
The MIME type of the list of names. If the
operation fails, this value is the MIME type of the error text in
the response body.
in: header
required: true
type: string
Date:
description: |
The transaction date and time.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
A ``null`` value indicates that the token never expires.
in: header
required: true
type: string
Destination:
description: |
The container and object name of the destination
object in the form of ``/container/object``. You must UTF-8-encode
and then URL-encode the names of the destination container and
object before you include them in this header.
in: header
required: true
type: string
ETag:
description: |
The MD5 checksum of the copied object content.
The value is not quoted.
in: header
required: true
type: string
ETag_1:
description: |
The MD5 checksum value of the request body. For
example, the MD5 checksum value of the object content. You are
strongly recommended to compute the MD5 checksum value of object
content and include it in the request. This enables the Object
Storage API to check the integrity of the upload. The value is not
quoted.
in: header
required: false
type: string
ETag_2:
description: |
For objects smaller than 5 GB, this value is the
MD5 checksum of the object content. The value is not quoted. For
manifest objects, this value is the MD5 checksum of the
concatenated string of MD5 checksums and ETags for each of the
segments in the manifest, and not the MD5 checksum of the content
that was downloaded. Also the value is enclosed in double-quote
characters. You are strongly recommended to compute the MD5
checksum of the response body as it is received and compare this
value with the one in the ETag header. If they differ, the content
was corrupted, so retry the operation.
in: header
required: true
type: string
If-Match:
description: |
See `Request for Comments: 2616
<http://www.ietf.org/rfc/rfc2616.txt>`_.
in: header
required: false
type: string
If-Modified-Since:
description: |
See `Request for Comments: 2616
<http://www.ietf.org/rfc/rfc2616.txt>`_.
in: header
required: false
type: string
If-None-Match:
description: |
In combination with ``Expect: 100-Continue``,
specify an ``"If- None-Match: *"`` header to query whether the
server already has a copy of the object before any data is sent.
in: header
required: false
type: string
If-Unmodified-Since:
description: |
See `Request for Comments: 2616
<http://www.ietf.org/rfc/rfc2616.txt>`_.
in: header
required: false
type: string
Last-Modified:
description: |
The date and time when the object was created or its metadata was
changed.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
in: header
required: true
type: string
Range:
description: |
The ranges of content to get. You can use the
``Range`` header to get portions of data by using one or more
range specifications. To specify many ranges, separate the range
specifications with a comma. The types of range specifications
are: - **Byte range specification**. Use FIRST_BYTE_OFFSET to
specify the start of the data range, and LAST_BYTE_OFFSET to
specify the end. You can omit the LAST_BYTE_OFFSET and if you
do, the value defaults to the offset of the last byte of data.
- **Suffix byte range specification**. Use LENGTH bytes to specify
the length of the data range. The following forms of the header
specify the following ranges of data: - ``Range: bytes=-5``. The
last five bytes. - ``Range: bytes=10-15``. The five bytes of data
after a 10-byte offset. - ``Range: bytes=10-15,-5``. A multi-
part response that contains the last five bytes and the five
bytes of data after a 10-byte offset. The ``Content-Type``
response header contains ``multipart/byteranges``. - ``Range:
bytes=4-6``. Bytes 4 to 6 inclusive. - ``Range: bytes=2-2``. Byte
2, the third byte of the data. - ``Range: bytes=6-``. Byte 6 and
after. - ``Range: bytes=1-3,2-5``. A multi-part response that
contains bytes 1 to 3 inclusive, and bytes 2 to 5 inclusive. The
``Content-Type`` response header contains
``multipart/byteranges``.
in: header
required: false
type: string
Transfer-Encoding:
description: |
Set to ``chunked`` to enable chunked transfer
encoding. If used, do not set the ``Content-Length`` header to a
non-zero value.
in: header
required: false
type: string
X-Account-Bytes-Used:
description: |
The total number of bytes that are stored in
Object Storage for the account.
in: header
required: true
type: integer
X-Account-Container-Count:
description: |
The number of containers.
in: header
required: true
type: integer
X-Account-Meta-Temp-URL-Key:
description: |
The secret key value for temporary URLs. If not
set, this header is not returned in the response.
in: header
required: false
type: string
X-Account-Meta-Temp-URL-Key-2:
description: |
A second secret key value for temporary URLs. If
not set, this header is not returned in the response.
in: header
required: false
type: string
X-Account-Meta-Temp-URL-Key-2_1:
description: |
A second secret key value for temporary URLs. The
second key enables you to rotate keys by having two active keys at
the same time.
in: header
required: false
type: string
X-Account-Meta-Temp-URL-Key_1:
description: |
The secret key value for temporary URLs.
in: header
required: false
type: string
X-Account-Meta-name:
description: |
The custom account metadata item, where
``{name}`` is the name of the metadata item. One ``X-Account-
Meta- {name}`` response header appears for each metadata item (for
each ``{name}``).
in: header
required: false
type: string
X-Account-Meta-name_1:
description: |
The account metadata. The ``{name}`` is the name
of metadata item that you want to add, update, or delete. To
delete this item, send an empty value in this header. You must
specify an ``X-Account-Meta- {name}`` header for each metadata
item (for each ``{name}``) that you want to add, update, or
delete.
in: header
required: false
type: string
X-Account-Object-Count:
description: |
The number of objects in the account.
in: header
required: true
type: integer
X-Auth-Token:
description: |
Authentication token. If you omit this header,
your request fails unless the account owner has granted you access
through an access control list (ACL).
in: header
required: false
type: string
X-Auth-Token_1:
description: |
Authentication token.
in: header
required: true
type: string
X-Container-Bytes-Used:
description: |
The total number of bytes used.
in: header
required: true
type: integer
X-Container-Meta-Access-Control-Allow-Origin:
description: |
Originating URLs allowed to make cross-origin
requests (CORS), separated by spaces. This heading applies to the
container only, and all objects within the container with this
header applied are CORS-enabled for the allowed origin URLs. A
browser (user-agent) typically issues a `preflighted request
<https://developer.mozilla.org/en-
US/docs/HTTP/Access_control_CORS>`_ , which is an OPTIONS call
that verifies the origin is allowed to make the request. The
Object Storage service returns 200 if the originating URL is
listed in this header parameter, and issues a 401 if the
originating URL is not allowed to make a cross-origin request.
Once a 200 is returned, the browser makes a second request to the
Object Storage service to retrieve the CORS-enabled object.
in: header
required: false
type: string
X-Container-Meta-Access-Control-Expose-Headers:
description: |
Headers the Object Storage service exposes to the
browser (technically, through the ``user-agent`` setting), in the
request response, separated by spaces. By default the Object
Storage service returns the following values for this header: -
All “simple response headers” as listed on
`http://www.w3.org/TR/cors/#simple-response-header
<http://www.w3.org/TR/cors/#simple-response-header>`_. - The
headers ``etag``, ``x-timestamp``, ``x-trans-id``. - All metadata
headers (``X-Container-Meta-*`` for containers and ``X-Object-
Meta-*`` for objects) headers listed in ``X-Container- Meta-
Access-Control-Expose-Headers``.
in: header
required: false
type: string
X-Container-Meta-Access-Control-Max-Age:
description: |
Maximum time for the origin to hold the preflight
results. A browser may make an OPTIONS call to verify the origin
is allowed to make the request. Set the value to an integer number
of seconds after the time that the request was received.
in: header
required: false
type: string
X-Container-Meta-Quota-Bytes:
description: |
Sets maximum size of the container, in bytes.
Typically these values are set by an administrator. Returns a 413
response (request entity too large) when an object PUT operation
exceeds this quota value.
in: header
required: false
type: string
X-Container-Meta-Quota-Count:
description: |
Sets maximum object count of the container.
Typically these values are set by an administrator. Returns a 413
response (request entity too large) when an object PUT operation
exceeds this quota value.
in: header
required: false
type: string
X-Container-Meta-Temp-URL-Key:
description: |
The secret key value for temporary URLs.
in: header
required: false
type: string
X-Container-Meta-Temp-URL-Key-2:
description: |
A second secret key value for temporary URLs. The
second key enables you to rotate keys by having two active keys at
the same time.
in: header
required: false
type: string
X-Container-Meta-Web-Directory-Type:
description: |
Sets the content-type of directory marker
objects. If the header is not set, default is
``application/directory``. Directory marker objects are 0-byte
objects that represent directories to create a simulated
hierarchical structure. For example, if you set ``"X-Container-
Meta-Web-Directory- Type: text/directory"``, Object Storage treats
0-byte objects with a content-type of ``text/directory`` as
directories rather than objects.
in: header
required: false
type: string
X-Container-Meta-name:
description: |
The container metadata, where ``{name}`` is the
name of metadata item. You must specify an ``X-Container-Meta-
{name}`` header for each metadata item (for each ``{name}``) that
you want to add or update.
in: header
required: false
type: string
X-Container-Meta-name_1:
description: |
The custom container metadata item, where
``{name}`` is the name of the metadata item. One ``X-Container-
Meta- {name}`` response header appears for each metadata item (for
each ``{name}``).
in: header
required: true
type: string
X-Container-Object-Count:
description: |
The number of objects.
in: header
required: true
type: integer
X-Container-Read:
description: |
Sets a container access control list (ACL) that grants read access.
Container ACLs are available on any Object Storage cluster, and are
enabled by container rather than by cluster.
To set the container read ACL:
.. code-block:: bash
$ curl -X {PUT|POST} -i -H "X-Auth-Token: TOKEN" -H \
"X-Container-Read: ACL" STORAGE_URL/CONTAINER
For example:
.. code-block:: bash
$ curl -X PUT -i \
-H "X-Auth-Token: 0101010101" \
-H "X-Container-Read: .r:*" \
http://swift.example.com/v1/AUTH_bob/read_container
In the command, specify the ACL in the ``X-Container-Read`` header,
as follows:
- ``.r:*`` All referrers.
- ``.r:example.com,swift.example.com`` Comma-separated list of
referrers.
- ``.rlistings`` Container listing access.
- ``AUTH_username`` Access to a user who authenticates through a
legacy or non-OpenStack-Identity-based authentication system.
- ``LDAP_`` Access to all users who authenticate through an LDAP-
based legacy or non-OpenStack-Identity-based authentication
system.
in: header
required: false
type: string
X-Container-Read_1:
description: |
The ACL that grants read access. If not set, this
header is not returned by this operation.
in: header
required: false
type: string
X-Container-Sync-Key:
description: |
Sets the secret key for container
synchronization. If you remove the secret key, synchronization is
halted.
in: header
required: false
type: string
X-Container-Sync-Key_1:
description: |
The secret key for container synchronization. If
not set, this header is not returned by this operation.
in: header
required: false
type: string
X-Container-Sync-To:
description: |
Sets the destination for container
synchronization. Used with the secret key indicated in the ``X
-Container-Sync-Key`` header. If you want to stop a container from
synchronizing, send a blank value for the ``X-Container-Sync-Key``
header.
in: header
required: false
type: string
X-Container-Sync-To_1:
description: |
The destination for container synchronization. If
not set, this header is not returned by this operation.
in: header
required: false
type: string
X-Container-Write:
description: |
Sets an ACL that grants write access.
in: header
required: false
type: string
X-Container-Write_1:
description: |
The ACL that grants write access. If not set,
this header is not returned by this operation.
in: header
required: false
type: string
X-Copied-From:
description: |
For a copied object, shows the container and
object name from which the new object was copied. The value is in
the ``{container}/{object}`` format.
in: header
required: false
type: string
X-Copied-From-Last-Modified:
description: |
For a copied object, the date and time in `UNIX
Epoch time stamp format
<https://en.wikipedia.org/wiki/Unix_time>`_ when the container and
object name from which the new object was copied was last
modified. For example, ``1440619048`` is equivalent to ``Mon,
Wed, 26 Aug 2015 19:57:28 GMT``.
in: header
required: false
type: integer
X-Copy-From:
description: |
If set, this is the name of an object used to
create the new object by copying the ``X-Copy-From`` object. The
value is in form ``{container}/{object}``. You must UTF-8-encode
and then URL-encode the names of the container and object before
you include them in the header. Using PUT with ``X-Copy-From``
has the same effect as using the COPY operation to copy an object.
Using ``Range`` header with ``X-Copy-From`` will create a new
partial copied object with bytes set by ``Range``.
in: header
required: false
type: string
X-Delete-After:
description: |
The number of seconds after which the system
removes the object. Internally, the Object Storage system stores
this value in the ``X -Delete-At`` metadata item.
in: header
required: false
type: integer
X-Delete-At:
description: |
The date and time in `UNIX Epoch time stamp
format <https://en.wikipedia.org/wiki/Unix_time>`_ when the system
removes the object. For example, ``1440619048`` is equivalent to
``Mon, Wed, 26 Aug 2015 19:57:28 GMT``.
in: header
required: false
type: integer
X-Delete-At_1:
description: |
If set, the date and time in `UNIX Epoch time
stamp format <https://en.wikipedia.org/wiki/Unix_time>`_ when the
system deletes the object. For example, ``1440619048`` is
equivalent to ``Mon, Wed, 26 Aug 2015 19:57:28 GMT``. If not set,
this operation does not return this header.
in: header
required: false
type: integer
X-Detect-Content-Type:
description: |
If set to ``true``, Object Storage guesses the
content type based on the file extension and ignores the value
sent in the ``Content- Type`` header, if present.
in: header
required: false
type: boolean
X-Fresh-Metadata:
description: |
Enables object creation that omits existing user
metadata. If set to ``true``, the COPY request creates an object
without existing user metadata. Default value is ``false``.
in: header
required: false
type: boolean
X-Newest:
description: |
If set to true , Object Storage queries all
replicas to return the most recent one. If you omit this header,
Object Storage responds faster after it finds one valid replica.
Because setting this header to true is more expensive for the back
end, use it only when it is absolutely needed.
in: header
required: false
type: boolean
X-Object-Manifest:
description: |
Set to specify that this is a dynamic large
object manifest object. The value is the container and object name
prefix of the segment objects in the form ``container/prefix``.
You must UTF-8-encode and then URL-encode the names of the
container and prefix before you include them in this header.
in: header
required: false
type: string
X-Object-Manifest_1:
description: |
If set, to this is a dynamic large object
manifest object. The value is the container and object name prefix
of the segment objects in the form ``container/prefix``.
in: header
required: false
type: string
X-Object-Meta-name:
description: |
The object metadata, where ``{name}`` is the name
of the metadata item. You must specify an ``X-Object-Meta-
{name}`` header for each metadata ``{name}`` item that you want to
add or update.
in: header
required: false
type: string
X-Object-Meta-name_1:
description: |
The custom object metadata item, where ``{name}``
is the name of the metadata item. One ``X-Object-Meta- {name}``
response header appears for each metadata ``{name}`` item.
in: header
required: true
type: string
X-Remove-Container-name:
description: |
Removes the metadata item named ``{name}``. For
example, ``X -Remove-Container-Read`` removes the ``X-Container-
Read`` metadata item.
in: header
required: false
type: string
X-Remove-Versions-Location:
description: |
Set to any value to disable versioning.
in: header
required: false
type: string
X-Static-Large-Object:
description: |
Set to ``true`` if this object is a static large
object manifest object.
in: header
required: true
type: boolean
X-Timestamp:
description: |
The date and time in `UNIX Epoch time stamp
format <https://en.wikipedia.org/wiki/Unix_time>`_ when the
account, container, or object was initially created as a current
version. For example, ``1440619048`` is equivalent to ``Mon, Wed,
26 Aug 2015 19:57:28 GMT``.
in: header
required: true
type: integer
X-Trans-Id:
description: |
A unique transaction ID for this request. Your
service provider might need this value if you report a problem.
in: header
required: true
type: string
X-Trans-Id-Extra:
description: |
Extra transaction information. Use the ``X-Trans-
Id-Extra`` request header to include extra information to help you
debug any errors that might occur with large object upload and
other Object Storage transactions. Object Storage appends the
first 32 characters of the ``X-Trans-Id- Extra`` request header
value to the transaction ID value in the generated ``X-Trans-Id``
response header. You must UTF-8-encode and then URL-encode the
extra transaction information before you include it in the ``X
-Trans-Id-Extra`` request header. For example, you can include
extra transaction information when you upload `large objects
<http://docs.openstack.org/user-
guide/cli_swift_large_object_creation.html>`_ such as images. When
you upload each segment and the manifest, include the same value
in the ``X-Trans-Id-Extra`` request header. If an error occurs,
you can find all requests that are related to the large object
upload in the Object Storage logs. You can also use ``X-Trans-Id-
Extra`` strings to help operators debug requests that fail to
receive responses. The operator can search for the extra
information in the logs.
in: header
required: false
type: string
X-Versions-Location:
description: |
Enables versioning on this container. The value
is the name of another container. You must UTF-8-encode and then
URL-encode the name before you include it in the header. To
disable versioning, set the header to an empty string.
in: header
required: false
type: string
X-Versions-Location_1:
description: |
Enables versioning on this container. The value
is the name of another container. You must UTF-8-encode and then
URL-encode the name before you include it in the header. To
disable versioning, set the header to an empty string.
in: header
required: true
type: string
# variables in path
account:
description: |
The unique name for the account. An account is
also known as the project or tenant.
in: path
required: false
type: string
container:
description: |
The unique name for the container. The container
name must be from 1 to 256 characters long and can start with any
character and contain any pattern. Character set must be UTF-8.
The container name cannot contain a slash (``/``) character
because this character delimits the container and object name. For
example, ``/account/container/object``.
in: path
required: false
type: string
object:
description: |
The unique name for the object.
in: path
required: false
type: string
# variables in query
delimiter:
description: |
Delimiter value, which returns the object names
that are nested in the container. If you do not set a prefix and
set the delimiter to "/" you may get unexpected results where all
the objects are returned instead of only those with the delimiter
set.
in: query
required: false
type: string
end_marker:
description: |
For a string value, x , returns container names
that are less than the marker value.
in: query
required: false
type: string
filename:
description: |
Overrides the default file name. Object Storage
generates a default file name for GET temporary URLs that is based
on the object name. Object Storage returns this value in the
``Content-Disposition`` response header. Browsers can interpret
this file name value as a file attachment to save. For more
information about temporary URLs, see `Temporary URL middleware
<http://docs.openstack.org/developer/
swift/api/temporary_url_middleware.html>`_.
in: query
required: false
type: string
format:
description: |
The response format. Valid values are ``json``,
``xml``, or ``plain``. The default is ``plain``. If you append
the ``format=xml`` or ``format=json`` query parameter to the
storage account URL, the response shows extended container
information serialized in that format. If you append the
``format=plain`` query parameter, the response lists the container
names separated by newlines.
in: query
required: false
type: string
limit:
description: |
For an integer value n , limits the number of
results to n .
in: query
required: false
type: integer
marker:
description: |
For a string value, x , returns container names
that are greater than the marker value.
in: query
required: false
type: string
multipart-manifest:
description: |
If ``?multipart-manifest=put``, the object is a
static large object manifest and the body contains the manifest.
in: query
required: false
type: string
multipart-manifest_1:
description: |
If you include the ``multipart-manifest=delete``
query parameter and the object is a static large object, the
segment objects and manifest object are deleted. If you omit the
``multipart- manifest=delete`` query parameter and the object is a
static large object, the manifest object is deleted but the
segment objects are not deleted. For a bulk delete, the response
body looks the same as it does for a normal bulk delete. In
contrast, a plain object DELETE response has an empty body.
in: query
required: false
type: string
multipart-manifest_2:
description: |
If you include the ``multipart-manifest=get``
query parameter and the object is a large object, the object
contents are not returned. Instead, the manifest is returned in
the ``X-Object-Manifest`` response header for dynamic large
objects or in the response body for static large objects.
in: query
required: false
type: string
path:
description: |
For a string value, returns the object names that
are nested in the pseudo path.
in: query
required: false
type: string
prefix:
description: |
Prefix value. Named items in the response begin
with this value.
in: query
required: false
type: string
swiftinfo_expires:
description: |
Filters the response by the expiration date and
time in `UNIX Epoch time stamp format
<https://en.wikipedia.org/wiki/Unix_time>`_. For example,
``1440619048`` is equivalent to ``Mon, Wed, 26 Aug 2015 19:57:28
GMT``.
in: query
required: false
type: integer
swiftinfo_sig:
description: |
A hash-based message authentication code (HMAC)
that enables access to administrator-only information. To use this
parameter, the ``swiftinfo_expires`` parameter is also required.
in: query
required: false
type: string
temp_url_expires:
description: |
The date and time in `UNIX Epoch time stamp
format <https://en.wikipedia.org/wiki/Unix_time>`_ when the
signature for temporary URLs expires. For example, ``1440619048``
is equivalent to ``Mon, Wed, 26 Aug 2015 19:57:28 GMT``. For more
information about temporary URLs, see `Temporary URL middleware
<http://docs.openstack.org/developer/swift/api/temporary
_url_middleware.html>`_.
in: query
required: true
type: integer
temp_url_sig:
description: |
Used with temporary URLs to sign the request with
an HMAC-SHA1 cryptographic signature that defines the allowed HTTP
method, expiration date, full path to the object, and the secret
key for the temporary URL. For more information about temporary
URLs, see `Temporary URL middleware
<http://docs.openstack.org/developer/swif
t/api/temporary_url_middleware.html>`_.
in: query
required: true
type: string
# variables in body
bytes:
description: |
The total number of bytes that are stored in
Object Storage for the account.
in: body
required: true
type: integer
content_type:
description: |
The content type of the object.
in: body
required: true
type: string
count:
description: |
The number of objects in the container.
in: body
required: true
type: integer
hash:
description: |
The MD5 checksum value of the object content.
in: body
required: true
type: string
last_modified:
description: |
The date and time when the object was last modified.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC. In the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
name:
description: |
The name of the container.
in: body
required: true
type: string

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,734 @@
# variables in header
{}
# variables in path
alarm_id_1:
description: |
The UUID of the alarm.
in: path
required: false
type: string
message_id_1:
description: |
The UUID of the message.
in: path
required: false
type: string
meter_name:
description: |
The name of the meter.
in: path
required: false
type: string
resource_id_2:
description: |
The UUID of the resource.
in: path
required: false
type: string
sample_id:
description: |
The UUID of the sample.
in: path
required: false
type: string
# variables in query
aggregate:
description: |
A list of selectable aggregation functions to apply.
For example:
::
GET /v2/meters/METER_NAME/statistics?aggregate.func=cardinality
&
aggregate.param=resource_id
&
aggregate.func=cardinality
&
aggregate.param=project_id
in: query
required: false
type: object
data:
description: |
An alarm within the request body.
in: query
required: false
type: string
direct:
description: |
Indicates whether the samples are POST ed
directly to storage. Set ``?direct=True`` to POST the samples
directly to storage.
in: query
required: false
type: string
groupby:
description: |
Fields for group by aggregation.
in: query
required: false
type: object
limit:
description: |
Limits the maximum number of samples that the response returns.
For example:
::
GET /v2/events?limit=1000
in: query
required: false
type: integer
limit_1:
description: |
Requests a page size of items. Returns a number
of items up to a limit value. Use the ``limit`` parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the ``marker`` parameter value in a
subsequent limited request.
in: query
required: false
type: integer
meter_links:
description: |
Set ``?meter_links=1`` to return a self link and
related meter links.
in: query
required: false
type: integer
period:
description: |
The period, in seconds, for which you want
statistics.
in: query
required: false
type: integer
q:
description: |
Filters the response by one or more arguments.
For example: ``?q.field=Foo & q.value=my_text``.
in: query
required: false
type: array
q_1:
description: |
Filters the response by one or more event arguments.
For example:
::
GET /v2/events?q.field=Foo
&
q.value=my_text
in: query
required: false
type: array
samples:
description: |
A list of samples.
in: query
required: false
type: array
state_1:
description: |
The alarm state. A valid value is ``ok``,
``alarm``, or ``insufficient data``.
in: query
required: true
type: string
# variables in body
alarm_actions:
description: |
The list of actions that the alarm performs.
in: body
required: true
type: array
alarm_id:
description: |
The UUID of the alarm.
in: body
required: true
type: string
alarm_storage:
description: |
Defines the capabilities for the storage that
stores persisting alarm definitions. A value of ``true`` indicates
that the capability is available.
in: body
required: true
type: object
alarms:history:query:complex:
description: |
If ``true``, the complex query capability for
alarm history is available for the configured database back end.
in: body
required: true
type: boolean
alarms:history:query:simple:
description: |
If ``true``, the simple query capability for
alarm history is available for the configured database back end.
in: body
required: true
type: boolean
alarms:query:complex:
description: |
If ``true``, the complex query capability for
alarm definitions is available for the configured database back
end.
in: body
required: true
type: boolean
alarms:query:simple:
description: |
If ``true``, the simple query capability for
alarm definitions is available for the configured database back
end.
in: body
required: true
type: boolean
api:
description: |
A set of key and value pairs that contain the API
capabilities for the configured storage driver.
in: body
required: true
type: object
avg:
description: |
The average of all volume values in the data.
in: body
required: true
type: number
combination_rule:
description: |
The rules for the combination alarm type.
in: body
required: true
type: string
count:
description: |
The number of samples seen.
in: body
required: true
type: integer
description:
description: |
Describes the alarm.
in: body
required: true
type: string
duration:
description: |
The number of seconds between the oldest and
newest date and time stamp.
in: body
required: true
type: number
duration_end:
description: |
The date and time in UTC format of the query end
time.
in: body
required: true
type: string
duration_start:
description: |
The date and time in UTC format of the query
start time.
in: body
required: true
type: string
enabled:
description: |
If ``true``, evaluation and actioning is enabled
for the alarm.
in: body
required: true
type: boolean
event_storage:
description: |
If ``true``, the capabilities for the storage
that stores persisting events is available.
in: body
required: true
type: object
event_type:
description: |
The dotted string that represents the event.
in: body
required: true
type: string
events:query:simple:
description: |
If ``true``, the simple query capability for
events is available for the configured database back end.
in: body
required: true
type: boolean
generated:
description: |
The date and time when the event occurred.
in: body
required: true
type: string
id:
description: |
The UUID of the sample.
in: body
required: true
type: string
insufficient_data_actions:
description: |
The list of actions that the alarm performs when
the alarm state is ``insufficient_data``.
in: body
required: true
type: array
links:
description: |
A list that contains a self link and associated
meter links.
in: body
required: true
type: array
max:
description: |
The maximum volume seen in the data.
in: body
required: true
type: number
message_id:
description: |
The UUID of the message.
in: body
required: true
type: string
metadata:
description: |
An arbitrary set of one or more metadata key and
value pairs that are associated with the sample.
in: body
required: true
type: object
metadata_1:
description: |
A set of one or more arbitrary metadata key and
value pairs that are associated with the resource.
in: body
required: true
type: object
meter:
description: |
The meter name.
in: body
required: true
type: string
meter_id:
description: |
The UUID of the meter.
in: body
required: true
type: string
meters:query:complex:
description: |
If ``true``, the complex query capability for
meters is available for the configured database back end.
in: body
required: true
type: boolean
meters:query:metadata:
description: |
If ``true``, the simple query capability for the
metadata of meters is available for the configured database back
end.
in: body
required: true
type: boolean
meters:query:simple:
description: |
If ``true``, the simple query capability for
meters is available for the configured database back end.
in: body
required: true
type: boolean
min:
description: |
The minimum volume seen in the data.
in: body
required: true
type: number
name:
description: |
The name of the alarm.
in: body
required: true
type: string
name_1:
description: |
The meter name.
in: body
required: true
type: string
ok_actions:
description: |
The list of actions that the alarm performs when
the alarm state is ``ok``.
in: body
required: true
type: array
period_end:
description: |
The period end date and time in UTC format.
in: body
required: true
type: string
period_start:
description: |
The period start date and time in UTC format.
in: body
required: true
type: string
project_id:
description: |
The UUID of the project or tenant that owns the
resource.
in: body
required: true
type: string
project_id_1:
description: |
The UUID of the project.
in: body
required: true
type: string
project_id_2:
description: |
The UUID of the owning project or tenant.
in: body
required: true
type: string
raw:
description: |
A dictionary object that stores event messages
for future evaluation.
in: body
required: true
type: object
recorded_at:
description: |
The date and time when the sample was recorded.
in: body
required: true
type: string
repeat_actions:
description: |
If set to ``true``, the alarm notifications are
repeated. Otherwise, this value is ``false``.
in: body
required: true
type: boolean
resource_id:
description: |
The UUID of the resource for which the
measurements are taken.
in: body
required: true
type: string
resource_id_1:
description: |
The UUID of the resource.
in: body
required: true
type: string
resources:query:complex:
description: |
If ``true``, the complex query capability for
resources is available for the configured database back end.
in: body
required: true
type: boolean
resources:query:metadata:
description: |
If ``true``, the simple query capability for the
metadata of resources is available for the configured database
back end.
in: body
required: true
type: boolean
resources:query:simple:
description: |
If ``true``, the simple query capability for
resources is available for the configured database back end.
in: body
required: true
type: boolean
samples:query:complex:
description: |
If ``true``, the complex query capability for
samples is available for the configured database back end.
in: body
required: true
type: boolean
samples:query:metadata:
description: |
If ``true``, the simple query capability for the
metadata of samples is available for the configured database back
end.
in: body
required: true
type: boolean
samples:query:simple:
description: |
If ``true``, the simple query capability for
samples is available for the configured database back end.
in: body
required: true
type: boolean
source:
description: |
The name of the source that identifies where the
sample comes from.
in: body
required: true
type: string
source_1:
description: |
The name of the source from which the meter came.
in: body
required: true
type: string
source_2:
description: |
The name of the source from which the resource
came.
in: body
required: true
type: string
state:
description: |
The state of the alarm.
in: body
required: true
type: string
state_timestamp:
description: |
The date and time of the alarm state.
in: body
required: true
type: string
statistics:aggregation:selectable:avg:
description: |
If ``true``, the ``avg`` capability is available
for the configured database back end. Use the ``avg`` capability
to get average values for samples.
in: body
required: true
type: boolean
statistics:aggregation:selectable:cardinality:
description: |
If ``true``, the ``cardinality`` capability is
available for the configured database back end. Use the
``cardinality`` capability to get cardinality for samples.
in: body
required: true
type: boolean
statistics:aggregation:selectable:count:
description: |
If ``true``, the ``count`` capability is
available for the configured database back end. Use the ``count``
capability to calculate the number of samples for a query.
in: body
required: true
type: boolean
statistics:aggregation:selectable:max:
description: |
If ``true``, the ``max`` capability is available
for the configured database back end. . Use the ``max`` capability
to calculate the maximum value for a query.
in: body
required: true
type: boolean
statistics:aggregation:selectable:min:
description: |
If ``true``, the ``min`` capability is available
for the configured database back end. Use the ``min`` capability
to calculate the minimum value for a query.
in: body
required: true
type: boolean
statistics:aggregation:selectable:quartile:
description: |
If ``true``, the ``quartile`` capability is
available for the configured database back end. Use the
``quartile`` capability to calculate the quartile of sample
volumes for a query.
in: body
required: true
type: boolean
statistics:aggregation:selectable:stddev:
description: |
If ``true``, the ``stddev`` capability is
available for the configured database back end. Use the ``stddev``
capability to calculate the standard deviation of sample volumes
for a query.
in: body
required: true
type: boolean
statistics:aggregation:selectable:sum:
description: |
If ``true``, the ``sum`` capability is available
for the configured database back end. Use the ``sum`` capability
to calculate the sum of sample volumes for a query.
in: body
required: true
type: boolean
statistics:aggregation:standard:
description: |
If ``true``, the ``standard`` set of aggregation
capability is available for the configured database back end.
in: body
required: true
type: boolean
statistics:groupby:
description: |
If ``true``, the ``groupby`` capability is
available for calculating statistics for the configured database
back end.
in: body
required: true
type: boolean
statistics:query:complex:
description: |
If ``true``, the complex query capability for
statistics is available for the configured database back end.
in: body
required: true
type: boolean
statistics:query:metadata:
description: |
If ``true``, the simple query capability for the
sample metadata that is used to calculate statistics is available
for the configured database back end.
in: body
required: true
type: boolean
statistics:query:simple:
description: |
If ``true``, the simple query capability for
statistics is available for the configured database back end.
in: body
required: true
type: boolean
storage:
description: |
If ``true``, the capabilities for the storage
that stores persisting samples is available.
in: body
required: true
type: object
storage:production_ready:
description: |
If ``true``, the database back end is ready to
use in a production environment.
in: body
required: true
type: boolean
sum:
description: |
The total of all of the volume values seen in the
data.
in: body
required: true
type: number
threshold_rule:
description: |
The rules for the threshold alarm type.
in: body
required: true
type: string
timestamp:
description: |
The date and time in UTC format when the
measurement was made.
in: body
required: true
type: string
timestamp_1:
description: |
The date and time of the alarm.
in: body
required: true
type: string
traits:
description: |
A list of objects. Each object contains key and
value pairs that describe the event.
in: body
required: true
type: array
type:
description: |
The meter type.
in: body
required: true
type: string
type_1:
description: |
The type of the alarm, which is either
``threshold`` or ``combination``.
in: body
required: true
type: string
type_2:
description: |
The meter type. The type value is gauge, delta,
or cumulative.
in: body
required: true
type: string
unit:
description: |
The unit of measure for the ``volume`` value.
in: body
required: true
type: string
unit_1:
description: |
The unit of measure.
in: body
required: true
type: string
unit_2:
description: |
The unit type of the data set.
in: body
required: true
type: string
user_id:
description: |
The UUID of the user who either created or last
updated the resource.
in: body
required: true
type: string
user_id_1:
description: |
The UUID of the user.
in: body
required: true
type: string
volume:
description: |
The actual measured value.
in: body
required: true
type: number

View File

@ -0,0 +1,318 @@
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import print_function
from __future__ import unicode_literals
import codecs
from jinja2 import Environment
import json
import logging
import os
from os import path
import textwrap
import yaml
log = logging.getLogger(__name__)
environment = Environment()
TMPL_API = """
{{method['title']}}
{% for i in range(method['title']|count) -%}
=
{%- endfor %}
.. rest_method:: {{method['method']|upper}} {{path}}
{{method['summary']}}
{%- if method.description != '' %}
{% for line in method.description.split('\n') %}
{{line}}
{%- endfor %}
{%- endif %}
{% for status_code, response in method['responses'].items() %}
{%- if status_code == '200' %}
Normal response codes: {{status_code}}
{% endif -%}
{%- endfor -%}
Error response codes:
{%- for status_code in error_codes -%}
{{status_code}},
{%- endfor %}
Request Parameters
------------------
.. rest_parameters:: {{method['operationId']}}.yaml
{% for p in request_params %}
- {{p}}: {{p}}
{%- endfor %}
{%- if 'application/json' in method['examples'] %}
Request Example
---------------
.. literalinclude:: {{method['request_sample']}}
:language: javascript
{% endif %}
{% if response_params|count > 0 %}
Response Parameters
-------------------
.. rest_parameters:: {{method['operationId']}}.yaml
{% for p in response_params %}
- {{p}}: {{p}}
{%- endfor %}
{% endif %}
{% for status_code, response in method['responses'].items() %}
{%- if status_code == '200' %}
Response Example
----------------
.. literalinclude:: {{response['response_sample']}}
:language: javascript
{% endif %}
{% endfor %}
"""
def write_rst(method_obj,
method_path,
filepath,
request_params,
response_params,
error_codes):
TMPL = environment.from_string(TMPL_API)
result = TMPL.render(method=method_obj,
path=method_path,
request_params=request_params,
response_params=response_params,
error_codes=error_codes)
log.info("Writing RST/operation %s", filepath)
with codecs.open(filepath,
'w', "utf-8") as out_file:
out_file.write(result)
def create_parameter(name, form, request, opt, ptype):
p = {}
p[name] = {}
if form is not '':
p[name]['format'] = form
p[name]['in'] = request
p[name]['required'] = opt
p[name]['type'] = ptype
return p
def format_param(desc):
desc.rstrip('\n')
param = ' description: |\n'
param_wrap = textwrap.TextWrapper(
initial_indent=param,
subsequent_indent=' ')
if ('::\n\n' in desc) or \
('.. code-block::' in desc):
for i, line in enumerate(desc.split('\n')):
if len(line) is 0:
param += '\n'
else:
param += ' ' + line + '\n'
return param.rstrip('\n')
else:
new_text = param_wrap.wrap(' ' + desc)
return '\n'.join(new_text)
def main1(filename, output_dir):
log.info('Parsing %s' % filename)
swagger = json.load(open(filename))
info = swagger['info']
version = info['version']
service = info['service']
service_path = path.join(output_dir, service)
full_path = path.join(service_path, version)
if not path.exists(service_path):
os.makedirs(service_path)
if not path.exists(full_path):
os.makedirs(full_path)
for key_path, paths in swagger['paths'].items():
for p in paths:
opId = p['operationId']
method_req_params = p['parameters']
# list of request params
request_params = []
# list of response params
response_params = []
filename = '%s.yaml' % opId
filepath = path.join(full_path, filename)
log.info("Writing %s", filepath)
stream = file(filepath, 'a')
# get the response objects
method_responses = p['responses']
for r, rval in method_responses.items():
# get the response header parameters
if 'headers' in rval:
for h, val in rval['headers'].items():
new_param = create_parameter(h,
val['format'],
str('header'),
val['required'],
val['type'])
# add to response param list
response_params.append(h)
yaml.safe_dump(new_param,
stream,
allow_unicode=True,
default_flow_style=False)
new_desc = format_param(val['description'])
stream.write(new_desc.encode('utf8'))
stream.write('\n\n')
# get the response parameters
if 'schema' in rval:
response_schema_name = opId + '_' + r
for op, opval in swagger['definitions'].items():
if op == response_schema_name:
props = opval['properties']
for k, val in props.items():
new_param = create_parameter(k,
val['format'],
str("body"),
val['required'],
val['type'])
# add to response param list
response_params.append(k)
yaml.safe_dump(new_param,
stream,
allow_unicode=True,
default_flow_style=False)
new_desc = format_param(val['description'])
stream.write(new_desc.encode('utf8'))
stream.write('\n\n')
# get the request parameters
for params in method_req_params:
if params['in'] == 'body':
for op, opval in swagger['definitions'].items():
if op == opId:
props = opval['properties']
for k, val in props.items():
new_param = create_parameter(k,
val['format'],
str("body"),
val['required'],
val['type'])
# add to request param list
request_params.append(k)
yaml.safe_dump(new_param,
stream,
allow_unicode=True,
default_flow_style=False)
new_desc = format_param(val['description'])
stream.write(new_desc.encode('utf8'))
stream.write('\n\n')
else:
new_param = create_parameter(params['name'],
params['format'],
params['in'],
params['required'],
params['type'])
# add to request param list
request_params.append(params['name'])
yaml.safe_dump(new_param,
stream,
allow_unicode=True,
default_flow_style=False)
new_desc = format_param(params['description'])
stream.write(new_desc.encode('utf8'))
stream.write('\n\n')
# write out a rst file
filename_rst = '%s.rst' % opId
filepath_rst = path.join(full_path, filename_rst)
# error responses
error_codes = []
for status_code in p['responses']:
if status_code > '200':
error_codes.append(status_code)
write_rst(p,
key_path,
filepath_rst,
request_params,
response_params,
error_codes)
def main():
import argparse
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'-v', '--verbose', action='count', default=0,
help="Increase verbosity (specify multiple times for more)")
parser.add_argument(
'-o', '--output-dir', action='store',
help="The directory where the yaml files will be output.")
parser.add_argument(
'filename',
help="File to convert")
args = parser.parse_args()
log_level = logging.WARNING
if args.verbose == 1:
log_level = logging.INFO
elif args.verbose >= 2:
log_level = logging.DEBUG
logging.basicConfig(
level=log_level,
format='%(asctime)s %(name)s %(levelname)s %(message)s')
filename = path.abspath(args.filename)
main1(filename, output_dir=args.output_dir)

View File

@ -762,10 +762,17 @@ class WADLHandler(xml.sax.ContentHandler):
if sample and type == 'response':
response = self.current_api['responses'][status_code]
response['examples'][media_type] = sample
# Set response sample filename for rst publishing
self.current_api['responses'][status_code]['response_sample'] \
= attrs['href']
elif sample and type == 'request':
# Add request examples (Not swagger supported)
self.current_api['examples'][media_type] = sample
# Set request sample filename for rst publishing
self.current_api['request_sample'] = attrs['href']
if name == 'response':
if 'status' not in attrs:
return

View File

@ -18,6 +18,7 @@ function usage {
echo " --wadl2swaggervalid Only perform wadl to valid swagger conversion"
echo " --swagger2rst Only perform swagger to rst conversion"
echo " --swaggerandmd Only perform markdown update to swagger"
echo " --create-yamls Create yaml parameter files"
}
venv=.venv
@ -36,8 +37,9 @@ wadl2swagger=
wadl2swaggervalid=
swagger2rst=
swaggerandmd=
create_yamls=
if ! options=$(getopt -o VNnfuhd -l virtual-env,no-virtual-env,no-site-packages,force,update,help,debug,docs-only,verbose-docs,docbkx2json,wadl2swagger,wadl2swaggervalid,swagger2rst,swaggerandmd -- "$@")
if ! options=$(getopt -o VNnfuhd -l virtual-env,no-virtual-env,no-site-packages,force,update,help,debug,docs-only,verbose-docs,docbkx2json,wadl2swagger,wadl2swaggervalid,swagger2rst,swaggerandmd,create-yamls -- "$@")
then
# parse error
usage
@ -61,6 +63,7 @@ while [ $# -gt 0 ]; do
--wadl2swaggervalid) wadl2swaggervalid=1;;
--swagger2rst) swagger2rst=1;;
--swaggerandmd) swaggerandmd=1;;
--create-yamls) create_yamls=1;;
esac
shift
done
@ -123,7 +126,7 @@ function migrate_docbkx {
fi
generate_all=
if [[ -z $docbkx2json && -z $wadl2swagger && -z $wadl2swaggervalid && -z $swagger2rst && -z $swaggerandmd ]]; then
if [[ -z $docbkx2json && -z $wadl2swagger && -z $wadl2swaggervalid && -z $swagger2rst && -z $swaggerandmd && -z $create_yamls ]]; then
generate_all=1
fi
@ -146,6 +149,11 @@ function migrate_docbkx {
if [[ -n $swaggerandmd || -n $generate_all ]]; then
${wrapper} find conversion_files_valid -name \*-swagger.json -type f -exec fairy-slipper-swagger-and-md -o conversion_files_valid $verbose_docs {} \;
fi
# Clean out sub dirs under api_doc as create-yamls appends to file
if [[ -n $create_yamls || -n $generate_all ]]; then
${wrapper} find conversion_files -name \*-swagger.json -type f -exec fairy-slipper-create-yamls -o api_doc $verbose_docs {} \;
fi
}
if [ -z $docs_only ]; then
@ -153,4 +161,4 @@ if [ -z $docs_only ]; then
install_api_site
fi
migrate_docbkx
migrate_docbkx

View File

@ -29,6 +29,7 @@ console_scripts =
fairy-slipper-docbkx-to-json = fairy_slipper.cmd.docbkx_to_json:main
fairy-slipper-swagger-to-rst = fairy_slipper.cmd.swagger_to_rst:main
fairy-slipper-swagger-and-md = fairy_slipper.cmd.swagger_and_markdown:main
fairy-slipper-create-yamls = fairy_slipper.cmd.create_yaml_parameters:main
fairy-slipper-wadl-to-swagger = fairy_slipper.cmd.wadl_to_swagger:main
fairy-slipper-wadl-to-swagger-valid = fairy_slipper.cmd.wadl_to_swagger_valid:main
fairy-slipper-tempest-log = fairy_slipper.cmd.tempest_log:main