Compute¶
This is a reference for the OpenStack Compute API which is provided by the Nova project. To learn more about the OpenStack Compute API concepts, please refer to the API guide.
version¶
List All Major Versions¶
This fetches all the information about all known major API versions in the deployment. Links to more specific information will be provided for each API version, as well as information about supported min and max microversions.
Normal Response Codes: 200
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the :get operation"
}
404¶
Error
extensions¶
List Extensions¶
Lists all extensions to the API.
Normal response codes: 200
Error response codes: unauthorized(401)
Responses¶
200¶
Ok
{
"type": "object",
"description": "An extension object.",
"properties": {
"extensions": {
"type": "array",
"items": {
"type": "object",
"description": "An extension object.",
"properties": {
"alias": {
"type": "string",
"description": "A short name by which this extension is also known."
},
"description": {
"type": "string",
"description": "Text describing this extension\u2019s purpose."
},
"links": {
"type": "array",
"description": "Links pertaining to this extension. This is a list of dictionaries, each including\nkeys `href` and `rel`.",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"description": "Name of the extension."
},
"namespace": {
"type": "string",
"description": "A URL pointing to the namespace for this extension."
},
"updated": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
}
}
},
"description": "List of `extension` objects."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
extensions |
body |
array |
List of |
extensions[].alias |
body |
string |
A short name by which this extension is also known. |
extensions[].description |
body |
string |
Text describing this extension’s purpose. |
extensions[].links |
body |
array |
Links pertaining to this extension. This is a list of dictionaries, each including
keys |
extensions[].links[].href |
body |
string |
|
extensions[].links[].rel |
body |
string |
|
extensions[].name |
body |
string |
Name of the extension. |
extensions[].namespace |
body |
string |
A URL pointing to the namespace for this extension. |
extensions[].updated |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
Show Extension Details¶
Shows details for an extension, by alias.
Normal response codes: 200
Error response codes: unauthorized(401), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "An extension object.",
"properties": {
"extension": {
"type": "object",
"description": "An `extension` object.",
"properties": {
"alias": {
"type": "string",
"description": "A short name by which this extension is also known."
},
"description": {
"type": "string",
"description": "Text describing this extension\u2019s purpose."
},
"links": {
"type": "array",
"description": "Links pertaining to this extension. This is a list of dictionaries, each including\nkeys `href` and `rel`.",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"description": "Name of the extension."
},
"namespace": {
"type": "string",
"description": "A URL pointing to the namespace for this extension."
},
"updated": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
extension |
body |
object |
An |
extension.alias |
body |
string |
A short name by which this extension is also known. |
extension.description |
body |
string |
Text describing this extension’s purpose. |
extension.links |
body |
array |
Links pertaining to this extension. This is a list of dictionaries, each including
keys |
extension.links[].href |
body |
string |
|
extension.links[].rel |
body |
string |
|
extension.name |
body |
string |
Name of the extension. |
extension.namespace |
body |
string |
A URL pointing to the namespace for this extension. |
extension.updated |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
404¶
Error
flavors¶
Show and manage server flavors.
List Flavors¶
Lists all flavors accessible to your project.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Flavors list response",
"properties": {
"flavors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The ID of the flavor. While people often make this look like\nan int, this is really a string."
},
"name": {
"type": "string",
"description": "The display name of a flavor."
},
"description": {
"type": "string",
"description": "The description of the flavor.\n\n\n**New in version 2\\.55**"
},
"links": {
"type": "array",
"description": "Links to the resources in question. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
},
"description": "An array of flavor objects."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
flavors |
body |
array |
An array of flavor objects. |
flavors[].id |
body |
string |
The ID of the flavor. While people often make this look like an int, this is really a string. |
flavors[].name |
body |
string |
The display name of a flavor. |
flavors[].description |
body |
string |
The description of the flavor. New in version 2.55 |
flavors[].links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
flavors[].links[].href |
body |
string |
|
flavors[].links[].rel |
body |
string |
400¶
Error
Create Flavor¶
Creates a flavor.
Creating a flavor is typically only available to administrators of a cloud because this has implications for scheduling efficiently in the cloud.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
flavor |
body |
object |
The ID and links for the flavor for your server instance. A flavor is a combination of memory, disk size, and CPUs. |
flavor.name |
body |
string |
The display name of a flavor. |
flavor.id |
body |
[‘string’, ‘number’, ‘null’] |
Only alphanumeric characters with hyphen ‘-’, underscore ‘_’, spaces and dots ‘.’ are permitted. If an ID is not provided, then a default UUID will be assigned. |
flavor.ram |
body |
[‘integer’, ‘string’] |
The number of virtual CPUs that will be allocated to the server. |
flavor.vcpus |
body |
[‘integer’, ‘string’] |
The number of virtual CPUs that will be allocated to the server. |
flavor.disk |
body |
[‘integer’, ‘string’] |
The size of a dedicated swap disk that will be allocated, in MiB. If 0 (the default), no dedicated swap disk will be created. |
flavor.OS-FLV-EXT-DATA:ephemeral |
body |
[‘integer’, ‘string’] |
The size of a dedicated swap disk that will be allocated, in MiB. If 0 (the default), no dedicated swap disk will be created. |
flavor.swap |
body |
[‘integer’, ‘string’] |
The size of a dedicated swap disk that will be allocated, in MiB. If 0 (the default), no dedicated swap disk will be created. |
flavor.rxtx_factor |
body |
[‘number’, ‘string’] |
The receive / transmit factor (as a float) that will be set on ports if the network backend supports the QOS extension. Otherwise it will be ignored. It defaults to 1.0. |
flavor.os-flavor-access:is_public |
body |
[‘boolean’, ‘string’] |
Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
flavor.description |
body |
[‘string’, ‘null’] |
A free form description of the flavor. Limited to 65535 characters in length. Only printable characters are allowed. New in version 2.55 |
{
"oneOf": [
{
"type": "object",
"properties": {
"flavor": {
"type": "object",
"description": "The ID and links for the flavor for your server instance. A flavor is a combination\nof memory, disk size, and CPUs.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "The display name of a flavor."
},
"id": {
"type": [
"string",
"number",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$",
"description": "Only alphanumeric characters with hyphen \u2018\\-\u2019, underscore \u2018_\u2019, spaces\nand dots \u2018.\u2019 are permitted. If an ID is not provided, then a default UUID\nwill be assigned."
},
"ram": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647,
"description": "The number of virtual CPUs that will be allocated to the server."
},
"vcpus": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647,
"description": "The number of virtual CPUs that will be allocated to the server."
},
"disk": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647,
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created."
},
"OS-FLV-EXT-DATA:ephemeral": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647,
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created."
},
"swap": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647,
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created."
},
"rxtx_factor": {
"type": [
"number",
"string"
],
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"exclusiveMinimum": 0,
"maximum": 3.40282e+38,
"description": "The receive / transmit factor (as a float) that will be set on\nports if the network backend supports the QOS extension.\nOtherwise it will be ignored. It defaults to 1\\.0\\."
},
"os-flavor-access:is_public": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Whether the flavor is public (available to all projects) or scoped\nto a set of projects. Default is True if not specified."
}
},
"additionalProperties": false,
"required": [
"name",
"ram",
"vcpus",
"disk"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0"
},
"required": [
"flavor"
]
},
{
"type": "object",
"properties": {
"flavor": {
"type": "object",
"description": "The ID and links for the flavor for your server instance. A flavor is a combination\nof memory, disk size, and CPUs.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The display name of a flavor."
},
"id": {
"type": [
"string",
"number",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$",
"description": "Only alphanumeric characters with hyphen \u2018\\-\u2019, underscore \u2018_\u2019, spaces\nand dots \u2018.\u2019 are permitted. If an ID is not provided, then a default UUID\nwill be assigned."
},
"ram": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647,
"description": "The number of virtual CPUs that will be allocated to the server."
},
"vcpus": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647,
"description": "The number of virtual CPUs that will be allocated to the server."
},
"disk": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647,
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created."
},
"OS-FLV-EXT-DATA:ephemeral": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647,
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created."
},
"swap": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647,
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created."
},
"rxtx_factor": {
"type": [
"number",
"string"
],
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"exclusiveMinimum": 0,
"maximum": 3.40282e+38,
"description": "The receive / transmit factor (as a float) that will be set on\nports if the network backend supports the QOS extension.\nOtherwise it will be ignored. It defaults to 1\\.0\\."
},
"os-flavor-access:is_public": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Whether the flavor is public (available to all projects) or scoped\nto a set of projects. Default is True if not specified."
}
},
"additionalProperties": false,
"required": [
"name",
"ram",
"vcpus",
"disk"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.54"
},
"required": [
"flavor"
]
},
{
"type": "object",
"properties": {
"flavor": {
"type": "object",
"description": "The ID and links for the flavor for your server instance. A flavor is a combination\nof memory, disk size, and CPUs.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The display name of a flavor."
},
"id": {
"type": [
"string",
"number",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$",
"description": "Only alphanumeric characters with hyphen \u2018\\-\u2019, underscore \u2018_\u2019, spaces\nand dots \u2018.\u2019 are permitted. If an ID is not provided, then a default UUID\nwill be assigned."
},
"ram": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647,
"description": "The number of virtual CPUs that will be allocated to the server."
},
"vcpus": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647,
"description": "The number of virtual CPUs that will be allocated to the server."
},
"disk": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647,
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created."
},
"OS-FLV-EXT-DATA:ephemeral": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647,
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created."
},
"swap": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647,
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created."
},
"rxtx_factor": {
"type": [
"number",
"string"
],
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"exclusiveMinimum": 0,
"maximum": 3.40282e+38,
"description": "The receive / transmit factor (as a float) that will be set on\nports if the network backend supports the QOS extension.\nOtherwise it will be ignored. It defaults to 1\\.0\\."
},
"os-flavor-access:is_public": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Whether the flavor is public (available to all projects) or scoped\nto a set of projects. Default is True if not specified."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 65535,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the flavor. Limited to 65535 characters\nin length. Only printable characters are allowed.\n\n\n**New in version 2\\.55**"
}
},
"additionalProperties": false,
"required": [
"name",
"ram",
"vcpus",
"disk"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.55"
},
"required": [
"flavor"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Single flavor details",
"properties": {
"flavor": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The display name of a flavor."
},
"id": {
"type": "string",
"description": "The ID of the flavor. While people often make this look like\nan int, this is really a string.",
"minLength": 1,
"maxLength": 255,
"pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$"
},
"ram": {
"description": "The amount of RAM a flavor has, in MiB.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"vcpus": {
"description": "The number of virtual CPUs that will be allocated to the server.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"disk": {
"description": "The size of the root disk that will be created in GiB. If 0 the\nroot disk will be set to exactly the size of the image used to\ndeploy the instance. However, in this case the scheduler cannot\nselect the compute host based on the virtual image size. Therefore,\n0 should only be used for volume booted instances or for testing\npurposes. Volume\\-backed instances can be enforced for flavors with\nzero root disk via the `os_compute_api:servers:create:zero_disk_flavor`\npolicy rule.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"OS-FLV-EXT-DATA:ephemeral": {
"description": "The size of the ephemeral disk that will be created, in\nGiB. Ephemeral disks may be written over on server state\nchanges. So should only be used as a scratch space for\napplications that are aware of its limitations. Defaults to 0\\.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"swap": {
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created.\nCurrently, the empty string (\u2018\u2019) is used to represent 0\\.\nAs of microversion 2\\.75 default return value of swap is 0\ninstead of empty string.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"rxtx_factor": {
"description": "The receive / transmit factor (as a float) that will be set on\nports if the network backend supports the QOS extension.\nOtherwise it will be ignored. It defaults to 1\\.0\\.",
"type": [
"number",
"string"
],
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 3.40282e+38
},
"os-flavor-access:is_public": {
"description": "Whether the flavor is public (available to all projects) or scoped\nto a set of projects. Default is True if not specified.",
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"extra_specs": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
},
"additionalProperties": false,
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. This will\nonly be included if the user is allowed by policy to index flavor\nextra_specs.\n\n\n**New in version 2\\.61**"
},
"links": {
"type": "array",
"description": "Links to the resources in question. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
},
"additionalProperties": false,
"description": "The ID and links for the flavor for your server instance. A flavor is a combination\nof memory, disk size, and CPUs."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
flavor |
body |
object |
The ID and links for the flavor for your server instance. A flavor is a combination of memory, disk size, and CPUs. |
flavor.name |
body |
string |
The display name of a flavor. |
flavor.id |
body |
string |
The ID of the flavor. While people often make this look like an int, this is really a string. |
flavor.ram |
body |
[‘integer’, ‘string’] |
The amount of RAM a flavor has, in MiB. |
flavor.vcpus |
body |
[‘integer’, ‘string’] |
The number of virtual CPUs that will be allocated to the server. |
flavor.disk |
body |
[‘integer’, ‘string’] |
The size of the root disk that will be created in GiB. If 0 the
root disk will be set to exactly the size of the image used to
deploy the instance. However, in this case the scheduler cannot
select the compute host based on the virtual image size. Therefore,
0 should only be used for volume booted instances or for testing
purposes. Volume-backed instances can be enforced for flavors with
zero root disk via the |
flavor.OS-FLV-EXT-DATA:ephemeral |
body |
[‘integer’, ‘string’] |
The size of the ephemeral disk that will be created, in GiB. Ephemeral disks may be written over on server state changes. So should only be used as a scratch space for applications that are aware of its limitations. Defaults to 0. |
flavor.swap |
body |
[‘integer’, ‘string’] |
The size of a dedicated swap disk that will be allocated, in MiB. If 0 (the default), no dedicated swap disk will be created. Currently, the empty string (‘’) is used to represent 0. As of microversion 2.75 default return value of swap is 0 instead of empty string. |
flavor.rxtx_factor |
body |
[‘number’, ‘string’] |
The receive / transmit factor (as a float) that will be set on ports if the network backend supports the QOS extension. Otherwise it will be ignored. It defaults to 1.0. |
flavor.os-flavor-access:is_public |
body |
[‘boolean’, ‘string’] |
Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
flavor.extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. This will only be included if the user is allowed by policy to index flavor extra_specs. New in version 2.61 |
flavor.links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
flavor.links[].href |
body |
string |
|
flavor.links[].rel |
body |
string |
400¶
Error
409¶
Error
List Flavors With Details¶
Lists flavors with details.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Detailed flavors list response",
"properties": {
"flavors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The display name of a flavor."
},
"id": {
"type": "string",
"description": "The ID of the flavor. While people often make this look like\nan int, this is really a string.",
"minLength": 1,
"maxLength": 255,
"pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$"
},
"ram": {
"description": "The amount of RAM a flavor has, in MiB.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"vcpus": {
"description": "The number of virtual CPUs that will be allocated to the server.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"disk": {
"description": "The size of the root disk that will be created in GiB. If 0 the\nroot disk will be set to exactly the size of the image used to\ndeploy the instance. However, in this case the scheduler cannot\nselect the compute host based on the virtual image size. Therefore,\n0 should only be used for volume booted instances or for testing\npurposes. Volume\\-backed instances can be enforced for flavors with\nzero root disk via the `os_compute_api:servers:create:zero_disk_flavor`\npolicy rule.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"OS-FLV-EXT-DATA:ephemeral": {
"description": "The size of the ephemeral disk that will be created, in\nGiB. Ephemeral disks may be written over on server state\nchanges. So should only be used as a scratch space for\napplications that are aware of its limitations. Defaults to 0\\.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"swap": {
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created.\nCurrently, the empty string (\u2018\u2019) is used to represent 0\\.\nAs of microversion 2\\.75 default return value of swap is 0\ninstead of empty string.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"rxtx_factor": {
"description": "The receive / transmit factor (as a float) that will be set on\nports if the network backend supports the QOS extension.\nOtherwise it will be ignored. It defaults to 1\\.0\\.",
"type": [
"number",
"string"
],
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 3.40282e+38
},
"os-flavor-access:is_public": {
"description": "Whether the flavor is public (available to all projects) or scoped\nto a set of projects. Default is True if not specified.",
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"extra_specs": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
},
"additionalProperties": false,
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. This will\nonly be included if the user is allowed by policy to index flavor\nextra_specs.\n\n\n**New in version 2\\.61**"
},
"links": {
"type": "array",
"description": "Links to the resources in question. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
},
"additionalProperties": false
},
"description": "An array of flavor objects."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
flavors |
body |
array |
An array of flavor objects. |
flavors[].name |
body |
string |
The display name of a flavor. |
flavors[].id |
body |
string |
The ID of the flavor. While people often make this look like an int, this is really a string. |
flavors[].ram |
body |
[‘integer’, ‘string’] |
The amount of RAM a flavor has, in MiB. |
flavors[].vcpus |
body |
[‘integer’, ‘string’] |
The number of virtual CPUs that will be allocated to the server. |
flavors[].disk |
body |
[‘integer’, ‘string’] |
The size of the root disk that will be created in GiB. If 0 the
root disk will be set to exactly the size of the image used to
deploy the instance. However, in this case the scheduler cannot
select the compute host based on the virtual image size. Therefore,
0 should only be used for volume booted instances or for testing
purposes. Volume-backed instances can be enforced for flavors with
zero root disk via the |
flavors[].OS-FLV-EXT-DATA:ephemeral |
body |
[‘integer’, ‘string’] |
The size of the ephemeral disk that will be created, in GiB. Ephemeral disks may be written over on server state changes. So should only be used as a scratch space for applications that are aware of its limitations. Defaults to 0. |
flavors[].swap |
body |
[‘integer’, ‘string’] |
The size of a dedicated swap disk that will be allocated, in MiB. If 0 (the default), no dedicated swap disk will be created. Currently, the empty string (‘’) is used to represent 0. As of microversion 2.75 default return value of swap is 0 instead of empty string. |
flavors[].rxtx_factor |
body |
[‘number’, ‘string’] |
The receive / transmit factor (as a float) that will be set on ports if the network backend supports the QOS extension. Otherwise it will be ignored. It defaults to 1.0. |
flavors[].os-flavor-access:is_public |
body |
[‘boolean’, ‘string’] |
Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
flavors[].extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. This will only be included if the user is allowed by policy to index flavor extra_specs. New in version 2.61 |
flavors[].links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
flavors[].links[].href |
body |
string |
|
flavors[].links[].rel |
body |
string |
400¶
Error
Show Flavor Details¶
Shows details for a flavor.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Single flavor details",
"properties": {
"flavor": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The display name of a flavor."
},
"id": {
"type": "string",
"description": "The ID of the flavor. While people often make this look like\nan int, this is really a string.",
"minLength": 1,
"maxLength": 255,
"pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$"
},
"ram": {
"description": "The amount of RAM a flavor has, in MiB.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"vcpus": {
"description": "The number of virtual CPUs that will be allocated to the server.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"disk": {
"description": "The size of the root disk that will be created in GiB. If 0 the\nroot disk will be set to exactly the size of the image used to\ndeploy the instance. However, in this case the scheduler cannot\nselect the compute host based on the virtual image size. Therefore,\n0 should only be used for volume booted instances or for testing\npurposes. Volume\\-backed instances can be enforced for flavors with\nzero root disk via the `os_compute_api:servers:create:zero_disk_flavor`\npolicy rule.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"OS-FLV-EXT-DATA:ephemeral": {
"description": "The size of the ephemeral disk that will be created, in\nGiB. Ephemeral disks may be written over on server state\nchanges. So should only be used as a scratch space for\napplications that are aware of its limitations. Defaults to 0\\.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"swap": {
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created.\nCurrently, the empty string (\u2018\u2019) is used to represent 0\\.\nAs of microversion 2\\.75 default return value of swap is 0\ninstead of empty string.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"rxtx_factor": {
"description": "The receive / transmit factor (as a float) that will be set on\nports if the network backend supports the QOS extension.\nOtherwise it will be ignored. It defaults to 1\\.0\\.",
"type": [
"number",
"string"
],
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 3.40282e+38
},
"os-flavor-access:is_public": {
"description": "Whether the flavor is public (available to all projects) or scoped\nto a set of projects. Default is True if not specified.",
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"extra_specs": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
},
"additionalProperties": false,
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. This will\nonly be included if the user is allowed by policy to index flavor\nextra_specs.\n\n\n**New in version 2\\.61**"
},
"links": {
"type": "array",
"description": "Links to the resources in question. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
},
"additionalProperties": false,
"description": "The ID and links for the flavor for your server instance. A flavor is a combination\nof memory, disk size, and CPUs."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
flavor |
body |
object |
The ID and links for the flavor for your server instance. A flavor is a combination of memory, disk size, and CPUs. |
flavor.name |
body |
string |
The display name of a flavor. |
flavor.id |
body |
string |
The ID of the flavor. While people often make this look like an int, this is really a string. |
flavor.ram |
body |
[‘integer’, ‘string’] |
The amount of RAM a flavor has, in MiB. |
flavor.vcpus |
body |
[‘integer’, ‘string’] |
The number of virtual CPUs that will be allocated to the server. |
flavor.disk |
body |
[‘integer’, ‘string’] |
The size of the root disk that will be created in GiB. If 0 the
root disk will be set to exactly the size of the image used to
deploy the instance. However, in this case the scheduler cannot
select the compute host based on the virtual image size. Therefore,
0 should only be used for volume booted instances or for testing
purposes. Volume-backed instances can be enforced for flavors with
zero root disk via the |
flavor.OS-FLV-EXT-DATA:ephemeral |
body |
[‘integer’, ‘string’] |
The size of the ephemeral disk that will be created, in GiB. Ephemeral disks may be written over on server state changes. So should only be used as a scratch space for applications that are aware of its limitations. Defaults to 0. |
flavor.swap |
body |
[‘integer’, ‘string’] |
The size of a dedicated swap disk that will be allocated, in MiB. If 0 (the default), no dedicated swap disk will be created. Currently, the empty string (‘’) is used to represent 0. As of microversion 2.75 default return value of swap is 0 instead of empty string. |
flavor.rxtx_factor |
body |
[‘number’, ‘string’] |
The receive / transmit factor (as a float) that will be set on ports if the network backend supports the QOS extension. Otherwise it will be ignored. It defaults to 1.0. |
flavor.os-flavor-access:is_public |
body |
[‘boolean’, ‘string’] |
Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
flavor.extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. This will only be included if the user is allowed by policy to index flavor extra_specs. New in version 2.61 |
flavor.links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
flavor.links[].href |
body |
string |
|
flavor.links[].rel |
body |
string |
404¶
Error
Update Flavor Description¶
Updates a flavor description.
This API is available starting with microversion 2.55.
Policy defaults enable only users with the administrative role to
perform this operation. Cloud providers can change these permissions
through the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/flavors/{id} API |
flavor |
body |
object |
The ID and links for the flavor for your server instance. A flavor is a combination of memory, disk size, and CPUs. |
flavor.description |
body |
[‘string’, ‘null’] |
A free form description of the flavor. Limited to 65535 characters in length. Only printable characters are allowed. |
{
"type": "object",
"properties": {
"flavor": {
"type": "object",
"description": "The ID and links for the flavor for your server instance. A flavor is a combination\nof memory, disk size, and CPUs.",
"properties": {
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 65535,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the flavor. Limited to 65535 characters\nin length. Only printable characters are allowed."
}
},
"additionalProperties": false,
"required": [
"description"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.55"
},
"required": [
"flavor"
]
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Single flavor details",
"properties": {
"flavor": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The display name of a flavor."
},
"id": {
"type": "string",
"description": "The ID of the flavor. While people often make this look like\nan int, this is really a string.",
"minLength": 1,
"maxLength": 255,
"pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$"
},
"ram": {
"description": "The amount of RAM a flavor has, in MiB.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"vcpus": {
"description": "The number of virtual CPUs that will be allocated to the server.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"disk": {
"description": "The size of the root disk that will be created in GiB. If 0 the\nroot disk will be set to exactly the size of the image used to\ndeploy the instance. However, in this case the scheduler cannot\nselect the compute host based on the virtual image size. Therefore,\n0 should only be used for volume booted instances or for testing\npurposes. Volume\\-backed instances can be enforced for flavors with\nzero root disk via the `os_compute_api:servers:create:zero_disk_flavor`\npolicy rule.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"OS-FLV-EXT-DATA:ephemeral": {
"description": "The size of the ephemeral disk that will be created, in\nGiB. Ephemeral disks may be written over on server state\nchanges. So should only be used as a scratch space for\napplications that are aware of its limitations. Defaults to 0\\.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"swap": {
"description": "The size of a dedicated swap disk that will be allocated, in\nMiB. If 0 (the default), no dedicated swap disk will be created.\nCurrently, the empty string (\u2018\u2019) is used to represent 0\\.\nAs of microversion 2\\.75 default return value of swap is 0\ninstead of empty string.",
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 0,
"maximum": 2147483647
},
"rxtx_factor": {
"description": "The receive / transmit factor (as a float) that will be set on\nports if the network backend supports the QOS extension.\nOtherwise it will be ignored. It defaults to 1\\.0\\.",
"type": [
"number",
"string"
],
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"minimum": 0,
"exclusiveMinimum": true,
"maximum": 3.40282e+38
},
"os-flavor-access:is_public": {
"description": "Whether the flavor is public (available to all projects) or scoped\nto a set of projects. Default is True if not specified.",
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"extra_specs": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
},
"additionalProperties": false,
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. This will\nonly be included if the user is allowed by policy to index flavor\nextra_specs.\n\n\n**New in version 2\\.61**"
},
"links": {
"type": "array",
"description": "Links to the resources in question. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
},
"additionalProperties": false,
"description": "The ID and links for the flavor for your server instance. A flavor is a combination\nof memory, disk size, and CPUs."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
flavor |
body |
object |
The ID and links for the flavor for your server instance. A flavor is a combination of memory, disk size, and CPUs. |
flavor.name |
body |
string |
The display name of a flavor. |
flavor.id |
body |
string |
The ID of the flavor. While people often make this look like an int, this is really a string. |
flavor.ram |
body |
[‘integer’, ‘string’] |
The amount of RAM a flavor has, in MiB. |
flavor.vcpus |
body |
[‘integer’, ‘string’] |
The number of virtual CPUs that will be allocated to the server. |
flavor.disk |
body |
[‘integer’, ‘string’] |
The size of the root disk that will be created in GiB. If 0 the
root disk will be set to exactly the size of the image used to
deploy the instance. However, in this case the scheduler cannot
select the compute host based on the virtual image size. Therefore,
0 should only be used for volume booted instances or for testing
purposes. Volume-backed instances can be enforced for flavors with
zero root disk via the |
flavor.OS-FLV-EXT-DATA:ephemeral |
body |
[‘integer’, ‘string’] |
The size of the ephemeral disk that will be created, in GiB. Ephemeral disks may be written over on server state changes. So should only be used as a scratch space for applications that are aware of its limitations. Defaults to 0. |
flavor.swap |
body |
[‘integer’, ‘string’] |
The size of a dedicated swap disk that will be allocated, in MiB. If 0 (the default), no dedicated swap disk will be created. Currently, the empty string (‘’) is used to represent 0. As of microversion 2.75 default return value of swap is 0 instead of empty string. |
flavor.rxtx_factor |
body |
[‘number’, ‘string’] |
The receive / transmit factor (as a float) that will be set on ports if the network backend supports the QOS extension. Otherwise it will be ignored. It defaults to 1.0. |
flavor.os-flavor-access:is_public |
body |
[‘boolean’, ‘string’] |
Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
flavor.extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. This will only be included if the user is allowed by policy to index flavor extra_specs. New in version 2.61 |
flavor.links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
flavor.links[].href |
body |
string |
|
flavor.links[].rel |
body |
string |
400¶
Error
404¶
Error
Delete Flavor¶
Deletes a flavor.
This is typically an admin only action. Deleting a flavor that is in use by existing servers is not recommended as it can cause incorrect data to be returned to the user under some operations.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
202¶
Ok
404¶
Error
Add Flavor Access To Tenant (addTenantAccess Action)¶
Adds flavor access to a tenant and flavor.
Specify the addTenantAccess
action and the tenant
in the request body.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/flavors/{id}/action API |
addTenantAccess |
body |
object |
The action. |
addTenantAccess.tenant |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
{
"type": "object",
"description": "Adds flavor access to a tenant and flavor.\n\nSpecify the `addTenantAccess` action and the `tenant` in the request body.\n\nNormal response codes: 200\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Add Flavor Access To Tenant (addTenantAccess Action)",
"properties": {
"addTenantAccess": {
"type": "object",
"description": "The action.",
"properties": {
"tenant": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
}
},
"additionalProperties": false,
"required": [
"tenant"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "addTenantAccess"
},
"required": [
"addTenantAccess"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "A list of objects, each with the keys flavor_id and tenant_id.",
"properties": {
"flavor_access": {
"type": "array",
"items": {
"type": "object",
"properties": {
"flavor_id": {
"type": "string",
"format": "uuid",
"description": "The ID of the flavor. While people often make this look like\nan int, this is really a string."
},
"tenant_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
}
}
},
"description": "A list of objects, each with the keys `flavor_id` and `tenant_id`."
}
},
"x-openstack": {
"action-name": "addTenantAccess"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
flavor_access |
body |
array |
A list of objects, each with the keys |
flavor_access[].flavor_id |
body |
string |
The ID of the flavor. While people often make this look like an int, this is really a string. |
flavor_access[].tenant_id |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
400¶
Error
403¶
Error
404¶
Error
409¶
Error
Remove Flavor Access From Tenant (removeTenantAccess Action)¶
Removes flavor access from a tenant and flavor.
Specify the removeTenantAccess
action and the tenant
in the request body.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/flavors/{id}/action API |
removeTenantAccess |
body |
object |
The action. |
removeTenantAccess.tenant |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
{
"type": "object",
"description": "Removes flavor access from a tenant and flavor.\n\nSpecify the `removeTenantAccess` action and the `tenant` in the request body.\n\nNormal response codes: 200\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Remove Flavor Access From Tenant (removeTenantAccess Action)",
"properties": {
"removeTenantAccess": {
"type": "object",
"description": "The action.",
"properties": {
"tenant": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
}
},
"additionalProperties": false,
"required": [
"tenant"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "removeTenantAccess"
},
"required": [
"removeTenantAccess"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "A list of objects, each with the keys flavor_id and tenant_id.",
"properties": {
"flavor_access": {
"type": "array",
"items": {
"type": "object",
"properties": {
"flavor_id": {
"type": "string",
"format": "uuid",
"description": "The ID of the flavor. While people often make this look like\nan int, this is really a string."
},
"tenant_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
}
}
},
"description": "A list of objects, each with the keys `flavor_id` and `tenant_id`."
}
},
"x-openstack": {
"action-name": "removeTenantAccess"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
flavor_access |
body |
array |
A list of objects, each with the keys |
flavor_access[].flavor_id |
body |
string |
The ID of the flavor. While people often make this look like an int, this is really a string. |
flavor_access[].tenant_id |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
400¶
Error
403¶
Error
404¶
Error
409¶
Error
List Extra Specs For A Flavor¶
Lists all extra specs for a flavor, by ID.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "A dictionary of the flavor\u2019s extra-specs key-and-value pairs. It appears in the os-extra-specs\u2019 \u201ccreate\u201d REQUEST body, as well as the os-extra-specs\u2019 \u201ccreate\u201d and \u201clist\u201d RESPONSE body.",
"properties": {
"extra_specs": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
},
"additionalProperties": false,
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. It appears\nin the os\\-extra\\-specs\u2019 \u201ccreate\u201d REQUEST body, as well as the\nos\\-extra\\-specs\u2019 \u201ccreate\u201d and \u201clist\u201d RESPONSE body."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. It appears in the os-extra-specs’ “create” REQUEST body, as well as the os-extra-specs’ “create” and “list” RESPONSE body. |
404¶
Error
Create Extra Specs For A Flavor¶
Creates extra specs for a flavor, by ID.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
flavor_id |
path |
string |
flavor_id parameter for /v2.1/flavors/{flavor_id}/os-extra_specs/{id} API |
extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. It appears in the os-extra-specs’ “create” REQUEST body, as well as the os-extra-specs’ “create” and “list” RESPONSE body. |
{
"type": "object",
"properties": {
"extra_specs": {
"type": "object",
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. It appears\nin the os\\-extra\\-specs\u2019 \u201ccreate\u201d REQUEST body, as well as the\nos\\-extra\\-specs\u2019 \u201ccreate\u201d and \u201clist\u201d RESPONSE body.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"extra_specs"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "A dictionary of the flavor\u2019s extra-specs key-and-value pairs. It appears in the os-extra-specs\u2019 \u201ccreate\u201d REQUEST body, as well as the os-extra-specs\u2019 \u201ccreate\u201d and \u201clist\u201d RESPONSE body.",
"properties": {
"extra_specs": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
},
"additionalProperties": false,
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. It appears\nin the os\\-extra\\-specs\u2019 \u201ccreate\u201d REQUEST body, as well as the\nos\\-extra\\-specs\u2019 \u201ccreate\u201d and \u201clist\u201d RESPONSE body."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. It appears in the os-extra-specs’ “create” REQUEST body, as well as the os-extra-specs’ “create” and “list” RESPONSE body. |
400¶
Error
404¶
Error
409¶
Error
Show An Extra Spec For A Flavor¶
Shows an extra spec, by key, for a flavor, by ID.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
Example (JSON Request)
{'hw:numa_nodes': '1'}
{
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"maxProperties": 1,
"examples": {
"JSON Request": {
"hw:numa_nodes": "1"
}
},
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
}
}
404¶
Error
Update An Extra Spec For A Flavor¶
Updates an extra spec, by key, for a flavor, by ID.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403) itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
flavor_id |
path |
string |
flavor_id parameter for /v2.1/flavors/{flavor_id}/os-extra_specs/{id} API |
id |
path |
string |
id parameter for /v2.1/flavors/{flavor_id}/os-extra_specs/{id} API |
{
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
},
"minProperties": 1,
"maxProperties": 1
}
Responses¶
200¶
Ok
Example (JSON Request)
{'hw:numa_nodes': '1'}
{
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"maxProperties": 1,
"examples": {
"JSON Request": {
"hw:numa_nodes": "1"
}
},
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"number"
],
"maxLength": 255
}
}
}
400¶
Error
404¶
Error
409¶
Error
Delete An Extra Spec For A Flavor¶
List Flavor Access Information For Given Flavor¶
Lists flavor access information.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "A list of objects, each with the keys flavor_id and tenant_id.",
"properties": {
"flavor_access": {
"type": "array",
"items": {
"type": "object",
"properties": {
"flavor_id": {
"type": "string",
"format": "uuid",
"description": "The ID of the flavor. While people often make this look like\nan int, this is really a string."
},
"tenant_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
}
}
},
"description": "A list of objects, each with the keys `flavor_id` and `tenant_id`."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
flavor_access |
body |
array |
A list of objects, each with the keys |
flavor_access[].flavor_id |
body |
string |
The ID of the flavor. While people often make this look like an int, this is really a string. |
flavor_access[].tenant_id |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
404¶
Error
images¶
List Images¶
List Images With Details¶
Show Image Details¶
Delete Image¶
List Image Metadata¶
Create Image Metadata¶
Create an image metadata.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
image_id |
path |
string |
image_id parameter for /v2.1/images/{image_id}/metadata/{id} API |
metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. |
{
"type": "object",
"properties": {
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.38"
},
"required": [
"metadata"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the images/image_id/metadata:post operation"
}
400¶
Error
403¶
Error
404¶
Error
Update Image Metadata¶
Update an image metadata
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
image_id |
path |
string |
image_id parameter for /v2.1/images/{image_id}/metadata/{id} API |
metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. |
{
"type": "object",
"properties": {
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.38"
},
"required": [
"metadata"
]
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the images/image_id/metadata:put operation"
}
400¶
Error
403¶
Error
404¶
Error
Show Image Metadata Item¶
Create Or Update Image Metadata Item¶
Creates or updates a metadata item, by key, for an image.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
image_id |
path |
string |
image_id parameter for /v2.1/images/{image_id}/metadata/{id} API |
id |
path |
string |
id parameter for /v2.1/images/{image_id}/metadata/{id} API |
meta |
body |
object |
The object of detailed key metadata items. |
{
"type": "object",
"properties": {
"meta": {
"type": "object",
"description": "The object of detailed key metadata items.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"minProperties": 1,
"maxProperties": 1
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.38"
},
"required": [
"meta"
]
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the images/image_id/metadata/id:put operation"
}
400¶
Error
403¶
Error
404¶
Error
Delete Image Metadata Item¶
limits¶
Show Rate And Absolute Limits¶
Shows rate and absolute limits for the project.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"limits": {
"type": "object",
"description": "Data structure that contains both absolute limits within a deployment.",
"properties": {
"absolute": {
"type": "object",
"description": "Name/value pairs that set quota limits within a deployment and\nName/value pairs of resource usage.",
"properties": {
"maxServerGroupMembers": {
"type": "integer",
"description": "The number of allowed members for each server group."
},
"maxServerGroups": {
"type": "integer",
"description": "The number of allowed server groups for each tenant."
},
"maxServerMetamaxServerMeta": {
"type": "integer",
"description": "The number of allowed metadata items for each server."
},
"maxTotalCores": {
"type": "integer",
"description": "The number of allowed server cores for each tenant."
},
"maxTotalInstances": {
"type": "integer",
"description": "The number of allowed servers for each tenant."
},
"maxTotalKeypairs": {
"type": "integer",
"description": "The number of allowed key pairs for each user."
},
"maxTotalRAMSize": {
"type": "integer",
"description": "The amount of allowed server RAM, in MiB, for each tenant."
},
"totalCoresUsed": {
"type": "integer",
"description": "The number of used server cores in each tenant.\nIf `reserved` query parameter is specified and it is not 0,\nthe number of reserved server cores are also included."
},
"totalInstancesUsed": {
"type": "integer",
"description": "The number of servers in each tenant.\nIf `reserved` query parameter is specified and it is not 0,\nthe number of reserved servers are also included."
},
"totalRAMUsed": {
"type": "integer",
"description": "The amount of used server RAM in each tenant.\nIf `reserved` query parameter is specified and it is not 0,\nthe amount of reserved server RAM is also included."
},
"totalServerGroupsUsed": {
"type": "integer",
"description": "The number of used server groups in each tenant.\nIf `reserved` query parameter is specified and it is not 0,\nthe number of reserved server groups are also included."
}
},
"additionalProperties": {
"type": "integer"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
limits |
body |
object |
Data structure that contains both absolute limits within a deployment. |
limits.absolute |
body |
object |
Name/value pairs that set quota limits within a deployment and Name/value pairs of resource usage. |
limits.absolute.maxServerGroupMembers |
body |
integer |
The number of allowed members for each server group. |
limits.absolute.maxServerGroups |
body |
integer |
The number of allowed server groups for each tenant. |
limits.absolute.maxServerMetamaxServerMeta |
body |
integer |
The number of allowed metadata items for each server. |
limits.absolute.maxTotalCores |
body |
integer |
The number of allowed server cores for each tenant. |
limits.absolute.maxTotalInstances |
body |
integer |
The number of allowed servers for each tenant. |
limits.absolute.maxTotalKeypairs |
body |
integer |
The number of allowed key pairs for each user. |
limits.absolute.maxTotalRAMSize |
body |
integer |
The amount of allowed server RAM, in MiB, for each tenant. |
limits.absolute.totalCoresUsed |
body |
integer |
The number of used server cores in each tenant.
If |
limits.absolute.totalInstancesUsed |
body |
integer |
The number of servers in each tenant.
If |
limits.absolute.totalRAMUsed |
body |
integer |
The amount of used server RAM in each tenant.
If |
limits.absolute.totalServerGroupsUsed |
body |
integer |
The number of used server groups in each tenant.
If |
os-agents¶
List Agent Builds¶
Create Agent Build¶
Update Agent Build¶
Delete Agent Build¶
os-aggregates¶
List Aggregates¶
Lists all aggregates. Includes the ID, name, and availability zone for each aggregate.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "The list of existing aggregates.",
"properties": {
"aggregates": {
"type": "array",
"description": "The list of existing aggregates.",
"items": {
"type": "object",
"description": "The host aggregate object",
"properties": {
"availability_zone": {
"type": "string",
"description": "The availability zone of the host aggregate."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"deleted": {
"type": "boolean",
"description": "A boolean indicates whether this aggregate is deleted or not, if it has\nnot been deleted, `false` will appear."
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was deleted. If the resource has\nnot been deleted yet, this field will be `null`, The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"id": {
"type": "integer",
"description": "The ID of the host aggregate."
},
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs associated with the aggregate."
},
"hosts": {
"type": "array",
"description": "A list of host ids in this aggregate.",
"items": {
"type": "string"
}
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was updated, if the resource has\nnot been updated, this field will show as `null`. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the host aggregate.\n\n\n**New in version 2\\.41**",
"x-openstack": {
"min-ver": "2.41"
}
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
aggregates |
body |
array |
The list of existing aggregates. |
aggregates[].availability_zone |
body |
string |
The availability zone of the host aggregate. |
aggregates[].created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregates[].deleted |
body |
boolean |
A boolean indicates whether this aggregate is deleted or not, if it has
not been deleted, |
aggregates[].deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. If the resource has
not been deleted yet, this field will be CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregates[].id |
body |
integer |
The ID of the host aggregate. |
aggregates[].metadata |
body |
object |
Metadata key and value pairs associated with the aggregate. |
aggregates[].hosts |
body |
array |
A list of host ids in this aggregate. |
aggregates[].updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated, if the resource has
not been updated, this field will show as CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregates[].uuid |
body |
string |
The UUID of the host aggregate. New in version 2.41 |
Create Aggregate¶
Creates an aggregate. If specifying an option availability_zone, the aggregate is created as an availability zone and the availability zone is visible to normal users.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
aggregate |
body |
object |
The host aggregate object. |
aggregate.name |
body |
string |
The name of the host aggregate. |
{
"oneOf": [
{
"type": "object",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "The name of the host aggregate."
},
"availability_zone": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "az_name_with_leading_trailing_spaces"
},
{
"type": "null"
}
],
"description": "The availability zone of the host aggregate. You should use a custom\navailability zone rather than the default returned by the\nos\\-availability\\-zone API. The availability zone must not include \u2018:\u2019\nin its name."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0"
},
"required": [
"aggregate"
]
},
{
"type": "object",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The name of the host aggregate."
},
"availability_zone": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "az_name"
},
{
"type": "null"
}
],
"description": "The availability zone of the host aggregate. You should use a custom\navailability zone rather than the default returned by the\nos\\-availability\\-zone API. The availability zone must not include \u2018:\u2019\nin its name."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1"
},
"required": [
"aggregate"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Aggregate object.",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"availability_zone": {
"type": "string",
"description": "The availability zone of the host aggregate."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"deleted": {
"type": "boolean",
"description": "A boolean indicates whether this aggregate is deleted or not, if it has\nnot been deleted, `false` will appear."
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was deleted. If the resource has\nnot been deleted yet, this field will be `null`, The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"id": {
"type": "integer",
"description": "The ID of the host aggregate."
},
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs associated with the aggregate."
},
"hosts": {
"type": "array",
"description": "An array of host information.",
"items": {
"type": "string"
}
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was updated, if the resource has\nnot been updated, this field will show as `null`. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the host aggregate.\n\n\n**New in version 2\\.41**",
"x-openstack": {
"min-ver": "2.41"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
aggregate |
body |
object |
The host aggregate object. |
aggregate.availability_zone |
body |
string |
The availability zone of the host aggregate. |
aggregate.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.deleted |
body |
boolean |
A boolean indicates whether this aggregate is deleted or not, if it has
not been deleted, |
aggregate.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. If the resource has
not been deleted yet, this field will be CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.id |
body |
integer |
The ID of the host aggregate. |
aggregate.metadata |
body |
object |
Metadata key and value pairs associated with the aggregate. |
aggregate.hosts |
body |
array |
An array of host information. |
aggregate.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated, if the resource has
not been updated, this field will show as CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.uuid |
body |
string |
The UUID of the host aggregate. New in version 2.41 |
400¶
Error
409¶
Error
Show Aggregate Details¶
Shows details for an aggregate. Details include hosts and metadata.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Aggregate object.",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"availability_zone": {
"type": "string",
"description": "The availability zone of the host aggregate."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"deleted": {
"type": "boolean",
"description": "A boolean indicates whether this aggregate is deleted or not, if it has\nnot been deleted, `false` will appear."
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was deleted. If the resource has\nnot been deleted yet, this field will be `null`, The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"id": {
"type": "integer",
"description": "The ID of the host aggregate."
},
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs associated with the aggregate."
},
"hosts": {
"type": "array",
"description": "An array of host information.",
"items": {
"type": "string"
}
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was updated, if the resource has\nnot been updated, this field will show as `null`. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the host aggregate.\n\n\n**New in version 2\\.41**",
"x-openstack": {
"min-ver": "2.41"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
aggregate |
body |
object |
The host aggregate object. |
aggregate.availability_zone |
body |
string |
The availability zone of the host aggregate. |
aggregate.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.deleted |
body |
boolean |
A boolean indicates whether this aggregate is deleted or not, if it has
not been deleted, |
aggregate.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. If the resource has
not been deleted yet, this field will be CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.id |
body |
integer |
The ID of the host aggregate. |
aggregate.metadata |
body |
object |
Metadata key and value pairs associated with the aggregate. |
aggregate.hosts |
body |
array |
An array of host information. |
aggregate.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated, if the resource has
not been updated, this field will show as CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.uuid |
body |
string |
The UUID of the host aggregate. New in version 2.41 |
400¶
Error
404¶
Error
Update Aggregate¶
Updates either or both the name and availability zone for an aggregate. If the aggregate to be updated has host that already in the given availability zone, the request will fail with 400 error.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-aggregates/{id} API |
aggregate |
body |
object |
The host aggregate object. |
aggregate.name |
body |
string |
The name of the host aggregate. |
{
"oneOf": [
{
"type": "object",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "The name of the host aggregate."
},
"availability_zone": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "az_name_with_leading_trailing_spaces"
},
{
"type": "null"
}
],
"description": "The availability zone of the host aggregate. You should use a custom\navailability zone rather than the default returned by the\nos\\-availability\\-zone API. The availability zone must not include \u2018:\u2019\nin its name.\n\n\n\nWarning\n\n\nYou should not change or unset the availability zone of an\naggregate when that aggregate has hosts which contain servers in it\nsince that may impact the ability for those servers to move to another\nhost."
}
},
"additionalProperties": false,
"anyOf": [
{
"required": [
"name"
]
},
{
"required": [
"availability_zone"
]
}
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0"
},
"required": [
"aggregate"
]
},
{
"type": "object",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "The name of the host aggregate."
},
"availability_zone": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "az_name"
},
{
"type": "null"
}
],
"description": "The availability zone of the host aggregate. You should use a custom\navailability zone rather than the default returned by the\nos\\-availability\\-zone API. The availability zone must not include \u2018:\u2019\nin its name.\n\n\n\nWarning\n\n\nYou should not change or unset the availability zone of an\naggregate when that aggregate has hosts which contain servers in it\nsince that may impact the ability for those servers to move to another\nhost."
}
},
"additionalProperties": false,
"anyOf": [
{
"required": [
"name"
]
},
{
"required": [
"availability_zone"
]
}
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1"
},
"required": [
"aggregate"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Aggregate object.",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"availability_zone": {
"type": "string",
"description": "The availability zone of the host aggregate."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"deleted": {
"type": "boolean",
"description": "A boolean indicates whether this aggregate is deleted or not, if it has\nnot been deleted, `false` will appear."
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was deleted. If the resource has\nnot been deleted yet, this field will be `null`, The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"id": {
"type": "integer",
"description": "The ID of the host aggregate."
},
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs associated with the aggregate."
},
"hosts": {
"type": "array",
"description": "An array of host information.",
"items": {
"type": "string"
}
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was updated, if the resource has\nnot been updated, this field will show as `null`. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the host aggregate.\n\n\n**New in version 2\\.41**",
"x-openstack": {
"min-ver": "2.41"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
aggregate |
body |
object |
The host aggregate object. |
aggregate.availability_zone |
body |
string |
The availability zone of the host aggregate. |
aggregate.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.deleted |
body |
boolean |
A boolean indicates whether this aggregate is deleted or not, if it has
not been deleted, |
aggregate.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. If the resource has
not been deleted yet, this field will be CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.id |
body |
integer |
The ID of the host aggregate. |
aggregate.metadata |
body |
object |
Metadata key and value pairs associated with the aggregate. |
aggregate.hosts |
body |
array |
An array of host information. |
aggregate.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated, if the resource has
not been updated, this field will show as CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.uuid |
body |
string |
The UUID of the host aggregate. New in version 2.41 |
400¶
Error
404¶
Error
409¶
Error
Delete Aggregate¶
`add_host` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-aggregates/{id}/action API |
add_host |
body |
object |
|
add_host.host |
body |
string |
{
"type": "object",
"properties": {
"add_host": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false,
"required": [
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "add_host"
},
"required": [
"add_host"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Aggregate object.",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"availability_zone": {
"type": "string",
"description": "The availability zone of the host aggregate."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"deleted": {
"type": "boolean",
"description": "A boolean indicates whether this aggregate is deleted or not, if it has\nnot been deleted, `false` will appear."
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was deleted. If the resource has\nnot been deleted yet, this field will be `null`, The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"id": {
"type": "integer",
"description": "The ID of the host aggregate."
},
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs associated with the aggregate."
},
"hosts": {
"type": "array",
"description": "An array of host information.",
"items": {
"type": "string"
}
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was updated, if the resource has\nnot been updated, this field will show as `null`. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the host aggregate.\n\n\n**New in version 2\\.41**",
"x-openstack": {
"min-ver": "2.41"
}
}
}
}
},
"x-openstack": {
"action-name": "add_host"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
aggregate |
body |
object |
The host aggregate object. |
aggregate.availability_zone |
body |
string |
The availability zone of the host aggregate. |
aggregate.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.deleted |
body |
boolean |
A boolean indicates whether this aggregate is deleted or not, if it has
not been deleted, |
aggregate.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. If the resource has
not been deleted yet, this field will be CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.id |
body |
integer |
The ID of the host aggregate. |
aggregate.metadata |
body |
object |
Metadata key and value pairs associated with the aggregate. |
aggregate.hosts |
body |
array |
An array of host information. |
aggregate.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated, if the resource has
not been updated, this field will show as CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.uuid |
body |
string |
The UUID of the host aggregate. New in version 2.41 |
400¶
Error
404¶
Error
409¶
Error
`remove_host` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-aggregates/{id}/action API |
remove_host |
body |
object |
|
remove_host.host |
body |
string |
{
"type": "object",
"properties": {
"remove_host": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false,
"required": [
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "remove_host"
},
"required": [
"remove_host"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Aggregate object.",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"availability_zone": {
"type": "string",
"description": "The availability zone of the host aggregate."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"deleted": {
"type": "boolean",
"description": "A boolean indicates whether this aggregate is deleted or not, if it has\nnot been deleted, `false` will appear."
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was deleted. If the resource has\nnot been deleted yet, this field will be `null`, The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"id": {
"type": "integer",
"description": "The ID of the host aggregate."
},
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs associated with the aggregate."
},
"hosts": {
"type": "array",
"description": "An array of host information.",
"items": {
"type": "string"
}
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was updated, if the resource has\nnot been updated, this field will show as `null`. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the host aggregate.\n\n\n**New in version 2\\.41**",
"x-openstack": {
"min-ver": "2.41"
}
}
}
}
},
"x-openstack": {
"action-name": "remove_host"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
aggregate |
body |
object |
The host aggregate object. |
aggregate.availability_zone |
body |
string |
The availability zone of the host aggregate. |
aggregate.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.deleted |
body |
boolean |
A boolean indicates whether this aggregate is deleted or not, if it has
not been deleted, |
aggregate.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. If the resource has
not been deleted yet, this field will be CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.id |
body |
integer |
The ID of the host aggregate. |
aggregate.metadata |
body |
object |
Metadata key and value pairs associated with the aggregate. |
aggregate.hosts |
body |
array |
An array of host information. |
aggregate.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated, if the resource has
not been updated, this field will show as CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.uuid |
body |
string |
The UUID of the host aggregate. New in version 2.41 |
400¶
Error
404¶
Error
409¶
Error
`set_metadata` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-aggregates/{id}/action API |
set_metadata |
body |
object |
|
set_metadata.metadata |
body |
object |
{
"type": "object",
"properties": {
"set_metadata": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": [
"string",
"null"
],
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"metadata"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "set_metadata"
},
"required": [
"set_metadata"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Aggregate object.",
"properties": {
"aggregate": {
"type": "object",
"description": "The host aggregate object.",
"properties": {
"availability_zone": {
"type": "string",
"description": "The availability zone of the host aggregate."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"deleted": {
"type": "boolean",
"description": "A boolean indicates whether this aggregate is deleted or not, if it has\nnot been deleted, `false` will appear."
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was deleted. If the resource has\nnot been deleted yet, this field will be `null`, The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"id": {
"type": "integer",
"description": "The ID of the host aggregate."
},
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs associated with the aggregate."
},
"hosts": {
"type": "array",
"description": "An array of host information.",
"items": {
"type": "string"
}
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "The date and time when the resource was updated, if the resource has\nnot been updated, this field will show as `null`. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the host aggregate.\n\n\n**New in version 2\\.41**",
"x-openstack": {
"min-ver": "2.41"
}
}
}
}
},
"x-openstack": {
"action-name": "set_metadata"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
aggregate |
body |
object |
The host aggregate object. |
aggregate.availability_zone |
body |
string |
The availability zone of the host aggregate. |
aggregate.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.deleted |
body |
boolean |
A boolean indicates whether this aggregate is deleted or not, if it has
not been deleted, |
aggregate.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. If the resource has
not been deleted yet, this field will be CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.id |
body |
integer |
The ID of the host aggregate. |
aggregate.metadata |
body |
object |
Metadata key and value pairs associated with the aggregate. |
aggregate.hosts |
body |
array |
An array of host information. |
aggregate.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated, if the resource has
not been updated, this field will show as CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
aggregate.uuid |
body |
string |
The UUID of the host aggregate. New in version 2.41 |
400¶
Error
404¶
Error
409¶
Error
Request Image Pre-caching for Aggregate¶
Requests that a set of images be pre-cached on compute nodes within the referenced aggregate.
This API is available starting with microversion 2.81.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-aggregates/{id}/images API |
cache |
body |
[‘array’] |
A list of image objects to cache. |
{
"type": "object",
"properties": {
"cache": {
"type": [
"array"
],
"minItems": 1,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false,
"required": [
"id"
]
},
"description": "A list of image objects to cache."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.81"
},
"required": [
"cache"
]
}
Responses¶
202¶
Ok
400¶
Error
404¶
Error
os-assisted-volume-snapshots¶
Create Assisted Volume Snapshots¶
Creates an assisted volume snapshot.
Normal response codes: 200
Error response codes: badRequest(400),unauthorized(401), forbidden(403)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A partial representation of a snapshot that is used to create a snapshot. |
snapshot.volume_id |
body |
string |
The source volume ID. |
snapshot.create_info |
body |
object |
Information for snapshot creation. |
snapshot.create_info.snapshot_id |
body |
string |
The UUID for a snapshot. |
snapshot.create_info.type |
body |
string |
The snapshot type. A valid value is |
snapshot.create_info.new_file |
body |
string |
The name of the qcow2 file that Block Storage creates, which becomes the active image for the VM. |
snapshot.create_info.id |
body |
string |
Its an arbitrary string that gets passed back to the user. |
{
"type": "object",
"properties": {
"snapshot": {
"type": "object",
"description": "A partial representation of a snapshot that is used to create a snapshot.",
"properties": {
"volume_id": {
"type": "string",
"minLength": 1,
"description": "The source volume ID."
},
"create_info": {
"type": "object",
"description": "Information for snapshot creation.",
"properties": {
"snapshot_id": {
"type": "string",
"minLength": 1,
"description": "The UUID for a snapshot."
},
"type": {
"type": "string",
"enum": [
"qcow2"
],
"description": "The snapshot type. A valid value is `qcow2`."
},
"new_file": {
"type": "string",
"minLength": 1,
"description": "The name of the qcow2 file that Block Storage creates, which becomes the active\nimage for the VM."
},
"id": {
"type": "string",
"minLength": 1,
"description": "Its an arbitrary string that gets passed back to the user."
}
},
"additionalProperties": false,
"required": [
"snapshot_id",
"type",
"new_file"
]
}
},
"additionalProperties": false,
"required": [
"volume_id",
"create_info"
]
}
},
"additionalProperties": false,
"required": [
"snapshot"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "A partial representation of a snapshot that is used to create a snapshot.",
"properties": {
"snapshot": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Its the same arbitrary string which was sent in request body.\n\n\n\nNote\n\n\nThis string is passed back to user as it is and not being\nused in Nova internally. So use `snapshot_id` instead for further\noperation on this snapshot."
},
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The source volume ID."
}
},
"description": "A partial representation of a snapshot that is used to create a snapshot."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A partial representation of a snapshot that is used to create a snapshot. |
snapshot.id |
body |
string |
Its the same arbitrary string which was sent in request body. Note This string is passed back to user as it is and not being
used in Nova internally. So use |
snapshot.volumeId |
body |
string |
The source volume ID. |
400¶
Error
Delete Assisted Volume Snapshot¶
Deletes an assisted volume snapshot.
To make this request, add the delete_info
query parameter to the URI, as follows:
DELETE /os-assisted-volume-snapshots/421752a6-acf6-4b2d-bc7a-119f9148cd8c?delete_info=’{“volume_id”: “521752a6-acf6-4b2d-bc7a-119f9148cd8c”}’
Normal response codes: 204
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
204¶
Ok
400¶
Error
404¶
Error
os-availability-zone¶
Get Availability Zone Information¶
Lists availability zone information.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"availabilityZoneInfo": {
"type": "array",
"description": "The list of availability zone information.",
"items": {
"type": "object",
"properties": {
"zoneName": {
"type": "string",
"description": "The availability zone name."
},
"zoneState": {
"type": "object",
"description": "The current state of the availability zone.",
"properties": {
"available": {
"type": "boolean",
"description": "Returns true if the availability zone is available."
}
}
},
"hosts": {
"type": "null",
"description": "It is always `null`."
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
availabilityZoneInfo |
body |
array |
The list of availability zone information. |
availabilityZoneInfo[].zoneName |
body |
string |
The availability zone name. |
availabilityZoneInfo[].zoneState |
body |
object |
The current state of the availability zone. |
availabilityZoneInfo[].zoneState.available |
body |
boolean |
Returns true if the availability zone is available. |
availabilityZoneInfo[].hosts |
body |
null |
It is always |
Get Detailed Availability Zone Information¶
Gets detailed availability zone information.
Policy defaults enable only users with the administrative role to perform this operation.
Cloud providers can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"availabilityZoneInfo": {
"type": "array",
"description": "The list of availability zone information.",
"items": {
"type": "object",
"properties": {
"zoneName": {
"type": "string",
"description": "The availability zone name."
},
"zoneState": {
"type": "object",
"description": "The current state of the availability zone.",
"properties": {
"available": {
"type": "boolean",
"description": "Returns true if the availability zone is available."
}
}
},
"hosts": {
"type": "object",
"description": "An object containing a list of host information. The host information is comprised\nof host and service objects. The service object returns three parameters representing\nthe states of the service: `active`, `available`, and `updated_at`.",
"examples": {
"JSON request": {
"conductor": {
"nova-conductor": {
"active": true,
"available": true,
"updated_at": null
}
},
"scheduler": {
"nova-scheduler": {
"active": true,
"available": true,
"updated_at": null
}
}
}
}
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
availabilityZoneInfo |
body |
array |
The list of availability zone information. |
availabilityZoneInfo[].zoneName |
body |
string |
The availability zone name. |
availabilityZoneInfo[].zoneState |
body |
object |
The current state of the availability zone. |
availabilityZoneInfo[].zoneState.available |
body |
boolean |
Returns true if the availability zone is available. |
availabilityZoneInfo[].hosts |
body |
object |
An object containing a list of host information. The host information is comprised
of host and service objects. The service object returns three parameters representing
the states of the service: |
os-baremetal-nodes¶
List Bare Metal Nodes¶
Show Bare Metal Node Details¶
`add_interface` action¶
Empty body for add_interface action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-baremetal-nodes/{id}/action API |
add_interface |
body |
null |
{
"type": "object",
"description": "Empty body for add_interface action",
"properties": {
"add_interface": {
"type": "null"
}
},
"x-openstack": {
"action-name": "add_interface"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-baremetal-nodes/id/action:post:add_interface action",
"x-openstack": {
"action-name": "add_interface"
}
}
400¶
Error
`remove_interface` action¶
Empty body for remove_interface action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-baremetal-nodes/{id}/action API |
remove_interface |
body |
null |
{
"type": "object",
"description": "Empty body for remove_interface action",
"properties": {
"remove_interface": {
"type": "null"
}
},
"x-openstack": {
"action-name": "remove_interface"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-baremetal-nodes/id/action:post:remove_interface action",
"x-openstack": {
"action-name": "remove_interface"
}
}
400¶
Error
os-cells¶
List Cells¶
Create Cell¶
Capacities¶
List Cells With Details¶
Info For This Cell¶
Show Cell Data¶
Update a Cell¶
Delete a Cell¶
Show Cell Capacities¶
os-certificates¶
Create Root Certificate¶
os-cloudpipe¶
List Cloudpipes¶
Create Cloudpipe¶
server-consoles¶
Manage server consoles.
Show Console Connection Information¶
Given the console authentication token for a server, shows the related connection information.
Nova HyperV driver has been removed therefore requests for RDP console connection information will always return an http 400 error. Starting from microversion 2.31 it’s available for all other console types.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Show Console Connection Information Response",
"properties": {
"console": {
"type": "object",
"description": "The console object.",
"properties": {
"instance_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
},
"host": {
"type": "string",
"description": "The name or ID of the host."
},
"port": {
"type": "integer",
"description": "The port number."
},
"internal_access_path": {
"type": "string",
"description": "The id representing the internal access path."
}
},
"required": [
"instance_uuid",
"port"
]
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
console |
body |
object |
The console object. |
console.instance_uuid |
body |
string |
The UUID of the server. |
console.host |
body |
string |
The name or ID of the host. |
console.port |
body |
integer |
The port number. |
console.internal_access_path |
body |
string |
The id representing the internal access path. |
400¶
Error
401¶
Error
404¶
Error
Create Console¶
The API provides a unified request for creating a remote console. The user can
get a URL to connect the console from this API. The URL includes the token
which is used to get permission to access the console. Servers may support
different console protocols. To return a remote console using a specific
protocol, such as VNC, set the protocol
parameter to vnc
.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server_id |
path |
string |
server_id parameter for /v2.1/servers/{server_id}/remote-consoles API |
remote_console |
body |
object |
The remote console object. |
remote_console.protocol |
body |
string |
The protocol of remote console. The valid values are |
remote_console.type |
body |
string |
The type of remote console. The valid values are |
{
"oneOf": [
{
"type": "object",
"properties": {
"remote_console": {
"type": "object",
"description": "The remote console object.",
"properties": {
"protocol": {
"type": "string",
"enum": [
"vnc",
"spice",
"serial"
],
"description": "The protocol of remote console. The valid values are `vnc`, `spice`,\n`serial` and `mks`. The protocol `mks` is added since Microversion\n`2.8`."
},
"type": {
"type": "string",
"enum": [
"novnc",
"xvpvnc",
"spice-html5",
"serial"
],
"description": "The type of remote console. The valid values are `novnc`,\n`spice-html5`, `serial`, and `webmks`. The type\n`webmks` is added since Microversion `2.8`."
}
},
"additionalProperties": false,
"required": [
"protocol",
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.6",
"max-ver": "2.7"
},
"required": [
"remote_console"
]
},
{
"type": "object",
"properties": {
"remote_console": {
"type": "object",
"description": "The remote console object.",
"properties": {
"protocol": {
"type": "string",
"enum": [
"vnc",
"spice",
"serial",
"mks"
],
"description": "The protocol of remote console. The valid values are `vnc`, `spice`,\n`serial` and `mks`. The protocol `mks` is added since Microversion\n`2.8`."
},
"type": {
"type": "string",
"enum": [
"novnc",
"xvpvnc",
"spice-html5",
"serial",
"webmks"
],
"description": "The type of remote console. The valid values are `novnc`,\n`spice-html5`, `serial`, and `webmks`. The type\n`webmks` is added since Microversion `2.8`."
}
},
"additionalProperties": false,
"required": [
"protocol",
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.8"
},
"required": [
"remote_console"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Create Console Response",
"properties": {
"remote_console": {
"type": "object",
"description": "The remote console object.",
"properties": {
"protocol": {
"type": "string",
"enum": [
"vnc",
"spice",
"serial",
"mks"
],
"description": "The protocol of remote console. The valid values are `vnc`, `spice`,\n`serial` and `mks`. The protocol `mks` is added since Microversion\n`2.8`."
},
"type": {
"type": "string",
"enum": [
"novnc",
"xvpvnc",
"spice-html5",
"serial",
"webmks"
],
"description": "The type of remote console. The valid values are `novnc`,\n`spice-html5`, `serial`, and `webmks`. The type\n`webmks` is added since Microversion `2.8`."
},
"url": {
"type": "string",
"format": "uri",
"description": "The URL is used to connect the console."
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
remote_console |
body |
object |
The remote console object. |
remote_console.protocol |
body |
string |
The protocol of remote console. The valid values are |
remote_console.type |
body |
string |
The type of remote console. The valid values are |
remote_console.url |
body |
string |
The URL is used to connect the console. |
400¶
Error
404¶
Error
409¶
Error
501¶
Error
os-fixed-ips¶
Show Fixed Ip Details¶
`reserve` action¶
Empty body for reserve action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-fixed-ips/{id}/action API |
reserve |
body |
null |
{
"type": "object",
"description": "Empty body for reserve action",
"properties": {
"reserve": {
"type": "null"
}
},
"x-openstack": {
"action-name": "reserve"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-fixed-ips/id/action:post:reserve action",
"x-openstack": {
"action-name": "reserve"
}
}
410¶
Error
`unreserve` action¶
Empty body for unreserve action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-fixed-ips/{id}/action API |
unreserve |
body |
null |
{
"type": "object",
"description": "Empty body for unreserve action",
"properties": {
"unreserve": {
"type": "null"
}
},
"x-openstack": {
"action-name": "unreserve"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-fixed-ips/id/action:post:unreserve action",
"x-openstack": {
"action-name": "unreserve"
}
}
410¶
Error
os-floating-ip-dns¶
List DNS Domains¶
Create Or Update DNS Domain¶
Delete DNS Domain¶
List DNS Entries¶
Lists DNS entries for a domain and IP.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), gone(410), notImplemented(501)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-floating-ip-dns/domain_id/entries/id:get operation"
}
410¶
Error
Create Or Update DNS Entry¶
Delete DNS Entry¶
os-floating-ip-pools¶
List Floating Ip Pools¶
Lists floating IP pools.
Policy defaults enable only users with the administrative role or user
who is authorized to operate on tenant <tenant_id> to perform this
operation. Cloud providers can change these permissions through the
policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-floating-ip-pools:get operation"
}
os-floating-ips¶
List Floating Ip Addresses¶
Lists floating IP addresses associated with the tenant or account.
Policy defaults enable only users with the administrative role
or the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-floating-ips:get operation"
}
Create (Allocate) Floating Ip Address¶
Creates, or allocates, a floating IP address for the current project. By default, the floating IP address is allocated from the public pool.
If more than one floating IP address pool is available, use the
pool
parameter to specify from which pool to allocate the IP address.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-floating-ips:post operation"
}
400¶
Error
403¶
Error
404¶
Error
Show Floating Ip Address Details¶
Shows details for a floating IP address, by ID, that is associated with the tenant or account.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-floating-ips/id:get operation"
}
400¶
Error
404¶
Error
Delete (Deallocate) Floating Ip Address¶
Deletes, or deallocates, a floating IP address from the current project and returns it to the pool from which it was allocated.
If the IP address is still associated with a running instance, it is automatically disassociated from that instance.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
202¶
Ok
400¶
Error
403¶
Error
404¶
Error
409¶
Error
os-floating-ips-bulk¶
List Floating Ips¶
Create Floating Ips¶
List Floating Ips By Host¶
os-fping¶
Ping Instances¶
Runs the fping utility to ping instances and reports which instances are alive.
Specify the all_tenants=1
query parameter to ping instances for all tenants. For example:
Specify the include
and exclude
query parameters to filter the results. For example:
Policy defaults enable only users with the administrative role or the
owner of the server to perform this operation. Cloud providers can
change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: serviceUnavailable(503), unauthorized(401), forbidden(403), itemNotFound(404), gone(410)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-fping:get operation"
}
410¶
Error
Ping An Instance¶
Runs the fping utility to ping an instance and reports whether the instance is alive.
Policy defaults enable only users with the administrative role or the
owner of the server to perform this operation. Cloud providers can
change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: serviceUnavailable(503), unauthorized(401), forbidden(403), itemNotFound(404), gone(410)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-fping/id:get operation"
}
410¶
Error
os-hosts¶
List Hosts¶
Show Host Details¶
Update Host status¶
Enables, disables a host or put a host in maintenance or normal mode.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), NotImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-hosts/{id} API |
status |
body |
string |
The status of the host, either |
maintenance_mode |
body |
string |
Mode of maintenance state, either |
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"enable",
"disable",
"Enable",
"Disable",
"ENABLE",
"DISABLE"
],
"description": "The status of the host, either `enable` or `disable`."
},
"maintenance_mode": {
"type": "string",
"enum": [
"enable",
"disable",
"Enable",
"Disable",
"ENABLE",
"DISABLE"
],
"description": "Mode of maintenance state, either `enable` or `disable`."
}
},
"additionalProperties": false,
"anyOf": [
{
"required": [
"status"
]
},
{
"required": [
"maintenance_mode"
]
}
],
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.42"
}
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-hosts/id:put operation"
}
400¶
Error
404¶
Error
501¶
Error
Reboot Host¶
Shut Down Host¶
Shuts down a host.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), NotImplemented(501)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-hosts/id/shutdown:get operation"
}
400¶
Error
404¶
Error
501¶
Error
Start Host¶
os-hypervisors¶
List Hypervisors¶
Lists hypervisors.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through
the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"hypervisors": {
"type": "array",
"description": "An array of hypervisor information.",
"items": {
"type": "object",
"description": "The hypervisor object.",
"properties": {
"hypervisor_hostname": {
"type": "string",
"description": "The hypervisor host name provided by the Nova virt driver. For the Ironic\ndriver, it is the Ironic node uuid."
},
"id": {
"type": "string",
"description": "The id of the hypervisor as a UUID.\n\n\n**New in version 2\\.53**"
},
"state": {
"type": "string",
"enum": [
"up",
"down"
],
"description": "The state of the hypervisor. One of `up` or `down`."
},
"status": {
"type": "string",
"enum": [
"disabled",
"enabled"
],
"description": "The status of the hypervisor. One of `enabled` or `disabled`."
},
"servers": {
"type": "array",
"description": "A list of `server` objects.\nThis field has become mandatory in microversion 2\\.75\\. If no servers is on hypervisor\nthen empty list is returned.\n\n\n**New in version 2\\.53**",
"x-openstack": {
"min-ver": "2.53"
},
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid",
"description": "The server ID."
},
"name": {
"type": "string",
"description": "The server name."
}
}
}
}
}
}
},
"hypervisor_links": {
"type": "array",
"description": "Links pertaining to usage. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.\n\n\n**New in version 2\\.40**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
hypervisors |
body |
array |
An array of hypervisor information. |
hypervisors[].hypervisor_hostname |
body |
string |
The hypervisor host name provided by the Nova virt driver. For the Ironic driver, it is the Ironic node uuid. |
hypervisors[].id |
body |
string |
The id of the hypervisor as a UUID. New in version 2.53 |
hypervisors[].state |
body |
string |
The state of the hypervisor. One of |
hypervisors[].status |
body |
string |
The status of the hypervisor. One of |
hypervisors[].servers |
body |
array |
A list of New in version 2.53 |
hypervisors[].servers[].uuid |
body |
string |
The server ID. |
hypervisors[].servers[].name |
body |
string |
The server name. |
hypervisor_links |
body |
array |
Links pertaining to usage. See API Guide / Links and References for more info. New in version 2.40 |
hypervisor_links[].href |
body |
string |
|
hypervisor_links[].rel |
body |
string |
400¶
Error
404¶
Error
List Hypervisors Details¶
Lists hypervisors details.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through
the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"hypervisors": {
"type": "array",
"description": "An array of hypervisor information.",
"items": {
"type": "object",
"description": "The hypervisor object.",
"properties": {
"cpu_info": {
"type": "object",
"description": "A dictionary that contains cpu information like `arch`, `model`,\n`vendor`, `features` and `topology`. The content of this field is\nhypervisor specific.\n\n\n\nNote\n\n\nSince version 2\\.28 `cpu_info` field is returned as a dictionary\ninstead of string.\n\n\n\n**Available until version 2\\.87**",
"additionalProperties": true,
"x-openstack": {
"max-ver": "2.87"
}
},
"current_workload": {
"type": "integer",
"description": "The current_workload is the number of tasks the hypervisor is responsible\nfor. This will be equal or greater than the number of active VMs on the\nsystem (it can be greater when VMs are being deleted and the hypervisor is\nstill cleaning up).\n\n\n**Available until version 2\\.87**",
"x-openstack": {
"max-ver": "2.87"
}
},
"disk_available_least": {
"type": "integer",
"description": "The actual free disk on this hypervisor(in GiB). If allocation ratios used\nfor overcommit are configured, this may be negative. This is intentional as\nit provides insight into the amount by which the disk is overcommitted.\n\n\n**Available until version 2\\.87**",
"x-openstack": {
"max-ver": "2.87"
}
},
"host_ip": {
"type": "string",
"format": "ip",
"description": "The IP address of the hypervisor\u2019s host."
},
"free_disk_gb": {
"type": "integer",
"description": "The free disk remaining on this hypervisor(in GiB). This does not take\nallocation ratios used for overcommit into account so this value may be\nnegative.\n\n\n**Available until version 2\\.87**",
"x-openstack": {
"max-ver": "2.87"
}
},
"free_ram_mb": {
"type": "integer",
"description": "The free RAM in this hypervisor(in MiB). This does not take allocation\nratios used for overcommit into account so this value may be negative.\n\n\n**Available until version 2\\.87**",
"x-openstack": {
"max-ver": "2.87"
}
},
"hypervisor_hostname": {
"type": "string",
"description": "The hypervisor host name provided by the Nova virt driver. For the Ironic\ndriver, it is the Ironic node uuid."
},
"hypervisor_type": {
"type": "string",
"description": "The hypervisor type."
},
"hypervisor_version": {
"type": "integer",
"description": "The hypervisor version."
},
"local_gb": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The disk in this hypervisor (in GiB). This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count."
},
"description": "The disk in this hypervisor (in GiB). This does not take allocation\nratios used for overcommit into account so there may be disparity between\nthis and the used count.\n\n\n**Available until version 2\\.87**"
},
"local_gb_used": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The disk used in this hypervisor (in GiB)."
},
"description": "The disk used in this hypervisor (in GiB).\n\n\n**Available until version 2\\.87**"
},
"memory_mb": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The memory of this hypervisor (in MiB). This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count."
},
"description": "The memory of this hypervisor (in MiB). This does not take allocation\nratios used for overcommit into account so there may be disparity between\nthis and the used count.\n\n\n**Available until version 2\\.87**"
},
"memory_mb_used": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The memory used in this hypervisor (in MiB)."
},
"description": "The memory used in this hypervisor (in MiB).\n\n\n**Available until version 2\\.87**"
},
"running_vms": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The number of running VMs on this hypervisor. "
},
"description": "The number of running VMs on this hypervisor.\n\n\n**Available until version 2\\.87**"
},
"service": {
"type": "object",
"description": "The hypervisor service object.",
"properties": {
"host": {
"type": "string",
"description": "The name of the host."
},
"id": {
"type": [
"integer",
"string"
],
"format": "uuid",
"description": "The id of the service as a uuid.\n\n\n**New in version 2\\.53**"
},
"disabled_reason": {
"type": [
"string",
"null"
],
"description": "The disable reason of the service, `null` if the service is enabled or\ndisabled without reason provided."
}
}
},
"uptime": {
"type": "string",
"description": "The total uptime of the hypervisor and information about average load. Only\nreported for active hosts where the virt driver supports this feature.\n\n\n**New in version 2\\.88**",
"x-openstack": {
"min-ver": "2.87"
}
},
"vcpus": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87"
},
"description": "The number of vCPU in this hypervisor. This does not take allocation\nratios used for overcommit into account so there may be disparity between\nthis and the used count.\n\n\n**Available until version 2\\.87**"
},
"vcpus_used": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87"
},
"description": "The number of vCPU used in this hypervisor.\n\n\n**Available until version 2\\.87**"
},
"id": {
"type": "string",
"description": "The id of the hypervisor. From version 2.53 it is a string as UUID"
},
"state": {
"type": "string",
"enum": [
"up",
"down"
],
"description": "The state of the hypervisor. One of `up` or `down`."
},
"status": {
"type": "string",
"enum": [
"disabled",
"enabled"
],
"description": "The status of the hypervisor. One of `enabled` or `disabled`."
},
"servers": {
"type": "array",
"description": "A list of `server` objects.\nThis field has become mandatory in microversion 2\\.75\\. If no servers is on hypervisor\nthen empty list is returned.\n\n\n**New in version 2\\.53**",
"x-openstack": {
"min-ver": "2.53"
},
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid",
"description": "The server ID."
},
"name": {
"type": "string",
"description": "The server name."
}
}
}
}
}
}
},
"hypervisor_links": {
"type": "array",
"description": "Links pertaining to usage. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.\n\n\n**New in version 2\\.40**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
hypervisors |
body |
array |
An array of hypervisor information. |
hypervisors[].cpu_info |
body |
object |
A dictionary that contains cpu information like Note Since version 2.28 Available until version 2.87 |
hypervisors[].current_workload |
body |
integer |
The current_workload is the number of tasks the hypervisor is responsible for. This will be equal or greater than the number of active VMs on the system (it can be greater when VMs are being deleted and the hypervisor is still cleaning up). Available until version 2.87 |
hypervisors[].disk_available_least |
body |
integer |
The actual free disk on this hypervisor(in GiB). If allocation ratios used for overcommit are configured, this may be negative. This is intentional as it provides insight into the amount by which the disk is overcommitted. Available until version 2.87 |
hypervisors[].host_ip |
body |
string |
The IP address of the hypervisor’s host. |
hypervisors[].free_disk_gb |
body |
integer |
The free disk remaining on this hypervisor(in GiB). This does not take allocation ratios used for overcommit into account so this value may be negative. Available until version 2.87 |
hypervisors[].free_ram_mb |
body |
integer |
The free RAM in this hypervisor(in MiB). This does not take allocation ratios used for overcommit into account so this value may be negative. Available until version 2.87 |
hypervisors[].hypervisor_hostname |
body |
string |
The hypervisor host name provided by the Nova virt driver. For the Ironic driver, it is the Ironic node uuid. |
hypervisors[].hypervisor_type |
body |
string |
The hypervisor type. |
hypervisors[].hypervisor_version |
body |
integer |
The hypervisor version. |
hypervisors[].local_gb |
body |
integer |
The disk in this hypervisor (in GiB). This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count. Available until version 2.87 |
hypervisors[].local_gb_used |
body |
integer |
The disk used in this hypervisor (in GiB). Available until version 2.87 |
hypervisors[].memory_mb |
body |
integer |
The memory of this hypervisor (in MiB). This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count. Available until version 2.87 |
hypervisors[].memory_mb_used |
body |
integer |
The memory used in this hypervisor (in MiB). Available until version 2.87 |
hypervisors[].running_vms |
body |
integer |
The number of running VMs on this hypervisor. Available until version 2.87 |
hypervisors[].service |
body |
object |
The hypervisor service object. |
hypervisors[].service.host |
body |
string |
The name of the host. |
hypervisors[].service.id |
body |
[‘integer’, ‘string’] |
The id of the service as a uuid. New in version 2.53 |
hypervisors[].service.disabled_reason |
body |
[‘string’, ‘null’] |
The disable reason of the service, |
hypervisors[].uptime |
body |
string |
The total uptime of the hypervisor and information about average load. Only reported for active hosts where the virt driver supports this feature. New in version 2.88 |
hypervisors[].vcpus |
body |
integer |
The number of vCPU in this hypervisor. This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count. Available until version 2.87 |
hypervisors[].vcpus_used |
body |
integer |
The number of vCPU used in this hypervisor. Available until version 2.87 |
hypervisors[].id |
body |
string |
The id of the hypervisor. From version 2.53 it is a string as UUID |
hypervisors[].state |
body |
string |
The state of the hypervisor. One of |
hypervisors[].status |
body |
string |
The status of the hypervisor. One of |
hypervisors[].servers |
body |
array |
A list of New in version 2.53 |
hypervisors[].servers[].uuid |
body |
string |
The server ID. |
hypervisors[].servers[].name |
body |
string |
The server name. |
hypervisor_links |
body |
array |
Links pertaining to usage. See API Guide / Links and References for more info. New in version 2.40 |
hypervisor_links[].href |
body |
string |
|
hypervisor_links[].rel |
body |
string |
400¶
Error
404¶
Error
Show Hypervisor Statistics (DEPRECATED)¶
Shows summary statistics for all enabled hypervisors over all compute nodes.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through
the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-hypervisors/statistics:get operation"
}
Show Hypervisor Details¶
Shows details for a given hypervisor.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through
the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"hypervisor": {
"type": "object",
"description": "The hypervisor object.",
"properties": {
"cpu_info": {
"type": "object",
"description": "A dictionary that contains cpu information like `arch`, `model`,\n`vendor`, `features` and `topology`. The content of this field is\nhypervisor specific.\n\n\n\nNote\n\n\nSince version 2\\.28 `cpu_info` field is returned as a dictionary\ninstead of string.\n\n\n\n**Available until version 2\\.87**",
"additionalProperties": true,
"x-openstack": {
"max-ver": "2.87"
}
},
"current_workload": {
"type": "integer",
"description": "The current_workload is the number of tasks the hypervisor is responsible\nfor. This will be equal or greater than the number of active VMs on the\nsystem (it can be greater when VMs are being deleted and the hypervisor is\nstill cleaning up).\n\n\n**Available until version 2\\.87**",
"x-openstack": {
"max-ver": "2.87"
}
},
"disk_available_least": {
"type": "integer",
"description": "The actual free disk on this hypervisor(in GiB). If allocation ratios used\nfor overcommit are configured, this may be negative. This is intentional as\nit provides insight into the amount by which the disk is overcommitted.\n\n\n**Available until version 2\\.87**",
"x-openstack": {
"max-ver": "2.87"
}
},
"host_ip": {
"type": "string",
"format": "ip",
"description": "The IP address of the hypervisor\u2019s host."
},
"free_disk_gb": {
"type": "integer",
"description": "The free disk remaining on this hypervisor(in GiB). This does not take\nallocation ratios used for overcommit into account so this value may be\nnegative.\n\n\n**Available until version 2\\.87**",
"x-openstack": {
"max-ver": "2.87"
}
},
"free_ram_mb": {
"type": "integer",
"description": "The free RAM in this hypervisor(in MiB). This does not take allocation\nratios used for overcommit into account so this value may be negative.\n\n\n**Available until version 2\\.87**",
"x-openstack": {
"max-ver": "2.87"
}
},
"hypervisor_hostname": {
"type": "string",
"description": "The hypervisor host name provided by the Nova virt driver. For the Ironic\ndriver, it is the Ironic node uuid."
},
"hypervisor_type": {
"type": "string",
"description": "The hypervisor type."
},
"hypervisor_version": {
"type": "integer",
"description": "The hypervisor version."
},
"local_gb": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The disk in this hypervisor (in GiB). This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count."
},
"description": "The disk in this hypervisor (in GiB). This does not take allocation\nratios used for overcommit into account so there may be disparity between\nthis and the used count.\n\n\n**Available until version 2\\.87**"
},
"local_gb_used": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The disk used in this hypervisor (in GiB)."
},
"description": "The disk used in this hypervisor (in GiB).\n\n\n**Available until version 2\\.87**"
},
"memory_mb": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The memory of this hypervisor (in MiB). This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count."
},
"description": "The memory of this hypervisor (in MiB). This does not take allocation\nratios used for overcommit into account so there may be disparity between\nthis and the used count.\n\n\n**Available until version 2\\.87**"
},
"memory_mb_used": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The memory used in this hypervisor (in MiB)."
},
"description": "The memory used in this hypervisor (in MiB).\n\n\n**Available until version 2\\.87**"
},
"running_vms": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87",
"description": "The number of running VMs on this hypervisor. "
},
"description": "The number of running VMs on this hypervisor.\n\n\n**Available until version 2\\.87**"
},
"service": {
"type": "object",
"description": "The hypervisor service object.",
"properties": {
"host": {
"type": "string",
"description": "The name of the host."
},
"id": {
"type": [
"integer",
"string"
],
"format": "uuid",
"description": "The id of the service as a uuid.\n\n\n**New in version 2\\.53**"
},
"disabled_reason": {
"type": [
"string",
"null"
],
"description": "The disable reason of the service, `null` if the service is enabled or\ndisabled without reason provided."
}
}
},
"uptime": {
"type": "string",
"description": "The total uptime of the hypervisor and information about average load. Only\nreported for active hosts where the virt driver supports this feature.\n\n\n**New in version 2\\.88**",
"x-openstack": {
"min-ver": "2.87"
}
},
"vcpus": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87"
},
"description": "The number of vCPU in this hypervisor. This does not take allocation\nratios used for overcommit into account so there may be disparity between\nthis and the used count.\n\n\n**Available until version 2\\.87**"
},
"vcpus_used": {
"type": "integer",
"x-openstack": {
"max-ver": "2.87"
},
"description": "The number of vCPU used in this hypervisor.\n\n\n**Available until version 2\\.87**"
},
"id": {
"type": "string",
"description": "The id of the hypervisor. From version 2.53 it is a string as UUID"
},
"state": {
"type": "string",
"enum": [
"up",
"down"
],
"description": "The state of the hypervisor. One of `up` or `down`."
},
"status": {
"type": "string",
"enum": [
"disabled",
"enabled"
],
"description": "The status of the hypervisor. One of `enabled` or `disabled`."
},
"servers": {
"type": "array",
"description": "A list of `server` objects.\nThis field has become mandatory in microversion 2\\.75\\. If no servers is on hypervisor\nthen empty list is returned.\n\n\n**New in version 2\\.53**",
"x-openstack": {
"min-ver": "2.53"
},
"items": {
"type": "object",
"properties": {
"uuid": {
"type": "string",
"format": "uuid",
"description": "The server ID."
},
"name": {
"type": "string",
"description": "The server name."
}
}
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
hypervisor |
body |
object |
The hypervisor object. |
hypervisor.cpu_info |
body |
object |
A dictionary that contains cpu information like Note Since version 2.28 Available until version 2.87 |
hypervisor.current_workload |
body |
integer |
The current_workload is the number of tasks the hypervisor is responsible for. This will be equal or greater than the number of active VMs on the system (it can be greater when VMs are being deleted and the hypervisor is still cleaning up). Available until version 2.87 |
hypervisor.disk_available_least |
body |
integer |
The actual free disk on this hypervisor(in GiB). If allocation ratios used for overcommit are configured, this may be negative. This is intentional as it provides insight into the amount by which the disk is overcommitted. Available until version 2.87 |
hypervisor.host_ip |
body |
string |
The IP address of the hypervisor’s host. |
hypervisor.free_disk_gb |
body |
integer |
The free disk remaining on this hypervisor(in GiB). This does not take allocation ratios used for overcommit into account so this value may be negative. Available until version 2.87 |
hypervisor.free_ram_mb |
body |
integer |
The free RAM in this hypervisor(in MiB). This does not take allocation ratios used for overcommit into account so this value may be negative. Available until version 2.87 |
hypervisor.hypervisor_hostname |
body |
string |
The hypervisor host name provided by the Nova virt driver. For the Ironic driver, it is the Ironic node uuid. |
hypervisor.hypervisor_type |
body |
string |
The hypervisor type. |
hypervisor.hypervisor_version |
body |
integer |
The hypervisor version. |
hypervisor.local_gb |
body |
integer |
The disk in this hypervisor (in GiB). This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count. Available until version 2.87 |
hypervisor.local_gb_used |
body |
integer |
The disk used in this hypervisor (in GiB). Available until version 2.87 |
hypervisor.memory_mb |
body |
integer |
The memory of this hypervisor (in MiB). This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count. Available until version 2.87 |
hypervisor.memory_mb_used |
body |
integer |
The memory used in this hypervisor (in MiB). Available until version 2.87 |
hypervisor.running_vms |
body |
integer |
The number of running VMs on this hypervisor. Available until version 2.87 |
hypervisor.service |
body |
object |
The hypervisor service object. |
hypervisor.service.host |
body |
string |
The name of the host. |
hypervisor.service.id |
body |
[‘integer’, ‘string’] |
The id of the service as a uuid. New in version 2.53 |
hypervisor.service.disabled_reason |
body |
[‘string’, ‘null’] |
The disable reason of the service, |
hypervisor.uptime |
body |
string |
The total uptime of the hypervisor and information about average load. Only reported for active hosts where the virt driver supports this feature. New in version 2.88 |
hypervisor.vcpus |
body |
integer |
The number of vCPU in this hypervisor. This does not take allocation ratios used for overcommit into account so there may be disparity between this and the used count. Available until version 2.87 |
hypervisor.vcpus_used |
body |
integer |
The number of vCPU used in this hypervisor. Available until version 2.87 |
hypervisor.id |
body |
string |
The id of the hypervisor. From version 2.53 it is a string as UUID |
hypervisor.state |
body |
string |
The state of the hypervisor. One of |
hypervisor.status |
body |
string |
The status of the hypervisor. One of |
hypervisor.servers |
body |
array |
A list of New in version 2.53 |
hypervisor.servers[].uuid |
body |
string |
The server ID. |
hypervisor.servers[].name |
body |
string |
The server name. |
400¶
Error
404¶
Error
Search Hypervisor (DEPRECATED)¶
Search hypervisor by a given hypervisor host name or portion of it.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through
the policy.json
file.
Normal response code: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-hypervisors/id/search:get operation"
}
404¶
Error
List Hypervisor Servers (DEPRECATED)¶
List all servers belong to each hypervisor whose host name is matching a given hypervisor host name or portion of it.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through
the policy.json
file.
Normal response code: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-hypervisors/id/servers:get operation"
}
404¶
Error
Show Hypervisor Uptime (DEPRECATED)¶
Shows the uptime for a given hypervisor.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through
the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), NotImplemented(501)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-hypervisors/id/uptime:get operation"
}
400¶
Error
404¶
Error
501¶
Error
os-instance_usage_audit_log¶
List Server Usage Audits¶
Lists usage audits for all servers on all compute hosts where usage auditing is configured.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "The object of instance usage audit log information.",
"properties": {
"hosts_not_run": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of the hosts whose instance audit tasks have not run."
},
"log": {
"type": "object",
"description": "The object of instance usage audit logs."
},
"errors": {
"type": "integer",
"description": "The number of errors."
},
"instances": {
"type": "integer",
"description": "The number of instances."
},
"message": {
"type": "string",
"description": "The log message of the instance usage audit task."
},
"state": {
"type": "string",
"enum": [
"DONE",
"RUNNING"
],
"description": "The state of the instance usage audit task.\n`DONE` or `RUNNING`."
},
"num_hosts": {
"type": "integer",
"description": "The number of the hosts."
},
"num_hosts_done": {
"type": "integer",
"description": "The number of the hosts whose instance audit tasks have been done."
},
"num_hosts_not_run": {
"type": "integer",
"description": "The number of the hosts whose instance audit tasks have not run."
},
"num_hosts_running": {
"type": "integer",
"description": "The number of the hosts whose instance audit tasks are running."
},
"overall_status": {
"type": "string",
"description": "The overall status of instance audit tasks.\n\n\n\n```\nM of N hosts done. K errors.\n\n```\n\n\nThe `M` value is the number of hosts whose instance audit tasks have\nbeen done in the period. The `N` value is the number of all hosts.\nThe `K` value is the number of hosts whose instance audit tasks\ncause errors. If instance audit tasks have been done at all hosts\nin the period, the overall status is as follows:\n\n\n\n```\nALL hosts done. K errors.\n\n```"
},
"period_beginning": {
"type": "string",
"format": "date-time",
"description": "The beginning time of the instance usage audit period.\nFor example, `2016-05-01 00:00:00`."
},
"period_ending": {
"type": "string",
"format": "date-time",
"description": "The ending time of the instance usage audit period.\nFor example, `2016-06-01 00:00:00`."
},
"total_errors": {
"type": "integer",
"description": "The total number of instance audit task errors."
},
"total_instances": {
"type": "integer",
"description": "The total number of VM instances in the period."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
hosts_not_run |
body |
array |
A list of the hosts whose instance audit tasks have not run. |
log |
body |
object |
The object of instance usage audit logs. |
errors |
body |
integer |
The number of errors. |
instances |
body |
integer |
The number of instances. |
message |
body |
string |
The log message of the instance usage audit task. |
state |
body |
string |
The state of the instance usage audit task.
|
num_hosts |
body |
integer |
The number of the hosts. |
num_hosts_done |
body |
integer |
The number of the hosts whose instance audit tasks have been done. |
num_hosts_not_run |
body |
integer |
The number of the hosts whose instance audit tasks have not run. |
num_hosts_running |
body |
integer |
The number of the hosts whose instance audit tasks are running. |
overall_status |
body |
string |
The overall status of instance audit tasks. M of N hosts done. K errors.
The ALL hosts done. K errors.
|
period_beginning |
body |
string |
The beginning time of the instance usage audit period.
For example, |
period_ending |
body |
string |
The ending time of the instance usage audit period.
For example, |
total_errors |
body |
integer |
The total number of instance audit task errors. |
total_instances |
body |
integer |
The total number of VM instances in the period. |
List Usage Audits Before Specified Time¶
Lists usage audits that occurred before a specified time.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "The object of instance usage audit log information.",
"properties": {
"hosts_not_run": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of the hosts whose instance audit tasks have not run."
},
"log": {
"type": "object",
"description": "The object of instance usage audit logs."
},
"errors": {
"type": "integer",
"description": "The number of errors."
},
"instances": {
"type": "integer",
"description": "The number of instances."
},
"message": {
"type": "string",
"description": "The log message of the instance usage audit task."
},
"state": {
"type": "string",
"enum": [
"DONE",
"RUNNING"
],
"description": "The state of the instance usage audit task.\n`DONE` or `RUNNING`."
},
"num_hosts": {
"type": "integer",
"description": "The number of the hosts."
},
"num_hosts_done": {
"type": "integer",
"description": "The number of the hosts whose instance audit tasks have been done."
},
"num_hosts_not_run": {
"type": "integer",
"description": "The number of the hosts whose instance audit tasks have not run."
},
"num_hosts_running": {
"type": "integer",
"description": "The number of the hosts whose instance audit tasks are running."
},
"overall_status": {
"type": "string",
"description": "The overall status of instance audit tasks.\n\n\n\n```\nM of N hosts done. K errors.\n\n```\n\n\nThe `M` value is the number of hosts whose instance audit tasks have\nbeen done in the period. The `N` value is the number of all hosts.\nThe `K` value is the number of hosts whose instance audit tasks\ncause errors. If instance audit tasks have been done at all hosts\nin the period, the overall status is as follows:\n\n\n\n```\nALL hosts done. K errors.\n\n```"
},
"period_beginning": {
"type": "string",
"format": "date-time",
"description": "The beginning time of the instance usage audit period.\nFor example, `2016-05-01 00:00:00`."
},
"period_ending": {
"type": "string",
"format": "date-time",
"description": "The ending time of the instance usage audit period.\nFor example, `2016-06-01 00:00:00`."
},
"total_errors": {
"type": "integer",
"description": "The total number of instance audit task errors."
},
"total_instances": {
"type": "integer",
"description": "The total number of VM instances in the period."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
hosts_not_run |
body |
array |
A list of the hosts whose instance audit tasks have not run. |
log |
body |
object |
The object of instance usage audit logs. |
errors |
body |
integer |
The number of errors. |
instances |
body |
integer |
The number of instances. |
message |
body |
string |
The log message of the instance usage audit task. |
state |
body |
string |
The state of the instance usage audit task.
|
num_hosts |
body |
integer |
The number of the hosts. |
num_hosts_done |
body |
integer |
The number of the hosts whose instance audit tasks have been done. |
num_hosts_not_run |
body |
integer |
The number of the hosts whose instance audit tasks have not run. |
num_hosts_running |
body |
integer |
The number of the hosts whose instance audit tasks are running. |
overall_status |
body |
string |
The overall status of instance audit tasks. M of N hosts done. K errors.
The ALL hosts done. K errors.
|
period_beginning |
body |
string |
The beginning time of the instance usage audit period.
For example, |
period_ending |
body |
string |
The ending time of the instance usage audit period.
For example, |
total_errors |
body |
integer |
The total number of instance audit task errors. |
total_instances |
body |
integer |
The total number of VM instances in the period. |
400¶
Error
os-keypairs¶
List Keypairs¶
Lists keypairs that are associated with the account.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"keypairs": {
"type": "array",
"description": "Array of Keypair objects",
"items": {
"type": "object",
"properties": {
"keypair": {
"type": "object",
"description": "Keypair object",
"properties": {
"name": {
"type": "string",
"description": "The name for the keypair."
},
"public_key": {
"type": "string",
"description": "The keypair public key."
},
"fingerprint": {
"type": "string",
"description": "The fingerprint for the keypair."
},
"type": {
"type": "string",
"description": "The type of the keypair. Allowed values are `ssh` or `x509`.\n\n\n**New in version 2\\.2**",
"x-openstack": {
"min-ver": "2.2"
}
}
}
}
}
}
},
"keypairs_links": {
"type": "array",
"description": "Links pertaining to keypair. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.\n\n\n**New in version 2\\.35**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
keypairs |
body |
array |
Array of Keypair objects |
keypairs[].keypair |
body |
object |
Keypair object |
keypairs[].keypair.name |
body |
string |
The name for the keypair. |
keypairs[].keypair.public_key |
body |
string |
The keypair public key. |
keypairs[].keypair.fingerprint |
body |
string |
The fingerprint for the keypair. |
keypairs[].keypair.type |
body |
string |
The type of the keypair. Allowed values are New in version 2.2 |
keypairs_links |
body |
array |
Links pertaining to keypair. See API Guide / Links and References for more info. New in version 2.35 |
keypairs_links[].href |
body |
string |
|
keypairs_links[].rel |
body |
string |
400¶
Error
Import (or create) Keypair¶
Imports (or generates) a keypair.
Normal response codes: 200, 201
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
keypair |
body |
object |
Keypair object |
keypair.name |
body |
string |
A name for the keypair which will be used to reference it later. Note Since microversion 2.92, allowed characters are ASCII letters
|
keypair.public_key |
body |
string |
The public ssh key to import. Was optional before microversion 2.92 : if you were omitting this value, a keypair was generated for you. |
keypair.type |
body |
string |
The type of the keypair. Allowed values are New in version 2.2 |
keypair.user_id |
body |
string |
The user_id for a keypair. This allows administrative users to upload keys for other users than themselves. New in version 2.10 |
{
"oneOf": [
{
"type": "object",
"properties": {
"keypair": {
"type": "object",
"description": "Keypair object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "A name for the keypair which will be used to reference it later.\n\n\n\nNote\n\n\nSince microversion 2\\.92, allowed characters are ASCII letters\n`[a-zA-Z]`, digits `[0-9]` and the following special\ncharacters: `[@._- ]`."
},
"public_key": {
"type": "string",
"description": "The public ssh key to import.\nWas optional before microversion 2\\.92 : if you were omitting this value, a\nkeypair was generated for you."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0"
},
"required": [
"keypair"
]
},
{
"type": "object",
"properties": {
"keypair": {
"type": "object",
"description": "Keypair object",
"properties": {
"name": {
"allOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "keypair_name_20"
}
],
"description": "A name for the keypair which will be used to reference it later.\n\n\n\nNote\n\n\nSince microversion 2\\.92, allowed characters are ASCII letters\n`[a-zA-Z]`, digits `[0-9]` and the following special\ncharacters: `[@._- ]`."
},
"public_key": {
"type": "string",
"description": "The public ssh key to import.\nWas optional before microversion 2\\.92 : if you were omitting this value, a\nkeypair was generated for you."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.1"
},
"required": [
"keypair"
]
},
{
"type": "object",
"properties": {
"keypair": {
"type": "object",
"description": "Keypair object",
"properties": {
"name": {
"allOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "keypair_name_20"
}
],
"description": "A name for the keypair which will be used to reference it later.\n\n\n\nNote\n\n\nSince microversion 2\\.92, allowed characters are ASCII letters\n`[a-zA-Z]`, digits `[0-9]` and the following special\ncharacters: `[@._- ]`."
},
"type": {
"type": "string",
"enum": [
"ssh",
"x509"
],
"description": "The type of the keypair. Allowed values are `ssh` or `x509`.\n\n\n**New in version 2\\.2**"
},
"public_key": {
"type": "string",
"description": "The public ssh key to import.\nWas optional before microversion 2\\.92 : if you were omitting this value, a\nkeypair was generated for you."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.2",
"max-ver": "2.9"
},
"required": [
"keypair"
]
},
{
"type": "object",
"properties": {
"keypair": {
"type": "object",
"description": "Keypair object",
"properties": {
"name": {
"allOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "keypair_name_20"
}
],
"description": "A name for the keypair which will be used to reference it later.\n\n\n\nNote\n\n\nSince microversion 2\\.92, allowed characters are ASCII letters\n`[a-zA-Z]`, digits `[0-9]` and the following special\ncharacters: `[@._- ]`."
},
"type": {
"type": "string",
"enum": [
"ssh",
"x509"
],
"description": "The type of the keypair. Allowed values are `ssh` or `x509`.\n\n\n**New in version 2\\.2**"
},
"public_key": {
"type": "string",
"description": "The public ssh key to import.\nWas optional before microversion 2\\.92 : if you were omitting this value, a\nkeypair was generated for you."
},
"user_id": {
"type": "string",
"description": "The user_id for a keypair. This allows administrative users to\nupload keys for other users than themselves.\n\n\n**New in version 2\\.10**"
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.10",
"max-ver": "2.91"
},
"required": [
"keypair"
]
},
{
"type": "object",
"properties": {
"keypair": {
"type": "object",
"description": "Keypair object",
"properties": {
"name": {
"allOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
{
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "keypair_name_292"
}
],
"description": "A name for the keypair which will be used to reference it later.\n\n\n\nNote\n\n\nSince microversion 2\\.92, allowed characters are ASCII letters\n`[a-zA-Z]`, digits `[0-9]` and the following special\ncharacters: `[@._- ]`."
},
"type": {
"type": "string",
"enum": [
"ssh",
"x509"
],
"description": "The type of the keypair. Allowed values are `ssh` or `x509`.\n\n\n**New in version 2\\.2**"
},
"public_key": {
"type": "string",
"description": "The public ssh key to import.\nWas optional before microversion 2\\.92 : if you were omitting this value, a\nkeypair was generated for you."
},
"user_id": {
"type": "string",
"description": "The user_id for a keypair. This allows administrative users to\nupload keys for other users than themselves.\n\n\n**New in version 2\\.10**"
}
},
"additionalProperties": false,
"required": [
"name",
"public_key"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.92"
},
"required": [
"keypair"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Keypair object",
"properties": {
"keypair": {
"type": "object",
"description": "Keypair object",
"properties": {
"user_id": {
"type": "string",
"description": "The user_id for a keypair."
},
"deleted": {
"type": "boolean",
"description": "A boolean indicates whether this keypair is deleted or not. The value is always false (not deleted)."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created."
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "It is always null."
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "It is always null."
},
"id": {
"type": "integer",
"description": "The keypair ID."
},
"name": {
"type": "string",
"description": "The name for the keypair."
},
"public_key": {
"type": "string",
"description": "The keypair public key."
},
"fingerprint": {
"type": "string",
"description": "The fingerprint for the keypair."
},
"type": {
"type": "string",
"description": "The type of the keypair. Allowed values are `ssh` or `x509`.\n\n\n**New in version 2\\.2**",
"x-openstack": {
"min-ver": "2.2"
}
},
"private_key": {
"type": "string",
"description": "If you do not provide a public key on create, a new keypair will\nbe built for you, and the private key will be returned during the\ninitial create call. Make sure to save this, as there is no way to\nget this private key again in the future.\n\n\n**Available until version 2\\.91**",
"x-openstack": {
"max-ver": "2.91"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
keypair |
body |
object |
Keypair object |
keypair.user_id |
body |
string |
The user_id for a keypair. |
keypair.deleted |
body |
boolean |
A boolean indicates whether this keypair is deleted or not. The value is always false (not deleted). |
keypair.created_at |
body |
string |
The date and time when the resource was created. |
keypair.deleted_at |
body |
[‘string’, ‘null’] |
It is always null. |
keypair.updated_at |
body |
[‘string’, ‘null’] |
It is always null. |
keypair.id |
body |
integer |
The keypair ID. |
keypair.name |
body |
string |
The name for the keypair. |
keypair.public_key |
body |
string |
The keypair public key. |
keypair.fingerprint |
body |
string |
The fingerprint for the keypair. |
keypair.type |
body |
string |
The type of the keypair. Allowed values are New in version 2.2 |
keypair.private_key |
body |
string |
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. Available until version 2.91 |
400¶
Error
403¶
Error
409¶
Error
Show Keypair Details¶
Shows details for a keypair that is associated with the account.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Keypair object",
"properties": {
"keypair": {
"type": "object",
"description": "Keypair object",
"properties": {
"user_id": {
"type": "string",
"description": "The user_id for a keypair."
},
"deleted": {
"type": "boolean",
"description": "A boolean indicates whether this keypair is deleted or not.\nThe value is always `false` (not deleted)."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "It is always `null`."
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "It is always `null`."
},
"id": {
"type": "integer",
"description": "The keypair ID."
},
"name": {
"type": "string",
"description": "The name for the keypair."
},
"public_key": {
"type": "string",
"description": "The keypair public key."
},
"fingerprint": {
"type": "string",
"description": "The fingerprint for the keypair."
},
"type": {
"type": "string",
"description": "The type of the keypair. Allowed values are `ssh` or `x509`.\n\n\n**New in version 2\\.2**",
"x-openstack": {
"min-ver": "2.2"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
keypair |
body |
object |
Keypair object |
keypair.user_id |
body |
string |
The user_id for a keypair. |
keypair.deleted |
body |
boolean |
A boolean indicates whether this keypair is deleted or not.
The value is always |
keypair.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
keypair.deleted_at |
body |
[‘string’, ‘null’] |
It is always |
keypair.updated_at |
body |
[‘string’, ‘null’] |
It is always |
keypair.id |
body |
integer |
The keypair ID. |
keypair.name |
body |
string |
The name for the keypair. |
keypair.public_key |
body |
string |
The keypair public key. |
keypair.fingerprint |
body |
string |
The fingerprint for the keypair. |
keypair.type |
body |
string |
The type of the keypair. Allowed values are New in version 2.2 |
404¶
Error
Delete Keypair¶
os-migrations¶
List Migrations¶
Lists migrations.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through the
policy.json
file.
Starting from microversion 2.59, the response is sorted by created_at
and id
in descending order.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "List of migration objects",
"properties": {
"migrations": {
"type": "array",
"items": {
"type": "object",
"description": "Migration object",
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"dest_compute": {
"type": "string",
"description": "The target compute for a migration."
},
"dest_host": {
"type": "string",
"description": "The target host for a migration."
},
"dest_node": {
"type": "string",
"description": "The target node for a migration."
},
"id": {
"type": "integer",
"description": "The ID of the server migration."
},
"instance_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
},
"new_instance_type_id": {
"type": "integer",
"description": "In `resize` case, the flavor ID for resizing the server.\nIn the other cases, this parameter is same as the flavor ID\nof the server when the migration was started.\n\n\n\nNote\n\n\nThis is an internal ID and is not exposed in any other API.\nIn particular, this is not the ID specified or automatically generated\nduring flavor creation or returned via the `GET /flavors` API."
},
"old_instance_type_id": {
"type": "integer",
"description": "The flavor ID of the server when the migration was started.\n\n\n\nNote\n\n\nThis is an internal ID and is not exposed in any other API.\nIn particular, this is not the ID specified or automatically generated\nduring flavor creation or returned via the `GET /flavors` API."
},
"source_compute": {
"type": "string",
"description": "The source compute for a migration."
},
"source_node": {
"type": "string",
"description": "The source node for a migration."
},
"status": {
"type": "string",
"description": "The current status of the migration."
},
"project_id": {
"type": [
"string",
"null"
],
"description": "The ID of the project which initiated the server migration. The value\nmay be `null` for older migration records.\n\n\n**New in version 2\\.80**",
"x-openstack": {
"min-ver": "2.80"
}
},
"user_id": {
"type": [
"string",
"null"
],
"description": "The ID of the user which initiated the server migration. The value\nmay be `null` for older migration records.\n\n\n**New in version 2\\.80**",
"x-openstack": {
"min-ver": "2.80"
}
},
"migration_type": {
"type": "string",
"enum": [
"live-migration",
"migration",
"resize"
],
"description": "The type of the server migration. This is one of `live-migration`,\n`migration`, `resize` and `evacuation`.\n\n\n**New in version 2\\.23**",
"x-openstack": {
"min-ver": "2.23"
}
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the migration.\n\n\n**New in version 2\\.59**",
"x-openstack": {
"min-ver": "2.59"
}
}
}
},
"description": "The list of server migration objects."
},
"migrations_links": {
"x-openstack": {
"min-ver": "2.59"
},
"type": "array",
"description": "Links pertaining to the migration.\nThis parameter is returned when paging and more data is available.\nSee [Paginated collections](https://docs.openstack.org/api-guide/compute/paginated_collections.html)\nfor more info.\n\n\n**New in version 2\\.59**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
migrations |
body |
array |
The list of server migration objects. |
migrations[].created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
migrations[].updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
migrations[].dest_compute |
body |
string |
The target compute for a migration. |
migrations[].dest_host |
body |
string |
The target host for a migration. |
migrations[].dest_node |
body |
string |
The target node for a migration. |
migrations[].id |
body |
integer |
The ID of the server migration. |
migrations[].instance_uuid |
body |
string |
The UUID of the server. |
migrations[].new_instance_type_id |
body |
integer |
In Note This is an internal ID and is not exposed in any other API.
In particular, this is not the ID specified or automatically generated
during flavor creation or returned via the |
migrations[].old_instance_type_id |
body |
integer |
The flavor ID of the server when the migration was started. Note This is an internal ID and is not exposed in any other API.
In particular, this is not the ID specified or automatically generated
during flavor creation or returned via the |
migrations[].source_compute |
body |
string |
The source compute for a migration. |
migrations[].source_node |
body |
string |
The source node for a migration. |
migrations[].status |
body |
string |
The current status of the migration. |
migrations[].project_id |
body |
[‘string’, ‘null’] |
The ID of the project which initiated the server migration. The value
may be New in version 2.80 |
migrations[].user_id |
body |
[‘string’, ‘null’] |
The ID of the user which initiated the server migration. The value
may be New in version 2.80 |
migrations[].migration_type |
body |
string |
The type of the server migration. This is one of New in version 2.23 |
migrations[].uuid |
body |
string |
The UUID of the migration. New in version 2.59 |
migrations_links |
body |
array |
Links pertaining to the migration. This parameter is returned when paging and more data is available. See Paginated collections for more info. New in version 2.59 |
migrations_links[].href |
body |
string |
|
migrations_links[].rel |
body |
string |
400¶
Error
os-networks¶
List Networks¶
Lists networks for the project.
Policy defaults enable all users to perform this operation. Cloud
providers can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-networks:get operation"
}
Create Network¶
Creates a network.
Policy defaults enable only users with the administrative role or the
owner of the network to perform this operation. Cloud providers can change
these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409), gone(410), notImplemented(501)
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-networks:post operation"
}
410¶
Error
Add Network¶
Adds a network to a project.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through the
policy.json
file.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), gone(410), notImplemented(501)
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-networks/add:post operation"
}
410¶
Error
Show Network Details¶
Shows details for a network.
Policy defaults enable all users to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-networks/id:get operation"
}
404¶
Error
Delete Network¶
Deletes a network.
Policy defaults enable only users with the administrative role or the
owner of the network to perform this operation. Cloud providers can change
these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), gone(410)
Responses¶
204¶
Ok
410¶
Error
`disassociate` action¶
Empty body for disassociate action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-networks/{id}/action API |
disassociate |
body |
null |
{
"type": "object",
"description": "Empty body for disassociate action",
"properties": {
"disassociate": {
"type": "null"
}
},
"x-openstack": {
"action-name": "disassociate"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-networks/id/action:post:disassociate action",
"x-openstack": {
"action-name": "disassociate"
}
}
410¶
Error
`disassociate_host` action¶
Empty body for disassociate_host action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-networks/{id}/action API |
disassociate_host |
body |
null |
{
"type": "object",
"description": "Empty body for disassociate_host action",
"properties": {
"disassociate_host": {
"type": "null"
}
},
"x-openstack": {
"action-name": "disassociate_host"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-networks/id/action:post:disassociate_host action",
"x-openstack": {
"action-name": "disassociate_host"
}
}
410¶
Error
`disassociate_project` action¶
Empty body for disassociate_project action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-networks/{id}/action API |
disassociate_project |
body |
null |
{
"type": "object",
"description": "Empty body for disassociate_project action",
"properties": {
"disassociate_project": {
"type": "null"
}
},
"x-openstack": {
"action-name": "disassociate_project"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-networks/id/action:post:disassociate_project action",
"x-openstack": {
"action-name": "disassociate_project"
}
}
410¶
Error
`associate_host` action¶
Empty body for associate_host action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-networks/{id}/action API |
associate_host |
body |
null |
{
"type": "object",
"description": "Empty body for associate_host action",
"properties": {
"associate_host": {
"type": "null"
}
},
"x-openstack": {
"action-name": "associate_host"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-networks/id/action:post:associate_host action",
"x-openstack": {
"action-name": "associate_host"
}
}
410¶
Error
quota-class-sets-os-quota-class-sets¶
Show, Create or Update the quotas for a Quota Class. Nova supports implicit ‘default’ Quota Class only.
Show the quota for Quota Class¶
Show the quota for the Quota Class.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"quota_class_set": {
"type": "object",
"description": "A `quota_class_set` object.",
"properties": {
"id": {
"type": "string",
"description": "The ID of the quota class.\nNova supports the `default` Quota Class only."
},
"instances": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"cores": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"ram": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"floating_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"fixed_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"metadata_items": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"key_pairs": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_group_rules": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_files": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_content_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_path_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_group_members": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"networks": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
quota_class_set |
body |
object |
A |
quota_class_set.id |
body |
string |
The ID of the quota class.
Nova supports the |
quota_class_set.instances |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.cores |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.ram |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.floating_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.fixed_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.metadata_items |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.key_pairs |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.security_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.security_group_rules |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.injected_files |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.injected_file_content_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.injected_file_path_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.server_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.server_group_members |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.networks |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
Create or Update Quotas for Quota Class¶
Update the quotas for the Quota Class.
If the requested Quota Class is not found in the DB, then the API will create the one. Only ‘default’ quota class is valid and used to set the default quotas, all other quota class would not be used anywhere.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-quota-class-sets/{id} API |
quota_class_set |
body |
object |
A |
quota_class_set.instances |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.cores |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.ram |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.floating_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.fixed_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.metadata_items |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.key_pairs |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.security_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.security_group_rules |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.injected_files |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.injected_file_content_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.injected_file_path_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.server_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.server_group_members |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_class_set.networks |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
{
"type": "object",
"properties": {
"quota_class_set": {
"type": "object",
"description": "A `quota_class_set` object.",
"properties": {
"instances": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"cores": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"ram": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"floating_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"fixed_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"metadata_items": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"key_pairs": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_group_rules": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_files": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_content_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_path_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_group_members": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"networks": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.49"
},
"required": [
"quota_class_set"
]
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-quota-class-sets/id:put operation"
}
400¶
Error
quota-sets-os-quota-sets¶
Permits administrators, depending on policy settings, to view default quotas, view details for quotas, revert quotas to defaults, and update the quotas for a project or a project and user.
Show A Quota¶
Show the quota for a project or a project and a user.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"quota_set": {
"type": "object",
"description": "A `quota_set` object.",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant/user the quotas listed for."
},
"instances": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"cores": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"ram": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"floating_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"fixed_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"metadata_items": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"key_pairs": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_group_rules": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_files": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_content_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_path_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_group_members": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"networks": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
quota_set |
body |
object |
A |
quota_set.id |
body |
string |
The UUID of the tenant/user the quotas listed for. |
quota_set.instances |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.cores |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.ram |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.floating_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.fixed_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.metadata_items |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.key_pairs |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.security_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.security_group_rules |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.injected_files |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.injected_file_content_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.injected_file_path_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.server_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.server_group_members |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.networks |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
400¶
Error
Update Quotas¶
Update the quotas for a project or a project and a user.
Users can force the update even if the quota has already been used and
the reserved quota exceeds the new quota. To force the update, specify
the "force": True
attribute in the request body, the default value
is false
.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
user_id |
query |
string |
ID of user to set the quotas for. |
id |
path |
string |
id parameter for /v2.1/os-quota-sets/{id} API |
quota_set |
body |
object |
A |
quota_set.instances |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.cores |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.ram |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.floating_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.fixed_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.metadata_items |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.key_pairs |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.security_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.security_group_rules |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.injected_files |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.injected_file_content_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.injected_file_path_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.server_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.server_group_members |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.networks |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for each tenant. Available until version 2.56 |
quota_set.force |
body |
[‘boolean’, ‘string’] |
You can force the update even if the quota has already been used and the reserved
quota exceeds the new quota. To force the update, specify the |
{
"type": "object",
"properties": {
"quota_set": {
"type": "object",
"description": "A `quota_set` object.",
"properties": {
"instances": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"cores": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"ram": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"floating_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"fixed_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"metadata_items": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"key_pairs": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"security_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"security_group_rules": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"injected_files": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"injected_file_content_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"injected_file_path_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"server_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"server_group_members": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"networks": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for each tenant.\n\n\n**Available until version 2\\.56**"
},
"force": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "You can force the update even if the quota has already been used and the reserved\nquota exceeds the new quota. To force the update, specify the `\"force\": \"True\"`.\nDefault is `False`."
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.35"
},
"required": [
"quota_set"
]
}
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"quota_set": {
"type": "object",
"description": "A `quota_set` object.",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant/user the quotas listed for."
},
"instances": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"cores": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"ram": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"floating_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"fixed_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"metadata_items": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"key_pairs": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_group_rules": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_files": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_content_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_path_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_group_members": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"networks": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
quota_set |
body |
object |
A |
quota_set.id |
body |
string |
The UUID of the tenant/user the quotas listed for. |
quota_set.instances |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.cores |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.ram |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.floating_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.fixed_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.metadata_items |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.key_pairs |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.security_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.security_group_rules |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.injected_files |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.injected_file_content_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.injected_file_path_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.server_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.server_group_members |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.networks |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
400¶
Error
Revert Quotas To Defaults¶
Show The Detail of Quota¶
Show the detail of quota for a project or a project and a user.
To show a quota for a project and a user, specify the user_id
query parameter.
Normal response codes: 200
Error response codes: badrequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"quota_set": {
"type": "object",
"description": "A `quota_set` object.",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant/user the quotas listed for."
},
"instances": {
"type": "object",
"description": "The object of detailed servers quota, including in_use, limit and\nreserved number of instances.",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
}
},
"cores": {
"type": "object",
"description": "The object of detailed cores quota, including in_use, limit and\nreserved number of cores.",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
}
},
"ram": {
"type": "object",
"description": "The object of detailed key ram quota, including in_use,\nlimit and reserved number of ram.",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
}
},
"floating_ips": {
"type": "object",
"description": "The object of detailed floating ips quota, including in_use, limit and\nreserved number of floating ips.\n\n\n**Available until version 2\\.35**",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
},
"x-openstack": {
"max-ver": "2.35"
}
},
"fixed_ips": {
"type": "object",
"description": "The object of detailed fixed ips quota, including in_use, limit and\nreserved number of fixed ips.\n\n\n**Available until version 2\\.35**",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
},
"x-openstack": {
"max-ver": "2.35"
}
},
"metadata_items": {
"type": "object",
"description": "The object of detailed key metadata items quota, including in_use,\nlimit and reserved number of metadata items.",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
}
},
"key_pairs": {
"type": "object",
"description": "The object of detailed key pairs quota, including in_use, limit and\nreserved number of key pairs.\n\n\n\nNote\n\n\n`in_use` field value for keypair quota details is always\nzero. In Nova, key_pairs are a user\\-level resource, not a project\\-\nlevel resource, so for legacy reasons, the keypair in\\-use information\nis not counted.",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
}
},
"security_groups": {
"type": "object",
"description": "The object of detailed security groups, including in_use,\nlimit and reserved number of security groups.\n\n\n**Available until version 2\\.35**",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
},
"x-openstack": {
"max-ver": "2.35"
}
},
"security_group_rules": {
"type": "object",
"description": "The object of detailed security group rules quota, including in_use,\nlimit and reserved number of security group rules.\n\n\n**Available until version 2\\.35**",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
},
"x-openstack": {
"max-ver": "2.35"
}
},
"injected_files": {
"type": "object",
"description": "The object of detailed injected files quota, including in_use, limit and\nreserved number of injected files.\n\n\n**Available until version 2\\.56**",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
},
"x-openstack": {
"max-ver": "2.56"
}
},
"injected_files_content_bytes": {
"type": "object",
"description": "The object of detailed injected file content bytes quota, including in_use, limit and reserved number of injected file content bytes.",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
},
"x-openstack": {
"max-ver": "2.56"
}
},
"injected_files_path_bytes": {
"type": "object",
"description": "The object of detailed injected file path bytes quota, including in_use, limit and reserved number of injected file path bytes.",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
},
"x-openstack": {
"max-ver": "2.56"
}
},
"server_groups": {
"type": "object",
"description": "The object of detailed server groups, including in_use,\nlimit and reserved number of server groups.",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
}
},
"server_group_members": {
"type": "object",
"description": "The object of detailed server group members, including in_use,\nlimit and reserved number of server group members.",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
}
},
"networks": {
"type": "object",
"description": "The number of private networks that can be created per project.\n\n\n**Available until version 2\\.35**",
"properties": {
"in_use": {
"type": "integer"
},
"limit": {
"type": "integer"
},
"reserved": {
"type": "integer"
}
},
"x-openstack": {
"max-ver": "2.35"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
quota_set |
body |
object |
A |
quota_set.id |
body |
string |
The UUID of the tenant/user the quotas listed for. |
quota_set.instances |
body |
object |
The object of detailed servers quota, including in_use, limit and reserved number of instances. |
quota_set.instances.in_use |
body |
integer |
|
quota_set.instances.limit |
body |
integer |
|
quota_set.instances.reserved |
body |
integer |
|
quota_set.cores |
body |
object |
The object of detailed cores quota, including in_use, limit and reserved number of cores. |
quota_set.cores.in_use |
body |
integer |
|
quota_set.cores.limit |
body |
integer |
|
quota_set.cores.reserved |
body |
integer |
|
quota_set.ram |
body |
object |
The object of detailed key ram quota, including in_use, limit and reserved number of ram. |
quota_set.ram.in_use |
body |
integer |
|
quota_set.ram.limit |
body |
integer |
|
quota_set.ram.reserved |
body |
integer |
|
quota_set.floating_ips |
body |
object |
The object of detailed floating ips quota, including in_use, limit and reserved number of floating ips. Available until version 2.35 |
quota_set.floating_ips.in_use |
body |
integer |
|
quota_set.floating_ips.limit |
body |
integer |
|
quota_set.floating_ips.reserved |
body |
integer |
|
quota_set.fixed_ips |
body |
object |
The object of detailed fixed ips quota, including in_use, limit and reserved number of fixed ips. Available until version 2.35 |
quota_set.fixed_ips.in_use |
body |
integer |
|
quota_set.fixed_ips.limit |
body |
integer |
|
quota_set.fixed_ips.reserved |
body |
integer |
|
quota_set.metadata_items |
body |
object |
The object of detailed key metadata items quota, including in_use, limit and reserved number of metadata items. |
quota_set.metadata_items.in_use |
body |
integer |
|
quota_set.metadata_items.limit |
body |
integer |
|
quota_set.metadata_items.reserved |
body |
integer |
|
quota_set.key_pairs |
body |
object |
The object of detailed key pairs quota, including in_use, limit and reserved number of key pairs. Note
|
quota_set.key_pairs.in_use |
body |
integer |
|
quota_set.key_pairs.limit |
body |
integer |
|
quota_set.key_pairs.reserved |
body |
integer |
|
quota_set.security_groups |
body |
object |
The object of detailed security groups, including in_use, limit and reserved number of security groups. Available until version 2.35 |
quota_set.security_groups.in_use |
body |
integer |
|
quota_set.security_groups.limit |
body |
integer |
|
quota_set.security_groups.reserved |
body |
integer |
|
quota_set.security_group_rules |
body |
object |
The object of detailed security group rules quota, including in_use, limit and reserved number of security group rules. Available until version 2.35 |
quota_set.security_group_rules.in_use |
body |
integer |
|
quota_set.security_group_rules.limit |
body |
integer |
|
quota_set.security_group_rules.reserved |
body |
integer |
|
quota_set.injected_files |
body |
object |
The object of detailed injected files quota, including in_use, limit and reserved number of injected files. Available until version 2.56 |
quota_set.injected_files.in_use |
body |
integer |
|
quota_set.injected_files.limit |
body |
integer |
|
quota_set.injected_files.reserved |
body |
integer |
|
quota_set.injected_files_content_bytes |
body |
object |
The object of detailed injected file content bytes quota, including in_use, limit and reserved number of injected file content bytes. |
quota_set.injected_files_content_bytes.in_use |
body |
integer |
|
quota_set.injected_files_content_bytes.limit |
body |
integer |
|
quota_set.injected_files_content_bytes.reserved |
body |
integer |
|
quota_set.injected_files_path_bytes |
body |
object |
The object of detailed injected file path bytes quota, including in_use, limit and reserved number of injected file path bytes. |
quota_set.injected_files_path_bytes.in_use |
body |
integer |
|
quota_set.injected_files_path_bytes.limit |
body |
integer |
|
quota_set.injected_files_path_bytes.reserved |
body |
integer |
|
quota_set.server_groups |
body |
object |
The object of detailed server groups, including in_use, limit and reserved number of server groups. |
quota_set.server_groups.in_use |
body |
integer |
|
quota_set.server_groups.limit |
body |
integer |
|
quota_set.server_groups.reserved |
body |
integer |
|
quota_set.server_group_members |
body |
object |
The object of detailed server group members, including in_use, limit and reserved number of server group members. |
quota_set.server_group_members.in_use |
body |
integer |
|
quota_set.server_group_members.limit |
body |
integer |
|
quota_set.server_group_members.reserved |
body |
integer |
|
quota_set.networks |
body |
object |
The number of private networks that can be created per project. Available until version 2.35 |
quota_set.networks.in_use |
body |
integer |
|
quota_set.networks.limit |
body |
integer |
|
quota_set.networks.reserved |
body |
integer |
400¶
Error
List Default Quotas For Tenant¶
Lists the default quotas for a project.
Normal response codes: 200
Error response codes: badrequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"quota_set": {
"type": "object",
"description": "A `quota_set` object.",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant/user the quotas listed for."
},
"instances": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"cores": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"ram": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"floating_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"fixed_ips": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"metadata_items": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"key_pairs": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"security_group_rules": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_files": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_content_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"injected_file_path_bytes": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_groups": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"server_group_members": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
},
"networks": {
"type": [
"integer",
"string"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"maximum": 2147483647,
"description": "The number of allowed injected files for the quota class.\n\n\n**Available until version 2\\.56**"
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
quota_set |
body |
object |
A |
quota_set.id |
body |
string |
The UUID of the tenant/user the quotas listed for. |
quota_set.instances |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.cores |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.ram |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.floating_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.fixed_ips |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.metadata_items |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.key_pairs |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.security_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.security_group_rules |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.injected_files |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.injected_file_content_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.injected_file_path_bytes |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.server_groups |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.server_group_members |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
quota_set.networks |
body |
[‘integer’, ‘string’] |
The number of allowed injected files for the quota class. Available until version 2.56 |
400¶
Error
os-security-group-default-rules¶
List Default Security Group Rules¶
Lists default security group rules.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), gone(410), notImplemented(501)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-security-group-default-rules:get operation"
}
410¶
Error
Create Default Security Group Rule¶
Creates a default security group rule.
If you specify a source port ( from_port
) or destination port ( to_port
) value, you must specify an
IP protocol ( ip_protocol
) value. Otherwise, the operation returns the Bad Request (400)
response code.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409), gone(410), notImplemented(501)
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-security-group-default-rules:post operation"
}
410¶
Error
Show Default Security Group Rule Details¶
Shows details for a security group rule.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), gone(410), notImplemented(501)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-security-group-default-rules/id:get operation"
}
410¶
Error
Delete Default Security Group Rule¶
os-security-group-rules¶
Create Security Group Rule¶
Creates a rule for a security group. Either cidr
or group_id
must be
specified when creating a rule.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
security_group_rule |
body |
object |
A |
security_group_rule.parent_group_id |
body |
string |
Security group ID. |
{
"type": "object",
"properties": {
"security_group_rule": {
"type": "object",
"description": "A `security_group_rule` object.",
"properties": {
"group_id": {
"oneOf": [
{
"type": "null"
},
{
"type": "string",
"format": "uuid"
}
],
"description": "The source security group ID."
},
"parent_group_id": {
"type": "string",
"format": "uuid",
"description": "Security group ID."
},
"to_port": {},
"from_port": {},
"ip_protocol": {},
"cidr": {}
},
"additionalProperties": true,
"required": [
"parent_group_id"
]
}
},
"additionalProperties": true,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.35"
},
"required": [
"security_group_rule"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-security-group-rules:post operation"
}
400¶
Error
403¶
Error
404¶
Error
Delete Security Group Rule¶
os-security-groups¶
List Security Groups¶
Create Security Group¶
Creates a security group.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
security_group |
body |
object |
Specify the |
security_group.name |
body |
string |
The security group name. |
security_group.description |
body |
string |
Security group description. |
{
"type": "object",
"properties": {
"security_group": {
"type": "object",
"description": "Specify the `security_group` action in the request body.",
"properties": {
"name": {
"type": "string",
"minLength": 0,
"maxLength": 255,
"description": "The security group name."
},
"description": {
"type": "string",
"minLength": 0,
"maxLength": 255,
"description": "Security group description."
}
},
"additionalProperties": true,
"required": [
"name",
"description"
]
}
},
"additionalProperties": true,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.35"
},
"required": [
"security_group"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-security-groups:post operation"
}
400¶
Error
403¶
Error
Show Security Group Details¶
Update Security Group¶
Updates a security group.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-security-groups/{id} API |
security_group |
body |
object |
|
security_group.name |
body |
string |
The security group name. |
security_group.description |
body |
string |
Security group description. |
{
"type": "object",
"properties": {
"security_group": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 0,
"maxLength": 255,
"description": "The security group name."
},
"description": {
"type": "string",
"minLength": 0,
"maxLength": 255,
"description": "Security group description."
}
},
"additionalProperties": true,
"required": [
"name",
"description"
]
}
},
"additionalProperties": true,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.35"
},
"required": [
"security_group"
]
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-security-groups/id:put operation"
}
400¶
Error
404¶
Error
Delete Security Group¶
os-server-external-events¶
Run Events¶
Creates one or more external events, which the API dispatches to the host a server is assigned to. If the server is not currently assigned to a host the event will not be delivered.
You will receive back the list of events that you submitted, with an
updated code
and status
indicating their level of success.
Normal response codes: 200, 207
A 200 will be returned if all events succeeded, 207 will be returned
if any events could not be processed. The code
attribute for the
event will explain further what went wrong.
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
events |
body |
array |
List of external events to process. |
events[].server_uuid |
body |
string |
The UUID of the server instance to which the API dispatches the event. You must assign this instance to a host. Otherwise, this call does not dispatch the event to the instance. |
events[].name |
body |
string |
The event name. A valid value is:
|
events[].status |
body |
string |
The event status. A valid value is |
events[].tag |
body |
string |
A string value that identifies the event. Certain types of events require specific tags:
|
events |
body |
array |
List of external events to process. |
events |
body |
array |
List of external events to process. |
events |
body |
array |
List of external events to process. |
events |
body |
array |
List of external events to process. |
{
"oneOf": [
{
"type": "object",
"properties": {
"events": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"server_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server instance to which the API dispatches the event. You must\nassign this instance to a host. Otherwise, this call does not dispatch the event\nto the instance."
},
"name": {
"type": "string",
"enum": [
"network-changed",
"network-vif-plugged",
"network-vif-unplugged",
"network-vif-deleted"
],
"description": "The event name. A valid value is:\n\n\n* `network-changed`\n* `network-vif-plugged`\n* `network-vif-unplugged`\n* `network-vif-deleted`\n* `volume-extended` (since microversion `2.51`)\n* `power-update` (since microversion `2.76`)\n* `accelerator-request-bound` (since microversion `2.82`)"
},
"status": {
"type": "string",
"enum": [
"failed",
"completed",
"in-progress"
],
"description": "The event status. A valid value is `failed`, `completed`, or `in-progress`.\nDefault is `completed`."
},
"tag": {
"type": "string",
"maxLength": 255,
"description": "A string value that identifies the event. Certain types of events require\nspecific tags:\n\n\n* For the `accelerator-request-bound` event, the tag must be\nthe accelerator request UUID.\n* For the `power-update` event the tag must be either be `POWER_ON`\nor `POWER_OFF`.\n* For the `volume-extended` event the tag must be the volume id."
}
},
"required": [
"server_uuid",
"name"
],
"additionalProperties": false
},
"description": "List of external events to process."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.50"
},
"required": [
"events"
]
},
{
"type": "object",
"properties": {
"events": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"server_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server instance to which the API dispatches the event. You must\nassign this instance to a host. Otherwise, this call does not dispatch the event\nto the instance."
},
"name": {
"type": "string",
"enum": [
"network-changed",
"network-vif-plugged",
"network-vif-unplugged",
"network-vif-deleted",
"volume-extended"
],
"description": "The event name. A valid value is:\n\n\n* `network-changed`\n* `network-vif-plugged`\n* `network-vif-unplugged`\n* `network-vif-deleted`\n* `volume-extended` (since microversion `2.51`)\n* `power-update` (since microversion `2.76`)\n* `accelerator-request-bound` (since microversion `2.82`)"
},
"status": {
"type": "string",
"enum": [
"failed",
"completed",
"in-progress"
],
"description": "The event status. A valid value is `failed`, `completed`, or `in-progress`.\nDefault is `completed`."
},
"tag": {
"type": "string",
"maxLength": 255,
"description": "A string value that identifies the event. Certain types of events require\nspecific tags:\n\n\n* For the `accelerator-request-bound` event, the tag must be\nthe accelerator request UUID.\n* For the `power-update` event the tag must be either be `POWER_ON`\nor `POWER_OFF`.\n* For the `volume-extended` event the tag must be the volume id."
}
},
"required": [
"server_uuid",
"name"
],
"additionalProperties": false
},
"description": "List of external events to process."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.51",
"max-ver": "2.75"
},
"required": [
"events"
]
},
{
"type": "object",
"properties": {
"events": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"server_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server instance to which the API dispatches the event. You must\nassign this instance to a host. Otherwise, this call does not dispatch the event\nto the instance."
},
"name": {
"type": "string",
"enum": [
"network-changed",
"network-vif-plugged",
"network-vif-unplugged",
"network-vif-deleted",
"volume-extended",
"power-update"
],
"description": "The event name. A valid value is:\n\n\n* `network-changed`\n* `network-vif-plugged`\n* `network-vif-unplugged`\n* `network-vif-deleted`\n* `volume-extended` (since microversion `2.51`)\n* `power-update` (since microversion `2.76`)\n* `accelerator-request-bound` (since microversion `2.82`)"
},
"status": {
"type": "string",
"enum": [
"failed",
"completed",
"in-progress"
],
"description": "The event status. A valid value is `failed`, `completed`, or `in-progress`.\nDefault is `completed`."
},
"tag": {
"type": "string",
"maxLength": 255,
"description": "A string value that identifies the event. Certain types of events require\nspecific tags:\n\n\n* For the `accelerator-request-bound` event, the tag must be\nthe accelerator request UUID.\n* For the `power-update` event the tag must be either be `POWER_ON`\nor `POWER_OFF`.\n* For the `volume-extended` event the tag must be the volume id."
}
},
"required": [
"server_uuid",
"name"
],
"additionalProperties": false
},
"description": "List of external events to process."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.76",
"max-ver": "2.81"
},
"required": [
"events"
]
},
{
"type": "object",
"properties": {
"events": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"server_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server instance to which the API dispatches the event. You must\nassign this instance to a host. Otherwise, this call does not dispatch the event\nto the instance."
},
"name": {
"type": "string",
"enum": [
"network-changed",
"network-vif-plugged",
"network-vif-unplugged",
"network-vif-deleted",
"volume-extended",
"power-update",
"accelerator-request-bound"
],
"description": "The event name. A valid value is:\n\n\n* `network-changed`\n* `network-vif-plugged`\n* `network-vif-unplugged`\n* `network-vif-deleted`\n* `volume-extended` (since microversion `2.51`)\n* `power-update` (since microversion `2.76`)\n* `accelerator-request-bound` (since microversion `2.82`)"
},
"status": {
"type": "string",
"enum": [
"failed",
"completed",
"in-progress"
],
"description": "The event status. A valid value is `failed`, `completed`, or `in-progress`.\nDefault is `completed`."
},
"tag": {
"type": "string",
"maxLength": 255,
"description": "A string value that identifies the event. Certain types of events require\nspecific tags:\n\n\n* For the `accelerator-request-bound` event, the tag must be\nthe accelerator request UUID.\n* For the `power-update` event the tag must be either be `POWER_ON`\nor `POWER_OFF`.\n* For the `volume-extended` event the tag must be the volume id."
}
},
"required": [
"server_uuid",
"name"
],
"additionalProperties": false
},
"description": "List of external events to process."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.82",
"max-ver": "2.92"
},
"required": [
"events"
]
},
{
"type": "object",
"properties": {
"events": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"server_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server instance to which the API dispatches the event. You must\nassign this instance to a host. Otherwise, this call does not dispatch the event\nto the instance."
},
"name": {
"type": "string",
"enum": [
"network-changed",
"network-vif-plugged",
"network-vif-unplugged",
"network-vif-deleted",
"volume-extended",
"power-update",
"accelerator-request-bound",
"volume-reimaged"
],
"description": "The event name. A valid value is:\n\n\n* `network-changed`\n* `network-vif-plugged`\n* `network-vif-unplugged`\n* `network-vif-deleted`\n* `volume-extended` (since microversion `2.51`)\n* `power-update` (since microversion `2.76`)\n* `accelerator-request-bound` (since microversion `2.82`)"
},
"status": {
"type": "string",
"enum": [
"failed",
"completed",
"in-progress"
],
"description": "The event status. A valid value is `failed`, `completed`, or `in-progress`.\nDefault is `completed`."
},
"tag": {
"type": "string",
"maxLength": 255,
"description": "A string value that identifies the event. Certain types of events require\nspecific tags:\n\n\n* For the `accelerator-request-bound` event, the tag must be\nthe accelerator request UUID.\n* For the `power-update` event the tag must be either be `POWER_ON`\nor `POWER_OFF`.\n* For the `volume-extended` event the tag must be the volume id."
}
},
"required": [
"server_uuid",
"name"
],
"additionalProperties": false
},
"description": "List of external events to process."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.93"
},
"required": [
"events"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"events": {
"description": "List of external events to process.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"network-changed",
"network-vif-plugged",
"network-vif-unplugged",
"network-vif-deleted",
"volume-extended",
"power-update",
"accelerator-request-bound"
],
"description": "The event name. A valid value is:\n\n\n* `network-changed`\n* `network-vif-plugged`\n* `network-vif-unplugged`\n* `network-vif-deleted`\n* `volume-extended` (since microversion `2.51`)\n* `power-update` (since microversion `2.76`)\n* `accelerator-request-bound` (since microversion `2.82`)"
},
"server_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server instance to which the API dispatches the event. You must\nassign this instance to a host. Otherwise, this call does not dispatch the event\nto the instance."
},
"status": {
"type": "string",
"enum": [
"failed",
"completed",
"in-progress"
],
"description": "The event status. A valid value is `failed`, `completed`, or `in-progress`.\nDefault is `completed`."
},
"tag": {
"type": "string",
"description": "A string value that identifies the event. Certain types of events require\nspecific tags:\n\n\n* For the `accelerator-request-bound` event, the tag must be\nthe accelerator request UUID.\n* For the `power-update` event the tag must be either be `POWER_ON`\nor `POWER_OFF`.\n* For the `volume-extended` event the tag must be the volume id."
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
events |
body |
array |
List of external events to process. |
events[].name |
body |
string |
The event name. A valid value is:
|
events[].server_uuid |
body |
string |
The UUID of the server instance to which the API dispatches the event. You must assign this instance to a host. Otherwise, this call does not dispatch the event to the instance. |
events[].status |
body |
string |
The event status. A valid value is |
events[].tag |
body |
string |
A string value that identifies the event. Certain types of events require specific tags:
|
403¶
Error
os-server-groups¶
List Server Groups¶
Lists all server groups for the tenant.
Administrative users can use the all_projects
query parameter to list all server groups for all projects.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"server_groups": {
"description": "The list of existing server groups.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server group.",
"readOnly": true
},
"members": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of members in the server group."
},
"metadata": {
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes. It\u2019s always empty and only used for keeping compatibility.\n\n\n**Available until version 2\\.63**",
"x-openstack": {
"max-ver": "2.63"
},
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false
},
"name": {
"type": "string",
"description": "The name of the server group."
},
"policies": {
"type": "array",
"items": {
"type": "string",
"enum": [
"anti-affinity",
"affinity",
"soft-anti-affinity",
"soft-affinity"
]
},
"description": "A list of exactly one policy name to associate with the server group. The\ncurrent valid policy names are:\n\n\n* `anti-affinity` \\- servers in this group must be scheduled to\ndifferent hosts.\n* `affinity` \\- servers in this group must be scheduled to the same host.\n* `soft-anti-affinity` \\- servers in this group should be scheduled to\ndifferent hosts if possible, but if not possible then they should still\nbe scheduled instead of resulting in a build failure. This policy was\nadded in microversion 2\\.15\\.\n* `soft-affinity` \\- servers in this group should be scheduled to the same\nhost if possible, but if not possible then they should still be scheduled\ninstead of resulting in a build failure. This policy was added in\nmicroversion 2\\.15\\.\n\n\n**Available until version 2\\.63**",
"maxItems": 1,
"x-openstack": {
"max-ver": "2.63"
}
},
"policy": {
"type": "string",
"description": "The `policy` field represents the name of the policy. The current\nvalid policy names are:\n\n\n* `anti-affinity` \\- servers in this group must be scheduled to\ndifferent hosts.\n* `affinity` \\- servers in this group must be scheduled to the same host.\n* `soft-anti-affinity` \\- servers in this group should be scheduled to\ndifferent hosts if possible, but if not possible then they should still\nbe scheduled instead of resulting in a build failure.\n* `soft-affinity` \\- servers in this group should be scheduled to the same\nhost if possible, but if not possible then they should still be scheduled\ninstead of resulting in a build failure.\n\n\n**New in version 2\\.64**",
"enum": [
"anti-affinity",
"affinity",
"soft-anti-affinity",
"soft-affinity"
],
"x-openstack": {
"min-ver": "2.64"
}
},
"project_id": {
"type": "string",
"description": "The project ID who owns the server group.\n\n\n**New in version 2\\.13**",
"x-openstack": {
"min-ver": "2.13"
}
},
"rules": {
"type": "object",
"description": "The `rules` field, which is a dict, can be applied to the policy.\nCurrently, only the `max_server_per_host` rule is supported for the\n`anti-affinity` policy. The `max_server_per_host` rule allows\nspecifying how many members of the anti\\-affinity group can reside on the\nsame compute host. If not specified, only one member from the same\nanti\\-affinity group can reside on a given host.\n\n\n**New in version 2\\.64**",
"properties": {
"max_server_per_host": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.64"
}
},
"user_id": {
"type": "string",
"description": "The user ID who owns the server group.\n\n\n**New in version 2\\.13**",
"x-openstack": {
"min-ver": "2.13"
}
}
},
"description": "The server group object."
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
server_groups |
body |
array |
The list of existing server groups. |
server_groups[].id |
body |
string |
The UUID of the server group. |
server_groups[].members |
body |
array |
A list of members in the server group. |
server_groups[].metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. It’s always empty and only used for keeping compatibility. Available until version 2.63 |
server_groups[].name |
body |
string |
The name of the server group. |
server_groups[].policies |
body |
array |
A list of exactly one policy name to associate with the server group. The current valid policy names are:
Available until version 2.63 |
server_groups[].policy |
body |
string |
The
New in version 2.64 |
server_groups[].project_id |
body |
string |
The project ID who owns the server group. New in version 2.13 |
server_groups[].rules |
body |
object |
The New in version 2.64 |
server_groups[].rules.max_server_per_host |
body |
[‘integer’, ‘string’] |
|
server_groups[].user_id |
body |
string |
The user ID who owns the server group. New in version 2.13 |
Create Server Group¶
Creates a server group.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server_group |
body |
object |
The server group object. |
server_group.name |
body |
string |
The name of the server group. |
server_group.policies |
body |
array |
A list of exactly one policy name to associate with the server group. The current valid policy names are:
Available until version 2.63 |
server_group.policies |
body |
array |
A list of exactly one policy name to associate with the server group. The current valid policy names are:
Available until version 2.63 |
server_group.policy |
body |
string |
The
New in version 2.64 |
server_group.rules |
body |
object |
The New in version 2.64 |
server_group.rules.max_server_per_host |
body |
[‘integer’, ‘string’] |
{
"oneOf": [
{
"type": "object",
"properties": {
"server_group": {
"type": "object",
"description": "The server group object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The name of the server group."
},
"policies": {
"type": "array",
"prefixItems": [
{
"type": "string",
"enum": [
"anti-affinity",
"affinity"
]
}
],
"uniqueItems": true,
"minItems": 1,
"maxItems": 1,
"description": "A list of exactly one policy name to associate with the server group. The\ncurrent valid policy names are:\n\n\n* `anti-affinity` \\- servers in this group must be scheduled to\ndifferent hosts.\n* `affinity` \\- servers in this group must be scheduled to the same host.\n* `soft-anti-affinity` \\- servers in this group should be scheduled to\ndifferent hosts if possible, but if not possible then they should still\nbe scheduled instead of resulting in a build failure. This policy was\nadded in microversion 2\\.15\\.\n* `soft-affinity` \\- servers in this group should be scheduled to the same\nhost if possible, but if not possible then they should still be scheduled\ninstead of resulting in a build failure. This policy was added in\nmicroversion 2\\.15\\.\n\n\n**Available until version 2\\.63**"
}
},
"additionalProperties": false,
"required": [
"name",
"policies"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.14"
},
"required": [
"server_group"
]
},
{
"type": "object",
"properties": {
"server_group": {
"type": "object",
"description": "The server group object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The name of the server group."
},
"policies": {
"type": "array",
"prefixItems": [
{
"type": "string",
"enum": [
"anti-affinity",
"affinity",
"soft-anti-affinity",
"soft-affinity"
]
}
],
"uniqueItems": true,
"minItems": 1,
"maxItems": 1,
"description": "A list of exactly one policy name to associate with the server group. The\ncurrent valid policy names are:\n\n\n* `anti-affinity` \\- servers in this group must be scheduled to\ndifferent hosts.\n* `affinity` \\- servers in this group must be scheduled to the same host.\n* `soft-anti-affinity` \\- servers in this group should be scheduled to\ndifferent hosts if possible, but if not possible then they should still\nbe scheduled instead of resulting in a build failure. This policy was\nadded in microversion 2\\.15\\.\n* `soft-affinity` \\- servers in this group should be scheduled to the same\nhost if possible, but if not possible then they should still be scheduled\ninstead of resulting in a build failure. This policy was added in\nmicroversion 2\\.15\\.\n\n\n**Available until version 2\\.63**"
}
},
"additionalProperties": false,
"required": [
"name",
"policies"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.15",
"max-ver": "2.63"
},
"required": [
"server_group"
]
},
{
"type": "object",
"properties": {
"server_group": {
"type": "object",
"description": "The server group object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The name of the server group."
},
"policy": {
"type": "string",
"enum": [
"anti-affinity",
"affinity",
"soft-anti-affinity",
"soft-affinity"
],
"description": "The `policy` field represents the name of the policy. The current\nvalid policy names are:\n\n\n* `anti-affinity` \\- servers in this group must be scheduled to\ndifferent hosts.\n* `affinity` \\- servers in this group must be scheduled to the same host.\n* `soft-anti-affinity` \\- servers in this group should be scheduled to\ndifferent hosts if possible, but if not possible then they should still\nbe scheduled instead of resulting in a build failure.\n* `soft-affinity` \\- servers in this group should be scheduled to the same\nhost if possible, but if not possible then they should still be scheduled\ninstead of resulting in a build failure.\n\n\n**New in version 2\\.64**"
},
"rules": {
"type": "object",
"description": "The `rules` field, which is a dict, can be applied to the policy.\nCurrently, only the `max_server_per_host` rule is supported for the\n`anti-affinity` policy. The `max_server_per_host` rule allows\nspecifying how many members of the anti\\-affinity group can reside on the\nsame compute host. If not specified, only one member from the same\nanti\\-affinity group can reside on a given host. Requesting policy rules\nwith any other policy than `anti-affinity` will be 400\\.\n\n\n**New in version 2\\.64**",
"properties": {
"max_server_per_host": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"required": [
"name",
"policy"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.64"
},
"required": [
"server_group"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"properties": {
"server_group": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server group.",
"readOnly": true
},
"members": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of members in the server group."
},
"metadata": {
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes. It\u2019s always empty and only used for keeping compatibility.\n\n\n**Available until version 2\\.63**",
"x-openstack": {
"max-ver": "2.63"
},
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false
},
"name": {
"type": "string",
"description": "The name of the server group."
},
"policies": {
"type": "array",
"items": {
"type": "string",
"enum": [
"anti-affinity",
"affinity",
"soft-anti-affinity",
"soft-affinity"
]
},
"description": "A list of exactly one policy name to associate with the server group. The\ncurrent valid policy names are:\n\n\n* `anti-affinity` \\- servers in this group must be scheduled to\ndifferent hosts.\n* `affinity` \\- servers in this group must be scheduled to the same host.\n* `soft-anti-affinity` \\- servers in this group should be scheduled to\ndifferent hosts if possible, but if not possible then they should still\nbe scheduled instead of resulting in a build failure. This policy was\nadded in microversion 2\\.15\\.\n* `soft-affinity` \\- servers in this group should be scheduled to the same\nhost if possible, but if not possible then they should still be scheduled\ninstead of resulting in a build failure. This policy was added in\nmicroversion 2\\.15\\.\n\n\n**Available until version 2\\.63**",
"maxItems": 1,
"x-openstack": {
"max-ver": "2.63"
}
},
"policy": {
"type": "string",
"description": "The `policy` field represents the name of the policy. The current\nvalid policy names are:\n\n\n* `anti-affinity` \\- servers in this group must be scheduled to\ndifferent hosts.\n* `affinity` \\- servers in this group must be scheduled to the same host.\n* `soft-anti-affinity` \\- servers in this group should be scheduled to\ndifferent hosts if possible, but if not possible then they should still\nbe scheduled instead of resulting in a build failure.\n* `soft-affinity` \\- servers in this group should be scheduled to the same\nhost if possible, but if not possible then they should still be scheduled\ninstead of resulting in a build failure.\n\n\n**New in version 2\\.64**",
"enum": [
"anti-affinity",
"affinity",
"soft-anti-affinity",
"soft-affinity"
],
"x-openstack": {
"min-ver": "2.64"
}
},
"project_id": {
"type": "string",
"description": "The project ID who owns the server group.\n\n\n**New in version 2\\.13**",
"x-openstack": {
"min-ver": "2.13"
}
},
"rules": {
"type": "object",
"description": "The `rules` field, which is a dict, can be applied to the policy.\nCurrently, only the `max_server_per_host` rule is supported for the\n`anti-affinity` policy. The `max_server_per_host` rule allows\nspecifying how many members of the anti\\-affinity group can reside on the\nsame compute host. If not specified, only one member from the same\nanti\\-affinity group can reside on a given host.\n\n\n**New in version 2\\.64**",
"properties": {
"max_server_per_host": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.64"
}
},
"user_id": {
"type": "string",
"description": "The user ID who owns the server group.\n\n\n**New in version 2\\.13**",
"x-openstack": {
"min-ver": "2.13"
}
}
},
"description": "The server group object."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
server_group |
body |
object |
The server group object. |
server_group.id |
body |
string |
The UUID of the server group. |
server_group.members |
body |
array |
A list of members in the server group. |
server_group.metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. It’s always empty and only used for keeping compatibility. Available until version 2.63 |
server_group.name |
body |
string |
The name of the server group. |
server_group.policies |
body |
array |
A list of exactly one policy name to associate with the server group. The current valid policy names are:
Available until version 2.63 |
server_group.policy |
body |
string |
The
New in version 2.64 |
server_group.project_id |
body |
string |
The project ID who owns the server group. New in version 2.13 |
server_group.rules |
body |
object |
The New in version 2.64 |
server_group.rules.max_server_per_host |
body |
[‘integer’, ‘string’] |
|
server_group.user_id |
body |
string |
The user ID who owns the server group. New in version 2.13 |
400¶
Error
403¶
Error
409¶
Error
Show Server Group Details¶
Shows details for a server group.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"server_group": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server group.",
"readOnly": true
},
"members": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of members in the server group."
},
"metadata": {
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes. It\u2019s always empty and only used for keeping compatibility.\n\n\n**Available until version 2\\.63**",
"x-openstack": {
"max-ver": "2.63"
},
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false
},
"name": {
"type": "string",
"description": "The name of the server group."
},
"policies": {
"type": "array",
"items": {
"type": "string",
"enum": [
"anti-affinity",
"affinity",
"soft-anti-affinity",
"soft-affinity"
]
},
"description": "A list of exactly one policy name to associate with the server group. The\ncurrent valid policy names are:\n\n\n* `anti-affinity` \\- servers in this group must be scheduled to\ndifferent hosts.\n* `affinity` \\- servers in this group must be scheduled to the same host.\n* `soft-anti-affinity` \\- servers in this group should be scheduled to\ndifferent hosts if possible, but if not possible then they should still\nbe scheduled instead of resulting in a build failure. This policy was\nadded in microversion 2\\.15\\.\n* `soft-affinity` \\- servers in this group should be scheduled to the same\nhost if possible, but if not possible then they should still be scheduled\ninstead of resulting in a build failure. This policy was added in\nmicroversion 2\\.15\\.\n\n\n**Available until version 2\\.63**",
"maxItems": 1,
"x-openstack": {
"max-ver": "2.63"
}
},
"policy": {
"type": "string",
"description": "The `policy` field represents the name of the policy. The current\nvalid policy names are:\n\n\n* `anti-affinity` \\- servers in this group must be scheduled to\ndifferent hosts.\n* `affinity` \\- servers in this group must be scheduled to the same host.\n* `soft-anti-affinity` \\- servers in this group should be scheduled to\ndifferent hosts if possible, but if not possible then they should still\nbe scheduled instead of resulting in a build failure.\n* `soft-affinity` \\- servers in this group should be scheduled to the same\nhost if possible, but if not possible then they should still be scheduled\ninstead of resulting in a build failure.\n\n\n**New in version 2\\.64**",
"enum": [
"anti-affinity",
"affinity",
"soft-anti-affinity",
"soft-affinity"
],
"x-openstack": {
"min-ver": "2.64"
}
},
"project_id": {
"type": "string",
"description": "The project ID who owns the server group.\n\n\n**New in version 2\\.13**",
"x-openstack": {
"min-ver": "2.13"
}
},
"rules": {
"type": "object",
"description": "The `rules` field, which is a dict, can be applied to the policy.\nCurrently, only the `max_server_per_host` rule is supported for the\n`anti-affinity` policy. The `max_server_per_host` rule allows\nspecifying how many members of the anti\\-affinity group can reside on the\nsame compute host. If not specified, only one member from the same\nanti\\-affinity group can reside on a given host.\n\n\n**New in version 2\\.64**",
"properties": {
"max_server_per_host": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.64"
}
},
"user_id": {
"type": "string",
"description": "The user ID who owns the server group.\n\n\n**New in version 2\\.13**",
"x-openstack": {
"min-ver": "2.13"
}
}
},
"description": "The server group object."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
server_group |
body |
object |
The server group object. |
server_group.id |
body |
string |
The UUID of the server group. |
server_group.members |
body |
array |
A list of members in the server group. |
server_group.metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. It’s always empty and only used for keeping compatibility. Available until version 2.63 |
server_group.name |
body |
string |
The name of the server group. |
server_group.policies |
body |
array |
A list of exactly one policy name to associate with the server group. The current valid policy names are:
Available until version 2.63 |
server_group.policy |
body |
string |
The
New in version 2.64 |
server_group.project_id |
body |
string |
The project ID who owns the server group. New in version 2.13 |
server_group.rules |
body |
object |
The New in version 2.64 |
server_group.rules.max_server_per_host |
body |
[‘integer’, ‘string’] |
|
server_group.user_id |
body |
string |
The user ID who owns the server group. New in version 2.13 |
404¶
Error
Delete Server Group¶
os-services¶
List Compute Services¶
Lists all running Compute services.
Provides details why any services were disabled.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"services": {
"type": "array",
"items": {
"type": "object",
"properties": {
"zone": {
"type": "string",
"description": "The availability zone name.",
"x-openstack-sdk-name": "availability_zone"
},
"binary": {
"type": "string",
"description": "The binary name of the service."
},
"disabled_reason": {
"type": "string",
"description": "The reason for disabling a service."
},
"host": {
"type": "string",
"description": "The name of the host."
},
"id": {
"type": [
"integer",
"string"
],
"format": "uuid",
"description": "The id of the service as a uuid.",
"readOnly": true
},
"forced_down": {
"type": "boolean",
"description": "Whether or not this service was forced down manually by an\nadministrator after the service was fenced. This value is useful\nto know that some 3rd party has verified the service should be\nmarked down.",
"x-openstack": {
"min-ver": "2.11"
}
},
"name": {
"type": "string",
"description": "Service name"
},
"state": {
"type": "string",
"description": "The state of the service. One of `up` or `down`."
},
"status": {
"type": "string",
"description": "The status of the service. One of `enabled` or `disabled`.",
"enum": [
"disabled",
"enabled"
],
"readOnly": true
},
"updated_at": {
"type": "string",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.",
"readOnly": true
}
},
"description": "Object representing a compute service."
},
"description": "A list of service objects."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
services |
body |
array |
A list of service objects. |
services[].zone |
body |
string |
The availability zone name. |
services[].binary |
body |
string |
The binary name of the service. |
services[].disabled_reason |
body |
string |
The reason for disabling a service. |
services[].host |
body |
string |
The name of the host. |
services[].id |
body |
[‘integer’, ‘string’] |
The id of the service as a uuid. |
services[].forced_down |
body |
boolean |
Whether or not this service was forced down manually by an
administrator after the service was fenced. This value is useful
to know that some 3rd party has verified the service should be
marked down. |
services[].name |
body |
string |
Service name |
services[].state |
body |
string |
The state of the service. One of |
services[].status |
body |
string |
The status of the service. One of |
services[].updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
Update Compute Service¶
Update a compute service to enable or disable scheduling, including recording a
reason why a compute service was disabled from scheduling. Set or unset the
forced_down
flag for the service. This operation is only allowed on
services whose binary
is nova-compute
.
This API is available starting with microversion 2.53.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-services/{id} API |
host |
body |
string |
|
binary |
body |
string |
|
disabled_reason |
body |
string |
The reason for disabling a service. The minimum length is 1 and the
maximum length is 255. This may only be requested with |
forced_down |
body |
[‘boolean’, ‘string’] |
Warning Setting a service forced down without completely fencing it will likely result in the corruption of VMs on that host. |
status |
body |
string |
The status of the service. One of |
{
"oneOf": [
{
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"binary": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"disabled_reason": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The reason for disabling a service. The minimum length is 1 and the\nmaximum length is 255\\. This may only be requested with `status=disabled`."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.10"
},
"required": [
"host",
"binary"
]
},
{
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"binary": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"disabled_reason": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The reason for disabling a service. The minimum length is 1 and the\nmaximum length is 255\\. This may only be requested with `status=disabled`."
},
"forced_down": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "`forced_down` is a manual override to tell nova that the service in\nquestion has been fenced manually by the operations team (either hard\npowered off, or network unplugged). That signals that it is safe to proceed\nwith `evacuate` or other operations that nova has safety checks to\nprevent for hosts that are up.\n\n\n\nWarning\n\n\nSetting a service forced down without completely fencing it will likely\nresult in the corruption of VMs on that host."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.11",
"max-ver": "2.52"
},
"required": [
"host",
"binary"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"enabled",
"disabled"
],
"description": "The status of the service. One of `enabled` or `disabled`."
},
"disabled_reason": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The reason for disabling a service. The minimum length is 1 and the\nmaximum length is 255\\. This may only be requested with `status=disabled`."
},
"forced_down": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "`forced_down` is a manual override to tell nova that the service in\nquestion has been fenced manually by the operations team (either hard\npowered off, or network unplugged). That signals that it is safe to proceed\nwith `evacuate` or other operations that nova has safety checks to\nprevent for hosts that are up.\n\n\n\nWarning\n\n\nSetting a service forced down without completely fencing it will likely\nresult in the corruption of VMs on that host."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.53"
}
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"service": {
"type": "object",
"properties": {
"zone": {
"type": "string",
"description": "The availability zone name.",
"x-openstack-sdk-name": "availability_zone"
},
"binary": {
"type": "string",
"description": "The binary name of the service."
},
"disabled_reason": {
"type": "string",
"description": "The reason for disabling a service."
},
"host": {
"type": "string",
"description": "The name of the host."
},
"id": {
"type": [
"integer",
"string"
],
"format": "uuid",
"description": "The id of the service as a uuid.",
"readOnly": true
},
"forced_down": {
"type": "boolean",
"description": "Whether or not this service was forced down manually by an\nadministrator after the service was fenced. This value is useful\nto know that some 3rd party has verified the service should be\nmarked down.",
"x-openstack": {
"min-ver": "2.11"
}
},
"name": {
"type": "string",
"description": "Service name"
},
"state": {
"type": "string",
"description": "The state of the service. One of `up` or `down`."
},
"status": {
"type": "string",
"description": "The status of the service. One of `enabled` or `disabled`.",
"enum": [
"disabled",
"enabled"
],
"readOnly": true
},
"updated_at": {
"type": "string",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.",
"readOnly": true
}
},
"description": "Object representing a compute service."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
service |
body |
object |
Object representing a compute service. |
service.zone |
body |
string |
The availability zone name. |
service.binary |
body |
string |
The binary name of the service. |
service.disabled_reason |
body |
string |
The reason for disabling a service. |
service.host |
body |
string |
The name of the host. |
service.id |
body |
[‘integer’, ‘string’] |
The id of the service as a uuid. |
service.forced_down |
body |
boolean |
Whether or not this service was forced down manually by an
administrator after the service was fenced. This value is useful
to know that some 3rd party has verified the service should be
marked down. |
service.name |
body |
string |
Service name |
service.state |
body |
string |
The state of the service. One of |
service.status |
body |
string |
The status of the service. One of |
service.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
400¶
Error
404¶
Error
Delete Compute Service¶
Deletes a service. If it’s a nova-compute
service, then the
corresponding host will be removed from all the host aggregates as well.
Attempts to delete a nova-compute
service which is still hosting instances
will result in a 409 HTTPConflict response. The instances will need to be
migrated or deleted before a compute service can be deleted.
Similarly, attempts to delete a nova-compute
service which is involved in
in-progress migrations will result in a 409 HTTPConflict response. The
migrations will need to be completed, for example confirming or reverting a
resize, or the instances will need to be deleted before the compute service can
be deleted.
Normal response codes: 204
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Responses¶
204¶
Ok
400¶
Error
404¶
Error
409¶
Error
os-simple-tenant-usage¶
List Tenant Usage Statistics For All Tenants¶
Lists usage statistics for all tenants.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"tenant_usages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tenant_id": {
"type": "string",
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
},
"start": {
"type": "string",
"format": "date-time",
"description": "The beginning time to calculate usage statistics on compute and\nstorage resources. The date and time stamp format is as follows:\n\n\n\n```\nCCYY-MM-DDThh:mm:ss.NNNNNN\n\n```\n\n\nFor example, `2015-08-27T09:49:58.123456`."
},
"stop": {
"type": "string",
"format": "date-time",
"description": "The ending time to calculate usage statistics on compute and\nstorage resources. The date and time stamp format is as follows:\n\n\n\n```\nCCYY-MM-DDThh:mm:ss.NNNNNN\n\n```\n\n\nFor example, `2015-08-27T09:49:58.123456`."
},
"total_hours": {
"type": "number",
"format": "float",
"description": "The total duration that servers exist (in hours)."
},
"total_local_gb_usage": {
"type": "number",
"format": "float",
"description": "Multiplying the server disk size (in GiB) by hours the server exists,\nand then adding that all together for each server."
},
"total_memory_mb_usage": {
"type": "number",
"format": "float",
"description": "Multiplying the server memory size (in MiB) by hours the server exists,\nand then adding that all together for each server."
},
"total_vcpus_usage": {
"type": "number",
"format": "float",
"description": "Multiplying the number of virtual CPUs of the server by hours the server exists,\nand then adding that all together for each server."
},
"server_usages": {
"type": "array",
"description": "A list of the server usage objects.",
"items": {
"type": "object",
"properties": {
"ended_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the server was deleted."
},
"flavor": {
"type": "string",
"description": "The display name of a flavor."
},
"hours": {
"type": "number",
"format": "float",
"description": "The duration that the server exists (in hours)."
},
"instance_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
},
"local_gb": {
"type": "integer",
"description": "The sum of the root disk size of the server and the ephemeral disk size of it (in GiB)."
},
"memory_mb": {
"type": "integer",
"description": "The memory size of the server (in MiB)."
},
"name": {
"type": "string",
"description": "The server name."
},
"tenant_id": {
"type": "string",
"description": "The UUID of the project in a multi-tenancy cloud."
},
"started_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the server was launched."
},
"state": {
"type": "string",
"description": "The VM state."
},
"uptime": {
"type": "integer",
"description": "The uptime of the server."
},
"vcpus": {
"type": "integer",
"description": "The number of virtual CPUs that the server uses."
}
}
}
}
}
},
"description": "A list of the tenant usage objects."
},
"tenant_usages_links": {
"type": "array",
"description": "Links pertaining to usage. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.\n\n\n**New in version 2\\.40**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
tenant_usages |
body |
array |
A list of the tenant usage objects. |
tenant_usages[].tenant_id |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
tenant_usages[].start |
body |
string |
The beginning time to calculate usage statistics on compute and storage resources. The date and time stamp format is as follows: CCYY-MM-DDThh:mm:ss.NNNNNN
For example, |
tenant_usages[].stop |
body |
string |
The ending time to calculate usage statistics on compute and storage resources. The date and time stamp format is as follows: CCYY-MM-DDThh:mm:ss.NNNNNN
For example, |
tenant_usages[].total_hours |
body |
number |
The total duration that servers exist (in hours). |
tenant_usages[].total_local_gb_usage |
body |
number |
Multiplying the server disk size (in GiB) by hours the server exists, and then adding that all together for each server. |
tenant_usages[].total_memory_mb_usage |
body |
number |
Multiplying the server memory size (in MiB) by hours the server exists, and then adding that all together for each server. |
tenant_usages[].total_vcpus_usage |
body |
number |
Multiplying the number of virtual CPUs of the server by hours the server exists, and then adding that all together for each server. |
tenant_usages[].server_usages |
body |
array |
A list of the server usage objects. |
tenant_usages[].server_usages[].ended_at |
body |
string |
The date and time when the server was deleted. |
tenant_usages[].server_usages[].flavor |
body |
string |
The display name of a flavor. |
tenant_usages[].server_usages[].hours |
body |
number |
The duration that the server exists (in hours). |
tenant_usages[].server_usages[].instance_id |
body |
string |
The UUID of the server. |
tenant_usages[].server_usages[].local_gb |
body |
integer |
The sum of the root disk size of the server and the ephemeral disk size of it (in GiB). |
tenant_usages[].server_usages[].memory_mb |
body |
integer |
The memory size of the server (in MiB). |
tenant_usages[].server_usages[].name |
body |
string |
The server name. |
tenant_usages[].server_usages[].tenant_id |
body |
string |
The UUID of the project in a multi-tenancy cloud. |
tenant_usages[].server_usages[].started_at |
body |
string |
The date and time when the server was launched. |
tenant_usages[].server_usages[].state |
body |
string |
The VM state. |
tenant_usages[].server_usages[].uptime |
body |
integer |
The uptime of the server. |
tenant_usages[].server_usages[].vcpus |
body |
integer |
The number of virtual CPUs that the server uses. |
tenant_usages_links |
body |
array |
Links pertaining to usage. See API Guide / Links and References for more info. New in version 2.40 |
tenant_usages_links[].href |
body |
string |
|
tenant_usages_links[].rel |
body |
string |
400¶
Error
Show Usage Statistics For Tenant¶
Shows usage statistics for a tenant.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"tenant_usages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tenant_id": {
"type": "string",
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
},
"start": {
"type": "string",
"format": "date-time",
"description": "The beginning time to calculate usage statistics on compute and\nstorage resources. The date and time stamp format is as follows:\n\n\n\n```\nCCYY-MM-DDThh:mm:ss.NNNNNN\n\n```\n\n\nFor example, `2015-08-27T09:49:58.123456`."
},
"stop": {
"type": "string",
"format": "date-time",
"description": "The ending time to calculate usage statistics on compute and\nstorage resources. The date and time stamp format is as follows:\n\n\n\n```\nCCYY-MM-DDThh:mm:ss.NNNNNN\n\n```\n\n\nFor example, `2015-08-27T09:49:58.123456`."
},
"total_hours": {
"type": "number",
"format": "float",
"description": "The total duration that servers exist (in hours)."
},
"total_local_gb_usage": {
"type": "number",
"format": "float",
"description": "Multiplying the server disk size (in GiB) by hours the server exists,\nand then adding that all together for each server."
},
"total_memory_mb_usage": {
"type": "number",
"format": "float",
"description": "Multiplying the server memory size (in MiB) by hours the server exists,\nand then adding that all together for each server."
},
"total_vcpus_usage": {
"type": "number",
"format": "float",
"description": "Multiplying the number of virtual CPUs of the server by hours the server exists,\nand then adding that all together for each server."
},
"server_usages": {
"type": "array",
"description": "A list of the server usage objects.",
"items": {
"type": "object",
"properties": {
"ended_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the server was deleted."
},
"flavor": {
"type": "string",
"description": "The display name of a flavor."
},
"hours": {
"type": "number",
"format": "float",
"description": "The duration that the server exists (in hours)."
},
"instance_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
},
"local_gb": {
"type": "integer",
"description": "The sum of the root disk size of the server and the ephemeral disk size of it (in GiB)."
},
"memory_mb": {
"type": "integer",
"description": "The memory size of the server (in MiB)."
},
"name": {
"type": "string",
"description": "The server name."
},
"tenant_id": {
"type": "string",
"description": "The UUID of the project in a multi-tenancy cloud."
},
"started_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the server was launched."
},
"state": {
"type": "string",
"description": "The VM state."
},
"uptime": {
"type": "integer",
"description": "The uptime of the server."
},
"vcpus": {
"type": "integer",
"description": "The number of virtual CPUs that the server uses."
}
}
}
}
}
},
"description": "A list of the tenant usage objects."
},
"tenant_usages_links": {
"type": "array",
"description": "Links pertaining to usage. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.\n\n\n**New in version 2\\.40**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
tenant_usages |
body |
array |
A list of the tenant usage objects. |
tenant_usages[].tenant_id |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
tenant_usages[].start |
body |
string |
The beginning time to calculate usage statistics on compute and storage resources. The date and time stamp format is as follows: CCYY-MM-DDThh:mm:ss.NNNNNN
For example, |
tenant_usages[].stop |
body |
string |
The ending time to calculate usage statistics on compute and storage resources. The date and time stamp format is as follows: CCYY-MM-DDThh:mm:ss.NNNNNN
For example, |
tenant_usages[].total_hours |
body |
number |
The total duration that servers exist (in hours). |
tenant_usages[].total_local_gb_usage |
body |
number |
Multiplying the server disk size (in GiB) by hours the server exists, and then adding that all together for each server. |
tenant_usages[].total_memory_mb_usage |
body |
number |
Multiplying the server memory size (in MiB) by hours the server exists, and then adding that all together for each server. |
tenant_usages[].total_vcpus_usage |
body |
number |
Multiplying the number of virtual CPUs of the server by hours the server exists, and then adding that all together for each server. |
tenant_usages[].server_usages |
body |
array |
A list of the server usage objects. |
tenant_usages[].server_usages[].ended_at |
body |
string |
The date and time when the server was deleted. |
tenant_usages[].server_usages[].flavor |
body |
string |
The display name of a flavor. |
tenant_usages[].server_usages[].hours |
body |
number |
The duration that the server exists (in hours). |
tenant_usages[].server_usages[].instance_id |
body |
string |
The UUID of the server. |
tenant_usages[].server_usages[].local_gb |
body |
integer |
The sum of the root disk size of the server and the ephemeral disk size of it (in GiB). |
tenant_usages[].server_usages[].memory_mb |
body |
integer |
The memory size of the server (in MiB). |
tenant_usages[].server_usages[].name |
body |
string |
The server name. |
tenant_usages[].server_usages[].tenant_id |
body |
string |
The UUID of the project in a multi-tenancy cloud. |
tenant_usages[].server_usages[].started_at |
body |
string |
The date and time when the server was launched. |
tenant_usages[].server_usages[].state |
body |
string |
The VM state. |
tenant_usages[].server_usages[].uptime |
body |
integer |
The uptime of the server. |
tenant_usages[].server_usages[].vcpus |
body |
integer |
The number of virtual CPUs that the server uses. |
tenant_usages_links |
body |
array |
Links pertaining to usage. See API Guide / Links and References for more info. New in version 2.40 |
tenant_usages_links[].href |
body |
string |
|
tenant_usages_links[].rel |
body |
string |
400¶
Error
os-snapshots¶
List Snapshots¶
Create Snapshot¶
Creates a new snapshot.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A partial representation of a snapshot that is used to create a snapshot. |
snapshot.volume_id |
body |
string |
The source volume ID. |
snapshot.force |
body |
[‘boolean’, ‘string’] |
Indicates whether to create a snapshot, even if the volume is attached. |
snapshot.display_name |
body |
string |
The snapshot name. |
snapshot.display_description |
body |
string |
The snapshot description. |
{
"type": "object",
"properties": {
"snapshot": {
"type": "object",
"description": "A partial representation of a snapshot that is used to create a snapshot.",
"properties": {
"volume_id": {
"type": "string",
"description": "The source volume ID."
},
"force": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether to create a snapshot, even if the volume is attached."
},
"display_name": {
"type": "string",
"description": "The snapshot name."
},
"display_description": {
"type": "string",
"description": "The snapshot description."
}
},
"additionalProperties": false,
"required": [
"volume_id"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.35"
},
"required": [
"snapshot"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-snapshots:post operation"
}
400¶
Error
403¶
Error
List Snapshots With Details¶
Show Snapshot Details¶
Delete Snapshot¶
os-tenant-networks¶
List Project Networks¶
Lists all project networks.
Policy defaults enable only users with the administrative role or
the owner of the network to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-tenant-networks:get operation"
}
Create Project Network¶
Creates a project network.
Policy defaults enable only users with the administrative role to
perform this operation. Cloud providers can change these permissions
through the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409), gone(410), serviceUnavailable(503)
Example Create Project Network: JSON request
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-tenant-networks:post operation"
}
410¶
Error
Show Project Network Details¶
Shows details for a project network.
Policy defaults enable only users with the administrative role or
the owner of the network to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-tenant-networks/id:get operation"
}
404¶
Error
Delete Project Network¶
Deletes a project network.
Policy defaults enable only users with the administrative role or
the owner of the network to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), gone(410)
Responses¶
204¶
Ok
410¶
Error
os-volumes¶
List Volumes¶
Create Volume¶
Creates a new volume.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
volume |
body |
object |
The |
volume.volume_type |
body |
string |
The unique identifier for a volume type. |
volume.metadata |
body |
object |
Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
volume.snapshot_id |
body |
string |
The UUID for a snapshot. |
volume.size |
body |
[‘integer’, ‘string’] |
The size of the volume, in gibibytes (GiB). |
volume.availability_zone |
body |
string |
The availability zone name. |
volume.display_name |
body |
string |
The volume name. |
volume.display_description |
body |
string |
The volume description. |
{
"type": "object",
"properties": {
"volume": {
"type": "object",
"description": "The `volume` object.",
"properties": {
"volume_type": {
"type": "string",
"description": "The unique identifier for a volume type."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each."
},
"snapshot_id": {
"type": "string",
"description": "The UUID for a snapshot."
},
"size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"description": "The size of the volume, in gibibytes (GiB)."
},
"availability_zone": {
"type": "string",
"description": "The availability zone name."
},
"display_name": {
"type": "string",
"description": "The volume name."
},
"display_description": {
"type": "string",
"description": "The volume description."
}
},
"additionalProperties": false,
"required": [
"size"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.35"
},
"required": [
"volume"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes:post operation"
}
400¶
Error
403¶
Error
404¶
Error
List Volumes With Details¶
Show Volume Details¶
Delete Volume¶
os-volumes_boot¶
Creates a new server for a given user.
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server |
body |
object |
|
server.name |
body |
string |
|
server.flavorRef |
body |
[‘string’, ‘integer’] |
|
server.adminPass |
body |
string |
|
server.metadata |
body |
object |
|
server.networks |
body |
array |
|
server.networks[].fixed_ip |
body |
string |
|
server.networks[].uuid |
body |
string |
|
server.OS-DCF:diskConfig |
body |
string |
|
server.accessIPv4 |
body |
string |
|
server.accessIPv6 |
body |
string |
|
server.personality |
body |
array |
|
server.personality[].path |
body |
string |
|
server.personality[].contents |
body |
string |
|
server.availability_zone |
body |
string |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping[].virtual_name |
body |
string |
|
server.block_device_mapping[].volume_id |
body |
string |
|
server.block_device_mapping[].snapshot_id |
body |
string |
|
server.block_device_mapping[].volume_size |
body |
[‘integer’, ‘string’] |
|
server.block_device_mapping[].device_name |
body |
string |
|
server.block_device_mapping[].delete_on_termination |
body |
[‘boolean’, ‘string’] |
|
server.block_device_mapping[].connection_info |
body |
string |
|
server.block_device_mapping_v2 |
body |
array |
|
server.block_device_mapping_v2[].virtual_name |
body |
string |
|
server.block_device_mapping_v2[].volume_id |
body |
string |
|
server.block_device_mapping_v2[].snapshot_id |
body |
string |
|
server.block_device_mapping_v2[].volume_size |
body |
[‘integer’, ‘string’] |
|
server.block_device_mapping_v2[].device_name |
body |
string |
|
server.block_device_mapping_v2[].delete_on_termination |
body |
[‘boolean’, ‘string’] |
|
server.block_device_mapping_v2[].connection_info |
body |
string |
|
server.block_device_mapping_v2[].source_type |
body |
string |
|
server.block_device_mapping_v2[].uuid |
body |
string |
|
server.block_device_mapping_v2[].image_id |
body |
string |
|
server.block_device_mapping_v2[].destination_type |
body |
string |
|
server.block_device_mapping_v2[].guest_format |
body |
string |
|
server.block_device_mapping_v2[].device_type |
body |
string |
|
server.block_device_mapping_v2[].disk_bus |
body |
string |
|
server.block_device_mapping_v2[].boot_index |
body |
[‘integer’, ‘string’, ‘null’] |
|
server.config_drive |
body |
[‘boolean’, ‘string’] |
|
server.key_name |
body |
string |
|
server.min_count |
body |
[‘integer’, ‘string’] |
|
server.max_count |
body |
[‘integer’, ‘string’] |
|
server.return_reservation_id |
body |
[‘boolean’, ‘string’] |
|
server.security_groups |
body |
array |
|
server.security_groups[].name |
body |
string |
|
os:scheduler_hints |
body |
object |
|
os:scheduler_hints.group |
body |
string |
|
os:scheduler_hints.same_host |
body |
[‘string’, ‘array’] |
|
os:scheduler_hints.query |
body |
[‘string’, ‘object’] |
|
os:scheduler_hints.target_cell |
body |
string |
|
os:scheduler_hints.different_cell |
body |
[‘string’, ‘array’] |
|
os:scheduler_hints.build_near_host_ip |
body |
string |
|
os:scheduler_hints.cidr |
body |
string |
|
OS-SCH-HNT:scheduler_hints |
body |
object |
|
OS-SCH-HNT:scheduler_hints.group |
body |
string |
|
OS-SCH-HNT:scheduler_hints.same_host |
body |
[‘string’, ‘array’] |
|
OS-SCH-HNT:scheduler_hints.query |
body |
[‘string’, ‘object’] |
|
OS-SCH-HNT:scheduler_hints.target_cell |
body |
string |
|
OS-SCH-HNT:scheduler_hints.different_cell |
body |
[‘string’, ‘array’] |
|
OS-SCH-HNT:scheduler_hints.build_near_host_ip |
body |
string |
|
OS-SCH-HNT:scheduler_hints.cidr |
body |
string |
|
server.networks |
body |
array |
|
server.personality |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.user_data |
body |
string |
|
server.networks |
body |
array |
|
server.personality |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.description |
body |
[‘string’, ‘null’] |
|
server.networks |
body |
array |
|
server.networks[].tag |
body |
string |
|
server.personality |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.block_device_mapping_v2[].tag |
body |
string |
|
server.security_groups |
body |
array |
|
server.networks |
body |
array |
|
server.personality |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.personality |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.personality |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.personality |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.tags |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.tags |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.tags |
body |
array |
|
server.trusted_image_certificates |
body |
[‘array’, ‘null’] |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.block_device_mapping_v2[].volume_type |
body |
[‘string’, ‘null’] |
|
server.security_groups |
body |
array |
|
server.tags |
body |
array |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.tags |
body |
array |
|
server.host |
body |
string |
|
server.hypervisor_hostname |
body |
string |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.tags |
body |
array |
|
server.hostname |
body |
string |
|
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
|
server.security_groups |
body |
array |
|
server.tags |
body |
array |
{
"oneOf": [
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
}
},
"additionalProperties": false
}
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces"
}
},
"additionalProperties": false
}
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
}
},
"additionalProperties": false
}
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.18"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
}
},
"additionalProperties": false
}
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.19",
"max-ver": "2.31"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.32",
"max-ver": "2.32"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.33",
"max-ver": "2.36"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.37",
"max-ver": "2.41"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.42",
"max-ver": "2.51"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.52",
"max-ver": "2.56"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.57",
"max-ver": "2.62"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.63",
"max-ver": "2.66"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"volume_type": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.67",
"max-ver": "2.73"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"volume_type": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"hypervisor_hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.74",
"max-ver": "2.89"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"volume_type": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"hypervisor_hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"hostname": {
"type": "string",
"minLength": 2,
"maxLength": 63,
"pattern": "^[a-zA-Z0-9]+[a-zA-Z0-9-]*[a-zA-Z0-9]+$"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.90",
"max-ver": "2.93"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
]
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"volume_type": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255
}
},
"additionalProperties": false
}
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"additionalProperties": false
}
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"hypervisor_hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid"
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
]
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
}
},
"query": {
"type": [
"string",
"object"
]
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$"
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.94"
},
"required": [
"server"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot:post operation"
}
400¶
Error
403¶
Error
409¶
Error
Update server then pass on to version-specific controller.
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id} API |
server |
body |
object |
|
server.name |
body |
string |
|
server.OS-DCF:diskConfig |
body |
string |
|
server.accessIPv4 |
body |
string |
|
server.accessIPv6 |
body |
string |
|
server.description |
body |
[‘string’, ‘null’] |
|
server.hostname |
body |
string |
{
"oneOf": [
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces"
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.18"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.19",
"max-ver": "2.89"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"hostname": {
"type": "string",
"minLength": 2,
"maxLength": 63,
"pattern": "^[a-zA-Z0-9]+[a-zA-Z0-9-]*[a-zA-Z0-9]+$"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.90",
"max-ver": "2.93"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.94"
},
"required": [
"server"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id:put operation"
}
404¶
Error
`confirmResize` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"confirmResize": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "confirmResize"
},
"required": [
"confirmResize"
]
}
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`revertResize` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"revertResize": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "revertResize"
},
"required": [
"revertResize"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:revertResize action",
"x-openstack": {
"action-name": "revertResize"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`reboot` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
reboot |
body |
object |
|
reboot.type |
body |
string |
{
"type": "object",
"properties": {
"reboot": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"HARD",
"Hard",
"hard",
"SOFT",
"Soft",
"soft"
]
}
},
"additionalProperties": false,
"required": [
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "reboot"
},
"required": [
"reboot"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:reboot action",
"x-openstack": {
"action-name": "reboot"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`resize` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
resize |
body |
object |
|
resize.flavorRef |
body |
[‘string’, ‘integer’] |
|
resize.OS-DCF:diskConfig |
body |
string |
{
"type": "object",
"properties": {
"resize": {
"type": "object",
"properties": {
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
}
},
"additionalProperties": false,
"required": [
"flavorRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "resize"
},
"required": [
"resize"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:resize action",
"x-openstack": {
"action-name": "resize"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`rebuild` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
rebuild |
body |
object |
|
rebuild.name |
body |
string |
|
rebuild.imageRef |
body |
string |
|
rebuild.adminPass |
body |
string |
|
rebuild.metadata |
body |
object |
|
rebuild.preserve_ephemeral |
body |
[‘boolean’, ‘string’] |
|
rebuild.OS-DCF:diskConfig |
body |
string |
|
rebuild.accessIPv4 |
body |
string |
|
rebuild.accessIPv6 |
body |
string |
|
rebuild.personality |
body |
array |
|
rebuild.personality[].path |
body |
string |
|
rebuild.personality[].contents |
body |
string |
|
rebuild.personality |
body |
array |
|
rebuild.personality |
body |
array |
|
rebuild.description |
body |
[‘string’, ‘null’] |
|
rebuild.personality |
body |
array |
|
rebuild.trusted_image_certificates |
body |
[‘array’, ‘null’] |
|
rebuild.hostname |
body |
string |
{
"oneOf": [
{
"type": "object",
"properties": {
"rebuild": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces"
},
"imageRef": {
"type": "string",
"format": "uuid"
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"properties": {
"rebuild": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"type": "string",
"format": "uuid"
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.18",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"properties": {
"rebuild": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"type": "string",
"format": "uuid"
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.19",
"max-ver": "2.53",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"properties": {
"rebuild": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"type": "string",
"format": "uuid"
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
}
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.54",
"max-ver": "2.56",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"properties": {
"rebuild": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"type": "string",
"format": "uuid"
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
]
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.57",
"max-ver": "2.62",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"properties": {
"rebuild": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"type": "string",
"format": "uuid"
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
]
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
]
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.63",
"max-ver": "2.89",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"properties": {
"rebuild": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"type": "string",
"format": "uuid"
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
]
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
]
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"hostname": {
"type": "string",
"minLength": 2,
"maxLength": 63,
"pattern": "^[a-zA-Z0-9]+[a-zA-Z0-9-]*[a-zA-Z0-9]+$"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.90",
"max-ver": "2.93",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"properties": {
"rebuild": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"imageRef": {
"type": "string",
"format": "uuid"
},
"adminPass": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
]
},
"accessIPv4": {
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"type": "string",
"format": "ipv6"
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
]
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
]
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.94",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "rebuild"
}
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:rebuild action",
"x-openstack": {
"action-name": "rebuild"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`createImage` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
createImage |
body |
object |
|
createImage.name |
body |
string |
|
createImage.metadata |
body |
object |
{
"oneOf": [
{
"type": "object",
"properties": {
"createImage": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0",
"action-name": "createImage"
},
"required": [
"createImage"
]
},
{
"type": "object",
"properties": {
"createImage": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"action-name": "createImage"
},
"required": [
"createImage"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "createImage"
}
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:createImage action",
"x-openstack": {
"action-name": "createImage"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`os-start` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"os-start": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "os-start"
},
"required": [
"os-start"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:os-start action",
"x-openstack": {
"action-name": "os-start"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`os-stop` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"os-stop": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "os-stop"
},
"required": [
"os-stop"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:os-stop action",
"x-openstack": {
"action-name": "os-stop"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`trigger_crash_dump` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
trigger_crash_dump |
body |
null |
{
"type": "object",
"properties": {
"trigger_crash_dump": {
"type": "null"
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.17",
"action-name": "trigger_crash_dump"
},
"required": [
"trigger_crash_dump"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:trigger_crash_dump action",
"x-openstack": {
"action-name": "trigger_crash_dump"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`resetNetwork` action¶
Empty body for resetNetwork action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
resetNetwork |
body |
null |
{
"type": "object",
"description": "Empty body for resetNetwork action",
"properties": {
"resetNetwork": {
"type": "null"
}
},
"x-openstack": {
"action-name": "resetNetwork"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:resetNetwork action",
"x-openstack": {
"action-name": "resetNetwork"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`injectNetworkInfo` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"injectNetworkInfo": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "injectNetworkInfo"
},
"required": [
"injectNetworkInfo"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:injectNetworkInfo action",
"x-openstack": {
"action-name": "injectNetworkInfo"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`os-resetState` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
os-resetState |
body |
object |
|
os-resetState.state |
body |
string |
{
"type": "object",
"properties": {
"os-resetState": {
"type": "object",
"properties": {
"state": {
"type": "string",
"enum": [
"active",
"error"
]
}
},
"additionalProperties": false,
"required": [
"state"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "os-resetState"
},
"required": [
"os-resetState"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:os-resetState action",
"x-openstack": {
"action-name": "os-resetState"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`changePassword` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
changePassword |
body |
object |
|
changePassword.adminPass |
body |
string |
{
"type": "object",
"properties": {
"changePassword": {
"type": "object",
"properties": {
"adminPass": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"adminPass"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "changePassword"
},
"required": [
"changePassword"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:changePassword action",
"x-openstack": {
"action-name": "changePassword"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`os-getConsoleOutput` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
os-getConsoleOutput |
body |
object |
|
os-getConsoleOutput.length |
body |
[‘integer’, ‘string’, ‘null’] |
{
"type": "object",
"properties": {
"os-getConsoleOutput": {
"type": "object",
"properties": {
"length": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$",
"minimum": -1
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "os-getConsoleOutput"
},
"required": [
"os-getConsoleOutput"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:os-getConsoleOutput action",
"x-openstack": {
"action-name": "os-getConsoleOutput"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`createBackup` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
createBackup |
body |
object |
|
createBackup.name |
body |
string |
|
createBackup.backup_type |
body |
string |
|
createBackup.rotation |
body |
[‘integer’, ‘string’] |
|
createBackup.metadata |
body |
object |
{
"oneOf": [
{
"type": "object",
"properties": {
"createBackup": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces"
},
"backup_type": {
"type": "string"
},
"rotation": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 0,
"minLength": 1
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"name",
"backup_type",
"rotation"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0",
"action-name": "createBackup"
},
"required": [
"createBackup"
]
},
{
"type": "object",
"properties": {
"createBackup": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
},
"backup_type": {
"type": "string"
},
"rotation": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 0,
"minLength": 1
},
"metadata": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"name",
"backup_type",
"rotation"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"action-name": "createBackup"
},
"required": [
"createBackup"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "createBackup"
}
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:createBackup action",
"x-openstack": {
"action-name": "createBackup"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`restore` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"restore": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "restore"
},
"required": [
"restore"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:restore action",
"x-openstack": {
"action-name": "restore"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`forceDelete` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"forceDelete": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "forceDelete"
},
"required": [
"forceDelete"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:forceDelete action",
"x-openstack": {
"action-name": "forceDelete"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`evacuate` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
evacuate |
body |
object |
|
evacuate.host |
body |
string |
|
evacuate.onSharedStorage |
body |
[‘boolean’, ‘string’] |
|
evacuate.adminPass |
body |
string |
|
evacuate.force |
body |
[‘boolean’, ‘string’] |
{
"oneOf": [
{
"type": "object",
"properties": {
"evacuate": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"onSharedStorage": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"adminPass": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"onSharedStorage"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.13",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
},
{
"type": "object",
"properties": {
"evacuate": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"adminPass": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.14",
"max-ver": "2.28",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
},
{
"type": "object",
"properties": {
"evacuate": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"adminPass": {
"type": "string"
},
"force": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.29",
"max-ver": "2.67",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
},
{
"type": "object",
"properties": {
"evacuate": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"adminPass": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.68",
"max-ver": "2.94",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
},
{
"type": "object",
"properties": {
"evacuate": {
"type": "object",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"adminPass": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.95",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "evacuate"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:evacuate action",
"x-openstack": {
"action-name": "evacuate"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`addFloatingIp` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
addFloatingIp |
body |
object |
|
addFloatingIp.address |
body |
string |
|
addFloatingIp.fixed_address |
body |
string |
{
"type": "object",
"properties": {
"addFloatingIp": {
"type": "object",
"properties": {
"address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"fixed_address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
}
},
"additionalProperties": false,
"required": [
"address"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.43",
"action-name": "addFloatingIp"
},
"required": [
"addFloatingIp"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:addFloatingIp action",
"x-openstack": {
"action-name": "addFloatingIp"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`removeFloatingIp` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
removeFloatingIp |
body |
object |
|
removeFloatingIp.address |
body |
string |
{
"type": "object",
"properties": {
"removeFloatingIp": {
"type": "object",
"properties": {
"address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
}
},
"additionalProperties": false,
"required": [
"address"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.43",
"action-name": "removeFloatingIp"
},
"required": [
"removeFloatingIp"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:removeFloatingIp action",
"x-openstack": {
"action-name": "removeFloatingIp"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`lock` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
lock |
body |
[‘object’, ‘null’] |
{
"oneOf": [
{
"type": "object",
"properties": {
"lock": {}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.72",
"action-name": "lock"
},
"required": [
"lock"
]
},
{
"type": "object",
"properties": {
"lock": {
"type": [
"object",
"null"
],
"properties": {
"locked_reason": {
"type": "string",
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.73",
"action-name": "lock"
},
"required": [
"lock"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "lock"
}
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:lock action",
"x-openstack": {
"action-name": "lock"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`unlock` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"unlock": {}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.72",
"action-name": "unlock"
},
"required": [
"unlock"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:unlock action",
"x-openstack": {
"action-name": "unlock"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`migrate` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
migrate |
body |
[‘object’, ‘null’] |
{
"type": "object",
"properties": {
"migrate": {
"type": [
"object",
"null"
],
"properties": {
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.56",
"action-name": "migrate"
},
"required": [
"migrate"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:migrate action",
"x-openstack": {
"action-name": "migrate"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`os-migrateLive` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
os-migrateLive |
body |
object |
|
os-migrateLive.block_migration |
body |
[‘boolean’, ‘string’] |
|
os-migrateLive.disk_over_commit |
body |
[‘boolean’, ‘string’] |
|
os-migrateLive.host |
body |
[‘string’, ‘null’] |
|
os-migrateLive.force |
body |
[‘boolean’, ‘string’] |
{
"oneOf": [
{
"type": "object",
"properties": {
"os-migrateLive": {
"type": "object",
"properties": {
"block_migration": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"disk_over_commit": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false,
"required": [
"block_migration",
"disk_over_commit",
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.24",
"action-name": "os-migrateLive"
},
"required": [
"os-migrateLive"
]
},
{
"type": "object",
"properties": {
"os-migrateLive": {
"type": "object",
"properties": {
"block_migration": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no",
"auto"
]
},
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false,
"required": [
"block_migration",
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.25",
"max-ver": "2.29",
"action-name": "os-migrateLive"
},
"required": [
"os-migrateLive"
]
},
{
"type": "object",
"properties": {
"os-migrateLive": {
"type": "object",
"properties": {
"block_migration": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no",
"auto"
]
},
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
},
"force": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
}
},
"additionalProperties": false,
"required": [
"block_migration",
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.30",
"max-ver": "2.67",
"action-name": "os-migrateLive"
},
"required": [
"os-migrateLive"
]
},
{
"type": "object",
"properties": {
"os-migrateLive": {
"type": "object",
"properties": {
"block_migration": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no",
"auto"
]
},
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false,
"required": [
"block_migration",
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.68",
"action-name": "os-migrateLive"
},
"required": [
"os-migrateLive"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "os-migrateLive"
}
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:os-migrateLive action",
"x-openstack": {
"action-name": "os-migrateLive"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`addFixedIp` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
addFixedIp |
body |
object |
|
addFixedIp.networkId |
body |
[‘string’, ‘number’] |
{
"type": "object",
"properties": {
"addFixedIp": {
"type": "object",
"properties": {
"networkId": {
"type": [
"string",
"number"
],
"minLength": 1,
"maxLength": 36
}
},
"additionalProperties": false,
"required": [
"networkId"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.43",
"action-name": "addFixedIp"
},
"required": [
"addFixedIp"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:addFixedIp action",
"x-openstack": {
"action-name": "addFixedIp"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`removeFixedIp` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
removeFixedIp |
body |
object |
|
removeFixedIp.address |
body |
string |
{
"type": "object",
"properties": {
"removeFixedIp": {
"type": "object",
"properties": {
"address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
}
},
"additionalProperties": false,
"required": [
"address"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.43",
"action-name": "removeFixedIp"
},
"required": [
"removeFixedIp"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:removeFixedIp action",
"x-openstack": {
"action-name": "removeFixedIp"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`pause` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"pause": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "pause"
},
"required": [
"pause"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:pause action",
"x-openstack": {
"action-name": "pause"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`unpause` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"unpause": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "unpause"
},
"required": [
"unpause"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:unpause action",
"x-openstack": {
"action-name": "unpause"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`os-getVNCConsole` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
os-getVNCConsole |
body |
object |
|
os-getVNCConsole.type |
body |
string |
{
"type": "object",
"properties": {
"os-getVNCConsole": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"novnc",
"xvpvnc"
]
}
},
"additionalProperties": false,
"required": [
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.5",
"action-name": "os-getVNCConsole"
},
"required": [
"os-getVNCConsole"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:os-getVNCConsole action",
"x-openstack": {
"action-name": "os-getVNCConsole"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`os-getSPICEConsole` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
os-getSPICEConsole |
body |
object |
|
os-getSPICEConsole.type |
body |
string |
{
"type": "object",
"properties": {
"os-getSPICEConsole": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"spice-html5"
]
}
},
"additionalProperties": false,
"required": [
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.5",
"action-name": "os-getSPICEConsole"
},
"required": [
"os-getSPICEConsole"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:os-getSPICEConsole action",
"x-openstack": {
"action-name": "os-getSPICEConsole"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`os-getRDPConsole` action¶
Empty body for os-getRDPConsole action
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
os-getRDPConsole |
body |
null |
{
"type": "object",
"description": "Empty body for os-getRDPConsole action",
"properties": {
"os-getRDPConsole": {
"type": "null"
}
},
"x-openstack": {
"action-name": "os-getRDPConsole"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:os-getRDPConsole action",
"x-openstack": {
"action-name": "os-getRDPConsole"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`os-getSerialConsole` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
os-getSerialConsole |
body |
object |
|
os-getSerialConsole.type |
body |
string |
{
"type": "object",
"properties": {
"os-getSerialConsole": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"serial"
]
}
},
"additionalProperties": false,
"required": [
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.5",
"action-name": "os-getSerialConsole"
},
"required": [
"os-getSerialConsole"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:os-getSerialConsole action",
"x-openstack": {
"action-name": "os-getSerialConsole"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`rescue` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
rescue |
body |
[‘object’, ‘null’] |
{
"type": "object",
"properties": {
"rescue": {
"type": [
"object",
"null"
],
"properties": {
"adminPass": {
"type": "string"
},
"rescue_image_ref": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "rescue"
},
"required": [
"rescue"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:rescue action",
"x-openstack": {
"action-name": "rescue"
}
}
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`unrescue` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"unrescue": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "unrescue"
},
"required": [
"unrescue"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:unrescue action",
"x-openstack": {
"action-name": "unrescue"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`addSecurityGroup` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
name |
body |
string |
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": true,
"x-openstack": {
"action-name": "addSecurityGroup"
}
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:addSecurityGroup action",
"x-openstack": {
"action-name": "addSecurityGroup"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`removeSecurityGroup` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
name |
body |
string |
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": true,
"x-openstack": {
"action-name": "removeSecurityGroup"
}
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:removeSecurityGroup action",
"x-openstack": {
"action-name": "removeSecurityGroup"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`shelve` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"shelve": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "shelve"
},
"required": [
"shelve"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:shelve action",
"x-openstack": {
"action-name": "shelve"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`shelveOffload` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"shelveOffload": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "shelveOffload"
},
"required": [
"shelveOffload"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:shelveOffload action",
"x-openstack": {
"action-name": "shelveOffload"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`unshelve` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
unshelve |
body |
[‘object’, ‘null’] |
{
"oneOf": [
{
"type": "object",
"properties": {
"unshelve": {}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.76",
"action-name": "unshelve"
},
"required": [
"unshelve"
]
},
{
"type": "object",
"properties": {
"unshelve": {
"type": [
"object",
"null"
],
"properties": {
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"required": [
"availability_zone"
],
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.77",
"max-ver": "2.90",
"action-name": "unshelve"
},
"required": [
"unshelve"
]
},
{
"type": "object",
"properties": {
"unshelve": {
"oneOf": [
{
"type": [
"object"
],
"properties": {
"availability_zone": {
"oneOf": [
{
"type": [
"null"
]
},
{
"type": "string"
}
]
},
"host": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": [
"null"
]
}
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.91",
"action-name": "unshelve"
},
"required": [
"unshelve"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "unshelve"
}
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:unshelve action",
"x-openstack": {
"action-name": "unshelve"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`suspend` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"suspend": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "suspend"
},
"required": [
"suspend"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:suspend action",
"x-openstack": {
"action-name": "suspend"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`resume` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/os-volumes_boot/{id}/action API |
{
"type": "object",
"properties": {
"resume": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "resume"
},
"required": [
"resume"
]
}
Responses¶
201¶
Ok
202¶
Ok
{
"type": "object",
"description": "Response of the os-volumes_boot/id/action:post:resume action",
"x-openstack": {
"action-name": "resume"
}
}
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
servers¶
List Servers¶
Lists IDs, names, and links for servers.
By default the servers are filtered using the project ID associated with the authenticated request.
Servers contain a status attribute that indicates the current server state. You can filter on the server status when you complete a list servers request. The server status is returned in the response body. The possible server status values are:
There is whitelist for valid filter keys. Any filter key other than from whitelist will be silently ignored.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"servers": {
"type": "array",
"items": {
"type": "object",
"description": "Server object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
},
"name": {
"type": "string",
"format": "uuid",
"description": "The server name."
}
}
},
"description": "A list of `server` objects."
},
"servers_links": {
"type": "array",
"description": "Links pertaining to usage. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.\n\n\n**New in version 2\\.40**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
servers |
body |
array |
A list of |
servers[].id |
body |
string |
The UUID of the server. |
servers[].name |
body |
string |
The server name. |
servers_links |
body |
array |
Links pertaining to usage. See API Guide / Links and References for more info. New in version 2.40 |
servers_links[].href |
body |
string |
|
servers_links[].rel |
body |
string |
400¶
Error
403¶
Error
Create Server¶
Creates a server.
The progress of this operation depends on the location of the requested image, network I/O, host load, selected flavor, and other factors.
To check the progress of the request, make a GET /servers/{id}
request. This call returns a progress attribute, which is a percentage
value from 0 to 100.
The Location
header returns the full URL to the newly created
server and is available as a self
and bookmark
link in the
server representation.
When you create a server, the response shows only the server ID, its
links, and the admin password. You can get additional attributes
through subsequent GET
requests on the server.
Include the block_device_mapping_v2
parameter in the create
request body to boot a server from a volume.
Include the key_name
parameter in the create request body to add a
keypair to the server when you create it. To create a keypair, make a
create keypair
request.
Preconditions
Asynchronous postconditions
Troubleshooting
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server |
body |
object |
A |
server.name |
body |
string |
Key pair name. Note The |
server.flavorRef |
body |
[‘string’, ‘integer’] |
The flavor reference, as an ID (including a UUID) or full URL, for the flavor for your server instance. |
server.adminPass |
body |
string |
The administrative password of the server. If you omit this parameter, the operation generates a new password. |
server.metadata |
body |
object |
Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
server.networks |
body |
array |
A list of If multiple networks are defined, the order in which they appear in the
guest operating system will not necessarily reflect the order in which they
are given in the server boot request. Guests should therefore not depend
on device order to deduce any information about their network devices.
Instead, device role tags should be used: introduced in 2.32, broken in
2.37, and re-introduced and fixed in 2.42, the A bug has caused the Starting with microversion 2.37, this field is required and the special string values auto and none can be specified for networks. auto tells the Compute service to use a network that is available to the project, if one exists. If one does not exist, the Compute service will attempt to automatically allocate a network for the project (if possible). none tells the Compute service to not allocate a network for the instance. The auto and none values cannot be used with any other network values, including other network uuids, ports, fixed IPs or device tags. These are requested as strings for the networks value, not in a list. See the associated example. |
server.networks[].fixed_ip |
body |
string |
Schedule the server on a host in the network specified with this parameter
and a cidr ( |
server.networks[].uuid |
body |
string |
|
server.OS-DCF:diskConfig |
body |
string |
Controls how the API partitions the disk when you create, rebuild, or resize servers.
A server inherits the
|
server.accessIPv4 |
body |
string |
IPv4 address that should be used to access this server. |
server.accessIPv6 |
body |
string |
IPv6 address that should be used to access this server. |
server.personality |
body |
array |
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. Available until version 2.56 |
server.personality[].path |
body |
string |
|
server.personality[].contents |
body |
string |
|
server.availability_zone |
body |
string |
Key pair name. Note The |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping[].virtual_name |
body |
string |
|
server.block_device_mapping[].volume_id |
body |
string |
|
server.block_device_mapping[].snapshot_id |
body |
string |
|
server.block_device_mapping[].volume_size |
body |
[‘integer’, ‘string’] |
|
server.block_device_mapping[].device_name |
body |
string |
|
server.block_device_mapping[].delete_on_termination |
body |
[‘boolean’, ‘string’] |
Indicates whether a config drive enables metadata injection. The config_drive
setting provides information about a drive that the instance can mount at boot
time. The instance reads files from the drive to get information that is normally
available through the metadata service. This metadata is different from the user
data. Not all cloud providers enable the |
server.block_device_mapping[].connection_info |
body |
string |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.block_device_mapping_v2[].virtual_name |
body |
string |
|
server.block_device_mapping_v2[].volume_id |
body |
string |
|
server.block_device_mapping_v2[].snapshot_id |
body |
string |
|
server.block_device_mapping_v2[].volume_size |
body |
[‘integer’, ‘string’] |
|
server.block_device_mapping_v2[].device_name |
body |
string |
|
server.block_device_mapping_v2[].delete_on_termination |
body |
[‘boolean’, ‘string’] |
|
server.block_device_mapping_v2[].connection_info |
body |
string |
|
server.block_device_mapping_v2[].source_type |
body |
string |
|
server.block_device_mapping_v2[].uuid |
body |
string |
|
server.block_device_mapping_v2[].image_id |
body |
string |
|
server.block_device_mapping_v2[].destination_type |
body |
string |
|
server.block_device_mapping_v2[].guest_format |
body |
string |
|
server.block_device_mapping_v2[].device_type |
body |
string |
|
server.block_device_mapping_v2[].disk_bus |
body |
string |
|
server.block_device_mapping_v2[].boot_index |
body |
[‘integer’, ‘string’, ‘null’] |
|
server.config_drive |
body |
[‘boolean’, ‘string’] |
Indicates whether a config drive enables metadata injection. The config_drive
setting provides information about a drive that the instance can mount at boot
time. The instance reads files from the drive to get information that is normally
available through the metadata service. This metadata is different from the user
data. Not all cloud providers enable the |
server.key_name |
body |
string |
Key pair name. Note The |
server.min_count |
body |
[‘integer’, ‘string’] |
|
server.max_count |
body |
[‘integer’, ‘string’] |
|
server.return_reservation_id |
body |
[‘boolean’, ‘string’] |
Indicates whether a config drive enables metadata injection. The config_drive
setting provides information about a drive that the instance can mount at boot
time. The instance reads files from the drive to get information that is normally
available through the metadata service. This metadata is different from the user
data. Not all cloud providers enable the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.security_groups[].name |
body |
string |
Key pair name. Note The |
os:scheduler_hints |
body |
object |
The dictionary of data to send to the scheduler. Alternatively, you can specify
Note This is a top-level key in the request body, not part of the server portion of the request body. There are a few caveats with scheduler hints:
For these reasons, it is important to consult each cloud’s user documentation to know what is available for scheduler hints. |
os:scheduler_hints.group |
body |
string |
The server group UUID. Schedule the server according to a policy of
the server group ( |
os:scheduler_hints.same_host |
body |
[‘string’, ‘array’] |
A list of server UUIDs or a server UUID.
Schedule the server on the same host as another server in a set of
servers.
It is available when |
os:scheduler_hints.query |
body |
[‘string’, ‘object’] |
Schedule the server by using a custom filter in JSON format. For example: "query": "[\">=\",\"$free_ram_mb\",1024]"
It is available when |
os:scheduler_hints.target_cell |
body |
string |
A target cell name. Schedule the server in a host in the cell specified.
It is available when |
os:scheduler_hints.different_cell |
body |
[‘string’, ‘array’] |
A list of cell routes or a cell route (string).
Schedule the server in a cell that is not specified.
It is available when |
os:scheduler_hints.build_near_host_ip |
body |
string |
Schedule the server on a host in the network specified with this parameter
and a cidr ( |
os:scheduler_hints.cidr |
body |
string |
Schedule the server on a host in the network specified with an IP address
( |
OS-SCH-HNT:scheduler_hints |
body |
object |
|
OS-SCH-HNT:scheduler_hints.group |
body |
string |
The server group UUID. Schedule the server according to a policy of
the server group ( |
OS-SCH-HNT:scheduler_hints.same_host |
body |
[‘string’, ‘array’] |
A list of server UUIDs or a server UUID.
Schedule the server on the same host as another server in a set of
servers.
It is available when |
OS-SCH-HNT:scheduler_hints.query |
body |
[‘string’, ‘object’] |
Schedule the server by using a custom filter in JSON format. For example: "query": "[\">=\",\"$free_ram_mb\",1024]"
It is available when |
OS-SCH-HNT:scheduler_hints.target_cell |
body |
string |
A target cell name. Schedule the server in a host in the cell specified.
It is available when |
OS-SCH-HNT:scheduler_hints.different_cell |
body |
[‘string’, ‘array’] |
A list of cell routes or a cell route (string).
Schedule the server in a cell that is not specified.
It is available when |
OS-SCH-HNT:scheduler_hints.build_near_host_ip |
body |
string |
Schedule the server on a host in the network specified with this parameter
and a cidr ( |
OS-SCH-HNT:scheduler_hints.cidr |
body |
string |
Schedule the server on a host in the network specified with an IP address
( |
server.networks |
body |
array |
A list of If multiple networks are defined, the order in which they appear in the
guest operating system will not necessarily reflect the order in which they
are given in the server boot request. Guests should therefore not depend
on device order to deduce any information about their network devices.
Instead, device role tags should be used: introduced in 2.32, broken in
2.37, and re-introduced and fixed in 2.42, the A bug has caused the Starting with microversion 2.37, this field is required and the special string values auto and none can be specified for networks. auto tells the Compute service to use a network that is available to the project, if one exists. If one does not exist, the Compute service will attempt to automatically allocate a network for the project (if possible). none tells the Compute service to not allocate a network for the instance. The auto and none values cannot be used with any other network values, including other network uuids, ports, fixed IPs or device tags. These are requested as strings for the networks value, not in a list. See the associated example. |
server.personality |
body |
array |
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. Available until version 2.56 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.user_data |
body |
string |
Configuration information or scripts to use upon launch. Must be Base64 encoded. Restricted to 65535 bytes. Note The |
server.networks |
body |
array |
A list of If multiple networks are defined, the order in which they appear in the
guest operating system will not necessarily reflect the order in which they
are given in the server boot request. Guests should therefore not depend
on device order to deduce any information about their network devices.
Instead, device role tags should be used: introduced in 2.32, broken in
2.37, and re-introduced and fixed in 2.42, the A bug has caused the Starting with microversion 2.37, this field is required and the special string values auto and none can be specified for networks. auto tells the Compute service to use a network that is available to the project, if one exists. If one does not exist, the Compute service will attempt to automatically allocate a network for the project (if possible). none tells the Compute service to not allocate a network for the instance. The auto and none values cannot be used with any other network values, including other network uuids, ports, fixed IPs or device tags. These are requested as strings for the networks value, not in a list. See the associated example. |
server.personality |
body |
array |
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. Available until version 2.56 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.description |
body |
[‘string’, ‘null’] |
A free form description of the server. Limited to 255 characters in length. Before microversion 2.19 this was set to the server name. New in version 2.19 |
server.networks |
body |
array |
A list of If multiple networks are defined, the order in which they appear in the
guest operating system will not necessarily reflect the order in which they
are given in the server boot request. Guests should therefore not depend
on device order to deduce any information about their network devices.
Instead, device role tags should be used: introduced in 2.32, broken in
2.37, and re-introduced and fixed in 2.42, the A bug has caused the Starting with microversion 2.37, this field is required and the special string values auto and none can be specified for networks. auto tells the Compute service to use a network that is available to the project, if one exists. If one does not exist, the Compute service will attempt to automatically allocate a network for the project (if possible). none tells the Compute service to not allocate a network for the instance. The auto and none values cannot be used with any other network values, including other network uuids, ports, fixed IPs or device tags. These are requested as strings for the networks value, not in a list. See the associated example. |
server.networks[].tag |
body |
string |
|
server.personality |
body |
array |
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. Available until version 2.56 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.block_device_mapping_v2[].tag |
body |
string |
|
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.networks |
body |
array |
A list of If multiple networks are defined, the order in which they appear in the
guest operating system will not necessarily reflect the order in which they
are given in the server boot request. Guests should therefore not depend
on device order to deduce any information about their network devices.
Instead, device role tags should be used: introduced in 2.32, broken in
2.37, and re-introduced and fixed in 2.42, the A bug has caused the Starting with microversion 2.37, this field is required and the special string values auto and none can be specified for networks. auto tells the Compute service to use a network that is available to the project, if one exists. If one does not exist, the Compute service will attempt to automatically allocate a network for the project (if possible). none tells the Compute service to not allocate a network for the instance. The auto and none values cannot be used with any other network values, including other network uuids, ports, fixed IPs or device tags. These are requested as strings for the networks value, not in a list. See the associated example. |
server.personality |
body |
array |
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. Available until version 2.56 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.personality |
body |
array |
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. Available until version 2.56 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.personality |
body |
array |
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. Available until version 2.56 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.personality |
body |
array |
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. Available until version 2.56 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.tags |
body |
array |
A list of tags. Tags have the following restrictions:
New in version 2.52 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.tags |
body |
array |
A list of tags. Tags have the following restrictions:
New in version 2.52 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.tags |
body |
array |
A list of tags. Tags have the following restrictions:
New in version 2.52 |
server.trusted_image_certificates |
body |
[‘array’, ‘null’] |
A list of trusted certificate IDs, which are used during image signature verification to verify the signing certificate. The list is restricted to a maximum of 50 IDs. This parameter is optional in server create requests if allowed by policy, and is not supported for volume-backed instances. New in version 2.63 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.block_device_mapping_v2[].volume_type |
body |
[‘string’, ‘null’] |
|
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.tags |
body |
array |
A list of tags. Tags have the following restrictions:
New in version 2.52 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.tags |
body |
array |
A list of tags. Tags have the following restrictions:
New in version 2.52 |
server.host |
body |
string |
The hostname of the hypervisor on which the server is to be created. The API will return 400 if no hypervisors are found with the given hostname. By default, it can be specified by administrators only. New in version 2.74 |
server.hypervisor_hostname |
body |
string |
The hostname of the hypervisor on which the server is to be created. The API will return 400 if no hypervisors are found with the given hostname. By default, it can be specified by administrators only. New in version 2.74 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.tags |
body |
array |
A list of tags. Tags have the following restrictions:
New in version 2.52 |
server.hostname |
body |
string |
The hostname to configure for the instance in the metadata service. Starting with microversion 2.94, this can be a Fully Qualified Domain Name (FQDN) of up to 255 characters in length. Note This information is published via the metadata service and requires
application such as New in version 2.90 |
server.block_device_mapping |
body |
array |
|
server.block_device_mapping_v2 |
body |
array |
Enables fine grained control of the block device mapping for an instance. This is typically used for booting servers from volumes. An example format would look as follows:
In microversion 2.32, A bug has caused the |
server.security_groups |
body |
array |
One or more security groups. Specify the name of the security group in the
|
server.tags |
body |
array |
A list of tags. Tags have the following restrictions:
New in version 2.52 |
{
"oneOf": [
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "Key pair name.\n\n\n\nNote\n\n\nThe `null` value was allowed in the Nova legacy v2 API,\nbut due to strict input validation, it is not allowed in\nthe Nova v2\\.1 API."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "Key pair name.\n\n\n\nNote\n\n\nThe `null` value was allowed in the Nova legacy v2 API,\nbut due to strict input validation, it is not allowed in\nthe Nova v2\\.1 API."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "Key pair name.\n\n\n\nNote\n\n\nThe `null` value was allowed in the Nova legacy v2 API,\nbut due to strict input validation, it is not allowed in\nthe Nova v2\\.1 API."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "Key pair name.\n\n\n\nNote\n\n\nThe `null` value was allowed in the Nova legacy v2 API,\nbut due to strict input validation, it is not allowed in\nthe Nova v2\\.1 API."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
],
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.18"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.19",
"max-ver": "2.31"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
},
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.32",
"max-ver": "2.32"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
},
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.33",
"max-ver": "2.36"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
],
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.37",
"max-ver": "2.41"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
],
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.42",
"max-ver": "2.51"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
],
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50,
"description": "A list of tags. Tags have the following restrictions:\n\n\n* Tag is a Unicode bytestring no longer than 60 characters.\n* Tag is a non\\-empty string.\n* \u2018/\u2019 is not allowed to be in a tag name\n* Comma is not allowed to be in a tag name in order to simplify\nrequests that specify lists of tags\n* All other characters are allowed to be in a tag name\n* Each server can have up to 50 tags.\n\n\n**New in version 2\\.52**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.52",
"max-ver": "2.56"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
],
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50,
"description": "A list of tags. Tags have the following restrictions:\n\n\n* Tag is a Unicode bytestring no longer than 60 characters.\n* Tag is a non\\-empty string.\n* \u2018/\u2019 is not allowed to be in a tag name\n* Comma is not allowed to be in a tag name in order to simplify\nrequests that specify lists of tags\n* All other characters are allowed to be in a tag name\n* Each server can have up to 50 tags.\n\n\n**New in version 2\\.52**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.57",
"max-ver": "2.62"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
],
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50,
"description": "A list of tags. Tags have the following restrictions:\n\n\n* Tag is a Unicode bytestring no longer than 60 characters.\n* Tag is a non\\-empty string.\n* \u2018/\u2019 is not allowed to be in a tag name\n* Comma is not allowed to be in a tag name in order to simplify\nrequests that specify lists of tags\n* All other characters are allowed to be in a tag name\n* Each server can have up to 50 tags.\n\n\n**New in version 2\\.52**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"description": "A list of trusted certificate IDs, which are used during image\nsignature verification to verify the signing certificate. The list is\nrestricted to a maximum of 50 IDs. This parameter is optional in server\ncreate requests if allowed by policy, and is not supported for\nvolume\\-backed instances.\n\n\n**New in version 2\\.63**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.63",
"max-ver": "2.66"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
],
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"volume_type": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50,
"description": "A list of tags. Tags have the following restrictions:\n\n\n* Tag is a Unicode bytestring no longer than 60 characters.\n* Tag is a non\\-empty string.\n* \u2018/\u2019 is not allowed to be in a tag name\n* Comma is not allowed to be in a tag name in order to simplify\nrequests that specify lists of tags\n* All other characters are allowed to be in a tag name\n* Each server can have up to 50 tags.\n\n\n**New in version 2\\.52**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"description": "A list of trusted certificate IDs, which are used during image\nsignature verification to verify the signing certificate. The list is\nrestricted to a maximum of 50 IDs. This parameter is optional in server\ncreate requests if allowed by policy, and is not supported for\nvolume\\-backed instances.\n\n\n**New in version 2\\.63**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.67",
"max-ver": "2.73"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
],
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"volume_type": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50,
"description": "A list of tags. Tags have the following restrictions:\n\n\n* Tag is a Unicode bytestring no longer than 60 characters.\n* Tag is a non\\-empty string.\n* \u2018/\u2019 is not allowed to be in a tag name\n* Comma is not allowed to be in a tag name in order to simplify\nrequests that specify lists of tags\n* All other characters are allowed to be in a tag name\n* Each server can have up to 50 tags.\n\n\n**New in version 2\\.52**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"description": "A list of trusted certificate IDs, which are used during image\nsignature verification to verify the signing certificate. The list is\nrestricted to a maximum of 50 IDs. This parameter is optional in server\ncreate requests if allowed by policy, and is not supported for\nvolume\\-backed instances.\n\n\n**New in version 2\\.63**"
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The hostname of the hypervisor on which the server is to be created.\nThe API will return 400 if no hypervisors are found with the given\nhostname. By default, it can be specified by administrators only.\n\n\n**New in version 2\\.74**"
},
"hypervisor_hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The hostname of the hypervisor on which the server is to be created.\nThe API will return 400 if no hypervisors are found with the given\nhostname. By default, it can be specified by administrators only.\n\n\n**New in version 2\\.74**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.74",
"max-ver": "2.89"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
],
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"volume_type": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50,
"description": "A list of tags. Tags have the following restrictions:\n\n\n* Tag is a Unicode bytestring no longer than 60 characters.\n* Tag is a non\\-empty string.\n* \u2018/\u2019 is not allowed to be in a tag name\n* Comma is not allowed to be in a tag name in order to simplify\nrequests that specify lists of tags\n* All other characters are allowed to be in a tag name\n* Each server can have up to 50 tags.\n\n\n**New in version 2\\.52**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"description": "A list of trusted certificate IDs, which are used during image\nsignature verification to verify the signing certificate. The list is\nrestricted to a maximum of 50 IDs. This parameter is optional in server\ncreate requests if allowed by policy, and is not supported for\nvolume\\-backed instances.\n\n\n**New in version 2\\.63**"
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The hostname of the hypervisor on which the server is to be created.\nThe API will return 400 if no hypervisors are found with the given\nhostname. By default, it can be specified by administrators only.\n\n\n**New in version 2\\.74**"
},
"hypervisor_hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The hostname of the hypervisor on which the server is to be created.\nThe API will return 400 if no hypervisors are found with the given\nhostname. By default, it can be specified by administrators only.\n\n\n**New in version 2\\.74**"
},
"hostname": {
"type": "string",
"minLength": 2,
"maxLength": 63,
"pattern": "^[a-zA-Z0-9]+[a-zA-Z0-9-]*[a-zA-Z0-9]+$",
"description": "The hostname to configure for the instance in the metadata service.\n\n\nStarting with microversion 2\\.94, this can be a Fully Qualified Domain Name\n(FQDN) of up to 255 characters in length.\n\n\n\nNote\n\n\nThis information is published via the metadata service and requires\napplication such as `cloud-init` to propagate it through to the\ninstance.\n\n\n\n**New in version 2\\.90**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.90",
"max-ver": "2.93"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"imageRef": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "string",
"maxLength": 0
}
],
"description": "The UUID of the image to use for your server instance.\nThis is not required in case of boot from volume.\nIn all other cases it is required and must be a valid UUID\notherwise API will return 400\\."
},
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor reference, as an ID (including a UUID) or full URL,\nfor the flavor for your server instance."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"networks": {
"oneOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fixed_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"port": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"uuid": {
"type": "string",
"format": "uuid"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
}
},
"additionalProperties": false
}
},
{
"type": "string",
"enum": [
"none",
"auto"
]
}
],
"description": "A list of `network` object. Required parameter when there are multiple\nnetworks defined for the tenant. When you do not specify the networks\nparameter, the server attaches to the only network created for the\ncurrent tenant. Optionally, you can create one or more NICs on the server.\nTo provision the server instance with a NIC for a network, specify\nthe UUID of the network in the `uuid` attribute in a `networks`\nobject. To provision the server instance with a NIC for an already\nexisting port, specify the port\\-id in the `port` attribute in a\n`networks` object.\n\n\nIf multiple networks are defined, the order in which they appear in the\nguest operating system will not necessarily reflect the order in which they\nare given in the server boot request. Guests should therefore not depend\non device order to deduce any information about their network devices.\nInstead, device role tags should be used: introduced in 2\\.32, broken in\n2\\.37, and re\\-introduced and fixed in 2\\.42, the `tag` is an optional,\nstring attribute that can be used to assign a tag to a virtual network\ninterface. This tag is then exposed to the guest in the metadata API and\nthe config drive and is associated to hardware metadata for that network\ninterface, such as bus (ex: PCI), bus address (ex: 0000:00:02\\.0\\), and MAC\naddress.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.37\\. Therefore, network interfaces could only be tagged in\nversions 2\\.32 to 2\\.36 inclusively. Version 2\\.42 has restored the `tag`\nattribute.\n\n\nStarting with microversion 2\\.37, this field is required and the special\nstring values *auto* and *none* can be specified for networks. *auto*\ntells the Compute service to use a network that is available to the\nproject, if one exists. If one does not exist, the Compute service will\nattempt to automatically allocate a network for the project (if possible).\n*none* tells the Compute service to not allocate a network for the\ninstance. The *auto* and *none* values cannot be used with any other\nnetwork values, including other network uuids, ports, fixed IPs or device\ntags. These are requested as strings for the networks value, not in a\nlist. See the associated example."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"block_device_mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
}
},
"additionalProperties": false
}
},
"block_device_mapping_v2": {
"type": "array",
"items": {
"type": "object",
"properties": {
"virtual_name": {
"type": "string",
"maxLength": 255
},
"volume_id": {
"type": "string",
"format": "uuid"
},
"snapshot_id": {
"type": "string",
"format": "uuid"
},
"volume_size": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]+$",
"minimum": 1,
"maximum": 2147483647
},
"device_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-r/]*$"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
]
},
"no_device": {},
"connection_info": {
"type": "string",
"maxLength": 16777215
},
"source_type": {
"type": "string",
"enum": [
"volume",
"image",
"snapshot",
"blank"
]
},
"uuid": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9._-]*$"
},
"image_id": {
"type": "string",
"format": "uuid"
},
"destination_type": {
"type": "string",
"enum": [
"local",
"volume"
]
},
"guest_format": {
"type": "string",
"maxLength": 255
},
"device_type": {
"type": "string",
"maxLength": 255
},
"disk_bus": {
"type": "string",
"maxLength": 255
},
"boot_index": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"volume_type": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255
}
},
"additionalProperties": false
},
"description": "Enables fine grained control of the block device mapping for an instance. This\nis typically used for booting servers from volumes. An example format would look\nas follows:\n\n\n\n> ```\n> \"block_device_mapping_v2\": [{\n> \"boot_index\": \"0\",\n> \"uuid\": \"ac408821-c95a-448f-9292-73986c790911\",\n> \"source_type\": \"image\",\n> \"volume_size\": \"25\",\n> \"destination_type\": \"volume\",\n> \"delete_on_termination\": true,\n> \"tag\": \"disk1\",\n> \"disk_bus\": \"scsi\"}]\n> \n> ```\n\n\nIn microversion 2\\.32, `tag` is an optional string attribute that can\nbe used to assign a tag to the block device. This tag is then exposed to\nthe guest in the metadata API and the config drive and is associated to\nhardware metadata for that block device, such as bus (ex: SCSI), bus\naddress (ex: 1:0:2:0\\), and serial.\n\n\nA bug has caused the `tag` attribute to no longer be accepted starting\nwith version 2\\.33\\. It has been restored in version 2\\.42\\."
},
"config_drive": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"key_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"min_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"max_count": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 1,
"minLength": 1
},
"return_reservation_id": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether a config drive enables metadata injection. The config_drive\nsetting provides information about a drive that the instance can mount at boot\ntime. The instance reads files from the drive to get information that is normally\navailable through the metadata service. This metadata is different from the user\ndata. Not all cloud providers enable the `config_drive`. Read more in the\n[OpenStack End User Guide](https://docs.openstack.org/nova/latest/user/config-drive.html)."
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
}
},
"additionalProperties": false
},
"description": "One or more security groups. Specify the name of the security group in the\n`name` attribute. If you omit this attribute, the API creates the server\nin the `default` security group. Requested security groups are not\napplied to pre\\-existing ports."
},
"user_data": {
"type": "string",
"format": "base64",
"maxLength": 65535,
"description": "Configuration information or scripts to use upon launch.\nMust be Base64 encoded. Restricted to 65535 bytes.\n\n\n\nNote\n\n\nThe `null` value allowed in Nova legacy v2 API, but due to the strict\ninput validation, it isn\u2019t allowed in Nova v2\\.1 API."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$"
},
"maxItems": 50,
"description": "A list of tags. Tags have the following restrictions:\n\n\n* Tag is a Unicode bytestring no longer than 60 characters.\n* Tag is a non\\-empty string.\n* \u2018/\u2019 is not allowed to be in a tag name\n* Comma is not allowed to be in a tag name in order to simplify\nrequests that specify lists of tags\n* All other characters are allowed to be in a tag name\n* Each server can have up to 50 tags.\n\n\n**New in version 2\\.52**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"description": "A list of trusted certificate IDs, which are used during image\nsignature verification to verify the signing certificate. The list is\nrestricted to a maximum of 50 IDs. This parameter is optional in server\ncreate requests if allowed by policy, and is not supported for\nvolume\\-backed instances.\n\n\n**New in version 2\\.63**"
},
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The hostname of the hypervisor on which the server is to be created.\nThe API will return 400 if no hypervisors are found with the given\nhostname. By default, it can be specified by administrators only.\n\n\n**New in version 2\\.74**"
},
"hypervisor_hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The hostname of the hypervisor on which the server is to be created.\nThe API will return 400 if no hypervisors are found with the given\nhostname. By default, it can be specified by administrators only.\n\n\n**New in version 2\\.74**"
},
"hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The hostname to configure for the instance in the metadata service.\n\n\nStarting with microversion 2\\.94, this can be a Fully Qualified Domain Name\n(FQDN) of up to 255 characters in length.\n\n\n\nNote\n\n\nThis information is published via the metadata service and requires\napplication such as `cloud-init` to propagate it through to the\ninstance.\n\n\n\n**New in version 2\\.90**"
}
},
"additionalProperties": false,
"required": [
"name",
"flavorRef",
"networks"
]
},
"os:scheduler_hints": {
"type": "object",
"description": "The dictionary of data to send to the scheduler. Alternatively, you can specify\n`OS-SCH-HNT:scheduler_hints` as the key in the request body.\n\n\n\nNote\n\n\nThis is a top\\-level key in the request body, not part of the\nserver portion of the request body.\n\n\n\nThere are a few caveats with scheduler hints:\n\n\n* The request validation schema is per hint. For example, some require a\nsingle string value, and some accept a list of values.\n* Hints are only used based on the cloud scheduler configuration, which\nvaries per deployment.\n* Hints are pluggable per deployment, meaning that a cloud can have custom\nhints which may not be available in another cloud.\n\n\nFor these reasons, it is important to consult each cloud\u2019s user\ndocumentation to know what is available for scheduler hints.",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
},
"OS-SCH-HNT:scheduler_hints": {
"type": "object",
"properties": {
"group": {
"type": "string",
"format": "uuid",
"description": "The server group UUID. Schedule the server according to a policy of\nthe server group (`anti-affinity`, `affinity`, `soft-anti-affinity`\nor `soft-affinity`).\nIt is available when `ServerGroupAffinityFilter`,\n`ServerGroupAntiAffinityFilter`, `ServerGroupSoftAntiAffinityWeigher`,\n`ServerGroupSoftAffinityWeigher` are available on cloud side."
},
"different_host": {
"oneOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
],
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on a different host from a set of servers.\nIt is available when `DifferentHostFilter` is available on cloud side."
},
"same_host": {
"type": [
"string",
"array"
],
"items": {
"type": "string",
"format": "uuid"
},
"description": "A list of server UUIDs or a server UUID.\nSchedule the server on the same host as another server in a set of\nservers.\nIt is available when `SameHostFilter` is available on cloud side."
},
"query": {
"type": [
"string",
"object"
],
"description": "Schedule the server by using a custom filter in JSON format.\nFor example:\n\n\n\n```\n\"query\": \"[\\\">=\\\",\\\"$free_ram_mb\\\",1024]\"\n\n```\n\n\nIt is available when `JsonFilter` is available on cloud side."
},
"target_cell": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "A target cell name. Schedule the server in a host in the cell specified.\nIt is available when `TargetCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"different_cell": {
"type": [
"string",
"array"
],
"items": {
"type": "string"
},
"description": "A list of cell routes or a cell route (string).\nSchedule the server in a cell that is not specified.\nIt is available when `DifferentCellFilter` is available on cloud side\nthat is cell v1 environment."
},
"build_near_host_ip": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Schedule the server on a host in the network specified with this parameter\nand a cidr (`os:scheduler_hints.cidr`).\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
},
"cidr": {
"type": "string",
"pattern": "^/[0-9a-f.:]+$",
"description": "Schedule the server on a host in the network specified with an IP address\n(`os:scheduler_hints:build_near_host_ip`) and this parameter.\nIf `os:scheduler_hints:build_near_host_ip` is specified and\nthis parameter is omitted, `/24` is used.\nIt is available when `SimpleCIDRAffinityFilter` is available\non cloud side."
}
},
"additionalProperties": true
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.94"
},
"required": [
"server"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
202¶
Ok
{
"oneOf": [
{
"type": "object",
"description": "Created server object",
"properties": {
"server": {
"type": "object",
"properties": {
"OS-DCF:diskConfig": {
"type": "string",
"description": "Disk configuration. The value is either:\n\n\n* `AUTO`. The API builds the server with a single partition the size of\nthe target flavor disk. The API automatically adjusts the file system to\nfit the entire partition.\n* `MANUAL`. The API builds the server by using the partition scheme and\nfile system that is in the source image. If the target flavor disk is\nlarger, The API does not partition the remaining disk space.",
"enum": [
"AUTO",
"MANUAL"
]
},
"adminPass": {
"type": "string",
"format": "password",
"description": "The administrative password for the server. If you set `enable_instance_password` configuration\noption to `False`, the API wouldn\u2019t return the `adminPass` field in response."
},
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server.",
"readOnly": true
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The security group name"
}
}
},
"description": "One or more security groups objects."
},
"links": {
"type": "array",
"description": "Links pertaining to usage. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.\n\n\n**New in version 2\\.40**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
},
"description": "A `server` object."
}
}
},
{
"type": "object",
"properties": {
"reservation_id": {
"type": "string",
"description": "The reservation id for the server. This is an id that can be useful in tracking groups of servers created with multiple create, that will all have the same reservation_id."
}
}
}
]
}
400¶
Error
403¶
Error
409¶
Error
List Servers Detailed¶
For each server, shows server details including config drive, extended status, and server usage information.
The extended status information appears in the OS-EXT-STS:vm_state, OS-EXT-STS:power_state, and OS-EXT-STS:task_state attributes.
The server usage information appears in the OS-SRV-USG:launched_at and OS-SRV-USG:terminated_at attributes.
HostId is unique per account and is not globally unique.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"servers": {
"type": "array",
"items": {
"type": "object",
"description": "Server object",
"properties": {
"accessIPv4": {
"description": "IPv4 address that should be used to access this server. May be\nautomatically set by the provider.",
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"description": "IPv6 address that should be used to access this server. May be\nautomatically set by the provider.",
"type": "string",
"format": "ipv6"
},
"addresses": {
"type": "object",
"description": "The addresses for the server. Servers with status `BUILD` hide their\naddresses information.\nThis view is not updated immediately.\nPlease consult with OpenStack Networking API for up\\-to\\-date information.",
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"addr": {
"description": "The IP address.",
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"version": {
"type": "integer",
"enum": [
4,
6
],
"description": "The IP version of the address associated with server."
}
}
}
}
},
"os-extended-volumes:volumes_attached": {
"type": "array",
"items": {
"type": "object"
},
"description": "The attached volumes, if any."
},
"OS-EXT-AZ:availability_zone": {
"type": "string",
"description": "The availability zone name."
},
"OS-EXT-SRV-ATTR:host": {
"type": "string",
"description": "The name of the compute host on which this instance is running.\nAppears in the response for administrative users only."
},
"config_drive": {
"type": "string",
"description": "Indicates whether or not a config drive was used for this server.\nThe value is `True` or an empty string. An empty string stands for\n`False`."
},
"created": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.",
"readOnly": true
},
"description": {
"type": "string",
"description": "The description of the server.\nBefore microversion 2\\.19 this was set to the server name.\n\n\n**New in version 2\\.19**"
},
"OS-DCF:diskConfig": {
"type": "string",
"description": "Disk configuration. The value is either:\n\n\n* `AUTO`. The API builds the server with a single partition the size of\nthe target flavor disk. The API automatically adjusts the file system to\nfit the entire partition.\n* `MANUAL`. The API builds the server by using the partition scheme and\nfile system that is in the source image. If the target flavor disk is\nlarger, The API does not partition the remaining disk space.",
"enum": [
"AUTO",
"MANUAL"
]
},
"fault": {
"type": "object",
"description": "A fault object. Only displayed when the server status is `ERROR` or\n`DELETED` and a fault occurred.",
"properties": {
"code": {
"type": "integer",
"description": "The error response code."
},
"created": {
"type": "string",
"format": "date-time",
"description": "The date and time when the exception was raised. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"message": {
"type": "string",
"description": "The error message."
},
"details": {
"type": "string",
"description": "The stack trace. It is available if the response code is not 500 or\nyou have the administrator privilege"
}
},
"additionalProperties": false
},
"flavor": {
"type": "object",
"description": "Before microversion 2\\.47 this contains the ID and links for the flavor\nused to boot the server instance. This can be an empty object in case\nflavor information is no longer present in the system.\n\n\nAs of microversion 2\\.47 this contains a subset of the actual flavor\ninformation used to create the server instance, represented as a nested\ndictionary.",
"properties": {
"id": {
"type": "string",
"description": "The UUID of the server.",
"x-openstack": {
"max-ver": "2.46"
}
},
"links": {
"description": "Links to the resources in question. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.",
"x-openstack": {
"max-ver": "2.46"
},
"type": "array",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
},
"vcpus": {
"type": "integer",
"description": "The number of virtual CPUs that were allocated to the server.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"ram": {
"type": "integer",
"description": "The amount of RAM a flavor has, in MiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"disk": {
"type": "integer",
"description": "The size of the root disk that was created in GiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"ephemeral": {
"type": "integer",
"description": "The size of the ephemeral disk that was created, in GiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"swap": {
"type": "integer",
"description": "The size of a dedicated swap disk that was allocated, in MiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"original_name": {
"type": "string",
"description": "The display name of a flavor.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"extra_specs": {
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. This will\nonly be included if the user is allowed by policy to index flavor\nextra_specs.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
},
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false
}
}
},
"hostId": {
"type": "string",
"description": "An ID string representing the host. This is a hashed value so will not actually look like\na hostname, and is hashed with data from the project_id, so the same physical host as seen\nby two different project_ids, will be different. It is useful when within the same project you\nneed to determine if two instances are on the same or different physical hosts for the\npurposes of availability or performance."
},
"host_status": {
"type": [
"string",
"null"
],
"description": "The host status. Values where next value in list can override the previous:\n\n\n* `UP` if nova\\-compute up.\n* `UNKNOWN` if nova\\-compute not reported by servicegroup driver.\n* `DOWN` if nova\\-compute forced down.\n* `MAINTENANCE` if nova\\-compute is disabled.\n* Empty string indicates there is no host for server.\n\n\nThis attribute appears in the response only if the policy permits.\nBy default, only administrators can get this parameter.\n\n\n**New in version 2\\.16**",
"enum": [
"UP",
"DOWN",
"MAINTENANCE",
"UNKNOWN",
"",
"null"
],
"x-openstack": {
"min-ver": "2.16"
}
},
"OS-EXT-SRV-ATTR:hostname": {
"type": "string",
"description": "The hostname of the instance reported in the metadata service.\nThis parameter only appears in responses for administrators until\nmicroversion 2\\.90, after which it is shown for all users.\n\n\n\nNote\n\n\nThis information is published via the metadata service and requires\napplication such as `cloud-init` to propagate it through to the\ninstance.\n\n\n\n**New in version 2\\.3**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-EXT-SRV-ATTR:hypervisor_hostname": {
"type": "string",
"description": "The hypervisor host name provided by the Nova virt driver. For the Ironic driver,\nit is the Ironic node uuid. Appears in the response for administrative users only.",
"x-openstack-sdk-name": "hypervisor_hostname"
},
"id": {
"type": "string",
"format": "uuid",
"description": "Id of the server",
"readOnly": true
},
"image": {
"type": "object",
"description": "The UUID and links for the image for your server instance. The `image` object\nwill be an empty string when you boot the server from a volume.",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The image ID"
},
"links": {
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"type": "array",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
},
"OS-EXT-SRV-ATTR:instance_name": {
"type": "string",
"description": "The instance name. The Compute API generates the instance name from the instance\nname template. Appears in the response for administrative users only."
},
"locked": {
"type": "boolean",
"description": "True if the instance is locked otherwise False.\n\n\n**New in version 2\\.9**",
"x-openstack": {
"min-ver": "2.9"
}
},
"OS-EXT-SRV-ATTR:kernel_id": {
"type": "string",
"description": "The UUID of the kernel image when using an AMI. Will be null if not.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.3**",
"x-openstack": {
"min-ver": "2.3"
}
},
"key_name": {
"type": "string",
"description": "The name of associated key pair, if any."
},
"OS-EXT-SRV-ATTR:launch_index": {
"type": "integer",
"description": "When servers are launched via multiple create, this is the\nsequence in which the servers were launched.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.3**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-SRV-USG:launched_at": {
"type": "string",
"description": "The date and time when the server was launched.\n\n\nThe date and time stamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601):\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`.\n\n\nThe `hh\u00b1:mm` value, if included, is the time zone as an offset from UTC.\nIf the `deleted_at` date and time stamp is not set, its value is `null`."
},
"links": {
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"type": "array",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
},
"metadata": {
"type": "object",
"description": "A dictionary of metadata key\\-and\\-value pairs, which is maintained for backward\ncompatibility.",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false
},
"name": {
"type": "string",
"description": "The server name."
},
"OS-EXT-STS:power_state": {
"type": "integer",
"description": "The power state of the instance. This is an enum value that is mapped as:\n\n\n\n```\n0: NOSTATE\n1: RUNNING\n3: PAUSED\n4: SHUTDOWN\n6: CRASHED\n7: SUSPENDED\n\n```"
},
"progress": {
"type": "integer",
"description": "A percentage value of the operation progress.\nThis parameter only appears when the server status is `ACTIVE`,\n`BUILD`, `REBUILD`, `RESIZE`, `VERIFY_RESIZE` or `MIGRATING`."
},
"tenant_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
},
"OS-EXT-SRV-ATTR:ramdisk_id": {
"type": "string",
"description": "The UUID of the ramdisk image when using an AMI. Will be null if not.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.3**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-EXT-SRV-ATTR:reservation_id": {
"type": "string",
"description": "The reservation id for the server. This is an id that can\nbe useful in tracking groups of servers created with multiple\ncreate, that will all have the same reservation_id.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.3**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-EXT-SRV-ATTR:root_device_name": {
"type": "string",
"description": "The root device name for the instance\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.3**",
"x-openstack": {
"min-ver": "2.3"
}
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The security group name"
}
}
},
"description": "One or more security groups objects."
},
"server_groups": {
"type": "array",
"items": {
"type": "string"
},
"description": "The UUIDs of the server groups to which the server belongs. Currently this can contain at most one entry.",
"x-openstack": {
"min-ver": "2.71"
}
},
"status": {
"type": "string",
"description": "The server status.",
"readOnly": true
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of tags. The maximum count of tags in this list is 50\\.\n\n\n**New in version 2\\.26**",
"x-openstack": {
"min-ver": "2.26"
}
},
"OS-EXT-STS:task_state": {
"type": "string",
"description": "The task state of the instance."
},
"OS-SRV-USG:terminated_at": {
"type": "string",
"description": "The date and time when the server was deleted.\n\n\nThe date and time stamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601):\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`.\nThe `\u00b1hh:mm` value, if included, is the time zone as an offset from UTC.\nIf the `deleted_at` date and time stamp is not set, its value is `null`."
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "A list of trusted certificate IDs, that were used during image signature\nverification to verify the signing certificate. The list is restricted\nto a maximum of 50 IDs. The value is `null` if trusted certificate IDs\nare not set.\n\n\n**New in version 2\\.63**",
"x-openstack": {
"min-ver": "2.63"
}
},
"updated": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.",
"readOnly": true
},
"OS-EXT-SRV-ATTR:user_data": {
"type": "string",
"description": "The user_data the instance was created with.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.3**",
"x-openstack": {
"min-ver": "2.3"
}
},
"user_id": {
"type": "string",
"description": "The user ID of the user who owns the server."
},
"OS-EXT-STS:vm_state": {
"type": "string",
"description": "The VM state."
}
}
},
"description": "A list of `server` objects."
},
"servers_links": {
"type": "array",
"description": "Links pertaining to usage. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.\n\n\n**New in version 2\\.40**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
servers |
body |
array |
A list of |
servers[].accessIPv4 |
body |
string |
IPv4 address that should be used to access this server. May be automatically set by the provider. |
servers[].accessIPv6 |
body |
string |
IPv6 address that should be used to access this server. May be automatically set by the provider. |
servers[].addresses |
body |
object |
The addresses for the server. Servers with status |
servers[].os-extended-volumes:volumes_attached |
body |
array |
The attached volumes, if any. |
servers[].OS-EXT-AZ:availability_zone |
body |
string |
The availability zone name. |
servers[].OS-EXT-SRV-ATTR:host |
body |
string |
The name of the compute host on which this instance is running. Appears in the response for administrative users only. |
servers[].config_drive |
body |
string |
Indicates whether or not a config drive was used for this server.
The value is |
servers[].created |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
servers[].description |
body |
string |
The description of the server. Before microversion 2.19 this was set to the server name. New in version 2.19 |
servers[].OS-DCF:diskConfig |
body |
string |
Disk configuration. The value is either:
|
servers[].fault |
body |
object |
A fault object. Only displayed when the server status is |
servers[].fault.code |
body |
integer |
The error response code. |
servers[].fault.created |
body |
string |
The date and time when the exception was raised. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
servers[].fault.message |
body |
string |
The error message. |
servers[].fault.details |
body |
string |
The stack trace. It is available if the response code is not 500 or you have the administrator privilege |
servers[].flavor |
body |
object |
Before microversion 2.47 this contains the ID and links for the flavor used to boot the server instance. This can be an empty object in case flavor information is no longer present in the system. As of microversion 2.47 this contains a subset of the actual flavor information used to create the server instance, represented as a nested dictionary. |
servers[].flavor.id |
body |
string |
The UUID of the server. |
servers[].flavor.links |
body |
array |
Links to the resources in question. See API Guide / Links and
References
for more info. |
servers[].flavor.links[].href |
body |
string |
|
servers[].flavor.links[].rel |
body |
string |
|
servers[].flavor.vcpus |
body |
integer |
The number of virtual CPUs that were allocated to the server. New in version 2.47 |
servers[].flavor.ram |
body |
integer |
The amount of RAM a flavor has, in MiB. New in version 2.47 |
servers[].flavor.disk |
body |
integer |
The size of the root disk that was created in GiB. New in version 2.47 |
servers[].flavor.ephemeral |
body |
integer |
The size of the ephemeral disk that was created, in GiB. New in version 2.47 |
servers[].flavor.swap |
body |
integer |
The size of a dedicated swap disk that was allocated, in MiB. New in version 2.47 |
servers[].flavor.original_name |
body |
string |
The display name of a flavor. New in version 2.47 |
servers[].flavor.extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. This will only be included if the user is allowed by policy to index flavor extra_specs. New in version 2.47 |
servers[].hostId |
body |
string |
An ID string representing the host. This is a hashed value so will not actually look like a hostname, and is hashed with data from the project_id, so the same physical host as seen by two different project_ids, will be different. It is useful when within the same project you need to determine if two instances are on the same or different physical hosts for the purposes of availability or performance. |
servers[].host_status |
body |
[‘string’, ‘null’] |
The host status. Values where next value in list can override the previous:
This attribute appears in the response only if the policy permits. By default, only administrators can get this parameter. New in version 2.16 |
servers[].OS-EXT-SRV-ATTR:hostname |
body |
string |
The hostname of the instance reported in the metadata service. This parameter only appears in responses for administrators until microversion 2.90, after which it is shown for all users. Note This information is published via the metadata service and requires
application such as New in version 2.3 |
servers[].OS-EXT-SRV-ATTR:hypervisor_hostname |
body |
string |
The hypervisor host name provided by the Nova virt driver. For the Ironic driver, it is the Ironic node uuid. Appears in the response for administrative users only. |
servers[].id |
body |
string |
Id of the server |
servers[].image |
body |
object |
The UUID and links for the image for your server instance. The |
servers[].image.id |
body |
string |
The image ID |
servers[].image.links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
servers[].image.links[].href |
body |
string |
|
servers[].image.links[].rel |
body |
string |
|
servers[].OS-EXT-SRV-ATTR:instance_name |
body |
string |
The instance name. The Compute API generates the instance name from the instance name template. Appears in the response for administrative users only. |
servers[].locked |
body |
boolean |
True if the instance is locked otherwise False. New in version 2.9 |
servers[].OS-EXT-SRV-ATTR:kernel_id |
body |
string |
The UUID of the kernel image when using an AMI. Will be null if not. By default, it appears in the response for administrative users only. New in version 2.3 |
servers[].key_name |
body |
string |
The name of associated key pair, if any. |
servers[].OS-EXT-SRV-ATTR:launch_index |
body |
integer |
When servers are launched via multiple create, this is the sequence in which the servers were launched. By default, it appears in the response for administrative users only. New in version 2.3 |
servers[].OS-SRV-USG:launched_at |
body |
string |
The date and time when the server was launched. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
servers[].links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
servers[].links[].href |
body |
string |
|
servers[].links[].rel |
body |
string |
|
servers[].metadata |
body |
object |
A dictionary of metadata key-and-value pairs, which is maintained for backward compatibility. |
servers[].name |
body |
string |
The server name. |
servers[].OS-EXT-STS:power_state |
body |
integer |
The power state of the instance. This is an enum value that is mapped as: 0: NOSTATE
1: RUNNING
3: PAUSED
4: SHUTDOWN
6: CRASHED
7: SUSPENDED
|
servers[].progress |
body |
integer |
A percentage value of the operation progress.
This parameter only appears when the server status is |
servers[].tenant_id |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
servers[].OS-EXT-SRV-ATTR:ramdisk_id |
body |
string |
The UUID of the ramdisk image when using an AMI. Will be null if not. By default, it appears in the response for administrative users only. New in version 2.3 |
servers[].OS-EXT-SRV-ATTR:reservation_id |
body |
string |
The reservation id for the server. This is an id that can be useful in tracking groups of servers created with multiple create, that will all have the same reservation_id. By default, it appears in the response for administrative users only. New in version 2.3 |
servers[].OS-EXT-SRV-ATTR:root_device_name |
body |
string |
The root device name for the instance By default, it appears in the response for administrative users only. New in version 2.3 |
servers[].security_groups |
body |
array |
One or more security groups objects. |
servers[].security_groups[].name |
body |
string |
The security group name |
servers[].server_groups |
body |
array |
The UUIDs of the server groups to which the server belongs. Currently this can contain at most one entry. |
servers[].status |
body |
string |
The server status. |
servers[].tags |
body |
array |
A list of tags. The maximum count of tags in this list is 50. New in version 2.26 |
servers[].OS-EXT-STS:task_state |
body |
string |
The task state of the instance. |
servers[].OS-SRV-USG:terminated_at |
body |
string |
The date and time when the server was deleted. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
servers[].trusted_image_certificates |
body |
[‘array’, ‘null’] |
A list of trusted certificate IDs, that were used during image signature
verification to verify the signing certificate. The list is restricted
to a maximum of 50 IDs. The value is New in version 2.63 |
servers[].updated |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
servers[].OS-EXT-SRV-ATTR:user_data |
body |
string |
The user_data the instance was created with. By default, it appears in the response for administrative users only. New in version 2.3 |
servers[].user_id |
body |
string |
The user ID of the user who owns the server. |
servers[].OS-EXT-STS:vm_state |
body |
string |
The VM state. |
servers_links |
body |
array |
Links pertaining to usage. See API Guide / Links and References for more info. New in version 2.40 |
servers_links[].href |
body |
string |
|
servers_links[].rel |
body |
string |
400¶
Error
403¶
Error
Show Server Details¶
Shows details for a server.
Includes server details including configuration drive, extended status, and server usage information.
The extended status information appears in the OS-EXT-STS:vm_state
, OS-EXT-STS:power_state
, and OS-EXT-STS:task_state
attributes.
The server usage information appears in the OS-SRV-USG:launched_at
and OS-SRV-USG:terminated_at
attributes.
HostId is unique per account and is not globally unique.
Preconditions
The server must exist.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"accessIPv4": {
"description": "IPv4 address that should be used to access this server. May be\nautomatically set by the provider.",
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"description": "IPv6 address that should be used to access this server. May be\nautomatically set by the provider.",
"type": "string",
"format": "ipv6"
},
"addresses": {
"type": "object",
"description": "The addresses for the server. Servers with status `BUILD` hide their\naddresses information.\nThis view is not updated immediately.\nPlease consult with OpenStack Networking API for up\\-to\\-date information.",
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"addr": {
"description": "The IP address.",
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"version": {
"type": "integer",
"enum": [
4,
6
],
"description": "The IP version of the address associated with server."
}
}
}
}
},
"os-extended-volumes:volumes_attached": {
"type": "array",
"items": {
"type": "object"
},
"description": "The attached volumes, if any.\n\n\n**New in version 2\\.75**"
},
"OS-EXT-AZ:availability_zone": {
"type": "string",
"description": "The availability zone name.\n\n\n**New in version 2\\.75**"
},
"OS-EXT-SRV-ATTR:host": {
"type": "string",
"description": "The name of the compute host on which this instance is running.\nAppears in the response for administrative users only.\n\n\n**New in version 2\\.75**"
},
"config_drive": {
"type": "string",
"description": "Indicates whether or not a config drive was used for this server.\nThe value is `True` or an empty string. An empty string stands for\n`False`.\n\n\n**New in version 2\\.75**"
},
"created": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.",
"readOnly": true
},
"description": {
"type": "string",
"description": "The description of the server.\nBefore microversion 2\\.19 this was set to the server name.\n\n\n**New in version 2\\.19**"
},
"OS-DCF:diskConfig": {
"type": "string",
"description": "Disk configuration. The value is either:\n\n\n* `AUTO`. The API builds the server with a single partition the size of\nthe target flavor disk. The API automatically adjusts the file system to\nfit the entire partition.\n* `MANUAL`. The API builds the server by using the partition scheme and\nfile system that is in the source image. If the target flavor disk is\nlarger, The API does not partition the remaining disk space.",
"enum": [
"AUTO",
"MANUAL"
]
},
"fault": {
"type": "object",
"description": "A fault object. Only displayed when the server status is `ERROR` or\n`DELETED` and a fault occurred.",
"properties": {
"code": {
"type": "integer",
"description": "The error response code."
},
"created": {
"type": "string",
"format": "date-time",
"description": "The date and time when the exception was raised. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"message": {
"type": "string",
"description": "The error message."
},
"details": {
"type": "string",
"description": "The stack trace. It is available if the response code is not 500 or\nyou have the administrator privilege"
}
},
"additionalProperties": false
},
"flavor": {
"type": "object",
"description": "Before microversion 2\\.47 this contains the ID and links for the flavor\nused to boot the server instance. This can be an empty object in case\nflavor information is no longer present in the system.\n\n\nAs of microversion 2\\.47 this contains a subset of the actual flavor\ninformation used to create the server instance, represented as a nested\ndictionary.",
"properties": {
"id": {
"type": "string",
"description": "The UUID of the server.",
"x-openstack": {
"max-ver": "2.46"
}
},
"links": {
"description": "Links to the resources in question. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.",
"x-openstack": {
"max-ver": "2.46"
},
"type": "array",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
},
"vcpus": {
"type": "integer",
"description": "The number of virtual CPUs that were allocated to the server.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"ram": {
"type": "integer",
"description": "The amount of RAM a flavor has, in MiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"disk": {
"type": "integer",
"description": "The size of the root disk that was created in GiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"ephemeral": {
"type": "integer",
"description": "The size of the ephemeral disk that was created, in GiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"swap": {
"type": "integer",
"description": "The size of a dedicated swap disk that was allocated, in MiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"original_name": {
"type": "string",
"description": "The display name of a flavor.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"extra_specs": {
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. This will\nonly be included if the user is allowed by policy to index flavor\nextra_specs.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
},
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false
}
}
},
"hostId": {
"type": "string",
"description": "An ID string representing the host. This is a hashed value so will not actually look like\na hostname, and is hashed with data from the project_id, so the same physical host as seen\nby two different project_ids, will be different. It is useful when within the same project you\nneed to determine if two instances are on the same or different physical hosts for the\npurposes of availability or performance."
},
"host_status": {
"type": [
"string",
"null"
],
"description": "The host status. Values where next value in list can override the previous:\n\n\n* `UP` if nova\\-compute up.\n* `UNKNOWN` if nova\\-compute not reported by servicegroup driver.\n* `DOWN` if nova\\-compute forced down.\n* `MAINTENANCE` if nova\\-compute is disabled.\n* Empty string indicates there is no host for server.\n\n\nThis attribute appears in the response only if the policy permits.\nBy default, only administrators can get this parameter.\n\n\n**New in version 2\\.75**",
"enum": [
"UP",
"DOWN",
"MAINTENANCE",
"UNKNOWN",
"",
"null"
],
"x-openstack": {
"min-ver": "2.16"
}
},
"OS-EXT-SRV-ATTR:hostname": {
"type": "string",
"description": "The hostname of the instance reported in the metadata service.\nThis parameter only appears in responses for administrators until\nmicroversion 2\\.90, after which it is shown for all users.\n\n\n\nNote\n\n\nThis information is published via the metadata service and requires\napplication such as `cloud-init` to propagate it through to the\ninstance.\n\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-EXT-SRV-ATTR:hypervisor_hostname": {
"type": "string",
"description": "The hypervisor host name provided by the Nova virt driver. For the Ironic driver,\nit is the Ironic node uuid. Appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack-sdk-name": "hypervisor_hostname"
},
"id": {
"type": "string",
"format": "uuid",
"description": "Id of the server",
"readOnly": true
},
"image": {
"type": "object",
"description": "The UUID and links for the image for your server instance. The `image` object\nwill be an empty string when you boot the server from a volume.",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The image ID"
},
"links": {
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"type": "array",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
},
"OS-EXT-SRV-ATTR:instance_name": {
"type": "string",
"description": "The instance name. The Compute API generates the instance name from the instance\nname template. Appears in the response for administrative users only.\n\n\n**New in version 2\\.75**"
},
"locked": {
"type": "boolean",
"description": "True if the instance is locked otherwise False.\n\n\n**New in version 2\\.9**",
"x-openstack": {
"min-ver": "2.9"
}
},
"OS-EXT-SRV-ATTR:kernel_id": {
"type": "string",
"description": "The UUID of the kernel image when using an AMI. Will be null if not.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"key_name": {
"type": "string",
"description": "The name of associated key pair, if any.\n\n\n**New in version 2\\.75**"
},
"OS-EXT-SRV-ATTR:launch_index": {
"type": "integer",
"description": "When servers are launched via multiple create, this is the\nsequence in which the servers were launched.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-SRV-USG:launched_at": {
"type": "string",
"description": "The date and time when the server was launched.\n\n\nThe date and time stamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601):\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`.\n\n\nThe `hh\u00b1:mm` value, if included, is the time zone as an offset from UTC.\nIf the `deleted_at` date and time stamp is not set, its value is `null`.\n\n\n**New in version 2\\.75**"
},
"links": {
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"type": "array",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
},
"metadata": {
"type": "object",
"description": "A dictionary of metadata key\\-and\\-value pairs, which is maintained for backward\ncompatibility.",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false
},
"name": {
"type": "string",
"description": "The server name."
},
"OS-EXT-STS:power_state": {
"type": "integer",
"description": "The power state of the instance. This is an enum value that is mapped as:\n\n\n\n```\n0: NOSTATE\n1: RUNNING\n3: PAUSED\n4: SHUTDOWN\n6: CRASHED\n7: SUSPENDED\n\n```\n\n\n**New in version 2\\.75**"
},
"progress": {
"type": "integer",
"description": "A percentage value of the operation progress.\nThis parameter only appears when the server status is `ACTIVE`,\n`BUILD`, `REBUILD`, `RESIZE`, `VERIFY_RESIZE` or `MIGRATING`."
},
"tenant_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
},
"OS-EXT-SRV-ATTR:ramdisk_id": {
"type": "string",
"description": "The UUID of the ramdisk image when using an AMI. Will be null if not.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-EXT-SRV-ATTR:reservation_id": {
"type": "string",
"description": "The reservation id for the server. This is an id that can\nbe useful in tracking groups of servers created with multiple\ncreate, that will all have the same reservation_id.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-EXT-SRV-ATTR:root_device_name": {
"type": "string",
"description": "The root device name for the instance\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The security group name"
}
}
},
"description": "One or more security groups objects.\n\n\n**New in version 2\\.75**"
},
"server_groups": {
"type": "array",
"items": {
"type": "string"
},
"description": "The UUIDs of the server groups to which the server belongs. Currently\nthis can contain at most one entry.\n\n\n**New in version 2\\.71**",
"x-openstack": {
"min-ver": "2.71"
}
},
"status": {
"type": "string",
"description": "The server status.",
"readOnly": true
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of tags. The maximum count of tags in this list is 50\\.\n\n\n**New in version 2\\.26**",
"x-openstack": {
"min-ver": "2.26"
}
},
"OS-EXT-STS:task_state": {
"type": "string",
"description": "The task state of the instance.\n\n\n**New in version 2\\.75**"
},
"OS-SRV-USG:terminated_at": {
"type": "string",
"description": "The date and time when the server was deleted.\n\n\nThe date and time stamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601):\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`.\nThe `\u00b1hh:mm` value, if included, is the time zone as an offset from UTC.\nIf the `deleted_at` date and time stamp is not set, its value is `null`.\n\n\n**New in version 2\\.75**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "A list of trusted certificate IDs, that were used during image signature\nverification to verify the signing certificate. The list is restricted\nto a maximum of 50 IDs. The value is `null` if trusted certificate IDs\nare not set.\n\n\n**New in version 2\\.63**",
"x-openstack": {
"min-ver": "2.63"
}
},
"updated": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.",
"readOnly": true
},
"OS-EXT-SRV-ATTR:user_data": {
"type": "string",
"description": "The user_data the instance was created with.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"user_id": {
"type": "string",
"description": "The user ID of the user who owns the server."
},
"OS-EXT-STS:vm_state": {
"type": "string",
"description": "The VM state.\n\n\n**New in version 2\\.75**"
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
server |
body |
object |
A |
server.accessIPv4 |
body |
string |
IPv4 address that should be used to access this server. May be automatically set by the provider. |
server.accessIPv6 |
body |
string |
IPv6 address that should be used to access this server. May be automatically set by the provider. |
server.addresses |
body |
object |
The addresses for the server. Servers with status |
server.os-extended-volumes:volumes_attached |
body |
array |
The attached volumes, if any. New in version 2.75 |
server.OS-EXT-AZ:availability_zone |
body |
string |
The availability zone name. New in version 2.75 |
server.OS-EXT-SRV-ATTR:host |
body |
string |
The name of the compute host on which this instance is running. Appears in the response for administrative users only. New in version 2.75 |
server.config_drive |
body |
string |
Indicates whether or not a config drive was used for this server.
The value is New in version 2.75 |
server.created |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
server.description |
body |
string |
The description of the server. Before microversion 2.19 this was set to the server name. New in version 2.19 |
server.OS-DCF:diskConfig |
body |
string |
Disk configuration. The value is either:
|
server.fault |
body |
object |
A fault object. Only displayed when the server status is |
server.fault.code |
body |
integer |
The error response code. |
server.fault.created |
body |
string |
The date and time when the exception was raised. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
server.fault.message |
body |
string |
The error message. |
server.fault.details |
body |
string |
The stack trace. It is available if the response code is not 500 or you have the administrator privilege |
server.flavor |
body |
object |
Before microversion 2.47 this contains the ID and links for the flavor used to boot the server instance. This can be an empty object in case flavor information is no longer present in the system. As of microversion 2.47 this contains a subset of the actual flavor information used to create the server instance, represented as a nested dictionary. |
server.flavor.id |
body |
string |
The UUID of the server. |
server.flavor.links |
body |
array |
Links to the resources in question. See API Guide / Links and
References
for more info. |
server.flavor.links[].href |
body |
string |
|
server.flavor.links[].rel |
body |
string |
|
server.flavor.vcpus |
body |
integer |
The number of virtual CPUs that were allocated to the server. New in version 2.47 |
server.flavor.ram |
body |
integer |
The amount of RAM a flavor has, in MiB. New in version 2.47 |
server.flavor.disk |
body |
integer |
The size of the root disk that was created in GiB. New in version 2.47 |
server.flavor.ephemeral |
body |
integer |
The size of the ephemeral disk that was created, in GiB. New in version 2.47 |
server.flavor.swap |
body |
integer |
The size of a dedicated swap disk that was allocated, in MiB. New in version 2.47 |
server.flavor.original_name |
body |
string |
The display name of a flavor. New in version 2.47 |
server.flavor.extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. This will only be included if the user is allowed by policy to index flavor extra_specs. New in version 2.47 |
server.hostId |
body |
string |
An ID string representing the host. This is a hashed value so will not actually look like a hostname, and is hashed with data from the project_id, so the same physical host as seen by two different project_ids, will be different. It is useful when within the same project you need to determine if two instances are on the same or different physical hosts for the purposes of availability or performance. |
server.host_status |
body |
[‘string’, ‘null’] |
The host status. Values where next value in list can override the previous:
This attribute appears in the response only if the policy permits. By default, only administrators can get this parameter. New in version 2.75 |
server.OS-EXT-SRV-ATTR:hostname |
body |
string |
The hostname of the instance reported in the metadata service. This parameter only appears in responses for administrators until microversion 2.90, after which it is shown for all users. Note This information is published via the metadata service and requires
application such as New in version 2.75 |
server.OS-EXT-SRV-ATTR:hypervisor_hostname |
body |
string |
The hypervisor host name provided by the Nova virt driver. For the Ironic driver, it is the Ironic node uuid. Appears in the response for administrative users only. New in version 2.75 |
server.id |
body |
string |
Id of the server |
server.image |
body |
object |
The UUID and links for the image for your server instance. The |
server.image.id |
body |
string |
The image ID |
server.image.links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
server.image.links[].href |
body |
string |
|
server.image.links[].rel |
body |
string |
|
server.OS-EXT-SRV-ATTR:instance_name |
body |
string |
The instance name. The Compute API generates the instance name from the instance name template. Appears in the response for administrative users only. New in version 2.75 |
server.locked |
body |
boolean |
True if the instance is locked otherwise False. New in version 2.9 |
server.OS-EXT-SRV-ATTR:kernel_id |
body |
string |
The UUID of the kernel image when using an AMI. Will be null if not. By default, it appears in the response for administrative users only. New in version 2.75 |
server.key_name |
body |
string |
The name of associated key pair, if any. New in version 2.75 |
server.OS-EXT-SRV-ATTR:launch_index |
body |
integer |
When servers are launched via multiple create, this is the sequence in which the servers were launched. By default, it appears in the response for administrative users only. New in version 2.75 |
server.OS-SRV-USG:launched_at |
body |
string |
The date and time when the server was launched. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The New in version 2.75 |
server.links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
server.links[].href |
body |
string |
|
server.links[].rel |
body |
string |
|
server.metadata |
body |
object |
A dictionary of metadata key-and-value pairs, which is maintained for backward compatibility. |
server.name |
body |
string |
The server name. |
server.OS-EXT-STS:power_state |
body |
integer |
The power state of the instance. This is an enum value that is mapped as: 0: NOSTATE
1: RUNNING
3: PAUSED
4: SHUTDOWN
6: CRASHED
7: SUSPENDED
New in version 2.75 |
server.progress |
body |
integer |
A percentage value of the operation progress.
This parameter only appears when the server status is |
server.tenant_id |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
server.OS-EXT-SRV-ATTR:ramdisk_id |
body |
string |
The UUID of the ramdisk image when using an AMI. Will be null if not. By default, it appears in the response for administrative users only. New in version 2.75 |
server.OS-EXT-SRV-ATTR:reservation_id |
body |
string |
The reservation id for the server. This is an id that can be useful in tracking groups of servers created with multiple create, that will all have the same reservation_id. By default, it appears in the response for administrative users only. New in version 2.75 |
server.OS-EXT-SRV-ATTR:root_device_name |
body |
string |
The root device name for the instance By default, it appears in the response for administrative users only. New in version 2.75 |
server.security_groups |
body |
array |
One or more security groups objects. New in version 2.75 |
server.security_groups[].name |
body |
string |
The security group name |
server.server_groups |
body |
array |
The UUIDs of the server groups to which the server belongs. Currently this can contain at most one entry. New in version 2.71 |
server.status |
body |
string |
The server status. |
server.tags |
body |
array |
A list of tags. The maximum count of tags in this list is 50. New in version 2.26 |
server.OS-EXT-STS:task_state |
body |
string |
The task state of the instance. New in version 2.75 |
server.OS-SRV-USG:terminated_at |
body |
string |
The date and time when the server was deleted. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, New in version 2.75 |
server.trusted_image_certificates |
body |
[‘array’, ‘null’] |
A list of trusted certificate IDs, that were used during image signature
verification to verify the signing certificate. The list is restricted
to a maximum of 50 IDs. The value is New in version 2.63 |
server.updated |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
server.OS-EXT-SRV-ATTR:user_data |
body |
string |
The user_data the instance was created with. By default, it appears in the response for administrative users only. New in version 2.75 |
server.user_id |
body |
string |
The user ID of the user who owns the server. |
server.OS-EXT-STS:vm_state |
body |
string |
The VM state. New in version 2.75 |
404¶
Error
Update Server¶
Updates the editable attributes of an existing server.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id} API |
server |
body |
object |
A |
server.name |
body |
string |
The server name. |
server.OS-DCF:diskConfig |
body |
string |
Controls how the API partitions the disk when you create, rebuild, or resize servers.
A server inherits the
|
server.accessIPv4 |
body |
string |
IPv4 address that should be used to access this server. |
server.accessIPv6 |
body |
string |
IPv6 address that should be used to access this server. |
server.description |
body |
[‘string’, ‘null’] |
A free form description of the server. Limited to 255 characters in length. Before microversion 2.19 this was set to the server name. New in version 2.19 |
server.hostname |
body |
string |
The hostname to configure for the instance in the metadata service. Starting with microversion 2.94, this can be a Fully Qualified Domain Name (FQDN) of up to 255 characters in length. Note This information is published via the metadata service and requires
application such as New in version 2.90 |
{
"oneOf": [
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "The server name."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.18"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.19",
"max-ver": "2.89"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"hostname": {
"type": "string",
"minLength": 2,
"maxLength": 63,
"pattern": "^[a-zA-Z0-9]+[a-zA-Z0-9-]*[a-zA-Z0-9]+$",
"description": "The hostname to configure for the instance in the metadata service.\n\n\nStarting with microversion 2\\.94, this can be a Fully Qualified Domain Name\n(FQDN) of up to 255 characters in length.\n\n\n\nNote\n\n\nThis information is published via the metadata service and requires\napplication such as `cloud-init` to propagate it through to the\ninstance.\n\n\n\n**New in version 2\\.90**"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.90",
"max-ver": "2.93"
},
"required": [
"server"
]
},
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The hostname to configure for the instance in the metadata service.\n\n\nStarting with microversion 2\\.94, this can be a Fully Qualified Domain Name\n(FQDN) of up to 255 characters in length.\n\n\n\nNote\n\n\nThis information is published via the metadata service and requires\napplication such as `cloud-init` to propagate it through to the\ninstance.\n\n\n\n**New in version 2\\.90**"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.94"
},
"required": [
"server"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"server": {
"type": "object",
"description": "A `server` object.",
"properties": {
"accessIPv4": {
"description": "IPv4 address that should be used to access this server. May be\nautomatically set by the provider.",
"type": "string",
"format": "ipv4"
},
"accessIPv6": {
"description": "IPv6 address that should be used to access this server. May be\nautomatically set by the provider.",
"type": "string",
"format": "ipv6"
},
"addresses": {
"type": "object",
"description": "The addresses for the server. Servers with status `BUILD` hide their\naddresses information.\nThis view is not updated immediately.\nPlease consult with OpenStack Networking API for up\\-to\\-date information.",
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"addr": {
"description": "The IP address.",
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"version": {
"type": "integer",
"enum": [
4,
6
],
"description": "The IP version of the address associated with server."
}
}
}
}
},
"os-extended-volumes:volumes_attached": {
"type": "array",
"items": {
"type": "object"
},
"description": "The attached volumes, if any.\n\n\n**New in version 2\\.75**"
},
"OS-EXT-AZ:availability_zone": {
"type": "string",
"description": "The availability zone name.\n\n\n**New in version 2\\.75**"
},
"OS-EXT-SRV-ATTR:host": {
"type": "string",
"description": "The name of the compute host on which this instance is running.\nAppears in the response for administrative users only.\n\n\n**New in version 2\\.75**"
},
"config_drive": {
"type": "string",
"description": "Indicates whether or not a config drive was used for this server.\nThe value is `True` or an empty string. An empty string stands for\n`False`.\n\n\n**New in version 2\\.75**"
},
"created": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.",
"readOnly": true
},
"description": {
"type": "string",
"description": "The description of the server.\nBefore microversion 2\\.19 this was set to the server name.\n\n\n**New in version 2\\.19**"
},
"OS-DCF:diskConfig": {
"type": "string",
"description": "Disk configuration. The value is either:\n\n\n* `AUTO`. The API builds the server with a single partition the size of\nthe target flavor disk. The API automatically adjusts the file system to\nfit the entire partition.\n* `MANUAL`. The API builds the server by using the partition scheme and\nfile system that is in the source image. If the target flavor disk is\nlarger, The API does not partition the remaining disk space.",
"enum": [
"AUTO",
"MANUAL"
]
},
"fault": {
"type": "object",
"description": "A fault object. Only displayed when the server status is `ERROR` or\n`DELETED` and a fault occurred.",
"properties": {
"code": {
"type": "integer",
"description": "The error response code."
},
"created": {
"type": "string",
"format": "date-time",
"description": "The date and time when the exception was raised. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"message": {
"type": "string",
"description": "The error message."
},
"details": {
"type": "string",
"description": "The stack trace. It is available if the response code is not 500 or\nyou have the administrator privilege"
}
},
"additionalProperties": false
},
"flavor": {
"type": "object",
"description": "Before microversion 2\\.47 this contains the ID and links for the flavor\nused to boot the server instance. This can be an empty object in case\nflavor information is no longer present in the system.\n\n\nAs of microversion 2\\.47 this contains a subset of the actual flavor\ninformation used to create the server instance, represented as a nested\ndictionary.",
"properties": {
"id": {
"type": "string",
"description": "The UUID of the server.",
"x-openstack": {
"max-ver": "2.46"
}
},
"links": {
"description": "Links to the resources in question. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.",
"x-openstack": {
"max-ver": "2.46"
},
"type": "array",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
},
"vcpus": {
"type": "integer",
"description": "The number of virtual CPUs that were allocated to the server.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"ram": {
"type": "integer",
"description": "The amount of RAM a flavor has, in MiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"disk": {
"type": "integer",
"description": "The size of the root disk that was created in GiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"ephemeral": {
"type": "integer",
"description": "The size of the ephemeral disk that was created, in GiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"swap": {
"type": "integer",
"description": "The size of a dedicated swap disk that was allocated, in MiB.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"original_name": {
"type": "string",
"description": "The display name of a flavor.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
}
},
"extra_specs": {
"description": "A dictionary of the flavor\u2019s extra\\-specs key\\-and\\-value pairs. This will\nonly be included if the user is allowed by policy to index flavor\nextra_specs.\n\n\n**New in version 2\\.47**",
"x-openstack": {
"min-ver": "2.47"
},
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false
}
}
},
"hostId": {
"type": "string",
"description": "An ID string representing the host. This is a hashed value so will not actually look like\na hostname, and is hashed with data from the project_id, so the same physical host as seen\nby two different project_ids, will be different. It is useful when within the same project you\nneed to determine if two instances are on the same or different physical hosts for the\npurposes of availability or performance."
},
"host_status": {
"type": [
"string",
"null"
],
"description": "The host status. Values where next value in list can override the previous:\n\n\n* `UP` if nova\\-compute up.\n* `UNKNOWN` if nova\\-compute not reported by servicegroup driver.\n* `DOWN` if nova\\-compute forced down.\n* `MAINTENANCE` if nova\\-compute is disabled.\n* Empty string indicates there is no host for server.\n\n\nThis attribute appears in the response only if the policy permits.\nBy default, only administrators can get this parameter.\n\n\n**New in version 2\\.75**",
"enum": [
"UP",
"DOWN",
"MAINTENANCE",
"UNKNOWN",
"",
"null"
],
"x-openstack": {
"min-ver": "2.16"
}
},
"OS-EXT-SRV-ATTR:hostname": {
"type": "string",
"description": "The hostname of the instance reported in the metadata service.\nThis parameter only appears in responses for administrators until\nmicroversion 2\\.90, after which it is shown for all users.\n\n\n\nNote\n\n\nThis information is published via the metadata service and requires\napplication such as `cloud-init` to propagate it through to the\ninstance.\n\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-EXT-SRV-ATTR:hypervisor_hostname": {
"type": "string",
"description": "The hypervisor host name provided by the Nova virt driver. For the Ironic driver,\nit is the Ironic node uuid. Appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack-sdk-name": "hypervisor_hostname"
},
"id": {
"type": "string",
"format": "uuid",
"description": "Id of the server",
"readOnly": true
},
"image": {
"type": "object",
"description": "The UUID and links for the image for your server instance. The `image` object\nwill be an empty string when you boot the server from a volume.",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The image ID"
},
"links": {
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"type": "array",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
},
"OS-EXT-SRV-ATTR:instance_name": {
"type": "string",
"description": "The instance name. The Compute API generates the instance name from the instance\nname template. Appears in the response for administrative users only.\n\n\n**New in version 2\\.75**"
},
"locked": {
"type": "boolean",
"description": "True if the instance is locked otherwise False.\n\n\n**New in version 2\\.9**",
"x-openstack": {
"min-ver": "2.9"
}
},
"OS-EXT-SRV-ATTR:kernel_id": {
"type": "string",
"description": "The UUID of the kernel image when using an AMI. Will be null if not.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"key_name": {
"type": "string",
"description": "The name of associated key pair, if any.\n\n\n**New in version 2\\.75**"
},
"OS-EXT-SRV-ATTR:launch_index": {
"type": "integer",
"description": "When servers are launched via multiple create, this is the\nsequence in which the servers were launched.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-SRV-USG:launched_at": {
"type": "string",
"description": "The date and time when the server was launched.\n\n\nThe date and time stamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601):\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`.\n\n\nThe `hh\u00b1:mm` value, if included, is the time zone as an offset from UTC.\nIf the `deleted_at` date and time stamp is not set, its value is `null`.\n\n\n**New in version 2\\.75**"
},
"links": {
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"type": "array",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
},
"metadata": {
"type": "object",
"description": "A dictionary of metadata key\\-and\\-value pairs, which is maintained for backward\ncompatibility.",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false
},
"name": {
"type": "string",
"description": "The server name."
},
"OS-EXT-STS:power_state": {
"type": "integer",
"description": "The power state of the instance. This is an enum value that is mapped as:\n\n\n\n```\n0: NOSTATE\n1: RUNNING\n3: PAUSED\n4: SHUTDOWN\n6: CRASHED\n7: SUSPENDED\n\n```\n\n\n**New in version 2\\.75**"
},
"progress": {
"type": "integer",
"description": "A percentage value of the operation progress.\nThis parameter only appears when the server status is `ACTIVE`,\n`BUILD`, `REBUILD`, `RESIZE`, `VERIFY_RESIZE` or `MIGRATING`."
},
"tenant_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
},
"OS-EXT-SRV-ATTR:ramdisk_id": {
"type": "string",
"description": "The UUID of the ramdisk image when using an AMI. Will be null if not.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-EXT-SRV-ATTR:reservation_id": {
"type": "string",
"description": "The reservation id for the server. This is an id that can\nbe useful in tracking groups of servers created with multiple\ncreate, that will all have the same reservation_id.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"OS-EXT-SRV-ATTR:root_device_name": {
"type": "string",
"description": "The root device name for the instance\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The security group name"
}
}
},
"description": "One or more security groups objects.\n\n\n**New in version 2\\.75**"
},
"server_groups": {
"type": "array",
"items": {
"type": "string"
},
"description": "The UUIDs of the server groups to which the server belongs. Currently\nthis can contain at most one entry.\n\n\n**New in version 2\\.71**",
"x-openstack": {
"min-ver": "2.71"
}
},
"status": {
"type": "string",
"description": "The server status.",
"readOnly": true
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of tags. The maximum count of tags in this list is 50\\.\n\n\n**New in version 2\\.26**",
"x-openstack": {
"min-ver": "2.26"
}
},
"OS-EXT-STS:task_state": {
"type": "string",
"description": "The task state of the instance.\n\n\n**New in version 2\\.75**"
},
"OS-SRV-USG:terminated_at": {
"type": "string",
"description": "The date and time when the server was deleted.\n\n\nThe date and time stamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601):\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`.\nThe `\u00b1hh:mm` value, if included, is the time zone as an offset from UTC.\nIf the `deleted_at` date and time stamp is not set, its value is `null`.\n\n\n**New in version 2\\.75**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "A list of trusted certificate IDs, that were used during image signature\nverification to verify the signing certificate. The list is restricted\nto a maximum of 50 IDs. The value is `null` if trusted certificate IDs\nare not set.\n\n\n**New in version 2\\.63**",
"x-openstack": {
"min-ver": "2.63"
}
},
"updated": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.",
"readOnly": true
},
"OS-EXT-SRV-ATTR:user_data": {
"type": "string",
"description": "The user_data the instance was created with.\nBy default, it appears in the response for administrative users only.\n\n\n**New in version 2\\.75**",
"x-openstack": {
"min-ver": "2.3"
}
},
"user_id": {
"type": "string",
"description": "The user ID of the user who owns the server."
},
"OS-EXT-STS:vm_state": {
"type": "string",
"description": "The VM state.\n\n\n**New in version 2\\.75**"
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
server |
body |
object |
A |
server.accessIPv4 |
body |
string |
IPv4 address that should be used to access this server. May be automatically set by the provider. |
server.accessIPv6 |
body |
string |
IPv6 address that should be used to access this server. May be automatically set by the provider. |
server.addresses |
body |
object |
The addresses for the server. Servers with status |
server.os-extended-volumes:volumes_attached |
body |
array |
The attached volumes, if any. New in version 2.75 |
server.OS-EXT-AZ:availability_zone |
body |
string |
The availability zone name. New in version 2.75 |
server.OS-EXT-SRV-ATTR:host |
body |
string |
The name of the compute host on which this instance is running. Appears in the response for administrative users only. New in version 2.75 |
server.config_drive |
body |
string |
Indicates whether or not a config drive was used for this server.
The value is New in version 2.75 |
server.created |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
server.description |
body |
string |
The description of the server. Before microversion 2.19 this was set to the server name. New in version 2.19 |
server.OS-DCF:diskConfig |
body |
string |
Disk configuration. The value is either:
|
server.fault |
body |
object |
A fault object. Only displayed when the server status is |
server.fault.code |
body |
integer |
The error response code. |
server.fault.created |
body |
string |
The date and time when the exception was raised. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
server.fault.message |
body |
string |
The error message. |
server.fault.details |
body |
string |
The stack trace. It is available if the response code is not 500 or you have the administrator privilege |
server.flavor |
body |
object |
Before microversion 2.47 this contains the ID and links for the flavor used to boot the server instance. This can be an empty object in case flavor information is no longer present in the system. As of microversion 2.47 this contains a subset of the actual flavor information used to create the server instance, represented as a nested dictionary. |
server.flavor.id |
body |
string |
The UUID of the server. |
server.flavor.links |
body |
array |
Links to the resources in question. See API Guide / Links and
References
for more info. |
server.flavor.links[].href |
body |
string |
|
server.flavor.links[].rel |
body |
string |
|
server.flavor.vcpus |
body |
integer |
The number of virtual CPUs that were allocated to the server. New in version 2.47 |
server.flavor.ram |
body |
integer |
The amount of RAM a flavor has, in MiB. New in version 2.47 |
server.flavor.disk |
body |
integer |
The size of the root disk that was created in GiB. New in version 2.47 |
server.flavor.ephemeral |
body |
integer |
The size of the ephemeral disk that was created, in GiB. New in version 2.47 |
server.flavor.swap |
body |
integer |
The size of a dedicated swap disk that was allocated, in MiB. New in version 2.47 |
server.flavor.original_name |
body |
string |
The display name of a flavor. New in version 2.47 |
server.flavor.extra_specs |
body |
object |
A dictionary of the flavor’s extra-specs key-and-value pairs. This will only be included if the user is allowed by policy to index flavor extra_specs. New in version 2.47 |
server.hostId |
body |
string |
An ID string representing the host. This is a hashed value so will not actually look like a hostname, and is hashed with data from the project_id, so the same physical host as seen by two different project_ids, will be different. It is useful when within the same project you need to determine if two instances are on the same or different physical hosts for the purposes of availability or performance. |
server.host_status |
body |
[‘string’, ‘null’] |
The host status. Values where next value in list can override the previous:
This attribute appears in the response only if the policy permits. By default, only administrators can get this parameter. New in version 2.75 |
server.OS-EXT-SRV-ATTR:hostname |
body |
string |
The hostname of the instance reported in the metadata service. This parameter only appears in responses for administrators until microversion 2.90, after which it is shown for all users. Note This information is published via the metadata service and requires
application such as New in version 2.75 |
server.OS-EXT-SRV-ATTR:hypervisor_hostname |
body |
string |
The hypervisor host name provided by the Nova virt driver. For the Ironic driver, it is the Ironic node uuid. Appears in the response for administrative users only. New in version 2.75 |
server.id |
body |
string |
Id of the server |
server.image |
body |
object |
The UUID and links for the image for your server instance. The |
server.image.id |
body |
string |
The image ID |
server.image.links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
server.image.links[].href |
body |
string |
|
server.image.links[].rel |
body |
string |
|
server.OS-EXT-SRV-ATTR:instance_name |
body |
string |
The instance name. The Compute API generates the instance name from the instance name template. Appears in the response for administrative users only. New in version 2.75 |
server.locked |
body |
boolean |
True if the instance is locked otherwise False. New in version 2.9 |
server.OS-EXT-SRV-ATTR:kernel_id |
body |
string |
The UUID of the kernel image when using an AMI. Will be null if not. By default, it appears in the response for administrative users only. New in version 2.75 |
server.key_name |
body |
string |
The name of associated key pair, if any. New in version 2.75 |
server.OS-EXT-SRV-ATTR:launch_index |
body |
integer |
When servers are launched via multiple create, this is the sequence in which the servers were launched. By default, it appears in the response for administrative users only. New in version 2.75 |
server.OS-SRV-USG:launched_at |
body |
string |
The date and time when the server was launched. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The New in version 2.75 |
server.links |
body |
array |
Links to the resources in question. See API Guide / Links and References for more info. |
server.links[].href |
body |
string |
|
server.links[].rel |
body |
string |
|
server.metadata |
body |
object |
A dictionary of metadata key-and-value pairs, which is maintained for backward compatibility. |
server.name |
body |
string |
The server name. |
server.OS-EXT-STS:power_state |
body |
integer |
The power state of the instance. This is an enum value that is mapped as: 0: NOSTATE
1: RUNNING
3: PAUSED
4: SHUTDOWN
6: CRASHED
7: SUSPENDED
New in version 2.75 |
server.progress |
body |
integer |
A percentage value of the operation progress.
This parameter only appears when the server status is |
server.tenant_id |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
server.OS-EXT-SRV-ATTR:ramdisk_id |
body |
string |
The UUID of the ramdisk image when using an AMI. Will be null if not. By default, it appears in the response for administrative users only. New in version 2.75 |
server.OS-EXT-SRV-ATTR:reservation_id |
body |
string |
The reservation id for the server. This is an id that can be useful in tracking groups of servers created with multiple create, that will all have the same reservation_id. By default, it appears in the response for administrative users only. New in version 2.75 |
server.OS-EXT-SRV-ATTR:root_device_name |
body |
string |
The root device name for the instance By default, it appears in the response for administrative users only. New in version 2.75 |
server.security_groups |
body |
array |
One or more security groups objects. New in version 2.75 |
server.security_groups[].name |
body |
string |
The security group name |
server.server_groups |
body |
array |
The UUIDs of the server groups to which the server belongs. Currently this can contain at most one entry. New in version 2.71 |
server.status |
body |
string |
The server status. |
server.tags |
body |
array |
A list of tags. The maximum count of tags in this list is 50. New in version 2.26 |
server.OS-EXT-STS:task_state |
body |
string |
The task state of the instance. New in version 2.75 |
server.OS-SRV-USG:terminated_at |
body |
string |
The date and time when the server was deleted. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, New in version 2.75 |
server.trusted_image_certificates |
body |
[‘array’, ‘null’] |
A list of trusted certificate IDs, that were used during image signature
verification to verify the signing certificate. The list is restricted
to a maximum of 50 IDs. The value is New in version 2.63 |
server.updated |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
server.OS-EXT-SRV-ATTR:user_data |
body |
string |
The user_data the instance was created with. By default, it appears in the response for administrative users only. New in version 2.75 |
server.user_id |
body |
string |
The user ID of the user who owns the server. |
server.OS-EXT-STS:vm_state |
body |
string |
The VM state. New in version 2.75 |
404¶
Error
Delete Server¶
Deletes a server.
By default, the instance is going to be (hard) deleted immediately from
the system, but you can set reclaim_instance_interval
> 0 to make
the API soft delete the instance, so that the instance won’t be
deleted until the reclaim_instance_interval
has expired since the
instance was soft deleted. The instance marked as SOFT_DELETED
can
be recovered via restore
action before it’s really deleted from the
system.
Preconditions
Asynchronous postconditions
Troubleshooting
Normal response codes: 204
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Responses¶
204¶
Ok
404¶
Error
409¶
Error
Confirm Resized Server (confirmResize Action)¶
Confirms a pending resize action for a server.
Specify the confirmResize
action in the request body.
After you make this request, you typically must keep polling the server
status to determine whether the request succeeded. A successfully
confirming resize operation shows a status of ACTIVE
or SHUTOFF
and a migration status of confirmed
. You can also see the resized
server in the compute node that OpenStack Compute manages.
Preconditions
You can only confirm the resized server where the status is
VERIFY_RESIZE
.
If the server is locked, you must have administrator privileges to confirm the server.
Troubleshooting
If the server status remains VERIFY_RESIZE
, the request failed. Ensure you
meet the preconditions and run the request again. If the request fails
again, the server status should be ERROR
and a migration status of
error
. Investigate the compute back end or ask your cloud provider.
There are some options for trying to correct the server status:
Note that the cloud provider may still need to cleanup any orphaned resources on the source hypervisor.
Normal response codes: 204
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Confirms a pending resize action for a server.\n\nSpecify the `confirmResize` action in the request body.\n\nAfter you make this request, you typically must keep polling the server\nstatus to determine whether the request succeeded. A successfully\nconfirming resize operation shows a status of `ACTIVE` or `SHUTOFF`\nand a migration status of `confirmed`. You can also see the resized\nserver in the compute node that OpenStack Compute manages.\n\n**Preconditions**\n\nYou can only confirm the resized server where the status is\n`VERIFY_RESIZE`.\n\nIf the server is locked, you must have administrator privileges\nto confirm the server.\n\n**Troubleshooting**\n\nIf the server status remains `VERIFY_RESIZE`, the request failed. Ensure you\nmeet the preconditions and run the request again. If the request fails\nagain, the server status should be `ERROR` and a migration status of\n`error`. Investigate the compute back end or ask your cloud provider.\nThere are some options for trying to correct the server status:\n\nNote that the cloud provider may still need to cleanup any orphaned resources\non the source hypervisor.\n\nNormal response codes: 204\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Confirm Resized Server (confirmResize Action)",
"properties": {
"confirmResize": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "confirmResize"
},
"required": [
"confirmResize"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Revert Resized Server (revertResize Action)¶
Cancels and reverts a pending resize action for a server.
Specify the revertResize
action in the request body.
Preconditions
You can only revert the resized server where the status is
VERIFY_RESIZE
and the OS-EXT-STS:vm_state is resized
.
If the server is locked, you must have administrator privileges to revert the resizing.
Asynchronous Postconditions
After you make this request, you typically must keep polling the server status
to determine whether the request succeeded. A reverting resize operation shows
a status of REVERT_RESIZE
and a task_state of resize_reverting
. If
successful, the status will return to ACTIVE
or SHUTOFF
. You can also
see the reverted server in the compute node that OpenStack Compute manages.
Troubleshooting
If the server status remains VERIFY_RESIZE
, the request failed. Ensure you
meet the preconditions and run the request again. If the request fails again,
investigate the compute back end.
The server is not reverted in the compute node that OpenStack Compute manages.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Cancels and reverts a pending resize action for a server.\n\nSpecify the `revertResize` action in the request body.\n\n**Preconditions**\n\nYou can only revert the resized server where the status is\n`VERIFY_RESIZE` and the OS\\-EXT\\-STS:vm_state is `resized`.\n\nIf the server is locked, you must have administrator privileges to revert\nthe resizing.\n\n**Asynchronous Postconditions**\n\nAfter you make this request, you typically must keep polling the server status\nto determine whether the request succeeded. A reverting resize operation shows\na status of `REVERT_RESIZE` and a task_state of `resize_reverting`. If\nsuccessful, the status will return to `ACTIVE` or `SHUTOFF`. You can also\nsee the reverted server in the compute node that OpenStack Compute manages.\n\n**Troubleshooting**\n\nIf the server status remains `VERIFY_RESIZE`, the request failed. Ensure you\nmeet the preconditions and run the request again. If the request fails again,\ninvestigate the compute back end.\n\nThe server is not reverted in the compute node that OpenStack Compute manages.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Revert Resized Server (revertResize Action)",
"properties": {
"revertResize": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "revertResize"
},
"required": [
"revertResize"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Reboot Server (reboot Action)¶
Reboots a server.
Specify the reboot
action in the request body.
Preconditions
The preconditions for rebooting a server depend on the type of reboot.
You can only SOFT reboot a server when its status is ACTIVE
.
You can only HARD reboot a server when its status is one of:
If the server is locked, you must have administrator privileges to reboot the server.
Asynchronous Postconditions
After you successfully reboot a server, its status changes to ACTIVE
.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
reboot |
body |
object |
The action to reboot a server. |
reboot.type |
body |
string |
The type of the reboot action. The valid values are |
{
"type": "object",
"description": "Reboots a server.\n\nSpecify the `reboot` action in the request body.\n\n**Preconditions**\n\nThe preconditions for rebooting a server depend on the type of reboot.\n\nYou can only *SOFT* reboot a server when its status is `ACTIVE`.\n\nYou can only *HARD* reboot a server when its status is one of:\n\nIf the server is locked, you must have administrator privileges\nto reboot the server.\n\n**Asynchronous Postconditions**\n\nAfter you successfully reboot a server, its status changes to `ACTIVE`.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\)",
"summary": "Reboot Server (reboot Action)",
"properties": {
"reboot": {
"type": "object",
"description": "The action to reboot a server.",
"properties": {
"type": {
"type": "string",
"enum": [
"HARD",
"Hard",
"hard",
"SOFT",
"Soft",
"soft"
],
"description": "The type of the reboot action. The valid values are `HARD` and `SOFT`.\nA `SOFT` reboot attempts a graceful shutdown and restart of the server.\nA `HARD` reboot attempts a forced shutdown and restart of the server.\nThe `HARD` reboot corresponds to the power cycles of the server."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "reboot"
},
"required": [
"reboot"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Resize Server (resize Action)¶
Resizes a server.
Specify the resize
action in the request body.
Preconditions
You can only resize a server when its status is ACTIVE
or SHUTOFF
.
If the server is locked, you must have administrator privileges to resize the server.
Asynchronous Postconditions
A successfully resized server shows a VERIFY_RESIZE
status and finished
migration status. If the cloud has configured the resize_confirm_window
option of the Compute service to a positive value, the Compute service
automatically confirms the resize operation after the configured interval.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
resize |
body |
object |
The action to resize a server. |
resize.flavorRef |
body |
[‘string’, ‘integer’] |
The flavor ID for resizing the server. The size of the disk in the flavor being resized to must be greater than or equal to the size of the disk in the current flavor. If a specified flavor ID is the same as the current one of the server,
the request returns a |
resize.OS-DCF:diskConfig |
body |
string |
Controls how the API partitions the disk when you create, rebuild, or resize servers.
A server inherits the
|
{
"type": "object",
"description": "Resizes a server.\n\nSpecify the `resize` action in the request body.\n\n**Preconditions**\n\nYou can only resize a server when its status is `ACTIVE` or `SHUTOFF`.\n\nIf the server is locked, you must have administrator privileges\nto resize the server.\n\n**Asynchronous Postconditions**\n\nA successfully resized server shows a `VERIFY_RESIZE` status and `finished`\nmigration status. If the cloud has configured the [resize_confirm_window](https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.resize_confirm_window)\noption of the Compute service to a positive value, the Compute service\nautomatically confirms the resize operation after the configured interval.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Resize Server (resize Action)",
"properties": {
"resize": {
"type": "object",
"description": "The action to resize a server.",
"properties": {
"flavorRef": {
"type": [
"string",
"integer"
],
"minLength": 1,
"description": "The flavor ID for resizing the server. The size of the disk in the flavor\nbeing resized to must be greater than or equal to the size of the disk in\nthe current flavor.\n\n\nIf a specified flavor ID is the same as the current one of the server,\nthe request returns a `Bad Request (400)` response code."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
}
},
"additionalProperties": false,
"required": [
"flavorRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "resize"
},
"required": [
"resize"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Rebuild Server (rebuild Action)¶
Rebuilds a server.
Specify the rebuild
action in the request body.
This operation recreates the root disk of the server.
With microversion 2.93, we support rebuilding volume backed instances which will reimage the volume with the provided image. For microversion < 2.93, this operation keeps the contents of the volume given the image provided is same as the image with which the volume was created else the operation will error out.
Preconditions
The server status must be ACTIVE
, SHUTOFF
or ERROR
.
Asynchronous Postconditions
If the server was in status SHUTOFF
before the rebuild, it will be stopped
and in status SHUTOFF
after the rebuild, otherwise it will be ACTIVE
if the rebuild was successful or ERROR
if the rebuild failed.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
rebuild |
body |
object |
The action to rebuild a server. |
rebuild.name |
body |
string |
The server name. |
rebuild.imageRef |
body |
string |
The UUID of the image to rebuild for your server instance. It
must be a valid UUID otherwise API will return 400. To rebuild a
volume-backed server with a new image, at least microversion 2.93
needs to be provided in the request else the request will fall
back to old behaviour i.e. the API will return 400 (for an image
different from the image used when creating the volume). For
non-volume-backed servers, specifying a new image will result in
validating that the image is acceptable for the current compute
host on which the server exists. If the new image is not valid,
the server will go into |
rebuild.adminPass |
body |
string |
The administrative password of the server. If you omit this parameter, the operation generates a new password. |
rebuild.metadata |
body |
object |
Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
rebuild.preserve_ephemeral |
body |
[‘boolean’, ‘string’] |
Indicates whether the server is rebuilt with the preservation of the ephemeral
partition ( Note This only works with baremetal servers provided by Ironic. Passing it to any other server instance results in a fault and will prevent the rebuild from happening. |
rebuild.OS-DCF:diskConfig |
body |
string |
Controls how the API partitions the disk when you create, rebuild, or resize servers.
A server inherits the
|
rebuild.accessIPv4 |
body |
string |
IPv4 address that should be used to access this server. |
rebuild.accessIPv6 |
body |
string |
IPv6 address that should be used to access this server. |
rebuild.personality |
body |
array |
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. Available until version 2.56 |
rebuild.personality[].path |
body |
string |
|
rebuild.personality[].contents |
body |
string |
|
rebuild.personality |
body |
array |
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. Available until version 2.56 |
rebuild.personality |
body |
array |
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. Available until version 2.56 |
rebuild.description |
body |
[‘string’, ‘null’] |
A free form description of the server. Limited to 255 characters in length. Before microversion 2.19 this was set to the server name. New in version 2.19 |
rebuild.personality |
body |
array |
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. Available until version 2.56 |
rebuild.trusted_image_certificates |
body |
[‘array’, ‘null’] |
A list of trusted certificate IDs, which are used during image signature verification to verify the signing certificate. The list is restricted to a maximum of 50 IDs. This parameter is optional in server rebuild requests if allowed by policy, and is not supported for volume-backed instances. If New in version 2.63 |
rebuild.hostname |
body |
string |
The hostname to configure for the instance in the metadata service. Starting with microversion 2.94, this can be a Fully Qualified Domain Name (FQDN) of up to 255 characters in length. Note This information is published via the metadata service and requires
application such as New in version 2.90 |
{
"description": "Rebuilds a server.\n\nSpecify the `rebuild` action in the request body.\n\nThis operation recreates the root disk of the server.\n\nWith microversion 2\\.93, we support rebuilding volume backed\ninstances which will reimage the volume with the provided\nimage. For microversion \\< 2\\.93, this operation keeps the\ncontents of the volume given the image provided is same as\nthe image with which the volume was created else the operation\nwill error out.\n\n**Preconditions**\n\nThe server status must be `ACTIVE`, `SHUTOFF` or `ERROR`.\n\n**Asynchronous Postconditions**\n\nIf the server was in status `SHUTOFF` before the rebuild, it will be stopped\nand in status `SHUTOFF` after the rebuild, otherwise it will be `ACTIVE`\nif the rebuild was successful or `ERROR` if the rebuild failed.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Rebuild Server (rebuild Action)",
"oneOf": [
{
"type": "object",
"summary": "Rebuild Server (rebuild Action)",
"properties": {
"rebuild": {
"type": "object",
"description": "The action to rebuild a server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "The server name."
},
"imageRef": {
"type": "string",
"format": "uuid",
"description": "The UUID of the image to rebuild for your server instance. It\nmust be a valid UUID otherwise API will return 400\\. To rebuild a\nvolume\\-backed server with a new image, at least microversion 2\\.93\nneeds to be provided in the request else the request will fall\nback to old behaviour i.e. the API will return 400 (for an image\ndifferent from the image used when creating the volume). For\nnon\\-volume\\-backed servers, specifying a new image will result in\nvalidating that the image is acceptable for the current compute\nhost on which the server exists. If the new image is not valid,\nthe server will go into `ERROR` status."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether the server is rebuilt with the preservation of the ephemeral\npartition (`true`).\n\n\n\nNote\n\n\nThis only works with baremetal servers provided by\nIronic. Passing it to any other server instance results in a\nfault and will prevent the rebuild from happening."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"summary": "Rebuild Server (rebuild Action)",
"properties": {
"rebuild": {
"type": "object",
"description": "The action to rebuild a server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"imageRef": {
"type": "string",
"format": "uuid",
"description": "The UUID of the image to rebuild for your server instance. It\nmust be a valid UUID otherwise API will return 400\\. To rebuild a\nvolume\\-backed server with a new image, at least microversion 2\\.93\nneeds to be provided in the request else the request will fall\nback to old behaviour i.e. the API will return 400 (for an image\ndifferent from the image used when creating the volume). For\nnon\\-volume\\-backed servers, specifying a new image will result in\nvalidating that the image is acceptable for the current compute\nhost on which the server exists. If the new image is not valid,\nthe server will go into `ERROR` status."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether the server is rebuilt with the preservation of the ephemeral\npartition (`true`).\n\n\n\nNote\n\n\nThis only works with baremetal servers provided by\nIronic. Passing it to any other server instance results in a\nfault and will prevent the rebuild from happening."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.18",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"summary": "Rebuild Server (rebuild Action)",
"properties": {
"rebuild": {
"type": "object",
"description": "The action to rebuild a server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"imageRef": {
"type": "string",
"format": "uuid",
"description": "The UUID of the image to rebuild for your server instance. It\nmust be a valid UUID otherwise API will return 400\\. To rebuild a\nvolume\\-backed server with a new image, at least microversion 2\\.93\nneeds to be provided in the request else the request will fall\nback to old behaviour i.e. the API will return 400 (for an image\ndifferent from the image used when creating the volume). For\nnon\\-volume\\-backed servers, specifying a new image will result in\nvalidating that the image is acceptable for the current compute\nhost on which the server exists. If the new image is not valid,\nthe server will go into `ERROR` status."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether the server is rebuilt with the preservation of the ephemeral\npartition (`true`).\n\n\n\nNote\n\n\nThis only works with baremetal servers provided by\nIronic. Passing it to any other server instance results in a\nfault and will prevent the rebuild from happening."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.19",
"max-ver": "2.53",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"summary": "Rebuild Server (rebuild Action)",
"properties": {
"rebuild": {
"type": "object",
"description": "The action to rebuild a server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"imageRef": {
"type": "string",
"format": "uuid",
"description": "The UUID of the image to rebuild for your server instance. It\nmust be a valid UUID otherwise API will return 400\\. To rebuild a\nvolume\\-backed server with a new image, at least microversion 2\\.93\nneeds to be provided in the request else the request will fall\nback to old behaviour i.e. the API will return 400 (for an image\ndifferent from the image used when creating the volume). For\nnon\\-volume\\-backed servers, specifying a new image will result in\nvalidating that the image is acceptable for the current compute\nhost on which the server exists. If the new image is not valid,\nthe server will go into `ERROR` status."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether the server is rebuilt with the preservation of the ephemeral\npartition (`true`).\n\n\n\nNote\n\n\nThis only works with baremetal servers provided by\nIronic. Passing it to any other server instance results in a\nfault and will prevent the rebuild from happening."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"personality": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"contents": {
"type": "string",
"format": "base64"
}
},
"additionalProperties": false
},
"description": "The file path and contents, text only, to inject into the server at launch. The\nmaximum size of the file path data is 255 bytes. The maximum limit is the number\nof allowed bytes in the decoded, rather than encoded, data.\n\n\n**Available until version 2\\.56**"
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
],
"description": "Key pair name for rebuild API. If `null` is specified,\nthe existing keypair is unset.\n\n\n\nNote\n\n\nUsers within the same project are able to rebuild other\nuser\u2019s instances in that project with a new keypair. Keys\nare owned by users (which is the only resource that\u2019s true\nof). Servers are owned by projects. Because of this a rebuild\nwith a key_name is looking up the keypair by the user calling\nrebuild.\n\n\n\n**New in version 2\\.54**"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.54",
"max-ver": "2.56",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"summary": "Rebuild Server (rebuild Action)",
"properties": {
"rebuild": {
"type": "object",
"description": "The action to rebuild a server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"imageRef": {
"type": "string",
"format": "uuid",
"description": "The UUID of the image to rebuild for your server instance. It\nmust be a valid UUID otherwise API will return 400\\. To rebuild a\nvolume\\-backed server with a new image, at least microversion 2\\.93\nneeds to be provided in the request else the request will fall\nback to old behaviour i.e. the API will return 400 (for an image\ndifferent from the image used when creating the volume). For\nnon\\-volume\\-backed servers, specifying a new image will result in\nvalidating that the image is acceptable for the current compute\nhost on which the server exists. If the new image is not valid,\nthe server will go into `ERROR` status."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether the server is rebuilt with the preservation of the ephemeral\npartition (`true`).\n\n\n\nNote\n\n\nThis only works with baremetal servers provided by\nIronic. Passing it to any other server instance results in a\nfault and will prevent the rebuild from happening."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
],
"description": "Key pair name for rebuild API. If `null` is specified,\nthe existing keypair is unset.\n\n\n\nNote\n\n\nUsers within the same project are able to rebuild other\nuser\u2019s instances in that project with a new keypair. Keys\nare owned by users (which is the only resource that\u2019s true\nof). Servers are owned by projects. Because of this a rebuild\nwith a key_name is looking up the keypair by the user calling\nrebuild.\n\n\n\n**New in version 2\\.54**"
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
],
"description": "Configuration information or scripts to use upon rebuild.\nMust be Base64 encoded. Restricted to 65535 bytes.\nIf `null` is specified, the existing user_data is unset.\n\n\n**New in version 2\\.57**"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.57",
"max-ver": "2.62",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"summary": "Rebuild Server (rebuild Action)",
"properties": {
"rebuild": {
"type": "object",
"description": "The action to rebuild a server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"imageRef": {
"type": "string",
"format": "uuid",
"description": "The UUID of the image to rebuild for your server instance. It\nmust be a valid UUID otherwise API will return 400\\. To rebuild a\nvolume\\-backed server with a new image, at least microversion 2\\.93\nneeds to be provided in the request else the request will fall\nback to old behaviour i.e. the API will return 400 (for an image\ndifferent from the image used when creating the volume). For\nnon\\-volume\\-backed servers, specifying a new image will result in\nvalidating that the image is acceptable for the current compute\nhost on which the server exists. If the new image is not valid,\nthe server will go into `ERROR` status."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether the server is rebuilt with the preservation of the ephemeral\npartition (`true`).\n\n\n\nNote\n\n\nThis only works with baremetal servers provided by\nIronic. Passing it to any other server instance results in a\nfault and will prevent the rebuild from happening."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
],
"description": "Key pair name for rebuild API. If `null` is specified,\nthe existing keypair is unset.\n\n\n\nNote\n\n\nUsers within the same project are able to rebuild other\nuser\u2019s instances in that project with a new keypair. Keys\nare owned by users (which is the only resource that\u2019s true\nof). Servers are owned by projects. Because of this a rebuild\nwith a key_name is looking up the keypair by the user calling\nrebuild.\n\n\n\n**New in version 2\\.54**"
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
],
"description": "Configuration information or scripts to use upon rebuild.\nMust be Base64 encoded. Restricted to 65535 bytes.\nIf `null` is specified, the existing user_data is unset.\n\n\n**New in version 2\\.57**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"description": "A list of trusted certificate IDs, which are used during image\nsignature verification to verify the signing certificate. The list is\nrestricted to a maximum of 50 IDs. This parameter is optional in server\nrebuild requests if allowed by policy, and is not supported\nfor volume\\-backed instances.\n\n\nIf `null` is specified, the existing trusted certificate IDs are either\nunset or reset to the configured defaults.\n\n\n**New in version 2\\.63**"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.63",
"max-ver": "2.89",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"summary": "Rebuild Server (rebuild Action)",
"properties": {
"rebuild": {
"type": "object",
"description": "The action to rebuild a server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"imageRef": {
"type": "string",
"format": "uuid",
"description": "The UUID of the image to rebuild for your server instance. It\nmust be a valid UUID otherwise API will return 400\\. To rebuild a\nvolume\\-backed server with a new image, at least microversion 2\\.93\nneeds to be provided in the request else the request will fall\nback to old behaviour i.e. the API will return 400 (for an image\ndifferent from the image used when creating the volume). For\nnon\\-volume\\-backed servers, specifying a new image will result in\nvalidating that the image is acceptable for the current compute\nhost on which the server exists. If the new image is not valid,\nthe server will go into `ERROR` status."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether the server is rebuilt with the preservation of the ephemeral\npartition (`true`).\n\n\n\nNote\n\n\nThis only works with baremetal servers provided by\nIronic. Passing it to any other server instance results in a\nfault and will prevent the rebuild from happening."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
],
"description": "Key pair name for rebuild API. If `null` is specified,\nthe existing keypair is unset.\n\n\n\nNote\n\n\nUsers within the same project are able to rebuild other\nuser\u2019s instances in that project with a new keypair. Keys\nare owned by users (which is the only resource that\u2019s true\nof). Servers are owned by projects. Because of this a rebuild\nwith a key_name is looking up the keypair by the user calling\nrebuild.\n\n\n\n**New in version 2\\.54**"
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
],
"description": "Configuration information or scripts to use upon rebuild.\nMust be Base64 encoded. Restricted to 65535 bytes.\nIf `null` is specified, the existing user_data is unset.\n\n\n**New in version 2\\.57**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"description": "A list of trusted certificate IDs, which are used during image\nsignature verification to verify the signing certificate. The list is\nrestricted to a maximum of 50 IDs. This parameter is optional in server\nrebuild requests if allowed by policy, and is not supported\nfor volume\\-backed instances.\n\n\nIf `null` is specified, the existing trusted certificate IDs are either\nunset or reset to the configured defaults.\n\n\n**New in version 2\\.63**"
},
"hostname": {
"type": "string",
"minLength": 2,
"maxLength": 63,
"pattern": "^[a-zA-Z0-9]+[a-zA-Z0-9-]*[a-zA-Z0-9]+$",
"description": "The hostname to configure for the instance in the metadata service.\n\n\nStarting with microversion 2\\.94, this can be a Fully Qualified Domain Name\n(FQDN) of up to 255 characters in length.\n\n\n\nNote\n\n\nThis information is published via the metadata service and requires\napplication such as `cloud-init` to propagate it through to the\ninstance.\n\n\n\n**New in version 2\\.90**"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.90",
"max-ver": "2.93",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
},
{
"type": "object",
"summary": "Rebuild Server (rebuild Action)",
"properties": {
"rebuild": {
"type": "object",
"description": "The action to rebuild a server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The server name."
},
"imageRef": {
"type": "string",
"format": "uuid",
"description": "The UUID of the image to rebuild for your server instance. It\nmust be a valid UUID otherwise API will return 400\\. To rebuild a\nvolume\\-backed server with a new image, at least microversion 2\\.93\nneeds to be provided in the request else the request will fall\nback to old behaviour i.e. the API will return 400 (for an image\ndifferent from the image used when creating the volume). For\nnon\\-volume\\-backed servers, specifying a new image will result in\nvalidating that the image is acceptable for the current compute\nhost on which the server exists. If the new image is not valid,\nthe server will go into `ERROR` status."
},
"adminPass": {
"type": "string",
"description": "The administrative password of the server. If you omit this parameter, the operation\ngenerates a new password."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
},
"preserve_ephemeral": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Indicates whether the server is rebuilt with the preservation of the ephemeral\npartition (`true`).\n\n\n\nNote\n\n\nThis only works with baremetal servers provided by\nIronic. Passing it to any other server instance results in a\nfault and will prevent the rebuild from happening."
},
"OS-DCF:diskConfig": {
"type": "string",
"enum": [
"AUTO",
"MANUAL"
],
"description": "Controls how the API partitions the disk when you create, rebuild, or resize servers.\nA server inherits the `OS-DCF:diskConfig` value from the image from which it\nwas created, and an image inherits the `OS-DCF:diskConfig` value from the server\nfrom which it was created. To override the inherited setting, you can include\nthis attribute in the request body of a server create, rebuild, or resize request. If\nthe `OS-DCF:diskConfig` value for an image is `MANUAL`, you cannot create\na server from that image and set its `OS-DCF:diskConfig` value to `AUTO`.\nA valid value is:\n\n\n* `AUTO`. The API builds the server with a single partition the size of the\ntarget flavor disk. The API automatically adjusts the file system to fit the\nentire partition.\n* `MANUAL`. The API builds the server by using whatever partition scheme and\nfile system is in the source image. If the target flavor disk is larger, the API\ndoes not partition the remaining disk space."
},
"accessIPv4": {
"type": "string",
"format": "ipv4",
"description": "IPv4 address that should be used to access this server."
},
"accessIPv6": {
"type": "string",
"format": "ipv6",
"description": "IPv6 address that should be used to access this server."
},
"description": {
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 255,
"pattern": "^[\\ -\\~\u00a0-\u00ac\u00ae-\u0377\u037a-\u037f\u0384-\u038a\u038c\u038e-\u03a1\u03a3-\u052f\u0531-\u0556\u0559-\u058a\u058d-\u058f\u0591-\u05c7\u05d0-\u05ea\u05ef-\u05f4\u0606-\u061b\u061d-\u06dc\u06de-\u070d\u0710-\u074a\u074d-\u07b1\u07c0-\u07fa\u07fd-\u082d\u0830-\u083e\u0840-\u085b\u085e\u0860-\u086a\u0870-\u088e\u0898-\u08e1\u08e3-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a76\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b77\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3c-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c5d\u0c60-\u0c63\u0c66-\u0c6f\u0c77-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cdd-\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf3\u0d00-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f\u0d81-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4\u0e01-\u0e3a\u0e3f-\u0e5b\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ece\u0ed0-\u0ed9\u0edc-\u0edf\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fda\u1000-\u10c5\u10c7\u10cd\u10d0-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u13a0-\u13f5\u13f8-\u13fd\u1400-\u169c\u16a0-\u16f8\u1700-\u1715\u171f-\u1736\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u1800-\u180d\u180f-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de-\u1a1b\u1a1e-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad\u1ab0-\u1ace\u1b00-\u1b4c\u1b50-\u1b7e\u1b80-\u1bf3\u1bfc-\u1c37\u1c3b-\u1c49\u1c4d-\u1c88\u1c90-\u1cba\u1cbd-\u1cc7\u1cd0-\u1cfa\u1d00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2000-\u200a\u2010-\u2027\u202f-\u205f\u2070-\u2071\u2074-\u208e\u2090-\u209c\u20a0-\u20c0\u20d0-\u20f0\u2100-\u218b\u2190-\u2426\u2440-\u244a\u2460-\u2b73\u2b76-\u2b95\u2b97-\u2cf3\u2cf9-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f-\u2d70\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2e5d\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3000-\u303f\u3041-\u3096\u3099-\u30ff\u3105-\u312f\u3131-\u318e\u3190-\u31e3\u31f0-\u321e\u3220-\ua48c\ua490-\ua4c6\ua4d0-\ua62b\ua640-\ua6f7\ua700-\ua7ca\ua7d0-\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua82c\ua830-\ua839\ua840-\ua877\ua880-\ua8c5\ua8ce-\ua8d9\ua8e0-\ua953\ua95f-\ua97c\ua980-\ua9cd\ua9cf-\ua9d9\ua9de-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaac2\uaadb-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab6b\uab70-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbc2\ufbd3-\ufd8f\ufd92-\ufdc7\ufdcf\ufdf0-\ufe19\ufe20-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufe70-\ufe74\ufe76-\ufefc\uff01-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\uffe0-\uffe6\uffe8-\uffee\ufffc-\ufffd]*$",
"description": "A free form description of the server. Limited to 255 characters\nin length. Before microversion 2\\.19 this was set to the server\nname.\n\n\n**New in version 2\\.19**"
},
"key_name": {
"oneOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 255
},
{
"type": "null"
}
],
"description": "Key pair name for rebuild API. If `null` is specified,\nthe existing keypair is unset.\n\n\n\nNote\n\n\nUsers within the same project are able to rebuild other\nuser\u2019s instances in that project with a new keypair. Keys\nare owned by users (which is the only resource that\u2019s true\nof). Servers are owned by projects. Because of this a rebuild\nwith a key_name is looking up the keypair by the user calling\nrebuild.\n\n\n\n**New in version 2\\.54**"
},
"user_data": {
"oneOf": [
{
"type": "string",
"format": "base64",
"maxLength": 65535
},
{
"type": "null"
}
],
"description": "Configuration information or scripts to use upon rebuild.\nMust be Base64 encoded. Restricted to 65535 bytes.\nIf `null` is specified, the existing user_data is unset.\n\n\n**New in version 2\\.57**"
},
"trusted_image_certificates": {
"type": [
"array",
"null"
],
"minItems": 1,
"maxItems": 50,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"description": "A list of trusted certificate IDs, which are used during image\nsignature verification to verify the signing certificate. The list is\nrestricted to a maximum of 50 IDs. This parameter is optional in server\nrebuild requests if allowed by policy, and is not supported\nfor volume\\-backed instances.\n\n\nIf `null` is specified, the existing trusted certificate IDs are either\nunset or reset to the configured defaults.\n\n\n**New in version 2\\.63**"
},
"hostname": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The hostname to configure for the instance in the metadata service.\n\n\nStarting with microversion 2\\.94, this can be a Fully Qualified Domain Name\n(FQDN) of up to 255 characters in length.\n\n\n\nNote\n\n\nThis information is published via the metadata service and requires\napplication such as `cloud-init` to propagate it through to the\ninstance.\n\n\n\n**New in version 2\\.90**"
}
},
"additionalProperties": false,
"required": [
"imageRef"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.94",
"action-name": "rebuild"
},
"required": [
"rebuild"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "rebuild"
}
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Create Image (createImage Action)¶
Creates an image from a server.
Specify the createImage
action in the request body.
After you make this request, you typically must keep polling the status of the created image to determine whether the request succeeded.
If the operation succeeds, the created image has a status of active
and
the server status returns to the original status. You can also see the new
image in the image back end that OpenStack Image service manages.
Preconditions
The server must exist.
You can only create a new image from the server when its status is ACTIVE
,
SHUTOFF
, SUSPENDED
or PAUSED
(PAUSED
is only supported for image-backed servers).
The project must have sufficient volume snapshot quota in the block storage service when the server has attached volumes. If the project does not have sufficient volume snapshot quota, the API returns a 403 error.
Asynchronous Postconditions
A snapshot image will be created in the Image service.
In the image-backed server case, volume snapshots of attached volumes will not
be created.
In the volume-backed server case,
volume snapshots will be created for all volumes attached to the server and
then those will be represented with a block_device_mapping
image property
in the resulting snapshot image in the Image service.
If that snapshot image is used later to create a new server,
it will result in a volume-backed server where the root volume is created
from the snapshot of the original root volume. The volumes created from
the snapshots of the original other volumes will be attached to the server.
Troubleshooting
If the image status remains uploading or shows another error status, the request failed. Ensure you meet the preconditions and run the request again. If the request fails again, investigate the image back end.
If the server status does not go back to an original server’s status, the request failed. Ensure you meet the preconditions, or check if there is another operation that causes race conditions for the server, then run the request again. If the request fails again, investigate the compute back end or ask your cloud provider.
If the request fails due to an error on OpenStack Compute service, the image is purged from the image store that OpenStack Image service manages. Ensure you meet the preconditions and run the request again. If the request fails again, investigate OpenStack Compute service or ask your cloud provider.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
createImage |
body |
object |
The action to create a snapshot of the image or the volume(s) of the server. |
createImage.name |
body |
string |
The display name of an Image. |
createImage.metadata |
body |
object |
Metadata key and value pairs for the image. The maximum size for each metadata key and value pair is 255 bytes. |
{
"description": "Creates an image from a server.\n\nSpecify the `createImage` action in the request body.\n\nAfter you make this request, you typically must keep polling the status of\nthe created image to determine whether the request succeeded.\n\nIf the operation succeeds, the created image has a status of `active` and\nthe server status returns to the original status. You can also see the new\nimage in the image back end that OpenStack Image service manages.\n\n**Preconditions**\n\nThe server must exist.\n\nYou can only create a new image from the server when its status is `ACTIVE`,\n`SHUTOFF`, `SUSPENDED` or `PAUSED`\n(`PAUSED` is only supported for image\\-backed servers).\n\nThe project must have sufficient volume snapshot quota in the block storage\nservice when the server has attached volumes.\nIf the project does not have sufficient volume snapshot quota,\nthe API returns a 403 error.\n\n**Asynchronous Postconditions**\n\nA snapshot image will be created in the Image service.\n\nIn the image\\-backed server case, volume snapshots of attached volumes will not\nbe created.\nIn the volume\\-backed server case,\nvolume snapshots will be created for all volumes attached to the server and\nthen those will be represented with a `block_device_mapping` image property\nin the resulting snapshot image in the Image service.\nIf that snapshot image is used later to create a new server,\nit will result in a volume\\-backed server where the root volume is created\nfrom the snapshot of the original root volume. The volumes created from\nthe snapshots of the original other volumes will be attached to the server.\n\n**Troubleshooting**\n\nIf the image status remains uploading or shows another error status,\nthe request failed. Ensure you meet the preconditions and run the request\nagain. If the request fails again, investigate the image back end.\n\nIf the server status does not go back to an original server\u2019s status,\nthe request failed. Ensure you meet the preconditions, or check if\nthere is another operation that causes race conditions for the server,\nthen run the request again. If the request fails again, investigate the\ncompute back end or ask your cloud provider.\n\nIf the request fails due to an error on OpenStack Compute service, the image\nis purged from the image store that OpenStack Image service manages. Ensure\nyou meet the preconditions and run the request again. If the request fails\nagain, investigate OpenStack Compute service or ask your cloud provider.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Create Image (createImage Action)",
"oneOf": [
{
"type": "object",
"summary": "Create Image (createImage Action)",
"properties": {
"createImage": {
"type": "object",
"description": "The action to create a snapshot of the image or\nthe volume(s) of the server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The display name of an Image."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs for the image.\nThe maximum size for each metadata key and value pair is 255 bytes.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0",
"action-name": "createImage"
},
"required": [
"createImage"
]
},
{
"type": "object",
"summary": "Create Image (createImage Action)",
"properties": {
"createImage": {
"type": "object",
"description": "The action to create a snapshot of the image or\nthe volume(s) of the server.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The display name of an Image."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs for the image.\nThe maximum size for each metadata key and value pair is 255 bytes.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"name"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"action-name": "createImage"
},
"required": [
"createImage"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "createImage"
}
}
Responses¶
201¶
Ok
202¶
Accepted
{
"type": "object",
"properties": {
"image_id": {
"type": "string",
"description": "The UUID for the resulting image snapshot.",
"x-openstack": {
"min-ver": "2.45"
}
}
},
"x-openstack": {
"action-name": "createImage"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
image_id |
body |
string |
The UUID for the resulting image snapshot. |
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Start Server (os-start Action)¶
Starts a stopped server and changes its status to ACTIVE
.
Specify the os-start
action in the request body.
Preconditions
The server status must be SHUTOFF
.
If the server is locked, you must have administrator privileges to start the server.
Asynchronous Postconditions
After you successfully start a server, its status changes to ACTIVE
.
Troubleshooting
If the server status does not change to ACTIVE
, the start operation failed.
Ensure that you meet the preconditions and run the request again.
If the request fails again, investigate whether another operation is running
that causes a race condition.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Starts a stopped server and changes its status to `ACTIVE`.\n\nSpecify the `os-start` action in the request body.\n\n**Preconditions**\n\nThe server status must be `SHUTOFF`.\n\nIf the server is locked, you must have administrator privileges\nto start the server.\n\n**Asynchronous Postconditions**\n\nAfter you successfully start a server, its status changes to `ACTIVE`.\n\n**Troubleshooting**\n\nIf the server status does not change to `ACTIVE`, the start operation failed.\nEnsure that you meet the preconditions and run the request again.\nIf the request fails again, investigate whether another operation is running\nthat causes a race condition.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\)",
"summary": "Start Server (os-start Action)",
"properties": {
"os-start": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "os-start"
},
"required": [
"os-start"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Stop Server (os-stop Action)¶
Stops a running server and changes its status to SHUTOFF
.
Specify the os-stop
action in the request body.
Preconditions
The server status must be ACTIVE
or ERROR
.
If the server is locked, you must have administrator privileges to stop the server.
Asynchronous Postconditions
After you successfully stop a server, its status changes to SHUTOFF
.
This API operation does not delete the server instance data and the data
will be available again after os-start
action.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Stops a running server and changes its status to `SHUTOFF`.\n\nSpecify the `os-stop` action in the request body.\n\n**Preconditions**\n\nThe server status must be `ACTIVE` or `ERROR`.\n\nIf the server is locked, you must have administrator privileges\nto stop the server.\n\n**Asynchronous Postconditions**\n\nAfter you successfully stop a server, its status changes to `SHUTOFF`.\nThis API operation does not delete the server instance data and the data\nwill be available again after `os-start` action.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\)",
"summary": "Stop Server (os-stop Action)",
"properties": {
"os-stop": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "os-stop"
},
"required": [
"os-stop"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
`trigger_crash_dump` action¶
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
trigger_crash_dump |
body |
null |
{
"type": "object",
"properties": {
"trigger_crash_dump": {
"type": "null"
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.17",
"action-name": "trigger_crash_dump"
},
"required": [
"trigger_crash_dump"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Reset Networking On A Server (resetNetwork Action) (DEPRECATED)¶
Resets networking on a server.
Specify the resetNetwork
action in the request body.
Policy defaults enable only users with the administrative role to
perform this operation. Cloud providers can change these permissions
through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), gone(410)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
resetNetwork |
body |
null |
The action. |
{
"type": "object",
"description": "Resets networking on a server.\n\nSpecify the `resetNetwork` action in the request body.\n\nPolicy defaults enable only users with the administrative role to\nperform this operation. Cloud providers can change these permissions\nthrough the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\), gone(410\\)",
"summary": "Reset Networking On A Server (resetNetwork Action) (DEPRECATED)",
"properties": {
"resetNetwork": {
"type": "null",
"description": "The action."
}
},
"x-openstack": {
"action-name": "resetNetwork"
}
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Inject Network Information (injectNetworkInfo Action)¶
Injects network information into a server.
Specify the injectNetworkInfo
action in the request body.
Policy defaults enable only users with the administrative role to
perform this operation. Cloud providers can change these permissions
through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Injects network information into a server.\n\nSpecify the `injectNetworkInfo` action in the request body.\n\nPolicy defaults enable only users with the administrative role to\nperform this operation. Cloud providers can change these permissions\nthrough the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\), conflict(409\\)",
"summary": "Inject Network Information (injectNetworkInfo Action)",
"properties": {
"injectNetworkInfo": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "injectNetworkInfo"
},
"required": [
"injectNetworkInfo"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Reset Server State (os-resetState Action)¶
Resets the state of a server.
Specify the os-resetState
action and the state
in the request body.
Policy defaults enable only users with the administrative role to
perform this operation. Cloud providers can change these permissions
through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
os-resetState |
body |
object |
The action. |
os-resetState.state |
body |
string |
The state of the server to be set, |
{
"type": "object",
"description": "Resets the state of a server.\n\nSpecify the `os-resetState` action and the `state` in the request body.\n\nPolicy defaults enable only users with the administrative role to\nperform this operation. Cloud providers can change these permissions\nthrough the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\)",
"summary": "Reset Server State (os-resetState Action)",
"properties": {
"os-resetState": {
"type": "object",
"description": "The action.",
"properties": {
"state": {
"type": "string",
"enum": [
"active",
"error"
],
"description": "The state of the server to be set, `active` or `error` are valid."
}
},
"additionalProperties": false,
"required": [
"state"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "os-resetState"
},
"required": [
"os-resetState"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Change Administrative Password (changePassword Action)¶
Changes the administrative password for a server.
Specify the changePassword
action in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers can
change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
changePassword |
body |
object |
The action to change an administrative password of the server. |
changePassword.adminPass |
body |
string |
The administrative password for the server. |
{
"type": "object",
"description": "Changes the administrative password for a server.\n\nSpecify the `changePassword` action in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers can\nchange these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\), notImplemented(501\\)",
"summary": "Change Administrative Password (changePassword Action)",
"properties": {
"changePassword": {
"type": "object",
"description": "The action to change an administrative password of the server.",
"properties": {
"adminPass": {
"type": "string",
"description": "The administrative password for the server."
}
},
"additionalProperties": false,
"required": [
"adminPass"
]
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "changePassword"
},
"required": [
"changePassword"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Show Console Output (os-getConsoleOutput Action)¶
Shows console output for a server.
This API returns the text of the console since boot.
The content returned may be large. Limit the lines of console
text, beginning at the tail of the content, by setting
the optional length
parameter in the request body.
The server to get console log from should set
export LC_ALL=en_US.UTF-8
in order to avoid incorrect unicode error.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), notFound(404), conflict(409), methodNotImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
os-getConsoleOutput |
body |
object |
The action to get console output of the server. |
os-getConsoleOutput.length |
body |
[‘integer’, ‘string’, ‘null’] |
The number of lines to fetch from the end of console log. All lines will be returned if this is not specified. Note This parameter can be specified as not only ‘integer’ but also ‘string’. |
{
"type": "object",
"description": "Shows console output for a server.\n\nThis API returns the text of the console since boot.\nThe content returned may be large. Limit the lines of console\ntext, beginning at the tail of the content, by setting\nthe optional `length` parameter in the request body.\n\nThe server to get console log from should set\n`export LC_ALL=en_US.UTF-8` in order to avoid incorrect unicode error.\n\nNormal response codes: 200\n\nError response codes: unauthorized(401\\), forbidden(403\\),\nnotFound(404\\), conflict(409\\), methodNotImplemented(501\\)",
"summary": "Show Console Output (os-getConsoleOutput Action)",
"properties": {
"os-getConsoleOutput": {
"type": "object",
"description": "The action to get console output of the server.",
"properties": {
"length": {
"type": [
"integer",
"string",
"null"
],
"pattern": "^-?[0-9]+$",
"minimum": -1,
"description": "The number of lines to fetch from the end of console log. All\nlines will be returned if this is not specified.\n\n\n\nNote\n\n\nThis parameter can be specified as not only \u2018integer\u2019 but also \u2018string\u2019."
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "os-getConsoleOutput"
},
"required": [
"os-getConsoleOutput"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "The console output as a string. Control characters will be escaped to create a valid JSON string.",
"properties": {
"output": {
"type": "string",
"description": "The console output as a string. Control characters will be escaped\nto create a valid JSON string."
}
},
"x-openstack": {
"action-name": "os-getConsoleOutput"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
output |
body |
string |
The console output as a string. Control characters will be escaped to create a valid JSON string. |
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Create Server Back Up (createBackup Action)¶
Creates a back up of a server.
Specify the createBackup
action in the request body.
Policy defaults enable only users with the administrative role or the
owner of the server to perform this operation. Cloud providers can
change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
createBackup |
body |
object |
The action. |
createBackup.name |
body |
string |
The name of the image to be backed up. |
createBackup.backup_type |
body |
string |
The type of the backup, for example, |
createBackup.rotation |
body |
[‘integer’, ‘string’] |
The rotation of the back up image, the oldest image will be removed when image count exceed the rotation count. |
createBackup.metadata |
body |
object |
Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
{
"description": "Creates a back up of a server.\n\nSpecify the `createBackup` action in the request body.\n\nPolicy defaults enable only users with the administrative role or the\nowner of the server to perform this operation. Cloud providers can\nchange these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Create Server Back Up (createBackup Action)",
"oneOf": [
{
"type": "object",
"summary": "Create Server Back Up (createBackup Action)",
"properties": {
"createBackup": {
"type": "object",
"description": "The action.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name_with_leading_trailing_spaces",
"description": "The name of the image to be backed up."
},
"backup_type": {
"type": "string",
"description": "The type of the backup, for example, `daily`."
},
"rotation": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 0,
"minLength": 1,
"description": "The rotation of the back up image, the oldest image will be removed when image count\nexceed the rotation count."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"name",
"backup_type",
"rotation"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.0",
"action-name": "createBackup"
},
"required": [
"createBackup"
]
},
{
"type": "object",
"summary": "Create Server Back Up (createBackup Action)",
"properties": {
"createBackup": {
"type": "object",
"description": "The action.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name",
"description": "The name of the image to be backed up."
},
"backup_type": {
"type": "string",
"description": "The type of the backup, for example, `daily`."
},
"rotation": {
"type": [
"integer",
"string"
],
"pattern": "^[0-9]*$",
"minimum": 0,
"minLength": 1,
"description": "The rotation of the back up image, the oldest image will be removed when image count\nexceed the rotation count."
},
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size of the metadata key and value is\n255 bytes each.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"name",
"backup_type",
"rotation"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"action-name": "createBackup"
},
"required": [
"createBackup"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "createBackup"
}
}
Responses¶
201¶
Ok
202¶
Accepted
{
"type": "object",
"properties": {
"image_id": {
"type": "string",
"description": "The UUID for the resulting image snapshot.",
"x-openstack": {
"min-ver": "2.45"
}
}
},
"x-openstack": {
"action-name": "createBackup"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
image_id |
body |
string |
The UUID for the resulting image snapshot. |
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Restore Soft-Deleted Instance (restore Action)¶
Restores a previously soft-deleted server instance. You cannot use this method to restore deleted instances.
Specify the restore
action in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Restores a previously soft\\-deleted server instance. You cannot use\nthis method to restore deleted instances.\n\nSpecify the `restore` action in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\)",
"summary": "Restore Soft-Deleted Instance (restore Action)",
"properties": {
"restore": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "restore"
},
"required": [
"restore"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Force-Delete Server (forceDelete Action)¶
Force-deletes a server before deferred cleanup.
Specify the forceDelete
action in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Force\\-deletes a server before deferred cleanup.\n\nSpecify the `forceDelete` action in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\)",
"summary": "Force-Delete Server (forceDelete Action)",
"properties": {
"forceDelete": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "forceDelete"
},
"required": [
"forceDelete"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Evacuate Server (evacuate Action)¶
Evacuates a server from a failed host to a new host.
Preconditions
Starting from API version 2.68, the force
parameter is no longer accepted
as this could not be meaningfully supported by servers with complex resource
allocations.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
evacuate |
body |
object |
The action to evacuate a server to another host. |
evacuate.host |
body |
string |
The name or ID of the host to which the server is evacuated. If you omit this parameter, the scheduler chooses a host. Warning Prior to microversion 2.29, specifying a host will bypass
validation by the scheduler, which could result in failures to actually
evacuate the instance to the specified host, or over-subscription of the
host. It is recommended to either not specify a host so that the
scheduler will pick one, or specify a host with microversion >= 2.29 and
without |
evacuate.onSharedStorage |
body |
[‘boolean’, ‘string’] |
Server on shared storage. Note Starting since version 2.14, Nova automatically detects whether the server is on shared storage or not. Therefore this parameter was removed. Available until version 2.13 |
evacuate.adminPass |
body |
string |
An administrative password to access the evacuated server.
If you omit this parameter, the operation generates a new password.
Up to API version 2.13, if |
evacuate.force |
body |
[‘boolean’, ‘string’] |
Force an evacuation by not verifying the provided destination host by the scheduler. Warning This could result in failures to actually evacuate the
instance to the specified host. It is recommended to either not specify
a host so that the scheduler will pick one, or specify a host without
Furthermore, this should not be specified when evacuating instances managed by a clustered hypervisor driver like ironic since you cannot specify a node, so the compute service will pick a node randomly which may not be able to accommodate the instance. New in version 2.29 Available until version 2.67 |
{
"description": "Evacuates a server from a failed host to a new host.\n\n**Preconditions**\n\nStarting from API version 2\\.68, the `force` parameter is no longer accepted\nas this could not be meaningfully supported by servers with complex resource\nallocations.\n\nNormal response codes: 200\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Evacuate Server (evacuate Action)",
"oneOf": [
{
"type": "object",
"summary": "Evacuate Server (evacuate Action)",
"properties": {
"evacuate": {
"type": "object",
"description": "The action to evacuate a server to another host.",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The name or ID of the host to which the server is evacuated.\nIf you omit this parameter, the scheduler chooses a host.\n\n\n\nWarning\n\n\nPrior to microversion 2\\.29, specifying a host will bypass\nvalidation by the scheduler, which could result in failures to actually\nevacuate the instance to the specified host, or over\\-subscription of the\nhost. It is recommended to either not specify a host so that the\nscheduler will pick one, or specify a host with microversion \\>\\= 2\\.29 and\nwithout `force=True` set."
},
"onSharedStorage": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Server on shared storage.\n\n\n\nNote\n\n\nStarting since version 2\\.14, Nova automatically detects\nwhether the server is on shared storage or not.\nTherefore this parameter was removed.\n\n\n\n**Available until version 2\\.13**"
},
"adminPass": {
"type": "string",
"description": "An administrative password to access the evacuated server.\nIf you omit this parameter, the operation generates a new password.\nUp to API version 2\\.13, if `onSharedStorage` is set to `True` and\nthis parameter is specified, an error is raised."
}
},
"additionalProperties": false,
"required": [
"onSharedStorage"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.13",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
},
{
"type": "object",
"summary": "Evacuate Server (evacuate Action)",
"properties": {
"evacuate": {
"type": "object",
"description": "The action to evacuate a server to another host.",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The name or ID of the host to which the server is evacuated.\nIf you omit this parameter, the scheduler chooses a host.\n\n\n\nWarning\n\n\nPrior to microversion 2\\.29, specifying a host will bypass\nvalidation by the scheduler, which could result in failures to actually\nevacuate the instance to the specified host, or over\\-subscription of the\nhost. It is recommended to either not specify a host so that the\nscheduler will pick one, or specify a host with microversion \\>\\= 2\\.29 and\nwithout `force=True` set."
},
"adminPass": {
"type": "string",
"description": "An administrative password to access the evacuated server.\nIf you omit this parameter, the operation generates a new password.\nUp to API version 2\\.13, if `onSharedStorage` is set to `True` and\nthis parameter is specified, an error is raised."
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.14",
"max-ver": "2.28",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
},
{
"type": "object",
"summary": "Evacuate Server (evacuate Action)",
"properties": {
"evacuate": {
"type": "object",
"description": "The action to evacuate a server to another host.",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The name or ID of the host to which the server is evacuated.\nIf you omit this parameter, the scheduler chooses a host.\n\n\n\nWarning\n\n\nPrior to microversion 2\\.29, specifying a host will bypass\nvalidation by the scheduler, which could result in failures to actually\nevacuate the instance to the specified host, or over\\-subscription of the\nhost. It is recommended to either not specify a host so that the\nscheduler will pick one, or specify a host with microversion \\>\\= 2\\.29 and\nwithout `force=True` set."
},
"adminPass": {
"type": "string",
"description": "An administrative password to access the evacuated server.\nIf you omit this parameter, the operation generates a new password.\nUp to API version 2\\.13, if `onSharedStorage` is set to `True` and\nthis parameter is specified, an error is raised."
},
"force": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Force an evacuation by not verifying the provided destination host by the\nscheduler.\n\n\n\nWarning\n\n\nThis could result in failures to actually evacuate the\ninstance to the specified host. It is recommended to either not specify\na host so that the scheduler will pick one, or specify a host without\n`force=True` set.\n\n\nFurthermore, this should not be specified when evacuating instances\nmanaged by a clustered hypervisor driver like ironic since you\ncannot specify a node, so the compute service will pick a node randomly\nwhich may not be able to accommodate the instance.\n\n\n\n**New in version 2\\.29**\n\n\n**Available until version 2\\.67**"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.29",
"max-ver": "2.67",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
},
{
"type": "object",
"summary": "Evacuate Server (evacuate Action)",
"properties": {
"evacuate": {
"type": "object",
"description": "The action to evacuate a server to another host.",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The name or ID of the host to which the server is evacuated.\nIf you omit this parameter, the scheduler chooses a host.\n\n\n\nWarning\n\n\nPrior to microversion 2\\.29, specifying a host will bypass\nvalidation by the scheduler, which could result in failures to actually\nevacuate the instance to the specified host, or over\\-subscription of the\nhost. It is recommended to either not specify a host so that the\nscheduler will pick one, or specify a host with microversion \\>\\= 2\\.29 and\nwithout `force=True` set."
},
"adminPass": {
"type": "string",
"description": "An administrative password to access the evacuated server.\nIf you omit this parameter, the operation generates a new password.\nUp to API version 2\\.13, if `onSharedStorage` is set to `True` and\nthis parameter is specified, an error is raised."
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.68",
"max-ver": "2.94",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
},
{
"type": "object",
"summary": "Evacuate Server (evacuate Action)",
"properties": {
"evacuate": {
"type": "object",
"description": "The action to evacuate a server to another host.",
"properties": {
"host": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The name or ID of the host to which the server is evacuated.\nIf you omit this parameter, the scheduler chooses a host.\n\n\n\nWarning\n\n\nPrior to microversion 2\\.29, specifying a host will bypass\nvalidation by the scheduler, which could result in failures to actually\nevacuate the instance to the specified host, or over\\-subscription of the\nhost. It is recommended to either not specify a host so that the\nscheduler will pick one, or specify a host with microversion \\>\\= 2\\.29 and\nwithout `force=True` set."
},
"adminPass": {
"type": "string",
"description": "An administrative password to access the evacuated server.\nIf you omit this parameter, the operation generates a new password.\nUp to API version 2\\.13, if `onSharedStorage` is set to `True` and\nthis parameter is specified, an error is raised."
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.95",
"action-name": "evacuate"
},
"required": [
"evacuate"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "evacuate"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"properties": {
"adminPass": {
"type": "string",
"description": "An administrative password to access the evacuated instance.\nIf you set `enable_instance_password` configuration option to `False`,\nthe API wouldn\u2019t return the `adminPass` field in response.\n\n\n**Available until version 2\\.13**"
}
},
"x-openstack": {
"action-name": "evacuate"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
adminPass |
body |
string |
An administrative password to access the evacuated instance.
If you set Available until version 2.13 |
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Add (Associate) Floating Ip (addFloatingIp Action) (DEPRECATED)¶
Adds a floating IP address to a server, which associates that address with the server.
A pool of floating IP addresses, configured by the cloud administrator,
is available in OpenStack Compute. The project quota defines the maximum
number of floating IP addresses that you can allocate to the project.
After you create (allocate) a floating IPaddress
for a project, you can associate that address with the server. Specify
the addFloatingIp
action in the request body.
If an instance is connected to multiple networks, you can associate a
floating IP address with a specific fixed IP address by using the
optional fixed_address
parameter.
Preconditions
The server must exist.
You can only add a floating IP address to the server when its status is ACTIVE
or STOPPED
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
addFloatingIp |
body |
object |
The action. Contains required floating IP |
addFloatingIp.address |
body |
string |
The fixed IP address with which you want to associate the floating IP address. |
addFloatingIp.fixed_address |
body |
string |
The fixed IP address with which you want to associate the floating IP address. |
{
"type": "object",
"description": "Adds a floating IP address to a server, which associates\nthat address with the server.\n\nA pool of floating IP addresses, configured by the cloud administrator,\nis available in OpenStack Compute. The project quota defines the maximum\nnumber of floating IP addresses that you can allocate to the project.\nAfter you [create (allocate) a floating IPaddress](https://docs.openstack.org/api-ref/compute/#create-allocate-floating-ip-address)\nfor a project, you can associate that address with the server. Specify\nthe `addFloatingIp` action in the request body.\n\nIf an instance is connected to multiple networks, you can associate a\nfloating IP address with a specific fixed IP address by using the\noptional `fixed_address` parameter.\n\n**Preconditions**\n\nThe server must exist.\n\nYou can only add a floating IP address to the server when its status is `ACTIVE` or `STOPPED`\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\)",
"summary": "Add (Associate) Floating Ip (addFloatingIp Action) (DEPRECATED)",
"properties": {
"addFloatingIp": {
"type": "object",
"description": "The action. Contains required floating IP `address` and optional\n`fixed_address`.",
"properties": {
"address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "The fixed IP address with which you want to associate the floating IP address."
},
"fixed_address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "The fixed IP address with which you want to associate the floating IP address."
}
},
"additionalProperties": false,
"required": [
"address"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.43",
"action-name": "addFloatingIp"
},
"required": [
"addFloatingIp"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Remove (Disassociate) Floating Ip (removeFloatingIp Action) (DEPRECATED)¶
Removes, or disassociates, a floating IP address from a server.
The IP address is returned to the pool of IP addresses that is available for all projects. When you remove a floating IP address and that IP address is still associated with a running instance, it is automatically disassociated from that instance.
Specify the removeFloatingIp
action in the request body.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
removeFloatingIp |
body |
object |
The action to remove or disassociate a floating IP address from the server. |
removeFloatingIp.address |
body |
string |
The floating IP address. |
{
"type": "object",
"description": "Removes, or disassociates, a floating IP address from a server.\n\nThe IP address is returned to the pool of IP addresses that is available\nfor all projects. When you remove a floating IP address and that IP address\nis still associated with a running instance, it is automatically\ndisassociated from that instance.\n\nSpecify the `removeFloatingIp` action in the request body.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Remove (Disassociate) Floating Ip (removeFloatingIp Action) (DEPRECATED)",
"properties": {
"removeFloatingIp": {
"type": "object",
"description": "The action to remove or disassociate a floating IP address\nfrom the server.",
"properties": {
"address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "The floating IP address."
}
},
"additionalProperties": false,
"required": [
"address"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.43",
"action-name": "removeFloatingIp"
},
"required": [
"removeFloatingIp"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Lock Server (lock Action)¶
Locks a server.
Specify the lock
action in the request body.
Most actions by non-admin users are not allowed to the server after this operation is successful and the server is locked. See the “Lock, Unlock” item in Server actions for the restricted actions. But administrators can perform actions on the server even though the server is locked. Note that from microversion 2.73 it is possible to specify a reason when locking the server.
The unlock action will unlock a server in locked state so additional actions can be performed on the server by non-admin users.
You can know whether a server is locked or not and the locked_reason
(if specified, from the 2.73 microversion) by the List Servers Detailed API
or
the Show Server Details API.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Administrators can overwrite owner’s lock.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
lock |
body |
[‘object’, ‘null’] |
The action to lock a server.
This parameter can be |
{
"description": "Locks a server.\n\nSpecify the `lock` action in the request body.\n\nMost actions by non\\-admin users are not allowed to the server\nafter this operation is successful and the server is locked.\nSee the \u201cLock, Unlock\u201d item in [Server actions](https://docs.openstack.org/api-guide/compute/server_concepts.html#server-actions)\nfor the restricted actions.\nBut administrators can perform actions on the server\neven though the server is locked. Note that from microversion 2\\.73 it is\npossible to specify a reason when locking the server.\n\nThe [unlock action](https://docs.openstack.org/api-ref/compute/#unlock-server-unlock-action)\nwill unlock a server in locked state so additional actions can\nbe performed on the server by non\\-admin users.\n\nYou can know whether a server is locked or not and the `locked_reason`\n(if specified, from the 2\\.73 microversion) by the [List Servers Detailed API](https://docs.openstack.org/api-ref/compute/#list-servers-detailed)\nor\nthe [Show Server Details API](https://docs.openstack.org/api-ref/compute/#show-server-details).\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\nAdministrators can overwrite owner\u2019s lock.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\)",
"summary": "Lock Server (lock Action)",
"oneOf": [
{
"type": "object",
"summary": "Lock Server (lock Action)",
"properties": {
"lock": {}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.72",
"action-name": "lock"
},
"required": [
"lock"
]
},
{
"type": "object",
"summary": "Lock Server (lock Action)",
"properties": {
"lock": {
"type": [
"object",
"null"
],
"properties": {
"locked_reason": {
"type": "string",
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false,
"description": "The action to lock a server.\nThis parameter can be `null`.\nUp to microversion 2\\.73, this parameter should be `null`."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.73",
"action-name": "lock"
},
"required": [
"lock"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "lock"
}
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Unlock Server (unlock Action)¶
Unlocks a locked server.
Specify the unlock
action in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Unlocks a locked server.\n\nSpecify the `unlock` action in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\)",
"summary": "Unlock Server (unlock Action)",
"properties": {
"unlock": {}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.72",
"action-name": "unlock"
},
"required": [
"unlock"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Migrate Server (migrate Action)¶
Migrates a server to a host.
Specify the migrate
action in the request body.
Up to microversion 2.55, the scheduler chooses the host.
Starting from microversion 2.56, the host
parameter is available
to specify the destination host. If you specify null
or don’t specify
this parameter, the scheduler chooses a host.
Asynchronous Postconditions
A successfully migrated server shows a VERIFY_RESIZE
status and finished
migration status. If the cloud has configured the resize_confirm_window
option of the Compute service to a positive value, the Compute service
automatically confirms the migrate operation after the configured interval.
There are two different policies for this action, depending on whether the host
parameter is set. Both defaults enable only users with the administrative role
to perform this operation. Cloud providers can change these permissions
through the policy.json
file.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403) itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
migrate |
body |
[‘object’, ‘null’] |
The action to cold migrate a server.
This parameter can be |
{
"type": "object",
"description": "Migrates a server to a host.\n\nSpecify the `migrate` action in the request body.\n\nUp to microversion 2\\.55, the scheduler chooses the host.\nStarting from microversion 2\\.56, the `host` parameter is available\nto specify the destination host. If you specify `null` or don\u2019t specify\nthis parameter, the scheduler chooses a host.\n\n**Asynchronous Postconditions**\n\nA successfully migrated server shows a `VERIFY_RESIZE` status and `finished`\nmigration status. If the cloud has configured the [resize_confirm_window](https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.resize_confirm_window)\noption of the Compute service to a positive value, the Compute service\nautomatically confirms the migrate operation after the configured interval.\n\nThere are two different policies for this action, depending on whether the host\nparameter is set. Both defaults enable only users with the administrative role\nto perform this operation. Cloud providers can change these permissions\nthrough the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\)\nitemNotFound(404\\), conflict(409\\)",
"summary": "Migrate Server (migrate Action)",
"properties": {
"migrate": {
"type": [
"object",
"null"
],
"properties": {
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$"
}
},
"additionalProperties": false,
"description": "The action to cold migrate a server.\nThis parameter can be `null`.\nUp to microversion 2\\.55, this parameter should be `null`."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.56",
"action-name": "migrate"
},
"required": [
"migrate"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Live-Migrate Server (os-migrateLive Action)¶
Live-migrates a server to a new host without rebooting.
Specify the os-migrateLive
action in the request body.
Use the host
parameter to specify the destination host. If
this param is null
, the scheduler chooses a host. If a scheduled host
is not suitable to do migration, the scheduler tries up to
migrate_max_retries
rescheduling attempts.
Starting from API version 2.25, the block_migration
parameter could be
to auto
so that nova can decide value of block_migration during live
migration.
Policy defaults enable only users with the administrative role to
perform this operation. Cloud providers can change these permissions
through the policy.json
file.
Starting from REST API version 2.34 pre-live-migration checks are done
asynchronously, results of these checks are available in instance-actions
.
Nova responds immediately, and no pre-live-migration checks are returned.
The instance will not immediately change state to ERROR
, if a failure of
the live-migration checks occurs.
Starting from API version 2.68, the force
parameter is no longer accepted
as this could not be meaningfully supported by servers with complex resource
allocations.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403) itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
os-migrateLive |
body |
object |
The action. |
os-migrateLive.block_migration |
body |
[‘boolean’, ‘string’] |
Set to Available until version 2.25 |
os-migrateLive.disk_over_commit |
body |
[‘boolean’, ‘string’] |
Set to Available until version 2.25 |
os-migrateLive.host |
body |
[‘string’, ‘null’] |
The host to which to migrate the server. If this parameter is Warning Prior to microversion 2.30, specifying a host will bypass
validation by the scheduler, which could result in failures to actually
migrate the instance to the specified host, or over-subscription of the
host. It is recommended to either not specify a host so that the
scheduler will pick one, or specify a host with microversion >= 2.30 and
without |
os-migrateLive.force |
body |
[‘boolean’, ‘string’] |
Force a live-migration by not verifying the provided destination host by the scheduler. Warning This could result in failures to actually live migrate the
instance to the specified host. It is recommended to either not specify
a host so that the scheduler will pick one, or specify a host without
New in version 2.30 Available until version 2.67 |
{
"description": "Live\\-migrates a server to a new host without rebooting.\n\nSpecify the `os-migrateLive` action in the request body.\n\nUse the `host` parameter to specify the destination host. If\nthis param is `null`, the scheduler chooses a host. If a scheduled host\nis not suitable to do migration, the scheduler tries up to\n`migrate_max_retries` rescheduling attempts.\n\nStarting from API version 2\\.25, the `block_migration` parameter could be\nto `auto` so that nova can decide value of block_migration during live\nmigration.\n\nPolicy defaults enable only users with the administrative role to\nperform this operation. Cloud providers can change these permissions\nthrough the `policy.json` file.\n\nStarting from REST API version 2\\.34 pre\\-live\\-migration checks are done\nasynchronously, results of these checks are available in `instance-actions`.\nNova responds immediately, and no pre\\-live\\-migration checks are returned.\nThe instance will not immediately change state to `ERROR`, if a failure of\nthe live\\-migration checks occurs.\n\nStarting from API version 2\\.68, the `force` parameter is no longer accepted\nas this could not be meaningfully supported by servers with complex resource\nallocations.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\)\nitemNotFound(404\\), conflict(409\\)",
"summary": "Live-Migrate Server (os-migrateLive Action)",
"oneOf": [
{
"type": "object",
"summary": "Live-Migrate Server (os-migrateLive Action)",
"properties": {
"os-migrateLive": {
"type": "object",
"description": "The action.",
"properties": {
"block_migration": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Set to `True` to enable over commit when the destination host is checked for\navailable disk space. Set to `False` to disable over commit. This setting affects\nonly the libvirt virt driver.\n\n\n**Available until version 2\\.25**"
},
"disk_over_commit": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Set to `True` to enable over commit when the destination host is checked for\navailable disk space. Set to `False` to disable over commit. This setting affects\nonly the libvirt virt driver.\n\n\n**Available until version 2\\.25**"
},
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The host to which to migrate the server. If this parameter is `None`,\nthe scheduler chooses a host.\n\n\n\nWarning\n\n\nPrior to microversion 2\\.30, specifying a host will bypass\nvalidation by the scheduler, which could result in failures to actually\nmigrate the instance to the specified host, or over\\-subscription of the\nhost. It is recommended to either not specify a host so that the\nscheduler will pick one, or specify a host with microversion \\>\\= 2\\.30 and\nwithout `force=True` set."
}
},
"additionalProperties": false,
"required": [
"block_migration",
"disk_over_commit",
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.24",
"action-name": "os-migrateLive"
},
"required": [
"os-migrateLive"
]
},
{
"type": "object",
"summary": "Live-Migrate Server (os-migrateLive Action)",
"properties": {
"os-migrateLive": {
"type": "object",
"description": "The action.",
"properties": {
"block_migration": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no",
"auto"
],
"description": "Migrates local disks by using block migration. Set to `auto` which means\nnova will detect whether source and destination hosts on shared storage. if they are\non shared storage, the live\\-migration won\u2019t be block migration. Otherwise the block\nmigration will be executed. Set to `True`, means the request will fail when the\nsource or destination host uses shared storage. Set to `False` means the request\nwill fail when the source and destination hosts are not on the shared storage.\n\n\n**New in version 2\\.25**"
},
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The host to which to migrate the server. If this parameter is `None`,\nthe scheduler chooses a host.\n\n\n\nWarning\n\n\nPrior to microversion 2\\.30, specifying a host will bypass\nvalidation by the scheduler, which could result in failures to actually\nmigrate the instance to the specified host, or over\\-subscription of the\nhost. It is recommended to either not specify a host so that the\nscheduler will pick one, or specify a host with microversion \\>\\= 2\\.30 and\nwithout `force=True` set."
}
},
"additionalProperties": false,
"required": [
"block_migration",
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.25",
"max-ver": "2.29",
"action-name": "os-migrateLive"
},
"required": [
"os-migrateLive"
]
},
{
"type": "object",
"summary": "Live-Migrate Server (os-migrateLive Action)",
"properties": {
"os-migrateLive": {
"type": "object",
"description": "The action.",
"properties": {
"block_migration": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no",
"auto"
],
"description": "Migrates local disks by using block migration. Set to `auto` which means\nnova will detect whether source and destination hosts on shared storage. if they are\non shared storage, the live\\-migration won\u2019t be block migration. Otherwise the block\nmigration will be executed. Set to `True`, means the request will fail when the\nsource or destination host uses shared storage. Set to `False` means the request\nwill fail when the source and destination hosts are not on the shared storage.\n\n\n**New in version 2\\.25**"
},
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The host to which to migrate the server. If this parameter is `None`,\nthe scheduler chooses a host.\n\n\n\nWarning\n\n\nPrior to microversion 2\\.30, specifying a host will bypass\nvalidation by the scheduler, which could result in failures to actually\nmigrate the instance to the specified host, or over\\-subscription of the\nhost. It is recommended to either not specify a host so that the\nscheduler will pick one, or specify a host with microversion \\>\\= 2\\.30 and\nwithout `force=True` set."
},
"force": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "Force a live\\-migration by not verifying the provided destination host by\nthe scheduler.\n\n\n\nWarning\n\n\nThis could result in failures to actually live migrate the\ninstance to the specified host. It is recommended to either not specify\na host so that the scheduler will pick one, or specify a host without\n`force=True` set.\n\n\n\n**New in version 2\\.30**\n\n\n**Available until version 2\\.67**"
}
},
"additionalProperties": false,
"required": [
"block_migration",
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.30",
"max-ver": "2.67",
"action-name": "os-migrateLive"
},
"required": [
"os-migrateLive"
]
},
{
"type": "object",
"summary": "Live-Migrate Server (os-migrateLive Action)",
"properties": {
"os-migrateLive": {
"type": "object",
"description": "The action.",
"properties": {
"block_migration": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no",
"auto"
],
"description": "Migrates local disks by using block migration. Set to `auto` which means\nnova will detect whether source and destination hosts on shared storage. if they are\non shared storage, the live\\-migration won\u2019t be block migration. Otherwise the block\nmigration will be executed. Set to `True`, means the request will fail when the\nsource or destination host uses shared storage. Set to `False` means the request\nwill fail when the source and destination hosts are not on the shared storage.\n\n\n**New in version 2\\.25**"
},
"host": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9-._]*$",
"description": "The host to which to migrate the server. If this parameter is `None`,\nthe scheduler chooses a host.\n\n\n\nWarning\n\n\nPrior to microversion 2\\.30, specifying a host will bypass\nvalidation by the scheduler, which could result in failures to actually\nmigrate the instance to the specified host, or over\\-subscription of the\nhost. It is recommended to either not specify a host so that the\nscheduler will pick one, or specify a host with microversion \\>\\= 2\\.30 and\nwithout `force=True` set."
}
},
"additionalProperties": false,
"required": [
"block_migration",
"host"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.68",
"action-name": "os-migrateLive"
},
"required": [
"os-migrateLive"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "os-migrateLive"
}
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Add (Associate) Fixed Ip (addFixedIp Action) (DEPRECATED)¶
Adds a fixed IP address to a server instance, which associates that address with the server. The fixed IP address is retrieved from the network that you specify in the request.
Specify the addFixedIp
action and the network ID in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
addFixedIp |
body |
object |
The action to add a fixed ip address to a server. |
addFixedIp.networkId |
body |
[‘string’, ‘number’] |
The network ID. |
{
"type": "object",
"description": "Adds a fixed IP address to a server instance, which associates that\naddress with the server. The fixed IP address is retrieved from the\nnetwork that you specify in the request.\n\nSpecify the `addFixedIp` action and the network ID in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\)",
"summary": "Add (Associate) Fixed Ip (addFixedIp Action) (DEPRECATED)",
"properties": {
"addFixedIp": {
"type": "object",
"description": "The action to add a fixed ip address to a server.",
"properties": {
"networkId": {
"type": [
"string",
"number"
],
"minLength": 1,
"maxLength": 36,
"description": "The network ID."
}
},
"additionalProperties": false,
"required": [
"networkId"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.43",
"action-name": "addFixedIp"
},
"required": [
"addFixedIp"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Remove (Disassociate) Fixed Ip (removeFixedIp Action) (DEPRECATED)¶
Removes, or disassociates, a fixed IP address from a server.
Specify the removeFixedIp
action in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
removeFixedIp |
body |
object |
The action to remove a fixed ip address from a server. |
removeFixedIp.address |
body |
string |
The IP address. |
{
"type": "object",
"description": "Removes, or disassociates, a fixed IP address from a server.\n\nSpecify the `removeFixedIp` action in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\)",
"summary": "Remove (Disassociate) Fixed Ip (removeFixedIp Action) (DEPRECATED)",
"properties": {
"removeFixedIp": {
"type": "object",
"description": "The action to remove a fixed ip address from a server.",
"properties": {
"address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "The IP address."
}
},
"additionalProperties": false,
"required": [
"address"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.43",
"action-name": "removeFixedIp"
},
"required": [
"removeFixedIp"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Pause Server (pause Action)¶
Pauses a server. Changes its status to PAUSED
.
Specify the pause
action in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Pauses a server. Changes its status to `PAUSED`.\n\nSpecify the `pause` action in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\), notImplemented(501\\)",
"summary": "Pause Server (pause Action)",
"properties": {
"pause": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "pause"
},
"required": [
"pause"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Unpause Server (unpause Action)¶
Unpauses a paused server and changes its status to ACTIVE
.
Specify the unpause
action in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Unpauses a paused server and changes its status to `ACTIVE`.\n\nSpecify the `unpause` action in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\), notImplemented(501\\)",
"summary": "Unpause Server (unpause Action)",
"properties": {
"unpause": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "unpause"
},
"required": [
"unpause"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Get VNC Console (os-getVNCConsole Action) (DEPRECATED)¶
Gets a VNC console for a server.
Specify the os-getVNCConsole
action in the request body.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
os-getVNCConsole |
body |
object |
The action. |
os-getVNCConsole.type |
body |
string |
The type of VNC console. The only valid value is |
{
"type": "object",
"description": "Gets a VNC console for a server.\n\nSpecify the `os-getVNCConsole` action in the request body.\n\nNormal response codes: 200\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\), notImplemented(501\\)",
"summary": "Get VNC Console (os-getVNCConsole Action) (DEPRECATED)",
"properties": {
"os-getVNCConsole": {
"type": "object",
"description": "The action.",
"properties": {
"type": {
"type": "string",
"enum": [
"novnc",
"xvpvnc"
],
"description": "The type of VNC console. The only valid value is `novnc`."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.5",
"action-name": "os-getVNCConsole"
},
"required": [
"os-getVNCConsole"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "The remote console object.",
"properties": {
"console": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of RDP console. The only valid value is `rdp-html5`.",
"enum": [
"rdp-html5",
"serial",
"spice-html5",
"novnc"
]
},
"url": {
"type": "string",
"description": "The URL used to connect to the RDP console."
}
},
"description": "The remote console object."
}
},
"x-openstack": {
"action-name": "os-getVNCConsole"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
console |
body |
object |
The remote console object. |
console.type |
body |
string |
The type of RDP console. The only valid value is |
console.url |
body |
string |
The URL used to connect to the RDP console. |
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Get SPICE Console (os-getSPICEConsole Action) (DEPRECATED)¶
Gets a SPICE console for a server.
Specify the os-getSPICEConsole
action in the request body.
The only supported connection type is spice-html5
. The type
parameter
should be set to spice-html5
.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
os-getSPICEConsole |
body |
object |
The action. |
os-getSPICEConsole.type |
body |
string |
The type of SPICE console. The only valid value is |
{
"type": "object",
"description": "Gets a SPICE console for a server.\n\nSpecify the `os-getSPICEConsole` action in the request body.\n\nThe only supported connection type is `spice-html5`. The `type` parameter\nshould be set to `spice-html5`.\n\nNormal response codes: 200\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\), notImplemented(501\\)",
"summary": "Get SPICE Console (os-getSPICEConsole Action) (DEPRECATED)",
"properties": {
"os-getSPICEConsole": {
"type": "object",
"description": "The action.",
"properties": {
"type": {
"type": "string",
"enum": [
"spice-html5"
],
"description": "The type of SPICE console. The only valid value is `spice-html5`."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.5",
"action-name": "os-getSPICEConsole"
},
"required": [
"os-getSPICEConsole"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "The remote console object.",
"properties": {
"console": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of RDP console. The only valid value is `rdp-html5`.",
"enum": [
"rdp-html5",
"serial",
"spice-html5",
"novnc"
]
},
"url": {
"type": "string",
"description": "The URL used to connect to the RDP console."
}
},
"description": "The remote console object."
}
},
"x-openstack": {
"action-name": "os-getSPICEConsole"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
console |
body |
object |
The remote console object. |
console.type |
body |
string |
The type of RDP console. The only valid value is |
console.url |
body |
string |
The URL used to connect to the RDP console. |
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Get RDP Console (os-getRDPConsole Action)¶
Gets an RDP console for a server.
The only supported connect type is rdp-html5
. The type
parameter should
be set as rdp-html5
.
Specify the os-getRDPConsole
action in the request body.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
os-getRDPConsole |
body |
null |
The action. |
{
"type": "object",
"description": "Gets an [RDP](https://technet.microsoft.com/en-us/windowsserver/ee236407) console for a server.\n\nThe only supported connect type is `rdp-html5`. The `type` parameter should\nbe set as `rdp-html5`.\n\nSpecify the `os-getRDPConsole` action in the request body.\n\nNormal response codes: 200\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\), notImplemented(501\\)",
"summary": "Get RDP Console (os-getRDPConsole Action)",
"properties": {
"os-getRDPConsole": {
"type": "null",
"description": "The action."
}
},
"x-openstack": {
"action-name": "os-getRDPConsole"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "The remote console object.",
"properties": {
"console": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of RDP console. The only valid value is `rdp-html5`.",
"enum": [
"rdp-html5",
"serial",
"spice-html5",
"novnc"
]
},
"url": {
"type": "string",
"description": "The URL used to connect to the RDP console."
}
},
"description": "The remote console object."
}
},
"x-openstack": {
"action-name": "os-getRDPConsole"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
console |
body |
object |
The remote console object. |
console.type |
body |
string |
The type of RDP console. The only valid value is |
console.url |
body |
string |
The URL used to connect to the RDP console. |
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Get Serial Console (os-getSerialConsole Action) (DEPRECATED)¶
Gets a serial console for a server.
Specify the os-getSerialConsole
action in the request body.
The only supported connection type is serial
. The type
parameter
should be set as serial
.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
os-getSerialConsole |
body |
object |
The action. |
os-getSerialConsole.type |
body |
string |
The type of serial console. The only valid value is |
{
"type": "object",
"description": "Gets a serial console for a server.\n\nSpecify the `os-getSerialConsole` action in the request body.\n\nThe only supported connection type is `serial`. The `type` parameter\nshould be set as `serial`.\n\nNormal response codes: 200\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\), notImplemented(501\\)",
"summary": "Get Serial Console (os-getSerialConsole Action) (DEPRECATED)",
"properties": {
"os-getSerialConsole": {
"type": "object",
"description": "The action.",
"properties": {
"type": {
"type": "string",
"enum": [
"serial"
],
"description": "The type of serial console. The only valid value is `serial`."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.5",
"action-name": "os-getSerialConsole"
},
"required": [
"os-getSerialConsole"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "The remote console object.",
"properties": {
"console": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of RDP console. The only valid value is `rdp-html5`.",
"enum": [
"rdp-html5",
"serial",
"spice-html5",
"novnc"
]
},
"url": {
"type": "string",
"description": "The URL used to connect to the RDP console."
}
},
"description": "The remote console object."
}
},
"x-openstack": {
"action-name": "os-getSerialConsole"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
console |
body |
object |
The remote console object. |
console.type |
body |
string |
The type of RDP console. The only valid value is |
console.url |
body |
string |
The URL used to connect to the RDP console. |
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Rescue Server (rescue Action)¶
Puts a server in rescue mode and changes its status to RESCUE
.
Specify the rescue
action in the request body.
If you specify the rescue_image_ref
extended attribute,
the image is used to rescue the instance. If you omit an image
reference, the base image reference is used by default.
Asynchronous Postconditions
After you successfully rescue a server and make a GET /servers/{server_id}
request, its status changes to RESCUE
.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
rescue |
body |
[‘object’, ‘null’] |
The action to rescue a server. |
{
"type": "object",
"description": "Puts a server in rescue mode and changes its status to `RESCUE`.\n\nSpecify the `rescue` action in the request body.\n\nIf you specify the `rescue_image_ref` extended attribute,\nthe image is used to rescue the instance. If you omit an image\nreference, the base image reference is used by default.\n\n**Asynchronous Postconditions**\n\nAfter you successfully rescue a server and make a `GET\n/servers/\u200b{server_id}\u200b` request, its status changes to `RESCUE`.\n\nNormal response codes: 200\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\), notImplemented(501\\)",
"summary": "Rescue Server (rescue Action)",
"properties": {
"rescue": {
"type": [
"object",
"null"
],
"properties": {
"adminPass": {
"type": "string"
},
"rescue_image_ref": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false,
"description": "The action to rescue a server."
}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "rescue"
},
"required": [
"rescue"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"properties": {
"adminPass": {
"type": "string",
"description": "An administrative password to access the evacuated instance.\nIf you set `enable_instance_password` configuration option to `False`,\nthe API wouldn\u2019t return the `adminPass` field in response.\n\n\n**Available until version 2\\.13**"
}
},
"x-openstack": {
"action-name": "rescue"
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
adminPass |
body |
string |
An administrative password to access the evacuated instance.
If you set Available until version 2.13 |
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Unrescue Server (unrescue Action)¶
Unrescues a server. Changes status to ACTIVE
.
Specify the unrescue
action in the request body.
Preconditions
The server must exist.
You can only unrescue a server when its status is RESCUE
.
Asynchronous Postconditions
After you successfully unrescue a server and make a
GET /servers/{server_id}
request, its status changes to ACTIVE
.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), notImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Unrescues a server. Changes status to `ACTIVE`.\n\nSpecify the `unrescue` action in the request body.\n\n**Preconditions**\n\nThe server must exist.\n\nYou can only unrescue a server when its status is `RESCUE`.\n\n**Asynchronous Postconditions**\n\nAfter you successfully unrescue a server and make a\n`GET /servers/\u200b{server_id}\u200b`\nrequest, its status changes to `ACTIVE`.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\), notImplemented(501\\)",
"summary": "Unrescue Server (unrescue Action)",
"properties": {
"unrescue": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "unrescue"
},
"required": [
"unrescue"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Add Security Group To A Server (addSecurityGroup Action)¶
Adds a security group to a server.
Specify the addSecurityGroup
action in the request body.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
name |
body |
string |
The security group name. |
{
"type": "object",
"description": "Adds a security group to a server.\n\nSpecify the `addSecurityGroup` action in the request body.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Add Security Group To A Server (addSecurityGroup Action)",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "The security group name."
}
},
"additionalProperties": true,
"x-openstack": {
"action-name": "addSecurityGroup"
}
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Remove Security Group From A Server (removeSecurityGroup Action)¶
Removes a security group from a server.
Specify the removeSecurityGroup
action in the request body.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
name |
body |
string |
The security group name. |
{
"type": "object",
"description": "Removes a security group from a server.\n\nSpecify the `removeSecurityGroup` action in the request body.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Remove Security Group From A Server (removeSecurityGroup Action)",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "The security group name."
}
},
"additionalProperties": true,
"x-openstack": {
"action-name": "removeSecurityGroup"
}
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Shelve Server (shelve Action)¶
Shelves a server.
Specify the shelve
action in the request body.
All associated data and resources are kept but anything still in memory is not retained. To restore a shelved instance, use the unshelve
action. To remove a shelved instance, use the shelveOffload
action.
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the policy.json
file.
Preconditions
The server status must be ACTIVE
, SHUTOFF
, PAUSED
, or SUSPENDED
.
If the server is locked, you must have administrator privileges to shelve the server.
Asynchronous Postconditions
After you successfully shelve a server, its status changes to SHELVED
and the image status is ACTIVE
. The server instance data appears on the compute node that the Compute service manages.
If you boot the server from volumes or set the shelved_offload_time
option to 0, the Compute service automatically deletes the instance on compute nodes and changes the server status to SHELVED_OFFLOADED
.
Troubleshooting
If the server status does not change to SHELVED
or SHELVED_OFFLOADED
, the shelve operation failed. Ensure that you meet the preconditions and run the request again. If the request fails again, investigate whether another operation is running that causes a race condition.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Shelves a server.\n\nSpecify the `shelve` action in the request body.\n\nAll associated data and resources are kept but anything still in memory is not retained. To restore a shelved instance, use the `unshelve` action. To remove a shelved instance, use the `shelveOffload` action.\n\nPolicy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the `policy.json` file.\n\n**Preconditions**\n\nThe server status must be `ACTIVE`, `SHUTOFF`, `PAUSED`, or `SUSPENDED`.\n\nIf the server is locked, you must have administrator privileges to shelve the server.\n\n**Asynchronous Postconditions**\n\nAfter you successfully shelve a server, its status changes to `SHELVED` and the image status is `ACTIVE`. The server instance data appears on the compute node that the Compute service manages.\n\nIf you boot the server from volumes or set the `shelved_offload_time` option to 0, the Compute service automatically deletes the instance on compute nodes and changes the server status to `SHELVED_OFFLOADED`.\n\n**Troubleshooting**\n\nIf the server status does not change to `SHELVED` or `SHELVED_OFFLOADED`, the shelve operation failed. Ensure that you meet the preconditions and run the request again. If the request fails again, investigate whether another operation is running that causes a race condition.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\), conflict(409\\)",
"summary": "Shelve Server (shelve Action)",
"properties": {
"shelve": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "shelve"
},
"required": [
"shelve"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Shelf-Offload (Remove) Server (shelveOffload Action)¶
Shelf-offloads, or removes, a shelved server.
Specify the shelveOffload
action in the request body.
Data and resource associations are deleted. If an instance is no longer needed, you can remove that instance from the hypervisor to minimize resource usage.
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the policy.json
file.
Preconditions
The server status must be SHELVED
.
If the server is locked, you must have administrator privileges to shelve-offload the server.
Asynchronous Postconditions
After you successfully shelve-offload a server, its status changes to SHELVED_OFFLOADED
. The server instance data appears on the compute node.
Troubleshooting
If the server status does not change to SHELVED_OFFLOADED
, the shelve-offload operation failed. Ensure that you meet the preconditions and run the request again. If the request fails again, investigate whether another operation is running that causes a race condition.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Shelf\\-offloads, or removes, a shelved server.\n\nSpecify the `shelveOffload` action in the request body.\n\nData and resource associations are deleted. If an instance is no longer needed, you can remove that instance from the hypervisor to minimize resource usage.\n\nPolicy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the `policy.json` file.\n\n**Preconditions**\n\nThe server status must be `SHELVED`.\n\nIf the server is locked, you must have administrator privileges to shelve\\-offload the server.\n\n**Asynchronous Postconditions**\n\nAfter you successfully shelve\\-offload a server, its status changes to `SHELVED_OFFLOADED`. The server instance data appears on the compute node.\n\n**Troubleshooting**\n\nIf the server status does not change to `SHELVED_OFFLOADED`, the shelve\\-offload operation failed. Ensure that you meet the preconditions and run the request again. If the request fails again, investigate whether another operation is running that causes a race condition.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\), conflict(409\\)",
"summary": "Shelf-Offload (Remove) Server (shelveOffload Action)",
"properties": {
"shelveOffload": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "shelveOffload"
},
"required": [
"shelveOffload"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Unshelve (Restore) Shelved Server (unshelve Action)¶
Unshelves, or restores, a shelved server.
Specify the unshelve
action in the request body.
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the policy.json
file.
Preconditions
Unshelving a server without parameters requires its status to be SHELVED
or SHELVED_OFFLOADED
.
Unshelving a server with availability_zone and/or host parameters requires its status to be only SHELVED_OFFLOADED
otherwise HTTP 409 conflict response is returned.
If a server is locked, you must have administrator privileges to unshelve the server.
As of microversion 2.91
, you can unshelve to a specific compute node if you have PROJECT_ADMIN privileges.
This microversion also gives the ability to pin a server to an availability_zone and to unpin a server
from any availability_zone.
When a server is pinned to an availability_zone, the server move operations will keep the server in that availability_zone. However, when the server is not pinned to any availability_zone, the move operations can move the server to nodes in different availability_zones.
The behavior according to unshelve parameters will follow the below table.
Asynchronous Postconditions
After you successfully unshelve a server, its status changes to ACTIVE
.
The server appears on the compute node.
The shelved image is deleted from the list of images returned by an API call.
Troubleshooting
If the server status does not change to ACTIVE
, the unshelve operation failed. Ensure that you meet the preconditions and run the request again. If the request fails again, investigate whether another operation is running that causes a race condition.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
unshelve |
body |
[‘object’, ‘null’] |
The action. |
{
"description": "Unshelves, or restores, a shelved server.\n\nSpecify the `unshelve` action in the request body.\n\nPolicy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the `policy.json` file.\n\n**Preconditions**\n\nUnshelving a server without parameters requires its status to be `SHELVED` or `SHELVED_OFFLOADED`.\n\nUnshelving a server with availability_zone and/or host parameters requires its status to be only `SHELVED_OFFLOADED` otherwise HTTP 409 conflict response is returned.\n\nIf a server is locked, you must have administrator privileges to unshelve the server.\n\nAs of `microversion 2.91`, you can unshelve to a specific compute node if you have PROJECT_ADMIN privileges.\nThis microversion also gives the ability to pin a server to an availability_zone and to unpin a server\nfrom any availability_zone.\n\nWhen a server is pinned to an availability_zone, the server move operations will keep the server in that\navailability_zone. However, when the server is not pinned to any availability_zone, the move operations can\nmove the server to nodes in different availability_zones.\n\nThe behavior according to unshelve parameters will follow the below table.\n\n**Asynchronous Postconditions**\n\nAfter you successfully unshelve a server, its status changes to `ACTIVE`.\nThe server appears on the compute node.\n\nThe shelved image is deleted from the list of images returned by an API call.\n\n**Troubleshooting**\n\nIf the server status does not change to `ACTIVE`, the unshelve operation failed. Ensure that you meet the preconditions and run the request again. If the request fails again, investigate whether another operation is running that causes a race condition.\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\), itemNotFound(404\\), conflict(409\\)",
"summary": "Unshelve (Restore) Shelved Server (unshelve Action)",
"oneOf": [
{
"type": "object",
"summary": "Unshelve (Restore) Shelved Server (unshelve Action)",
"properties": {
"unshelve": {}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.1",
"max-ver": "2.76",
"action-name": "unshelve"
},
"required": [
"unshelve"
]
},
{
"type": "object",
"summary": "Unshelve (Restore) Shelved Server (unshelve Action)",
"properties": {
"unshelve": {
"type": [
"object",
"null"
],
"properties": {
"availability_zone": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"format": "name"
}
},
"required": [
"availability_zone"
],
"additionalProperties": false,
"description": "The action."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.77",
"max-ver": "2.90",
"action-name": "unshelve"
},
"required": [
"unshelve"
]
},
{
"type": "object",
"summary": "Unshelve (Restore) Shelved Server (unshelve Action)",
"properties": {
"unshelve": {
"oneOf": [
{
"type": [
"object"
],
"properties": {
"availability_zone": {
"oneOf": [
{
"type": [
"null"
]
},
{
"type": "string"
}
]
},
"host": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": [
"null"
]
}
],
"description": "The action."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.91",
"action-name": "unshelve"
},
"required": [
"unshelve"
]
}
],
"x-openstack": {
"discriminator": "microversion",
"action-name": "unshelve"
}
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Suspend Server (suspend Action)¶
Suspends a server and changes its status to SUSPENDED
.
Specify the suspend
action in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Suspends a server and changes its status to `SUSPENDED`.\n\nSpecify the `suspend` action in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\), itemNotFound(404\\),\nconflict(409\\)",
"summary": "Suspend Server (suspend Action)",
"properties": {
"suspend": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "suspend"
},
"required": [
"suspend"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Resume Suspended Server (resume Action)¶
Resumes a suspended server and changes its status to ACTIVE
.
Specify the resume
action in the request body.
Policy defaults enable only users with the administrative role or
the owner of the server to perform this operation. Cloud providers
can change these permissions through the policy.json
file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
id |
path |
string |
id parameter for /v2.1/servers/{id}/action API |
{
"type": "object",
"description": "Resumes a suspended server and changes its status to `ACTIVE`.\n\nSpecify the `resume` action in the request body.\n\nPolicy defaults enable only users with the administrative role or\nthe owner of the server to perform this operation. Cloud providers\ncan change these permissions through the `policy.json` file.\n\nNormal response codes: 202\n\nError response codes: unauthorized(401\\), forbidden(403\\),\nitemNotFound(404\\), conflict(409\\)",
"summary": "Resume Suspended Server (resume Action)",
"properties": {
"resume": {}
},
"additionalProperties": false,
"x-openstack": {
"action-name": "resume"
},
"required": [
"resume"
]
}
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Lists Consoles¶
Create Console¶
Show Console Details¶
Delete Console¶
Show Server Diagnostics¶
Shows basic usage data for a server.
Policy defaults enable only users with the administrative role. Cloud
providers can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), notfound(404), conflict(409), notimplemented(501)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"cpu_details": {
"type": "array",
"items": {
"type": "object"
},
"description": "The list of dictionaries with detailed information about VM CPUs.\nFollowing fields are presented in each dictionary:\n\n\n* `id` \\- the ID of CPU (Integer)\n* `time` \\- CPU Time in nano seconds (Integer)\n* `utilisation` \\- CPU utilisation in percents (Integer)\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"disk_details": {
"type": "array",
"items": {
"type": "object"
},
"description": "The list of dictionaries with detailed information about VM disks.\nFollowing fields are presented in each dictionary:\n\n\n* `read_bytes` \\- Disk reads in bytes (Integer)\n* `read_requests` \\- Read requests (Integer)\n* `write_bytes` \\- Disk writes in bytes (Integer)\n* `write_requests` \\- Write requests (Integer)\n* `errors_count` \\- Disk errors (Integer)\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"driver": {
"type": "string",
"description": "The driver on which the VM is running. Possible values are:\n\n\n* `libvirt`\n* `xenapi`\n* `vmwareapi`\n* `ironic`\n\n\n**New in version 2\\.48**",
"enum": [
"libvirt",
"xenapi",
"hyperv",
"vmwareapi",
"ironic"
],
"x-openstack": {
"min-ver": "2.48"
}
},
"config_drive": {
"type": "boolean",
"description": "Indicates whether or not a config drive was used for this server.\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"hypervisor": {
"type": "string",
"description": "The hypervisor on which the VM is running. Examples for libvirt driver\nmay be: `qemu`, `kvm` or `xen`.\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"hypervisor_os": {
"type": "string",
"description": "The hypervisor OS.\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"id": {
"type": "string",
"format": "uuid",
"description": "Id of the resource",
"readOnly": true
},
"memory_details": {
"type": "array",
"items": {
"type": "object"
},
"description": "The dictionary with information about VM memory usage.\nFollowing fields are presented in the dictionary:\n\n\n* `maximum` \\- Amount of memory provisioned for the VM in MiB (Integer)\n* `used` \\- Amount of memory that is currently used by the guest operating\nsystem and its applications in MiB (Integer)\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"name": {
"type": "string",
"description": "Name"
},
"nic_details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"mac_address": {
"type": "string",
"description": ""
},
"rx_octets": {
"type": "integer",
"description": ""
},
"rx_errors": {
"type": "integer",
"description": ""
},
"rx_drop": {
"type": "integer",
"description": ""
},
"rx_packets": {
"type": "integer",
"description": ""
},
"rx_rate": {
"type": "integer",
"description": ""
},
"tx_octets": {
"type": "integer",
"description": ""
},
"tx_errors": {
"type": "integer",
"description": ""
},
"tx_drop": {
"type": "integer",
"description": ""
},
"tx_packets": {
"type": "integer",
"description": ""
},
"tx_rate": {
"type": "integer",
"description": ""
}
}
},
"description": "The list of dictionaries with detailed information about VM NICs.\nFollowing fields are presented in each dictionary:\n\n\n* `mac_address` \\- Mac address of the interface (String)\n* `rx_octets` \\- Received octets (Integer)\n* `rx_errors` \\- Received errors (Integer)\n* `rx_drop` \\- Received packets dropped (Integer)\n* `rx_packets` \\- Received packets (Integer)\n* `rx_rate` \\- Receive rate in bytes (Integer)\n* `tx_octets` \\- Transmitted Octets (Integer)\n* `tx_errors` \\- Transmit errors (Integer)\n* `tx_drop` \\- Transmit dropped packets (Integer)\n* `tx_packets` \\- Transmit packets (Integer)\n* `tx_rate` \\- Transmit rate in bytes (Integer)\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"num_cpus": {
"type": "integer",
"description": "The number of vCPUs.\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"num_disks": {
"type": "integer",
"description": "The number of disks.\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"num_nics": {
"type": "integer",
"description": "The number of vNICs.\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
},
"state": {
"type": "string",
"description": "A string enum denoting the current state of the VM. Possible values are:\n\n\n* `pending`\n* `running`\n* `paused`\n* `shutdown`\n* `crashed`\n* `suspended`\n\n\n**New in version 2\\.48**",
"enum": [
"pending",
"running",
"paused",
"shutdown",
"crashed",
"suspended"
],
"x-openstack": {
"min-ver": "2.48"
}
},
"uptime": {
"type": "integer",
"description": "The amount of time in seconds that the VM has been running.\n\n\n**New in version 2\\.48**",
"x-openstack": {
"min-ver": "2.48"
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
cpu_details |
body |
array |
The list of dictionaries with detailed information about VM CPUs. Following fields are presented in each dictionary:
New in version 2.48 |
disk_details |
body |
array |
The list of dictionaries with detailed information about VM disks. Following fields are presented in each dictionary:
New in version 2.48 |
driver |
body |
string |
The driver on which the VM is running. Possible values are:
New in version 2.48 |
config_drive |
body |
boolean |
Indicates whether or not a config drive was used for this server. New in version 2.48 |
hypervisor |
body |
string |
The hypervisor on which the VM is running. Examples for libvirt driver
may be: New in version 2.48 |
hypervisor_os |
body |
string |
The hypervisor OS. New in version 2.48 |
id |
body |
string |
Id of the resource |
memory_details |
body |
array |
The dictionary with information about VM memory usage. Following fields are presented in the dictionary:
New in version 2.48 |
name |
body |
string |
Name |
nic_details |
body |
array |
The list of dictionaries with detailed information about VM NICs. Following fields are presented in each dictionary:
New in version 2.48 |
nic_details[].mac_address |
body |
string |
|
nic_details[].rx_octets |
body |
integer |
|
nic_details[].rx_errors |
body |
integer |
|
nic_details[].rx_drop |
body |
integer |
|
nic_details[].rx_packets |
body |
integer |
|
nic_details[].rx_rate |
body |
integer |
|
nic_details[].tx_octets |
body |
integer |
|
nic_details[].tx_errors |
body |
integer |
|
nic_details[].tx_drop |
body |
integer |
|
nic_details[].tx_packets |
body |
integer |
|
nic_details[].tx_rate |
body |
integer |
|
num_cpus |
body |
integer |
The number of vCPUs. New in version 2.48 |
num_disks |
body |
integer |
The number of disks. New in version 2.48 |
num_nics |
body |
integer |
The number of vNICs. New in version 2.48 |
state |
body |
string |
A string enum denoting the current state of the VM. Possible values are:
New in version 2.48 |
uptime |
body |
integer |
The amount of time in seconds that the VM has been running. New in version 2.48 |
400¶
Error
404¶
Error
409¶
Error
501¶
Error
List Ips¶
Lists IP addresses that are assigned to an instance.
Policy defaults enable only users with the administrative role or the owner of
the server to perform this operation. Cloud providers can change these
permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "The addresses information for the server.",
"properties": {
"addresses": {
"type": "object",
"description": "The addresses information for the server.",
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"addr": {
"description": "The IP address.",
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"version": {
"type": "integer",
"enum": [
4,
6
],
"description": "The IP version of the address associated with server."
}
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
addresses |
body |
object |
The addresses information for the server. |
404¶
Error
Show Ip Details¶
Shows IP addresses details for a network label of a server instance.
Policy defaults enable only users with the administrative role or the owner of
the server to perform this operation. Cloud providers can change these
permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "A dictionary of addresses this server can be accessed through. The dictionary contains keys such as ``private`` and ``public``, each containing a list of dictionaries for addresses of that type. The addresses are contained in a dictionary with keys ``addr`` and ``version``, which is either 4 or 6 depending on the protocol of the IP address.",
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"addr": {
"description": "The IP address.",
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"version": {
"type": "integer",
"enum": [
4,
6
],
"description": "The IP version of the address associated with server."
}
}
}
},
"maxProperties": 1
}
404¶
Error
List All Metadata¶
Lists all metadata for a server.
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes.",
"properties": {
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. |
404¶
Error
Create or Update Metadata Items¶
Create or update one or more metadata items for a server.
Creates any metadata items that do not already exist in the server, replaces exists metadata items that match keys. Does not modify items that are not in the request.
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server_id |
path |
string |
server_id parameter for /v2.1/servers/{server_id}/metadata/{id} API |
metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. |
{
"type": "object",
"properties": {
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"metadata"
]
}
Responses¶
201¶
Ok
{
"type": "object",
"description": "Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes.",
"properties": {
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. |
403¶
Error
404¶
Error
409¶
Error
Replace Metadata Items¶
Replaces one or more metadata items for a server.
Creates any metadata items that do not already exist in the server. Removes and completely replaces any metadata items that already exist in the server with the metadata items in the request.
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server_id |
path |
string |
server_id parameter for /v2.1/servers/{server_id}/metadata/{id} API |
metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. |
{
"type": "object",
"properties": {
"metadata": {
"type": "object",
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes.",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
}
}
},
"additionalProperties": false,
"required": [
"metadata"
]
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes.",
"properties": {
"metadata": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
metadata |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. |
403¶
Error
404¶
Error
409¶
Error
Show Metadata Item Details¶
Shows details for a metadata item, by key, for a server.
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes.",
"properties": {
"meta": {
"maxProperties": 1,
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"additionalProperties": false,
"description": "Metadata key and value pairs. The maximum size for each metadata key and value\npair is 255 bytes."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
meta |
body |
object |
Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes. |
404¶
Error
Create Or Update Metadata Item¶
Creates or replaces a metadata item, by key, for a server.
Creates a metadata item that does not already exist in the server. Replaces existing metadata items that match keys with the metadata item in the request.
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server_id |
path |
string |
server_id parameter for /v2.1/servers/{server_id}/metadata/{id} API |
id |
path |
string |
id parameter for /v2.1/servers/{server_id}/metadata/{id} API |
meta |
body |
object |
{
"type": "object",
"properties": {
"meta": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^[a-zA-Z0-9-_:. ]{1,255}$": {
"type": "string",
"maxLength": 255
}
},
"minProperties": 1,
"maxProperties": 1
}
},
"additionalProperties": false,
"required": [
"meta"
]
}
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the servers/server_id/metadata/id:put operation"
}
400¶
Error
403¶
Error
404¶
Error
409¶
Error
Delete Metadata Item¶
Deletes a metadata item, by key, from a server.
Policy defaults enable only users with the administrative role or the owner of the server to perform this operation. Cloud providers can change these permissions through the policy.json
file.
Normal response codes: 204
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Responses¶
204¶
Ok
404¶
Error
409¶
Error
List Actions For Server¶
Lists actions for a server.
Action information of deleted instances can be returned for requests starting with microversion 2.21.
Policy defaults enable only users with the administrative role or the owner of
the server to perform this operation. Cloud providers can change these permissions
through the policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"instanceActions": {
"type": "array",
"items": {
"type": "object",
"description": "The instance action object.",
"properties": {
"action": {
"type": "string",
"description": "The name of the action."
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event": {
"type": "string",
"description": "The name of the event."
},
"start_time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the action was started. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"finish_time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the event was finished."
},
"result": {
"type": "string",
"description": "The result of the event."
},
"traceback": {
"type": [
"string",
"null"
],
"description": "he traceback stack if an error occurred in this event. Policy defaults enable only users with the administrative role to see an instance action event traceback. Cloud providers can change these permissions through the policy.json file."
},
"hostId": {
"type": "string",
"description": "An obfuscated hashed host ID string, or the empty string if there is no host for the event. This is a hashed value so will not actually look like a hostname, and is hashed with data from the project_id, so the same physical host as seen by two different project_ids will be different. This is useful when within the same project you need to determine if two events occurred on the same or different physical hosts.",
"x-openstack": {
"min-ver": "2.62"
}
},
"host": {
"type": "string",
"description": "The name of the host on which the event occurred. Policy defaults enable only users with the administrative role to see an instance action event host. Cloud providers can change these permissions through the policy.json file.",
"x-openstack": {
"min-ver": "2.62"
}
},
"details": {
"type": [
"string",
"null"
],
"description": "Details of the event. May be null.",
"x-openstack": {
"min-ver": "2.84"
}
}
}
},
"description": "The events which occurred in this action in descending order of creation.\n\n\nPolicy defaults enable only users with the administrative role or the owner\nof the server to see instance action event information. Cloud providers can\nchange these permissions through the `policy.json` file.\n\n\n**New in version 2\\.51**"
},
"message": {
"type": [
"string",
"null"
],
"description": "The related error message for when an action fails."
},
"project_id": {
"type": "string",
"description": "The ID of the project which initiated the server action."
},
"request_id": {
"type": "string",
"description": "The request id generated when execute the API of this action."
},
"start_time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the action was started."
},
"user_id": {
"type": "string",
"description": "The ID of the user which initiated the server action."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the instance action or the action event of\ninstance action was updated. The date and time stamp format is\n[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.\n\n\n**New in version 2\\.58**",
"x-openstack": {
"min-ver": "2.58"
}
}
}
},
"description": "List of the actions for the given instance in descending order of creation."
},
"links": {
"type": "array",
"description": "Links pertaining to usage. See [API Guide / Links and\nReferences](https://docs.openstack.org/api-guide/compute/links_and_references.html)\nfor more info.\n\n\n**New in version 2\\.40**",
"items": {
"type": "object",
"description": "Links to the resources in question. See [API Guide / Links and References](https://docs.openstack.org/api-guide/compute/links_and_references.html) for more info.",
"properties": {
"href": {
"type": "string",
"format": "uri"
},
"rel": {
"type": "string"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
instanceActions |
body |
array |
List of the actions for the given instance in descending order of creation. |
instanceActions[].action |
body |
string |
The name of the action. |
instanceActions[].events |
body |
array |
The events which occurred in this action in descending order of creation. Policy defaults enable only users with the administrative role or the owner
of the server to see instance action event information. Cloud providers can
change these permissions through the New in version 2.51 |
instanceActions[].events[].event |
body |
string |
The name of the event. |
instanceActions[].events[].start_time |
body |
string |
The date and time when the action was started. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
instanceActions[].events[].finish_time |
body |
string |
The date and time when the event was finished. |
instanceActions[].events[].result |
body |
string |
The result of the event. |
instanceActions[].events[].traceback |
body |
[‘string’, ‘null’] |
he traceback stack if an error occurred in this event. Policy defaults enable only users with the administrative role to see an instance action event traceback. Cloud providers can change these permissions through the policy.json file. |
instanceActions[].events[].hostId |
body |
string |
An obfuscated hashed host ID string, or the empty string if there is no host for the event. This is a hashed value so will not actually look like a hostname, and is hashed with data from the project_id, so the same physical host as seen by two different project_ids will be different. This is useful when within the same project you need to determine if two events occurred on the same or different physical hosts. |
instanceActions[].events[].host |
body |
string |
The name of the host on which the event occurred. Policy defaults enable only users with the administrative role to see an instance action event host. Cloud providers can change these permissions through the policy.json file. |
instanceActions[].events[].details |
body |
[‘string’, ‘null’] |
Details of the event. May be null. |
instanceActions[].message |
body |
[‘string’, ‘null’] |
The related error message for when an action fails. |
instanceActions[].project_id |
body |
string |
The ID of the project which initiated the server action. |
instanceActions[].request_id |
body |
string |
The request id generated when execute the API of this action. |
instanceActions[].start_time |
body |
string |
The date and time when the action was started. |
instanceActions[].user_id |
body |
string |
The ID of the user which initiated the server action. |
instanceActions[].updated_at |
body |
string |
The date and time when the instance action or the action event of instance action was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, New in version 2.58 |
links |
body |
array |
Links pertaining to usage. See API Guide / Links and References for more info. New in version 2.40 |
links[].href |
body |
string |
|
links[].rel |
body |
string |
400¶
Error
404¶
Error
Show Server Action Details¶
Shows details for a server action.
Action details of deleted instances can be returned for requests later than microversion 2.21.
Policy defaults enable only users with the administrative role or the owner of
the server to perform this operation. Cloud providers can change these permissions
through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"instanceAction": {
"type": "object",
"description": "The instance action object.",
"properties": {
"action": {
"type": "string",
"description": "The name of the action."
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event": {
"type": "string",
"description": "The name of the event."
},
"start_time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the action was started. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"finish_time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the event was finished."
},
"result": {
"type": "string",
"description": "The result of the event."
},
"traceback": {
"type": [
"string",
"null"
],
"description": "he traceback stack if an error occurred in this event. Policy defaults enable only users with the administrative role to see an instance action event traceback. Cloud providers can change these permissions through the policy.json file."
},
"hostId": {
"type": "string",
"description": "An obfuscated hashed host ID string, or the empty string if there is no host for the event. This is a hashed value so will not actually look like a hostname, and is hashed with data from the project_id, so the same physical host as seen by two different project_ids will be different. This is useful when within the same project you need to determine if two events occurred on the same or different physical hosts.",
"x-openstack": {
"min-ver": "2.62"
}
},
"host": {
"type": "string",
"description": "The name of the host on which the event occurred. Policy defaults enable only users with the administrative role to see an instance action event host. Cloud providers can change these permissions through the policy.json file.",
"x-openstack": {
"min-ver": "2.62"
}
},
"details": {
"type": [
"string",
"null"
],
"description": "Details of the event. May be null.",
"x-openstack": {
"min-ver": "2.84"
}
}
}
},
"description": "The events which occurred in this action in descending order of creation.\n\n\nPolicy defaults enable only users with the administrative role or the owner\nof the server to see instance action event information. Cloud providers can\nchange these permissions through the `policy.json` file.\n\n\n**New in version 2\\.51**"
},
"message": {
"type": [
"string",
"null"
],
"description": "The related error message for when an action fails."
},
"project_id": {
"type": "string",
"description": "The ID of the project which initiated the server action."
},
"request_id": {
"type": "string",
"description": "The request id generated when execute the API of this action."
},
"start_time": {
"type": "string",
"format": "date-time",
"description": "The date and time when the action was started."
},
"user_id": {
"type": "string",
"description": "The ID of the user which initiated the server action."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the instance action or the action event of\ninstance action was updated. The date and time stamp format is\n[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`.\n\n\n**New in version 2\\.58**",
"x-openstack": {
"min-ver": "2.58"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
instanceAction |
body |
object |
The instance action object. |
instanceAction.action |
body |
string |
The name of the action. |
instanceAction.events |
body |
array |
The events which occurred in this action in descending order of creation. Policy defaults enable only users with the administrative role or the owner
of the server to see instance action event information. Cloud providers can
change these permissions through the New in version 2.51 |
instanceAction.events[].event |
body |
string |
The name of the event. |
instanceAction.events[].start_time |
body |
string |
The date and time when the action was started. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
instanceAction.events[].finish_time |
body |
string |
The date and time when the event was finished. |
instanceAction.events[].result |
body |
string |
The result of the event. |
instanceAction.events[].traceback |
body |
[‘string’, ‘null’] |
he traceback stack if an error occurred in this event. Policy defaults enable only users with the administrative role to see an instance action event traceback. Cloud providers can change these permissions through the policy.json file. |
instanceAction.events[].hostId |
body |
string |
An obfuscated hashed host ID string, or the empty string if there is no host for the event. This is a hashed value so will not actually look like a hostname, and is hashed with data from the project_id, so the same physical host as seen by two different project_ids will be different. This is useful when within the same project you need to determine if two events occurred on the same or different physical hosts. |
instanceAction.events[].host |
body |
string |
The name of the host on which the event occurred. Policy defaults enable only users with the administrative role to see an instance action event host. Cloud providers can change these permissions through the policy.json file. |
instanceAction.events[].details |
body |
[‘string’, ‘null’] |
Details of the event. May be null. |
instanceAction.message |
body |
[‘string’, ‘null’] |
The related error message for when an action fails. |
instanceAction.project_id |
body |
string |
The ID of the project which initiated the server action. |
instanceAction.request_id |
body |
string |
The request id generated when execute the API of this action. |
instanceAction.start_time |
body |
string |
The date and time when the action was started. |
instanceAction.user_id |
body |
string |
The ID of the user which initiated the server action. |
instanceAction.updated_at |
body |
string |
The date and time when the instance action or the action event of instance action was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, New in version 2.58 |
404¶
Error
List Port Interfaces¶
Lists port interfaces that are attached to a server.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), NotImplemented(501)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"interfaceAttachments": {
"type": "array",
"items": {
"type": "object",
"description": "The interface attachment.",
"properties": {
"fixed_ips": {
"type": "array",
"description": "Fixed IP addresses with subnet IDs.",
"items": {
"type": "object",
"properties": {
"ip_address": {
"description": "The IP address.",
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"subnet_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the subnet."
}
}
}
},
"mac_addr": {
"description": "The MAC address.",
"type": "string",
"pattern": "^([0-9a-fA-F]{2})(:[0-9a-fA-F]{2}){5}$"
},
"net_id": {
"type": "string",
"format": "uuid",
"description": "The network ID."
},
"port_id": {
"type": "string",
"format": "uuid",
"description": "The port ID."
},
"port_state": {
"type": "string",
"description": "The port state."
},
"tag": {
"type": [
"string",
"null"
],
"description": "The device tag applied to the virtual network interface or `null`.\n\n\n**New in version 2\\.70**",
"x-openstack": {
"min-ver": "2.70"
}
}
}
},
"description": "List of the interface attachments."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
interfaceAttachments |
body |
array |
List of the interface attachments. |
interfaceAttachments[].fixed_ips |
body |
array |
Fixed IP addresses with subnet IDs. |
interfaceAttachments[].fixed_ips[].ip_address |
body |
string |
The IP address. |
interfaceAttachments[].fixed_ips[].subnet_id |
body |
string |
The UUID of the subnet. |
interfaceAttachments[].mac_addr |
body |
string |
The MAC address. |
interfaceAttachments[].net_id |
body |
string |
The network ID. |
interfaceAttachments[].port_id |
body |
string |
The port ID. |
interfaceAttachments[].port_state |
body |
string |
The port state. |
interfaceAttachments[].tag |
body |
[‘string’, ‘null’] |
The device tag applied to the virtual network interface or New in version 2.70 |
404¶
Error
501¶
Error
Create Interface¶
Creates a port interface and uses it to attach a port to a server.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409), computeFault(500), NotImplemented(501)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server_id |
path |
string |
server_id parameter for /v2.1/servers/{server_id}/os-interface/{id} API |
interfaceAttachment |
body |
object |
Specify the |
interfaceAttachment.net_id |
body |
string |
The ID of the network for which you want to create a port interface. The |
interfaceAttachment.port_id |
body |
string |
The ID of the port for which you want to create an interface. The |
interfaceAttachment.fixed_ips |
body |
array |
Fixed IP addresses. If you request a specific fixed IP address without
a |
interfaceAttachment.fixed_ips[].ip_address |
body |
string |
The IP address. It is required when |
interfaceAttachment.fixed_ips |
body |
array |
Fixed IP addresses. If you request a specific fixed IP address without
a |
interfaceAttachment.tag |
body |
string |
A device role tag that can be applied to a network interface when attaching it to the VM. The guest OS of a server that has devices tagged in this manner can access hardware metadata about the tagged devices from the metadata API and on the config drive, if enabled. New in version 2.49 |
{
"oneOf": [
{
"type": "object",
"properties": {
"interfaceAttachment": {
"type": "object",
"description": "Specify the `interfaceAttachment` action in the request body.",
"properties": {
"net_id": {
"type": "string",
"format": "uuid",
"description": "The ID of the network for which you want to create a port interface. The `net_id`\nand `port_id` parameters are mutually exclusive. If you do not specify the\n`net_id` parameter, the OpenStack Networking API v2\\.0 uses the network information\ncache that is associated with the instance."
},
"port_id": {
"type": "string",
"format": "uuid",
"description": "The ID of the port for which you want to create an interface. The `net_id`\nand `port_id` parameters are mutually exclusive. If you do not specify the\n`port_id` parameter, the OpenStack Networking API v2\\.0 allocates a port and\ncreates an interface for it on the network."
},
"fixed_ips": {
"type": "array",
"minItems": 1,
"maxItems": 1,
"items": {
"type": "object",
"properties": {
"ip_address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "The IP address. It is required when `fixed_ips` is specified."
}
},
"required": [
"ip_address"
],
"additionalProperties": false
},
"description": "Fixed IP addresses. If you request a specific fixed IP address without\na `net_id`, the request returns a `Bad Request (400)` response code."
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.48"
}
},
{
"type": "object",
"properties": {
"interfaceAttachment": {
"type": "object",
"description": "Specify the `interfaceAttachment` action in the request body.",
"properties": {
"net_id": {
"type": "string",
"format": "uuid",
"description": "The ID of the network for which you want to create a port interface. The `net_id`\nand `port_id` parameters are mutually exclusive. If you do not specify the\n`net_id` parameter, the OpenStack Networking API v2\\.0 uses the network information\ncache that is associated with the instance."
},
"port_id": {
"type": "string",
"format": "uuid",
"description": "The ID of the port for which you want to create an interface. The `net_id`\nand `port_id` parameters are mutually exclusive. If you do not specify the\n`port_id` parameter, the OpenStack Networking API v2\\.0 allocates a port and\ncreates an interface for it on the network."
},
"fixed_ips": {
"type": "array",
"minItems": 1,
"maxItems": 1,
"items": {
"type": "object",
"properties": {
"ip_address": {
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "The IP address. It is required when `fixed_ips` is specified."
}
},
"required": [
"ip_address"
],
"additionalProperties": false
},
"description": "Fixed IP addresses. If you request a specific fixed IP address without\na `net_id`, the request returns a `Bad Request (400)` response code."
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$",
"description": "A device role tag that can be applied to a network interface when attaching\nit to the VM. The guest OS of a server that has devices tagged in this\nmanner can access hardware metadata about the tagged devices from the\nmetadata API and on the config\ndrive, if enabled.\n\n\n**New in version 2\\.49**"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.49"
}
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"properties": {
"interfaceAttachment": {
"type": "object",
"description": "The interface attachment.",
"properties": {
"fixed_ips": {
"type": "array",
"description": "Fixed IP addresses with subnet IDs.",
"items": {
"type": "object",
"properties": {
"ip_address": {
"description": "The IP address.",
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"subnet_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the subnet."
}
}
}
},
"mac_addr": {
"description": "The MAC address.",
"type": "string",
"pattern": "^([0-9a-fA-F]{2})(:[0-9a-fA-F]{2}){5}$"
},
"net_id": {
"type": "string",
"format": "uuid",
"description": "The network ID."
},
"port_id": {
"type": "string",
"format": "uuid",
"description": "The port ID."
},
"port_state": {
"type": "string",
"description": "The port state."
},
"tag": {
"type": [
"string",
"null"
],
"description": "The device tag applied to the virtual network interface or `null`.\n\n\n**New in version 2\\.70**",
"x-openstack": {
"min-ver": "2.70"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
interfaceAttachment |
body |
object |
The interface attachment. |
interfaceAttachment.fixed_ips |
body |
array |
Fixed IP addresses with subnet IDs. |
interfaceAttachment.fixed_ips[].ip_address |
body |
string |
The IP address. |
interfaceAttachment.fixed_ips[].subnet_id |
body |
string |
The UUID of the subnet. |
interfaceAttachment.mac_addr |
body |
string |
The MAC address. |
interfaceAttachment.net_id |
body |
string |
The network ID. |
interfaceAttachment.port_id |
body |
string |
The port ID. |
interfaceAttachment.port_state |
body |
string |
The port state. |
interfaceAttachment.tag |
body |
[‘string’, ‘null’] |
The device tag applied to the virtual network interface or New in version 2.70 |
400¶
Error
403¶
Error
404¶
Error
409¶
Error
500¶
Error
501¶
Error
Show Port Interface Details¶
Shows details for a port interface that is attached to a server.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"interfaceAttachment": {
"type": "object",
"description": "The interface attachment.",
"properties": {
"fixed_ips": {
"type": "array",
"description": "Fixed IP addresses with subnet IDs.",
"items": {
"type": "object",
"properties": {
"ip_address": {
"description": "The IP address.",
"type": "string",
"oneOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
]
},
"subnet_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the subnet."
}
}
}
},
"mac_addr": {
"description": "The MAC address.",
"type": "string",
"pattern": "^([0-9a-fA-F]{2})(:[0-9a-fA-F]{2}){5}$"
},
"net_id": {
"type": "string",
"format": "uuid",
"description": "The network ID."
},
"port_id": {
"type": "string",
"format": "uuid",
"description": "The port ID."
},
"port_state": {
"type": "string",
"description": "The port state."
},
"tag": {
"type": [
"string",
"null"
],
"description": "The device tag applied to the virtual network interface or `null`.\n\n\n**New in version 2\\.70**",
"x-openstack": {
"min-ver": "2.70"
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
interfaceAttachment |
body |
object |
The interface attachment. |
interfaceAttachment.fixed_ips |
body |
array |
Fixed IP addresses with subnet IDs. |
interfaceAttachment.fixed_ips[].ip_address |
body |
string |
The IP address. |
interfaceAttachment.fixed_ips[].subnet_id |
body |
string |
The UUID of the subnet. |
interfaceAttachment.mac_addr |
body |
string |
The MAC address. |
interfaceAttachment.net_id |
body |
string |
The network ID. |
interfaceAttachment.port_id |
body |
string |
The port ID. |
interfaceAttachment.port_state |
body |
string |
The port state. |
interfaceAttachment.tag |
body |
[‘string’, ‘null’] |
The device tag applied to the virtual network interface or New in version 2.70 |
403¶
Error
404¶
Error
Detach Interface¶
Show Server Password¶
Shows the administrative password for a server.
This operation calls the metadata service to query metadata information and does not read password information from the server itself.
The password saved in the metadata service is typically encrypted using the public SSH key injected into this server, so the SSH private key is needed to read the password.
Policy defaults enable only users with the administrative role or the owner
of the server to perform this operation. Cloud providers can change these
permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"password": {
"type": "string",
"format": "password",
"description": "The password returned from metadata server."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
password |
body |
string |
The password returned from metadata server. |
404¶
Error
Clear Admin Password¶
Clears the encrypted administrative password for a server, which removes it from the database.
This action does not actually change the instance server password.
Policy defaults enable only users with the administrative role or the owner
of the server to perform this operation. Cloud providers can change these
permissions through the policy.json
file.
Normal response codes: 204
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
204¶
Ok
404¶
Error
List Virtual Interfaces¶
Lists the virtual interfaces for an instance.
Policy defaults enable only users with the administrative role or the owner of
the server to perform this operation. Change these permissions through the
policy.json
file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), gone(410)
Responses¶
200¶
Ok
{
"type": "object",
"description": "Response of the servers/server_id/os-virtual-interfaces:get operation"
}
410¶
Error
List volume attachments for an instance¶
List volume attachments for an instance.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"volumeAttachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"device": {
"type": "string",
"description": "Name of the device in the attachment object, such as, `/dev/vdb`."
},
"id": {
"description": "The volume ID of the attachment.\n\n\n**Available until version 2\\.88**",
"type": "string",
"format": "uuid",
"x-openstack": {
"max-ver": "2.88"
}
},
"serverId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
},
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the attached volume."
},
"tag": {
"type": [
"string",
"null"
],
"description": "The device tag applied to the volume block device or `null`.\n\n\n**New in version 2\\.70**",
"x-openstack": {
"min-ver": "2.70"
}
},
"delete_on_termination": {
"type": "boolean",
"description": "A flag indicating if the attached volume will be deleted when the server is\ndeleted.\n\n\n**New in version 2\\.79**",
"x-openstack": {
"min-ver": "2.79"
}
},
"attachment_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the associated volume attachment in Cinder.\n\n\n**New in version 2\\.89**",
"x-openstack": {
"min-ver": "2.89"
}
},
"bdm_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the block device mapping record in Nova for the attachment.\n\n\n**New in version 2\\.89**",
"x-openstack": {
"min-ver": "2.89"
}
}
},
"description": "A dictionary representation of a volume attachment containing the fields\n`device`, `id`, `serverId` and `volumeId`."
},
"description": "The list of volume attachments."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
volumeAttachments |
body |
array |
The list of volume attachments. |
volumeAttachments[].device |
body |
string |
Name of the device in the attachment object, such as, |
volumeAttachments[].id |
body |
string |
The volume ID of the attachment. Available until version 2.88 |
volumeAttachments[].serverId |
body |
string |
The UUID of the server. |
volumeAttachments[].volumeId |
body |
string |
The UUID of the attached volume. |
volumeAttachments[].tag |
body |
[‘string’, ‘null’] |
The device tag applied to the volume block device or New in version 2.70 |
volumeAttachments[].delete_on_termination |
body |
boolean |
A flag indicating if the attached volume will be deleted when the server is deleted. New in version 2.79 |
volumeAttachments[].attachment_id |
body |
string |
The UUID of the associated volume attachment in Cinder. New in version 2.89 |
volumeAttachments[].bdm_uuid |
body |
string |
The UUID of the block device mapping record in Nova for the attachment. New in version 2.89 |
404¶
Error
Attach a volume to an instance¶
Attach a volume to an instance.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server_id |
path |
string |
server_id parameter for /v2.1/servers/{server_id}/os-volume_attachments/{id} API |
volumeAttachment |
body |
object |
A dictionary representation of a volume attachment containing the fields
|
volumeAttachment.volumeId |
body |
string |
The UUID of the volume to attach. |
volumeAttachment.device |
body |
[‘string’, ‘null’] |
Name of the device such as, |
volumeAttachment.tag |
body |
string |
A device role tag that can be applied to a volume when attaching it to the VM. The guest OS of a server that has devices tagged in this manner can access hardware metadata about the tagged devices from the metadata API and on the config drive, if enabled. Note Tagged volume attachment is not supported for shelved-offloaded instances. New in version 2.49 |
volumeAttachment.delete_on_termination |
body |
[‘boolean’, ‘string’] |
To delete the attached volume when the server is destroyed, specify New in version 2.79 |
{
"oneOf": [
{
"type": "object",
"properties": {
"volumeAttachment": {
"type": "object",
"description": "A dictionary representation of a volume attachment containing the fields\n`device` and `volumeId`.",
"properties": {
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the volume to attach."
},
"device": {
"type": [
"string",
"null"
],
"pattern": "(^/dev/x{0,1}[a-z]{0,1}d{0,1})([a-z]+)[0-9]*$",
"description": "Name of the device such as, `/dev/vdb`. Omit or set this parameter to null for\nauto\\-assignment, if supported. If you specify this parameter, the device must\nnot exist in the guest operating system. Note that as of the 12\\.0\\.0 Liberty release,\nthe Nova libvirt driver no longer honors a user\\-supplied device name. This is\nthe same behavior as if the device name parameter is not supplied on the request."
}
},
"additionalProperties": false,
"required": [
"volumeId"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.48"
},
"required": [
"volumeAttachment"
]
},
{
"type": "object",
"properties": {
"volumeAttachment": {
"type": "object",
"description": "A dictionary representation of a volume attachment containing the fields\n`device` and `volumeId`.",
"properties": {
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the volume to attach."
},
"device": {
"type": [
"string",
"null"
],
"pattern": "(^/dev/x{0,1}[a-z]{0,1}d{0,1})([a-z]+)[0-9]*$",
"description": "Name of the device such as, `/dev/vdb`. Omit or set this parameter to null for\nauto\\-assignment, if supported. If you specify this parameter, the device must\nnot exist in the guest operating system. Note that as of the 12\\.0\\.0 Liberty release,\nthe Nova libvirt driver no longer honors a user\\-supplied device name. This is\nthe same behavior as if the device name parameter is not supplied on the request."
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$",
"description": "A device role tag that can be applied to a volume when attaching it to the\nVM. The guest OS of a server that has devices tagged in this manner can\naccess hardware metadata about the tagged devices from the metadata API and\non the config drive, if enabled.\n\n\n\nNote\n\n\nTagged volume attachment is not supported for shelved\\-offloaded\ninstances.\n\n\n\n**New in version 2\\.49**"
}
},
"additionalProperties": false,
"required": [
"volumeId"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.49",
"max-ver": "2.78"
},
"required": [
"volumeAttachment"
]
},
{
"type": "object",
"properties": {
"volumeAttachment": {
"type": "object",
"description": "A dictionary representation of a volume attachment containing the fields\n`device` and `volumeId`.",
"properties": {
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the volume to attach."
},
"device": {
"type": [
"string",
"null"
],
"pattern": "(^/dev/x{0,1}[a-z]{0,1}d{0,1})([a-z]+)[0-9]*$",
"description": "Name of the device such as, `/dev/vdb`. Omit or set this parameter to null for\nauto\\-assignment, if supported. If you specify this parameter, the device must\nnot exist in the guest operating system. Note that as of the 12\\.0\\.0 Liberty release,\nthe Nova libvirt driver no longer honors a user\\-supplied device name. This is\nthe same behavior as if the device name parameter is not supplied on the request."
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$",
"description": "A device role tag that can be applied to a volume when attaching it to the\nVM. The guest OS of a server that has devices tagged in this manner can\naccess hardware metadata about the tagged devices from the metadata API and\non the config drive, if enabled.\n\n\n\nNote\n\n\nTagged volume attachment is not supported for shelved\\-offloaded\ninstances.\n\n\n\n**New in version 2\\.49**"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "To delete the attached volume when the server is destroyed, specify `true`.\nOtherwise, specify `false`. Default: `false`\n\n\n**New in version 2\\.79**"
}
},
"additionalProperties": false,
"required": [
"volumeId"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.79"
},
"required": [
"volumeAttachment"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
201¶
Ok
{
"type": "object",
"properties": {
"volumeAttachment": {
"type": "object",
"properties": {
"device": {
"type": "string",
"description": "Name of the device in the attachment object, such as, `/dev/vdb`."
},
"id": {
"description": "The volume ID of the attachment.\n\n\n**Available until version 2\\.88**",
"type": "string",
"format": "uuid",
"x-openstack": {
"max-ver": "2.88"
}
},
"serverId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
},
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the attached volume."
},
"tag": {
"type": [
"string",
"null"
],
"description": "The device tag applied to the volume block device or `null`.\n\n\n**New in version 2\\.70**",
"x-openstack": {
"min-ver": "2.70"
}
},
"delete_on_termination": {
"type": "boolean",
"description": "A flag indicating if the attached volume will be deleted when the server is\ndeleted.\n\n\n**New in version 2\\.79**",
"x-openstack": {
"min-ver": "2.79"
}
},
"attachment_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the associated volume attachment in Cinder.\n\n\n**New in version 2\\.89**",
"x-openstack": {
"min-ver": "2.89"
}
},
"bdm_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the block device mapping record in Nova for the attachment.\n\n\n**New in version 2\\.89**",
"x-openstack": {
"min-ver": "2.89"
}
}
},
"description": "A dictionary representation of a volume attachment containing the fields\n`device`, `id`, `serverId` and `volumeId`."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
volumeAttachment |
body |
object |
A dictionary representation of a volume attachment containing the fields
|
volumeAttachment.device |
body |
string |
Name of the device in the attachment object, such as, |
volumeAttachment.id |
body |
string |
The volume ID of the attachment. Available until version 2.88 |
volumeAttachment.serverId |
body |
string |
The UUID of the server. |
volumeAttachment.volumeId |
body |
string |
The UUID of the attached volume. |
volumeAttachment.tag |
body |
[‘string’, ‘null’] |
The device tag applied to the volume block device or New in version 2.70 |
volumeAttachment.delete_on_termination |
body |
boolean |
A flag indicating if the attached volume will be deleted when the server is deleted. New in version 2.79 |
volumeAttachment.attachment_id |
body |
string |
The UUID of the associated volume attachment in Cinder. New in version 2.89 |
volumeAttachment.bdm_uuid |
body |
string |
The UUID of the block device mapping record in Nova for the attachment. New in version 2.89 |
400¶
Error
403¶
Error
404¶
Error
409¶
Error
Show a detail of a volume attachment¶
Show a detail of a volume attachment.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"volumeAttachment": {
"type": "object",
"properties": {
"device": {
"type": "string",
"description": "Name of the device in the attachment object, such as, `/dev/vdb`."
},
"id": {
"description": "The volume ID of the attachment.\n\n\n**Available until version 2\\.88**",
"type": "string",
"format": "uuid",
"x-openstack": {
"max-ver": "2.88"
}
},
"serverId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
},
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the attached volume."
},
"tag": {
"type": [
"string",
"null"
],
"description": "The device tag applied to the volume block device or `null`.\n\n\n**New in version 2\\.70**",
"x-openstack": {
"min-ver": "2.70"
}
},
"delete_on_termination": {
"type": "boolean",
"description": "A flag indicating if the attached volume will be deleted when the server is\ndeleted.\n\n\n**New in version 2\\.79**",
"x-openstack": {
"min-ver": "2.79"
}
},
"attachment_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the associated volume attachment in Cinder.\n\n\n**New in version 2\\.89**",
"x-openstack": {
"min-ver": "2.89"
}
},
"bdm_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the block device mapping record in Nova for the attachment.\n\n\n**New in version 2\\.89**",
"x-openstack": {
"min-ver": "2.89"
}
}
},
"description": "A dictionary representation of a volume attachment containing the fields\n`device`, `id`, `serverId` and `volumeId`."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
volumeAttachment |
body |
object |
A dictionary representation of a volume attachment containing the fields
|
volumeAttachment.device |
body |
string |
Name of the device in the attachment object, such as, |
volumeAttachment.id |
body |
string |
The volume ID of the attachment. Available until version 2.88 |
volumeAttachment.serverId |
body |
string |
The UUID of the server. |
volumeAttachment.volumeId |
body |
string |
The UUID of the attached volume. |
volumeAttachment.tag |
body |
[‘string’, ‘null’] |
The device tag applied to the volume block device or New in version 2.70 |
volumeAttachment.delete_on_termination |
body |
boolean |
A flag indicating if the attached volume will be deleted when the server is deleted. New in version 2.79 |
volumeAttachment.attachment_id |
body |
string |
The UUID of the associated volume attachment in Cinder. New in version 2.89 |
volumeAttachment.bdm_uuid |
body |
string |
The UUID of the block device mapping record in Nova for the attachment. New in version 2.89 |
404¶
Error
Update a volume attachment¶
Update a volume attachment.
Policy default role is ‘rule:system_admin_or_owner’, its scope is
[system, project], which allow project members or system admins to
change the fields of an attached volume of a server. Policy defaults
enable only users with the administrative role to change volumeId
via this operation. Cloud providers can change these permissions
through the policy.json
file.
Updating, or what is commonly referred to as “swapping”, volume attachments with volumes that have more than one read/write attachment, is not supported.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server_id |
path |
string |
server_id parameter for /v2.1/servers/{server_id}/os-volume_attachments/{id} API |
id |
path |
string |
id parameter for /v2.1/servers/{server_id}/os-volume_attachments/{id} API |
volumeAttachment |
body |
object |
A dictionary representation of a volume attachment containing the field
|
volumeAttachment.volumeId |
body |
string |
The UUID of the volume to attach instead of the attached volume. |
volumeAttachment.device |
body |
[‘string’, ‘null’] |
Name of the device in the attachment object, such as, New in version 2.85 |
volumeAttachment.tag |
body |
string |
The device tag applied to the volume block device or New in version 2.85 |
volumeAttachment.delete_on_termination |
body |
[‘boolean’, ‘string’] |
A flag indicating if the attached volume will be deleted when the server is deleted. New in version 2.85 |
volumeAttachment.serverId |
body |
string |
The UUID of the server. New in version 2.85 |
volumeAttachment.id |
body |
string |
The UUID of the attachment. New in version 2.85 |
{
"oneOf": [
{
"type": "object",
"properties": {
"volumeAttachment": {
"type": "object",
"description": "A dictionary representation of a volume attachment containing the field\n`volumeId` which is the UUID of the replacement volume, and other fields\nto update in the attachment.",
"properties": {
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the volume to attach instead of the attached volume."
}
},
"additionalProperties": false,
"required": [
"volumeId"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.0",
"max-ver": "2.84"
},
"required": [
"volumeAttachment"
]
},
{
"type": "object",
"properties": {
"volumeAttachment": {
"type": "object",
"description": "A dictionary representation of a volume attachment containing the field\n`volumeId` which is the UUID of the replacement volume, and other fields\nto update in the attachment.",
"properties": {
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the volume to attach instead of the attached volume."
},
"device": {
"type": [
"string",
"null"
],
"pattern": "(^/dev/x{0,1}[a-z]{0,1}d{0,1})([a-z]+)[0-9]*$",
"description": "Name of the device in the attachment object, such as, `/dev/vdb`.\n\n\n**New in version 2\\.85**"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"pattern": "^[^,/]*$",
"description": "The device tag applied to the volume block device or `null`.\n\n\n**New in version 2\\.85**"
},
"delete_on_termination": {
"type": [
"boolean",
"string"
],
"enum": [
true,
"True",
"TRUE",
"true",
"1",
"ON",
"On",
"on",
"YES",
"Yes",
"yes",
false,
"False",
"FALSE",
"false",
"0",
"OFF",
"Off",
"off",
"NO",
"No",
"no"
],
"description": "A flag indicating if the attached volume will be deleted when the server is\ndeleted.\n\n\n**New in version 2\\.85**"
},
"serverId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server.\n\n\n**New in version 2\\.85**"
},
"id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the attachment.\n\n\n**New in version 2\\.85**"
}
},
"additionalProperties": false,
"required": [
"volumeId"
]
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.85"
},
"required": [
"volumeAttachment"
]
}
],
"x-openstack": {
"discriminator": "microversion"
}
}
Responses¶
202¶
Ok
{
"type": "object",
"properties": {
"volumeAttachment": {
"type": "object",
"properties": {
"device": {
"type": "string",
"description": "Name of the device in the attachment object, such as, `/dev/vdb`."
},
"id": {
"description": "The volume ID of the attachment.\n\n\n**Available until version 2\\.88**",
"type": "string",
"format": "uuid",
"x-openstack": {
"max-ver": "2.88"
}
},
"serverId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
},
"volumeId": {
"type": "string",
"format": "uuid",
"description": "The UUID of the attached volume."
},
"tag": {
"type": [
"string",
"null"
],
"description": "The device tag applied to the volume block device or `null`.\n\n\n**New in version 2\\.70**",
"x-openstack": {
"min-ver": "2.70"
}
},
"delete_on_termination": {
"type": "boolean",
"description": "A flag indicating if the attached volume will be deleted when the server is\ndeleted.\n\n\n**New in version 2\\.79**",
"x-openstack": {
"min-ver": "2.79"
}
},
"attachment_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the associated volume attachment in Cinder.\n\n\n**New in version 2\\.89**",
"x-openstack": {
"min-ver": "2.89"
}
},
"bdm_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the block device mapping record in Nova for the attachment.\n\n\n**New in version 2\\.89**",
"x-openstack": {
"min-ver": "2.89"
}
}
},
"description": "A dictionary representation of a volume attachment containing the fields\n`device`, `id`, `serverId` and `volumeId`."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
volumeAttachment |
body |
object |
A dictionary representation of a volume attachment containing the fields
|
volumeAttachment.device |
body |
string |
Name of the device in the attachment object, such as, |
volumeAttachment.id |
body |
string |
The volume ID of the attachment. Available until version 2.88 |
volumeAttachment.serverId |
body |
string |
The UUID of the server. |
volumeAttachment.volumeId |
body |
string |
The UUID of the attached volume. |
volumeAttachment.tag |
body |
[‘string’, ‘null’] |
The device tag applied to the volume block device or New in version 2.70 |
volumeAttachment.delete_on_termination |
body |
boolean |
A flag indicating if the attached volume will be deleted when the server is deleted. New in version 2.79 |
volumeAttachment.attachment_id |
body |
string |
The UUID of the associated volume attachment in Cinder. New in version 2.89 |
volumeAttachment.bdm_uuid |
body |
string |
The UUID of the block device mapping record in Nova for the attachment. New in version 2.89 |
400¶
Error
404¶
Error
409¶
Error
Detach a volume from an instance¶
List Security Groups By Server¶
Lists security groups for a server.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"security_groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "The ID of the security group."
},
"name": {
"type": "string",
"description": "The security group name."
},
"description": {
"type": "string",
"description": "Security group description."
},
"tenant_id": {
"type": "string",
"format": "uuid",
"description": "The UUID of the tenant in a multi\\-tenancy cloud."
},
"rules": {
"type": "array",
"description": "The list of security group rules.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"from_port": {
"type": "integer"
},
"to_port": {
"type": "integer"
},
"ip_protocol": {
"type": "string"
},
"ip_range": {
"type": "object"
},
"group": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
},
"parent_group_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}
},
"description": "One or more security groups objects."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
security_groups |
body |
array |
One or more security groups objects. |
security_groups[].id |
body |
string |
The ID of the security group. |
security_groups[].name |
body |
string |
The security group name. |
security_groups[].description |
body |
string |
Security group description. |
security_groups[].tenant_id |
body |
string |
The UUID of the tenant in a multi-tenancy cloud. |
security_groups[].rules |
body |
array |
The list of security group rules. |
security_groups[].rules[].id |
body |
string |
|
security_groups[].rules[].from_port |
body |
integer |
|
security_groups[].rules[].to_port |
body |
integer |
|
security_groups[].rules[].ip_protocol |
body |
string |
|
security_groups[].rules[].ip_range |
body |
object |
|
security_groups[].rules[].group |
body |
object |
|
security_groups[].rules[].group.name |
body |
string |
|
security_groups[].rules[].parent_group_id |
body |
string |
404¶
Error
Show Server Topology¶
Shows NUMA topology information for a server.
Policy defaults enable only users with the administrative role or the owners
of the server to perform this operation. Cloud providers can change these
permissions through the policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), notfound(404), forbidden(403)
Responses¶
200¶
Ok
{
"type": "object",
"description": "NUMA topology information for a server",
"properties": {
"nodes": {
"description": "NUMA nodes information of a server.",
"type": "array",
"items": {
"type": "object",
"description": "NUMA node information of a server",
"properties": {
"cpu_pinning": {
"type": "object",
"description": "The mapping of server cores to host physical CPU",
"additionalProperties": {
"type": "integer"
}
},
"vcpu_set": {
"type": "array",
"description": "A list of IDs of the virtual CPU assigned to this NUMA node.",
"items": {
"type": "integer"
}
},
"siblings": {
"type": "array",
"description": "A mapping of host cpus thread sibling.",
"items": {
"type": "integer"
}
},
"memory_mb": {
"type": "integer",
"description": "The amount of memory assigned to this NUMA node in MB."
},
"host_node": {
"type": "integer",
"description": "The host NUMA node the virtual NUMA node is map to."
},
"pagesize_kb": {
"type": [
"integer",
"null"
],
"description": "The page size in KB of a server. This field is `null` if the\npage size information is not available."
}
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
nodes |
body |
array |
NUMA nodes information of a server. |
nodes[].cpu_pinning |
body |
object |
The mapping of server cores to host physical CPU |
nodes[].vcpu_set |
body |
array |
A list of IDs of the virtual CPU assigned to this NUMA node. |
nodes[].siblings |
body |
array |
A mapping of host cpus thread sibling. |
nodes[].memory_mb |
body |
integer |
The amount of memory assigned to this NUMA node in MB. |
nodes[].host_node |
body |
integer |
The host NUMA node the virtual NUMA node is map to. |
nodes[].pagesize_kb |
body |
[‘integer’, ‘null’] |
The page size in KB of a server. This field is |
404¶
Error
server-migrations¶
List Migrations¶
Lists in-progress live migrations for a given server.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through the
policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"description": "List of migration objects",
"properties": {
"migrations": {
"type": "array",
"items": {
"type": "object",
"description": "Migration object",
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"dest_compute": {
"type": "string",
"description": "The target compute for a migration."
},
"dest_host": {
"type": "string",
"description": "The target host for a migration."
},
"dest_node": {
"type": "string",
"description": "The target node for a migration."
},
"id": {
"type": "integer",
"description": "The ID of the server migration."
},
"source_compute": {
"type": "string",
"description": "The source compute for a migration."
},
"source_node": {
"type": "string",
"description": "The source node for a migration."
},
"status": {
"type": "string",
"description": "The current status of the migration."
},
"project_id": {
"type": [
"string",
"null"
],
"description": "The ID of the project which initiated the server migration. The value\nmay be `null` for older migration records.\n\n\n**New in version 2\\.80**",
"x-openstack": {
"min-ver": "2.80"
}
},
"user_id": {
"type": [
"string",
"null"
],
"description": "The ID of the user which initiated the server migration. The value\nmay be `null` for older migration records.\n\n\n**New in version 2\\.80**",
"x-openstack": {
"min-ver": "2.80"
}
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the migration.\n\n\n**New in version 2\\.59**",
"x-openstack": {
"min-ver": "2.59"
}
},
"disk_processed_bytes": {
"type": "integer",
"description": "The amount of disk, in bytes, that has been processed during the migration."
},
"disk_remaining_bytes": {
"type": "integer",
"description": "The amount of disk, in bytes, that still needs to be migrated."
},
"disk_total_bytes": {
"type": "integer",
"description": "The total amount of disk, in bytes, that needs to be migrated."
},
"memory_processed_bytes": {
"type": "integer",
"description": "The amount of memory, in bytes, that has been processed during the migration."
},
"memory_remaining_bytes": {
"type": "integer",
"description": "The amount of memory, in bytes, that still needs to be migrated."
},
"memory_total_bytes": {
"type": "integer",
"description": "The total amount of memory, in bytes, that needs to be migrated."
},
"server_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
}
}
},
"description": "The list of server migration objects."
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
migrations |
body |
array |
The list of server migration objects. |
migrations[].created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
migrations[].updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
migrations[].dest_compute |
body |
string |
The target compute for a migration. |
migrations[].dest_host |
body |
string |
The target host for a migration. |
migrations[].dest_node |
body |
string |
The target node for a migration. |
migrations[].id |
body |
integer |
The ID of the server migration. |
migrations[].source_compute |
body |
string |
The source compute for a migration. |
migrations[].source_node |
body |
string |
The source node for a migration. |
migrations[].status |
body |
string |
The current status of the migration. |
migrations[].project_id |
body |
[‘string’, ‘null’] |
The ID of the project which initiated the server migration. The value
may be New in version 2.80 |
migrations[].user_id |
body |
[‘string’, ‘null’] |
The ID of the user which initiated the server migration. The value
may be New in version 2.80 |
migrations[].uuid |
body |
string |
The UUID of the migration. New in version 2.59 |
migrations[].disk_processed_bytes |
body |
integer |
The amount of disk, in bytes, that has been processed during the migration. |
migrations[].disk_remaining_bytes |
body |
integer |
The amount of disk, in bytes, that still needs to be migrated. |
migrations[].disk_total_bytes |
body |
integer |
The total amount of disk, in bytes, that needs to be migrated. |
migrations[].memory_processed_bytes |
body |
integer |
The amount of memory, in bytes, that has been processed during the migration. |
migrations[].memory_remaining_bytes |
body |
integer |
The amount of memory, in bytes, that still needs to be migrated. |
migrations[].memory_total_bytes |
body |
integer |
The total amount of memory, in bytes, that needs to be migrated. |
migrations[].server_uuid |
body |
string |
The UUID of the server. |
404¶
Error
Show Migration Details¶
Show details for an in-progress live migration for a given server.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through the
policy.json
file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
{
"type": "object",
"properties": {
"migration": {
"type": "object",
"description": "The server migration object.",
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was created. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "The date and time when the resource was updated. The date and time\nstamp format is [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)\n\n\n\n```\nCCYY-MM-DDThh:mm:ss\u00b1hh:mm\n\n```\n\n\nFor example, `2015-08-27T09:49:58-05:00`. The `\u00b1hh:mm`\nvalue, if included, is the time zone as an offset from UTC. In\nthe previous example, the offset value is `-05:00`."
},
"dest_compute": {
"type": "string",
"description": "The target compute for a migration."
},
"dest_host": {
"type": "string",
"description": "The target host for a migration."
},
"dest_node": {
"type": "string",
"description": "The target node for a migration."
},
"id": {
"type": "integer",
"description": "The ID of the server migration."
},
"source_compute": {
"type": "string",
"description": "The source compute for a migration."
},
"source_node": {
"type": "string",
"description": "The source node for a migration."
},
"status": {
"type": "string",
"description": "The current status of the migration."
},
"project_id": {
"type": [
"string",
"null"
],
"description": "The ID of the project which initiated the server migration. The value\nmay be `null` for older migration records.\n\n\n**New in version 2\\.80**",
"x-openstack": {
"min-ver": "2.80"
}
},
"user_id": {
"type": [
"string",
"null"
],
"description": "The ID of the user which initiated the server migration. The value\nmay be `null` for older migration records.\n\n\n**New in version 2\\.80**",
"x-openstack": {
"min-ver": "2.80"
}
},
"uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the migration.\n\n\n**New in version 2\\.59**",
"x-openstack": {
"min-ver": "2.59"
}
},
"disk_processed_bytes": {
"type": "integer",
"description": "The amount of disk, in bytes, that has been processed during the migration."
},
"disk_remaining_bytes": {
"type": "integer",
"description": "The amount of disk, in bytes, that still needs to be migrated."
},
"disk_total_bytes": {
"type": "integer",
"description": "The total amount of disk, in bytes, that needs to be migrated."
},
"memory_processed_bytes": {
"type": "integer",
"description": "The amount of memory, in bytes, that has been processed during the migration."
},
"memory_remaining_bytes": {
"type": "integer",
"description": "The amount of memory, in bytes, that still needs to be migrated."
},
"memory_total_bytes": {
"type": "integer",
"description": "The total amount of memory, in bytes, that needs to be migrated."
},
"server_uuid": {
"type": "string",
"format": "uuid",
"description": "The UUID of the server."
}
}
}
}
}
Name |
Location |
Type |
Description |
---|---|---|---|
migration |
body |
object |
The server migration object. |
migration.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
migration.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 CCYY-MM-DDThh:mm:ss±hh:mm
For example, |
migration.dest_compute |
body |
string |
The target compute for a migration. |
migration.dest_host |
body |
string |
The target host for a migration. |
migration.dest_node |
body |
string |
The target node for a migration. |
migration.id |
body |
integer |
The ID of the server migration. |
migration.source_compute |
body |
string |
The source compute for a migration. |
migration.source_node |
body |
string |
The source node for a migration. |
migration.status |
body |
string |
The current status of the migration. |
migration.project_id |
body |
[‘string’, ‘null’] |
The ID of the project which initiated the server migration. The value
may be New in version 2.80 |
migration.user_id |
body |
[‘string’, ‘null’] |
The ID of the user which initiated the server migration. The value
may be New in version 2.80 |
migration.uuid |
body |
string |
The UUID of the migration. New in version 2.59 |
migration.disk_processed_bytes |
body |
integer |
The amount of disk, in bytes, that has been processed during the migration. |
migration.disk_remaining_bytes |
body |
integer |
The amount of disk, in bytes, that still needs to be migrated. |
migration.disk_total_bytes |
body |
integer |
The total amount of disk, in bytes, that needs to be migrated. |
migration.memory_processed_bytes |
body |
integer |
The amount of memory, in bytes, that has been processed during the migration. |
migration.memory_remaining_bytes |
body |
integer |
The amount of memory, in bytes, that still needs to be migrated. |
migration.memory_total_bytes |
body |
integer |
The total amount of memory, in bytes, that needs to be migrated. |
migration.server_uuid |
body |
string |
The UUID of the server. |
404¶
Error
Delete (Abort) Migration¶
Abort an in-progress live migration.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through the
policy.json
file.
Preconditions
The server OS-EXT-STS:task_state value must be migrating
.
If the server is locked, you must have administrator privileges to force the completion of the server migration.
For microversions from 2.24 to 2.64 the migration status must be running
,
for microversion 2.65 and greater, the migration status can also be queued
and preparing
.
Asynchronous Postconditions
After you make this request, you typically must keep polling the server status to determine whether the request succeeded. You may also monitor the migration using:
Troubleshooting
If the server status remains MIGRATING
for an inordinate amount of
time, the request may have failed. Ensure you meet the preconditions and run
the request again. If the request fails again, investigate the compute back
end.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Responses¶
202¶
Ok
400¶
Error
404¶
Error
409¶
Error
Force Migration Complete Action (force_complete Action)¶
Force an in-progress live migration for a given server to complete.
Specify the force_complete
action in the request body.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through the
policy.json
file.
Preconditions
The server OS-EXT-STS:vm_state value must be active
and the server
OS-EXT-STS:task_state value must be migrating
.
If the server is locked, you must have administrator privileges to force the completion of the server migration.
The migration status must be running
.
Asynchronous Postconditions
After you make this request, you typically must keep polling the server status to determine whether the request succeeded.
Troubleshooting
If the server status remains MIGRATING
for an inordinate amount of time,
the request may have failed. Ensure you meet the preconditions and run the
request again. If the request fails again, investigate the compute back end.
More details can be found in the
admin guide.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Name |
Location |
Type |
Description |
---|---|---|---|
server_id |
path |
string |
server_id parameter for /v2.1/servers/{server_id}/migrations/{id}/action API |
id |
path |
string |
id parameter for /v2.1/servers/{server_id}/migrations/{id}/action API |
force_complete |
body |
null |
The action to force an in-progress live migration to complete. |
{
"type": "object",
"description": "Force an in\\-progress live migration for a given server to complete.\n\nSpecify the `force_complete` action in the request body.\n\nPolicy defaults enable only users with the administrative role to perform\nthis operation. Cloud providers can change these permissions through the\n`policy.json` file.\n\n**Preconditions**\n\nThe server OS\\-EXT\\-STS:vm_state value must be `active` and the server\nOS\\-EXT\\-STS:task_state value must be `migrating`.\n\nIf the server is locked, you must have administrator privileges to force the\ncompletion of the server migration.\n\nThe migration status must be `running`.\n\n**Asynchronous Postconditions**\n\nAfter you make this request, you typically must keep polling the server status\nto determine whether the request succeeded.\n\n**Troubleshooting**\n\nIf the server status remains `MIGRATING` for an inordinate amount of time,\nthe request may have failed. Ensure you meet the preconditions and run the\nrequest again. If the request fails again, investigate the compute back end.\nMore details can be found in the\n[admin guide](https://docs.openstack.org/nova/latest/admin/live-migration-usage.html#what-to-do-when-the-migration-times-out).\n\nNormal response codes: 202\n\nError response codes: badRequest(400\\), unauthorized(401\\), forbidden(403\\), itemNotFound(404\\), conflict(409\\)",
"summary": "Force Migration Complete Action (force_complete Action)",
"properties": {
"force_complete": {
"type": "null",
"description": "The action to force an in\\-progress live migration to complete."
}
},
"additionalProperties": false,
"x-openstack": {
"min-ver": "2.22",
"action-name": "force_complete"
},
"required": [
"force_complete"
]
}
Responses¶
202¶
Ok
400¶
Error
403¶
Error
404¶
Error
409¶
Error
server-tags¶
List Tags¶
Lists all tags for a server.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Replace Tags¶
Replaces all tags on specified server with the new set of tags.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Delete All Tags¶
Deletes all tags from the specified server.
Normal response codes: 204
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Check Tag Existence¶
Checks tag existence on the server. If tag exists response with 204 status code will be returned. Otherwise returns 404.
Normal response codes: 204
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Add a Single Tag¶
Adds a single tag to the server if server has no specified tag. Response code in this case is 201.
If the server has specified tag just returns 204.
Normal response codes: 201, 204
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Delete a Single Tag¶
Deletes a single tag from the specified server.
Normal response codes: 204
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)