mogan/api-ref/source/v1/parameters.yaml
Zhenguo Niu a4b1ee741f Return node name with server API object
Currently we support to list compute nodes and aggregate nodes
with names, but server show will return the node uuid always,
which makes the admins have to go to ironic to get the relationship
between name and uuid, so this changes to return node name.

Change-Id: I6f1e5d0f9cfe277fe952d21b38ebfe68dde4f745
Closes-Bug: #1715036
2017-09-11 19:05:09 +08:00

750 lines
18 KiB
YAML

# variables in header
openstack-request-id:
description: >
A unique ID for tracking the request. The request ID associated with the request
appears in the log lines for that request. By default, the middleware configuration
ensures that the request ID appears in the log files.
in: header
required: true
type: string
# variables in path
address_path:
description: |
The floating IP address.
in: path
required: true
type: string
aggregate_node_path:
description: |
The name of the node.
in: path
required: true
type: string
aggregate_uuid_path:
description: |
The UUID of the aggregate.
in: path
required: true
type: string
api_version:
in: path
required: true
type: string
description: >
The API version as returned in the links from the ``GET /`` call.
flavor_uuid_path:
description: |
The UUID of the flavor.
in: path
required: true
type: string
port_ident:
description: |
The UUID of a network port.
in: path
required: true
type: string
server_group_uuid_path:
description: |
The UUID of the server group.
in: path
required: true
type: string
server_ident:
description: |
The UUID of the server.
in: path
required: true
type: string
spec_key_path:
description: |
The key of the extra spec.
in: path
required: true
type: string
tenant_id_path:
description: |
The UUID of the tenant in a multi-tenancy cloud.
in: path
required: true
type: string
# variables in query
all_tenants:
description: |
Specify the ``all_tenants=1`` query parameter to list all servers
for all projects. By default this is only allowed by admin users.
in: query
required: false
type: integer
fields:
description: |
One or more fields to be returned in the response.
For example, the following request returns only the ``uuid``
and ``name`` fields for each server:
::
GET /v1/servers?fields=uuid,name
in: query
required: false
type: array
fixed_ip_query:
description: |
Filters the server list result by fixed ip. Users can filter by prefix of ip address.
in: query
required: false
type: string
flavor_name_query:
description: |
Filters the server list by flavor's name.
in: query
required: false
type: string
flavor_query:
description: |
Filters the server list by flavor's UUID.
in: query
required: false
type: string
image_query:
description: |
Filters the server list by image's UUID.
in: query
required: false
type: string
server_name_query:
description: |
Filters the server list by name. Users can filter by prefix of server's name.
in: query
required: false
type: string
status_query:
description: |
Filters the server list by the server's status.
in: query
required: false
type: string
user_id:
description: |
Filters the response by a user, by ID.
in: query
required: false
type: string
# variables in body
address:
description: |
The floating IP address.
in: body
required: true
type: string
addresses:
description: |
The addresses for the server.
in: body
required: true
type: object
affinity_zone:
description: |
The affinity zone which the server belongs to.
in: body
required: false
type: string
aggregate_metadata:
description: |
Metadata key and value pairs associate with the aggregate.
in: body
required: true
type: object
aggregate_name:
description: |
The name of the node aggregate.
in: body
required: true
type: string
aggregate_node:
description: |
The name of the node.
in: body
required: true
type: string
aggregate_nodes:
description: |
An array of node information.
in: body
required: true
type: array
aggregate_uuid:
description: |
The UUID of the node aggregate.
in: body
required: true
type: string
aggregates:
description: |
The list of existing aggregates.
in: body
required: true
type: array
availability_zone:
description: |
The availability zone from which to launch the server. When you provision resources,
you specify from which availability zone you want your server to be built. Typically,
you use availability zones to arrange bare metal nodes into logical groups.
An availability zone provides a form of physical isolation and redundancy from
other availability zones. For server, if some racks in your data center are
on a separate power source, you can put servers in those racks in their own availability
zone. Availability zones can also help separate different classes of hardware. By
segregating resources into availability zones, you can ensure that your application
resources are spread across disparate machines to achieve high availability in
the event of hardware or other failure.
in: body
required: false
type: string
availability_zones:
description: |
An array of availability zone name.
in: body
required: true
type: array
console_info:
description: |
The remote console object.
in: body
required: true
type: object
console_url:
description: |
The URL is used to connect the console.
in: body
required: true
type: string
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
the previous example, the offset value is ``-05:00``.
in: body
required: true
type: string
fixed_address:
description: |
The fixed IP address with which you want to associate the floating IP address.
in: body
required: false
type: string
flavor_access:
description: |
A list of tenants.
in: body
required: true
type: array
flavor_aggregates:
description: |
A dict of key and value pairs associate with the flavor including the resources
aggregate metadata.
in: body
required: true
type: object
flavor_description:
description: |
The description of the flavor.
in: body
required: true
type: string
flavor_disabled:
description: |
Whether or not the flavor has been administratively disabled.
in: body
required: false
type: boolean
flavor_is_public:
description: |
Whether the flavor is public (available to all projects) or scoped
to a set of projects. Default is True if not specified.
in: body
required: true
type: boolean
flavor_is_public_not_required:
description: |
Whether the flavor is public (available to all projects) or scoped
to a set of projects. Default is True if not specified.
in: body
required: false
type: boolean
flavor_name:
description: |
The name of the flavor.
in: body
required: true
type: string
flavor_resource_traits:
description: |
A dict of key and value pairs associate with the flavor including the resource
name and the qualities.
in: body
required: false
type: object
flavor_resources:
description: |
A dict of key and value pairs associate with the flavor including the resource
name and the quantity.
in: body
required: true
type: object
flavor_uuid:
description: |
The UUID of the flavor.
in: body
required: true
type: string
flavorRef:
description: |
The flavor reference, as a UUID for the flavor for your server server.
in: body
required: true
type: string
flavors:
description: |
An array of flavor objects.
in: body
required: true
type: array
image_ident:
description: |
The UUID of the image to apply to rebuild your server.
in: body
required: false
type: string
imageRef:
description: |
The UUID of the image to use for your server.
in: body
required: true
type: string
key_name:
description: |
Key pair name.
in: body
required: false
type: string
keypair_fingerprint:
in: body
required: true
type: string
description: |
The fingerprint for the keypair.
keypair_name:
in: body
required: true
type: string
description: |
A name for the keypair which will be used to reference it later.
keypair_private_key:
description: |
If you do not provide a public key on create, a new keypair will
be built for you, and the private key will be returned during the
initial create call. Make sure to save this, as there is no way to
get this private key again in the future.
in: body
required: false
type: string
keypair_public_key:
description: |
The keypair public key.
in: body
required: true
type: string
keypair_public_key_in:
description: |
The public ssh key to import. If you omit this value, a keypair is
generated for you.
in: body
required: false
type: string
keypair_type:
in: body
required: true
type: string
description: |
The type of the keypair. Allowed values are ``ssh`` or ``x509``.
keypair_type_in:
in: body
required: false
type: string
description: |
The type of the keypair. Allowed values are ``ssh`` or ``x509``.
keypair_userid:
in: body
required: true
type: string
description: |
The user_id for a keypair.
keypair_userid_in:
in: body
required: false
type: string
description: |
The user_id for a keypair. This allows administrative users to
upload keys for other users than themselves.
keypairs:
in: body
type: array
required: true
description: |
Array of Keypair objects
launched_at:
description: |
The date and time when the server was launched. 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
links:
description: |
A list of relative links. Includes the self and bookmark links.
in: body
required: true
type: array
lock_state:
description: |
The request to lock/unlock servers.
in: body
required: true
type: boolean
manageable_servers:
description: |
An array of manageable servers information.
in: body
required: true
type: array
manageable_servers_image_source:
description: |
Image source uuid of manageable server.
in: body
required: true
type: string
manageable_servers_name:
description: |
Name of manageable server.
in: body
required: true
type: string
manageable_servers_portgroups:
description: |
The portgroups of manageable server.
in: body
required: true
type: array
manageable_servers_ports:
description: |
The ports of manageable server.
in: body
required: true
type: array
manageable_servers_power_state:
description: |
The power state of manageable server.
in: body
required: true
type: string
manageable_servers_provision_state:
description: |
The provision state of manageable server.
in: body
required: true
type: string
manageable_servers_resource_class:
description: |
Resource class of manageable server.
in: body
required: true
type: string
manageable_servers_uuid:
description: |
UUID of manageable server.
in: body
required: true
type: string
max_count_body:
description: |
The max number of servers to be created. Defaults to the value of ``min_count``.
in: body
required: false
type: integer
metadata:
description: |
Metadata key and value pairs. The maximum size of the metadata key and value is
255 bytes each.
in: body
required: false
type: object
min_count_body:
description: |
The min number of servers to be created. Defaults to 1.
in: body
required: false
type: integer
multi_server_name_body:
description: |
A base name for creating unique names during multiple create. A unique
string will be appended to the end of this base name for every instacne
created.
in: body
required: true
type: string
network_uuid:
description: |
To provision the server with a NIC for a network, specify the UUID of
the network with the ``net_id`` key in a dict in ``networks`` list.
in: body
required: false
type: string
networks:
description: |
A list of networks of the tenant. Optionally, you can create one or more NICs on the server.
To provision the server with a NIC for a network, specify the UUID of the network
with the ``net_id`` key in a dict in ``networks`` list. To provision the server with a
specified type of NIC, specify the port-type key in a dict in a ``networks`` list.
To provision the server with a NIC for an already existing port, specify the port_id in
a ``networks`` list. Now net_id and port_id are exclusive, so you should use only one of
them at one time.
in: body
required: true
type: array
nics:
description: |
The port info in the requested network for the server, with fixed_ip, mac_address, and
network uuid
in: body
required: true
type: object
node:
description: |
The node which our server associated with. Only visible for admin users.
in: body
required: false
type: string
nodes:
description: |
The compute node name list.
in: body
required: true
type: object
partitions:
description: |
The partitions info for root disk, this is only allowed when using partition images
with root_gb(required), ephemeral_gb, and swap_mb.
in: body
required: false
type: object
personality:
description: |
The file path and contents, text only, to inject into the server at launch. The
maximum size of the file path data is 255 bytes. The maximum limit is the number
of allowed bytes in the decoded, rather than encoded, data.
in: body
required: false
type: string
port_uuid:
description: |
To provision the server with a NIC for an already existing port,
specify the port_id in a ``networks`` list.
in: body
required: false
type: string
power_state:
description: |
The current power state of this Server. Usually, "power on" or
"power off", but may be "None" if Mogan is unable to determine the power
state (eg, due to hardware failure).
in: body
required: true
type: string
power_state_target:
description: |
This field represents the requested state either "on", "off", "soft_off",
"reboot", or "soft_reboot".
in: body
required: true
type: string
preserve_ephemeral:
description: |
Indicates whether the server is rebuilt with the preservation of the ephemeral
partition (``true``).
in: body
required: false
type: boolean
project_id_body:
description: |
The UUID of the project in a multi-tenancy cloud.
in: body
required: true
type: string
provision_state:
description: |
One of the provisioning verbs, currently only support rebuild.
in: body
required: true
type: string
remote_console_protocol:
description: |
The protocol of remote console. The valid value is ``serial`` now.
in: body
required: true
type: string
remote_console_type:
description: |
The type of remote console. The valid values are ``socat``, and
``shellinabox``.
in: body
required: true
type: string
remote_console_url:
description: |
The URL is used to connect the console.
in: body
required: true
type: string
scheduler_hints:
description: |
The dictionary of data send to the scheduler, it represents scheduling
options will be passed to scheduler.
in: body
required: false
type: object
server:
description: |
The dictionary of data represent a server creation request.
in: body
required: true
type: object
server_description:
description: |
A free form description of the server. Limited to 255 characters
in length.
in: body
required: false
type: string
server_fault:
description: |
A fault object. Only displayed in the failed response.
Default keys are ``code``, ``message``, and ``detail``
(response code, message, and detail respectively).
in: body
required: false
type: object
server_group_members:
description: |
A list of uuids of servers which belong to this server group.
in: body
required: false
type: array
server_group_name:
description: |
The server group name.
in: body
required: true
type: string
server_group_policies:
description: |
A list of exactly one policy name to associate with the server group. The
current valid policy names are:
- ``anti-affinity`` - servers in this group must be scheduled to
different affinity-zones.
- ``affinity`` - servers in this group must be scheduled to the same
affinity-zone.
in: body
required: true
type: array
server_group_uuid:
description: |
The UUID of the server group.
in: body
required: true
type: string
server_groups:
description: |
The list of existing server groups.
in: body
required: true
type: array
server_name:
description: |
The server name.
in: body
required: true
type: string
server_power_state:
description: |
The current power state of this server. Usually, “power on” or “power off”, but may be “None”
if Mogan is unable to determine the power state (eg, due to hardware failure)
in: body
required: true
type: string
server_status:
description: |
The status of this server. Usually, "building", "active", "error", or "None".
in: body
required: true
type: string
server_uuid:
description: |
The UUID of the server
in: body
required: true
type: string
tenant_id_body:
description: |
The UUID of the tenant in a multi-tenancy cloud.
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``.
in: body
required: true
type: string
user_data:
description: |
Configuration information or scripts to use upon launch. Must be Base64 encoded.
in: body
required: false
type: string
user_id_body:
description: |
The user ID of the user who owns the server.
in: body
required: true
type: string