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¶
extensions¶
Shows details for an extension, by alias.
Normal response codes: 200
Error response codes: unauthorized(401), itemNotFound(404)
Responses¶
200¶
Ok
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.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.
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¶
Description
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
Schema
{ "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]+)?$", "minimum": 0, "exclusiveMinimum": true, "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]+)?$", "minimum": 0, "exclusiveMinimum": true, "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]+)?$", "minimum": 0, "exclusiveMinimum": true, "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-\u0cf2\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-\u0ecd\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
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 |
400¶
Error
409¶
Error
Shows details for a flavor.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
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 |
404¶
Error
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¶
Description
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.
Schema
{ "type": "object", "properties": { "flavor": { "type": "object", "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-\u0cf2\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-\u0ecd\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." } }, "required": [ "description" ], "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." } }, "additionalProperties": false, "x-openstack": { "action-name": "update" }, "required": [ "flavor" ] }
Responses¶
200¶
Ok
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 |
404¶
Error
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
Empty body for delete action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/flavors/{id}/action API
delete
body
null
Schema
{ "type": "object", "description": "Empty body for delete action", "properties": { "delete": { "type": "null" } }, "x-openstack": { "action-name": "delete" } }
Responses¶
201¶
Ok
202¶
Ok
400¶
Error
403¶
Error
404¶
Error
409¶
Error
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/flavors/{id}/action API
flavor
body
object
flavor.name
body
string
flavor.id
body
[‘string’, ‘number’, ‘null’]
flavor.ram
body
[‘integer’, ‘string’]
flavor.vcpus
body
[‘integer’, ‘string’]
flavor.disk
body
[‘integer’, ‘string’]
flavor.OS-FLV-EXT-DATA:ephemeral
body
[‘integer’, ‘string’]
flavor.swap
body
[‘integer’, ‘string’]
flavor.rxtx_factor
body
[‘number’, ‘string’]
flavor.os-flavor-access:is_public
body
[‘boolean’, ‘string’]
flavor.description
body
[‘string’, ‘null’]
Schema
{ "oneOf": [ { "type": "object", "properties": { "flavor": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 255, "format": "name_with_leading_trailing_spaces" }, "id": { "type": [ "string", "number", "null" ], "minLength": 1, "maxLength": 255, "pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$" }, "ram": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 1, "maximum": 2147483647 }, "vcpus": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 1, "maximum": 2147483647 }, "disk": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 0, "maximum": 2147483647 }, "OS-FLV-EXT-DATA:ephemeral": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 0, "maximum": 2147483647 }, "swap": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 0, "maximum": 2147483647 }, "rxtx_factor": { "type": [ "number", "string" ], "pattern": "^[0-9]+(\\.[0-9]+)?$", "minimum": 0, "exclusiveMinimum": true, "maximum": 3.40282e+38 }, "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" ] } }, "additionalProperties": false, "required": [ "name", "ram", "vcpus", "disk" ] } }, "additionalProperties": false, "x-openstack": { "min-ver": "2.0", "max-ver": "2.0", "action-name": "create" }, "required": [ "flavor" ] }, { "type": "object", "properties": { "flavor": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 255, "format": "name" }, "id": { "type": [ "string", "number", "null" ], "minLength": 1, "maxLength": 255, "pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$" }, "ram": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 1, "maximum": 2147483647 }, "vcpus": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 1, "maximum": 2147483647 }, "disk": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 0, "maximum": 2147483647 }, "OS-FLV-EXT-DATA:ephemeral": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 0, "maximum": 2147483647 }, "swap": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 0, "maximum": 2147483647 }, "rxtx_factor": { "type": [ "number", "string" ], "pattern": "^[0-9]+(\\.[0-9]+)?$", "minimum": 0, "exclusiveMinimum": true, "maximum": 3.40282e+38 }, "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" ] } }, "additionalProperties": false, "required": [ "name", "ram", "vcpus", "disk" ] } }, "additionalProperties": false, "x-openstack": { "min-ver": "2.1", "max-ver": "2.54", "action-name": "create" }, "required": [ "flavor" ] }, { "type": "object", "properties": { "flavor": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 255, "format": "name" }, "id": { "type": [ "string", "number", "null" ], "minLength": 1, "maxLength": 255, "pattern": "^(?! )[a-zA-Z0-9. _-]+(?<! )$" }, "ram": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 1, "maximum": 2147483647 }, "vcpus": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 1, "maximum": 2147483647 }, "disk": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 0, "maximum": 2147483647 }, "OS-FLV-EXT-DATA:ephemeral": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 0, "maximum": 2147483647 }, "swap": { "type": [ "integer", "string" ], "pattern": "^[0-9]+$", "minimum": 0, "maximum": 2147483647 }, "rxtx_factor": { "type": [ "number", "string" ], "pattern": "^[0-9]+(\\.[0-9]+)?$", "minimum": 0, "exclusiveMinimum": true, "maximum": 3.40282e+38 }, "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": { "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-\u0cf2\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-\u0ecd\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", "ram", "vcpus", "disk" ] } }, "additionalProperties": false, "x-openstack": { "min-ver": "2.55", "action-name": "create" }, "required": [ "flavor" ] } ], "x-openstack": { "discriminator": "microversion", "action-name": "create" } }
Responses¶
201¶
Ok
202¶
Ok
400¶
Error
403¶
Error
404¶
Error
409¶
Error
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/flavors/{id}/action API
flavor
body
object
flavor.description
body
[‘string’, ‘null’]
Schema
{ "type": "object", "properties": { "flavor": { "type": "object", "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-\u0cf2\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-\u0ecd\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": [ "description" ] } }, "additionalProperties": false, "x-openstack": { "min-ver": "2.55", "action-name": "update" }, "required": [ "flavor" ] }
Responses¶
201¶
Ok
202¶
Ok
400¶
Error
403¶
Error
404¶
Error
409¶
Error
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¶
Description
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.
Schema
{ "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
202¶
Ok
400¶
Error
403¶
Error
404¶
Error
409¶
Error
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¶
Description
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.
Schema
{ "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
202¶
Ok
400¶
Error
403¶
Error
404¶
Error
409¶
Error
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
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
Creates extra specs for a flavor, by ID.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Description
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.
Schema
{ "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
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
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¶
Description
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
Schema
{ "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'}
400¶
Error
404¶
Error
409¶
Error
images¶
Create an image metadata.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Description
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.
Schema
{ "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
400¶
Error
403¶
Error
404¶
Error
Update an image metadata
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Description
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.
Schema
{ "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
400¶
Error
403¶
Error
404¶
Error
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¶
Description
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.
Schema
{ "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
400¶
Error
403¶
Error
404¶
Error
limits¶
Shows rate and absolute limits for the project.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
absolute |
body |
object |
Name/value pairs that set quota limits within a deployment and Name/value pairs of resource usage. |
absolute.maxServerGroupMembers |
body |
integer |
The number of allowed members for each server group. |
absolute.maxServerGroups |
body |
integer |
The number of allowed server groups for each tenant. |
absolute.maxServerMetamaxServerMeta |
body |
integer |
The number of allowed metadata items for each server. |
absolute.maxTotalCores |
body |
integer |
The number of allowed server cores for each tenant. |
absolute.maxTotalInstances |
body |
integer |
The number of allowed servers for each tenant. |
absolute.maxTotalKeypairs |
body |
integer |
The number of allowed key pairs for each user. |
absolute.maxTotalRAMSize |
body |
integer |
The amount of allowed server RAM, in MiB, for each tenant. |
absolute.totalCoresUsed |
body |
integer |
The number of used server cores in each tenant.
If |
absolute.totalInstancesUsed |
body |
integer |
The number of servers in each tenant.
If |
absolute.totalRAMUsed |
body |
integer |
The amount of used server RAM in each tenant.
If |
absolute.totalServerGroupsUsed |
body |
integer |
The number of used server groups in each tenant.
If |
os-agents¶
Creates an agent build.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409), gone(410)
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-agents:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
410¶
Error
Updates an agent build.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), gone(410)
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-agents/{id} API
Schema
{ "type": "object", "description": "Request of the os-agents/id:put operation", "x-openstack": { "action-name": "update" } }
Responses¶
200¶
Ok
410¶
Error
os-aggregates¶
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¶
Description
Name
Location
Type
Description
aggregate
body
object
The host aggregate object.
aggregate.name
body
string
The name of the host aggregate.
Schema
{ "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
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.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
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
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.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
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¶
Description
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.
Schema
{ "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
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.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¶
Description
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
Schema
{ "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
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.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¶
Description
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
Schema
{ "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
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.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¶
Description
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
Schema
{ "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
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.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
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¶
Description
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.
Schema
{ "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¶
Creates an assisted volume snapshot.
Normal response codes: 200
Error response codes: badRequest(400),unauthorized(401), forbidden(403)
Request¶
Description
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
qcow2
.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.
Schema
{ "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
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
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¶
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
os-baremetal-nodes¶
Empty body for add_interface action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-baremetal-nodes/{id}/action API
add_interface
body
null
Schema
{ "type": "object", "description": "Empty body for add_interface action", "properties": { "add_interface": { "type": "null" } }, "x-openstack": { "action-name": "add_interface" } }
Responses¶
201¶
Ok
400¶
Error
Empty body for remove_interface action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-baremetal-nodes/{id}/action API
remove_interface
body
null
Schema
{ "type": "object", "description": "Empty body for remove_interface action", "properties": { "remove_interface": { "type": "null" } }, "x-openstack": { "action-name": "remove_interface" } }
Responses¶
201¶
Ok
400¶
Error
os-cells¶
Create a new cell.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), gone(410), notImplemented(501)
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-cells:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
410¶
Error
Update an existing cell.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), gone(410), notImplemented(501)
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-cells/{id} API
Schema
{ "type": "object", "description": "Request of the os-cells/id:put operation", "x-openstack": { "action-name": "update" } }
Responses¶
200¶
Ok
410¶
Error
os-certificates¶
os-cloudpipe¶
Creates a cloudpipe.
Normal response codes: 200
Error response codes: badRequest(400),unauthorized(401), forbidden(403)
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-cloudpipe:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
410¶
Error
Configure cloudpipe parameters for the project.
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-cloudpipe/{id} API
Schema
{ "type": "object", "description": "Request of the os-cloudpipe/id:put operation", "x-openstack": { "action-name": "update" } }
Responses¶
200¶
Ok
410¶
Error
server-consoles¶
Manage server consoles.
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
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
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¶
Description
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
vnc
,spice
,serial
andmks
. The protocolmks
is added since Microversion2.8
.remote_console.type
body
string
The type of remote console. The valid values are
novnc
,spice-html5
,serial
, andwebmks
. The typewebmks
is added since Microversion2.8
.Schema
{ "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
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¶
Empty body for reserve action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-fixed-ips/{id}/action API
reserve
body
null
Schema
{ "type": "object", "description": "Empty body for reserve action", "properties": { "reserve": { "type": "null" } }, "x-openstack": { "action-name": "reserve" } }
Responses¶
201¶
Ok
410¶
Error
Empty body for unreserve action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-fixed-ips/{id}/action API
unreserve
body
null
Schema
{ "type": "object", "description": "Empty body for unreserve action", "properties": { "unreserve": { "type": "null" } }, "x-openstack": { "action-name": "unreserve" } }
Responses¶
201¶
Ok
410¶
Error
os-floating-ip-dns¶
Creates or updates a DNS domain.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), gone(410), notImplemented(501)
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-floating-ip-dns/{id} API
Schema
{ "type": "object", "description": "Request of the os-floating-ip-dns/id:put operation", "x-openstack": { "action-name": "update" } }
Responses¶
200¶
Ok
410¶
Error
Creates or updates a DNS entry.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), gone(410), notImplemented(501)
Request¶
Description
Name
Location
Type
Description
domain_id
path
string
domain_id parameter for /v2.1/os-floating-ip-dns/{domain_id}/entries/{id} API
id
path
string
id parameter for /v2.1/os-floating-ip-dns/{domain_id}/entries/{id} API
Schema
{ "type": "object", "description": "Request of the os-floating-ip-dns/domain_id/entries/id:put operation", "x-openstack": { "action-name": "update" } }
Responses¶
200¶
Ok
410¶
Error
os-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
os-floating-ips¶
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
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)
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-floating-ips:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
400¶
Error
403¶
Error
404¶
Error
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
400¶
Error
404¶
Error
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¶
Bulk-creates floating IPs.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409), gone(410)
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-floating-ips-bulk:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
410¶
Error
Request of the os-floating-ips-bulk/id:put operation
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-floating-ips-bulk/{id} API
Schema
{ "type": "object", "description": "Request of the os-floating-ips-bulk/id:put operation", "x-openstack": { "action-name": "update" } }
Responses¶
200¶
Ok
410¶
Error
os-fping¶
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
410¶
Error
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
410¶
Error
os-hosts¶
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¶
Description
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
enable
ordisable
.maintenance_mode
body
string
Mode of maintenance state, either
enable
ordisable
.Schema
{ "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
400¶
Error
404¶
Error
501¶
Error
os-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
400¶
Error
404¶
Error
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
400¶
Error
404¶
Error
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
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
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 |
400¶
Error
404¶
Error
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
404¶
Error
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
404¶
Error
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
400¶
Error
404¶
Error
501¶
Error
os-instance_usage_audit_log¶
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
Name |
Location |
Type |
Description |
---|---|---|---|
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. |
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
Name |
Location |
Type |
Description |
---|---|---|---|
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¶
Imports (or generates) a keypair.
Normal response codes: 200, 201
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409)
Request¶
Description
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
[a-zA-Z]
, digits[0-9]
and the following special characters:[@._- ]
.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
ssh
orx509
.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
Schema
{ "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
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
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
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
os-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
400¶
Error
os-networks¶
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)
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-networks:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
410¶
Error
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)
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-networks/add:post operation", "x-openstack": { "action-name": "add" } }
Responses¶
201¶
Ok
410¶
Error
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
Empty body for disassociate action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-networks/{id}/action API
disassociate
body
null
Schema
{ "type": "object", "description": "Empty body for disassociate action", "properties": { "disassociate": { "type": "null" } }, "x-openstack": { "action-name": "disassociate" } }
Responses¶
201¶
Ok
410¶
Error
Empty body for disassociate_host action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-networks/{id}/action API
disassociate_host
body
null
Schema
{ "type": "object", "description": "Empty body for disassociate_host action", "properties": { "disassociate_host": { "type": "null" } }, "x-openstack": { "action-name": "disassociate_host" } }
Responses¶
201¶
Ok
410¶
Error
Empty body for disassociate_project action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-networks/{id}/action API
disassociate_project
body
null
Schema
{ "type": "object", "description": "Empty body for disassociate_project action", "properties": { "disassociate_project": { "type": "null" } }, "x-openstack": { "action-name": "disassociate_project" } }
Responses¶
201¶
Ok
410¶
Error
Empty body for associate_host action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-networks/{id}/action API
associate_host
body
null
Schema
{ "type": "object", "description": "Empty body for associate_host action", "properties": { "associate_host": { "type": "null" } }, "x-openstack": { "action-name": "associate_host" } }
Responses¶
201¶
Ok
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 the Quota Class.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
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 |
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-quota-class-sets/{id} API
Schema
{ "type": "object", "properties": { "quota_class_set": { "properties": { "instances": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "cores": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "ram": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "floating_ips": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "fixed_ips": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "metadata_items": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "key_pairs": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "security_groups": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "security_group_rules": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "injected_files": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "injected_file_content_bytes": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "injected_file_path_bytes": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "server_groups": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "server_group_members": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "networks": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 } }, "additionalProperties": false, "description": "A `quota_class_set` object." } }, "additionalProperties": false, "x-openstack": { "min-ver": "2.1", "max-ver": "2.49" }, "required": [ "quota_class_set" ] }
Responses¶
200¶
Ok
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 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
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 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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-quota-sets/{id} API
Schema
{ "type": "object", "properties": { "quota_set": { "properties": { "instances": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "cores": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "ram": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "floating_ips": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "fixed_ips": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "metadata_items": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "key_pairs": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "security_groups": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "security_group_rules": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "injected_files": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "injected_file_content_bytes": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "injected_file_path_bytes": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "server_groups": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "server_group_members": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "networks": { "type": [ "integer", "string" ], "pattern": "^-?[0-9]+$", "minimum": -1, "maximum": 2147483647 }, "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, "description": "A `quota_set` object." } }, "additionalProperties": false, "x-openstack": { "min-ver": "2.1", "max-ver": "2.35" }, "required": [ "quota_set" ] }
Responses¶
200¶
Ok
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
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
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
Lists the default quotas for a project.
Normal response codes: 200
Error response codes: badrequest(400), unauthorized(401), forbidden(403)
Responses¶
200¶
Ok
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¶
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)
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-security-group-default-rules:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
410¶
Error
os-security-group-rules¶
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¶
Description
Schema
{ "type": "object", "description": "Request of the os-security-group-rules:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
400¶
Error
403¶
Error
404¶
Error
os-security-groups¶
Creates a security group.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-security-groups:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
400¶
Error
403¶
Error
Updates a security group.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-security-groups/{id} API
Schema
{ "type": "object", "description": "Request of the os-security-groups/id:put operation", "x-openstack": { "action-name": "update" } }
Responses¶
200¶
Ok
400¶
Error
404¶
Error
os-server-external-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¶
Description
Schema
{ "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
403¶
Error
os-server-groups¶
Creates a server group.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), conflict(409)
Request¶
Description
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.policy
body
string
The
policy
field represents the name of the policy. The current valid policy names are:anti-affinity
- servers in this group must be scheduled to different hosts.affinity
- servers in this group must be scheduled to the same host.soft-anti-affinity
- servers in this group should be scheduled to different hosts if possible, but if not possible then they should still be scheduled instead of resulting in a build failure.soft-affinity
- servers in this group should be scheduled to the same host if possible, but if not possible then they should still be scheduled instead of resulting in a build failure.
New in version 2.64
server_group.rules
body
object
The
rules
field, which is a dict, can be applied to the policy. Currently, only themax_server_per_host
rule is supported for theanti-affinity
policy. Themax_server_per_host
rule allows specifying how many members of the anti-affinity group can reside on the same compute host. If not specified, only one member from the same anti-affinity group can reside on a given host. Requesting policy rules with any other policy thananti-affinity
will be 400.New in version 2.64
server_group.rules.max_server_per_host
body
[‘integer’, ‘string’]
Schema
{ "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", "items": { "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", "items": { "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
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.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.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
Shows details for a server group.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
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.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.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
os-services¶
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¶
Description
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
status=disabled
.forced_down
body
[‘boolean’, ‘string’]
forced_down
is a manual override to tell nova that the service in question has been fenced manually by the operations team (either hard powered off, or network unplugged). That signals that it is safe to proceed withevacuate
or other operations that nova has safety checks to prevent for hosts that are up.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
enabled
ordisabled
.Schema
{ "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
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
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¶
os-snapshots¶
Creates a new snapshot.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
Request¶
Description
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.
Schema
{ "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
400¶
Error
403¶
Error
os-tenant-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
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
Request¶
Description
Schema
{ "type": "object", "description": "Request of the os-tenant-networks:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
410¶
Error
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
404¶
Error
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¶
Creates a new volume.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Description
Name
Location
Type
Description
volume
body
object
The
volume
object.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.
Schema
{ "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
400¶
Error
403¶
Error
404¶
Error
os-volumes_boot¶
Creates a new server for a given user.
Request¶
Description
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.OS-DCF:diskConfig
body
string
server.accessIPv4
body
string
server.accessIPv6
body
string
server.availability_zone
body
string
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’]
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.user_data
body
string
server.description
body
[‘string’, ‘null’]
server.trusted_image_certificates
body
[‘array’, ‘null’]
server.host
body
string
server.hypervisor_hostname
body
string
server.hostname
body
string
Schema
{ "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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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
400¶
Error
403¶
Error
409¶
Error
Update server then pass on to version-specific controller.
Request¶
Description
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
Schema
{ "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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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
404¶
Error
Empty body for confirmResize action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
confirmResize
body
null
Schema
{ "type": "object", "description": "Empty body for confirmResize action", "properties": { "confirmResize": { "type": "null" } }, "x-openstack": { "action-name": "confirmResize" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for revertResize action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
revertResize
body
null
Schema
{ "type": "object", "description": "Empty body for revertResize action", "properties": { "revertResize": { "type": "null" } }, "x-openstack": { "action-name": "revertResize" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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.description
body
[‘string’, ‘null’]
rebuild.trusted_image_certificates
body
[‘array’, ‘null’]
rebuild.hostname
body
string
Schema
{ "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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for os-start action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
os-start
body
null
Schema
{ "type": "object", "description": "Empty body for os-start action", "properties": { "os-start": { "type": "null" } }, "x-openstack": { "action-name": "os-start" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for os-stop action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
os-stop
body
null
Schema
{ "type": "object", "description": "Empty body for os-stop action", "properties": { "os-stop": { "type": "null" } }, "x-openstack": { "action-name": "os-stop" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
trigger_crash_dump
body
null
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for resetNetwork action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
resetNetwork
body
null
Schema
{ "type": "object", "description": "Empty body for resetNetwork action", "properties": { "resetNetwork": { "type": "null" } }, "x-openstack": { "action-name": "resetNetwork" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for injectNetworkInfo action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
injectNetworkInfo
body
null
Schema
{ "type": "object", "description": "Empty body for injectNetworkInfo action", "properties": { "injectNetworkInfo": { "type": "null" } }, "x-openstack": { "action-name": "injectNetworkInfo" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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’]
Schema
{ "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
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for restore action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
restore
body
null
Schema
{ "type": "object", "description": "Empty body for restore action", "properties": { "restore": { "type": "null" } }, "x-openstack": { "action-name": "restore" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for forceDelete action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
forceDelete
body
null
Schema
{ "type": "object", "description": "Empty body for forceDelete action", "properties": { "forceDelete": { "type": "null" } }, "x-openstack": { "action-name": "forceDelete" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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’]
Schema
{ "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
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
lock
body
[‘object’, ‘null’]
Schema
{ "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" ] }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for unlock action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
unlock
body
null
Schema
{ "type": "object", "description": "Empty body for unlock action", "properties": { "unlock": { "type": "null" } }, "x-openstack": { "action-name": "unlock" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
migrate
body
[‘object’, ‘null’]
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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’]
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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’]
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for pause action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
pause
body
null
Schema
{ "type": "object", "description": "Empty body for pause action", "properties": { "pause": { "type": "null" } }, "x-openstack": { "action-name": "pause" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for unpause action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
unpause
body
null
Schema
{ "type": "object", "description": "Empty body for unpause action", "properties": { "unpause": { "type": "null" } }, "x-openstack": { "action-name": "unpause" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for os-getRDPConsole action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
os-getRDPConsole
body
null
Schema
{ "type": "object", "description": "Empty body for os-getRDPConsole action", "properties": { "os-getRDPConsole": { "type": "null" } }, "x-openstack": { "action-name": "os-getRDPConsole" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
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
Schema
{ "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
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
rescue
body
[‘object’, ‘null’]
Schema
{ "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
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for unrescue action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
unrescue
body
null
Schema
{ "type": "object", "description": "Empty body for unrescue action", "properties": { "unrescue": { "type": "null" } }, "x-openstack": { "action-name": "unrescue" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for addSecurityGroup action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
addSecurityGroup
body
null
Schema
{ "type": "object", "description": "Empty body for addSecurityGroup action", "properties": { "addSecurityGroup": { "type": "null" } }, "x-openstack": { "action-name": "addSecurityGroup" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for removeSecurityGroup action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
removeSecurityGroup
body
null
Schema
{ "type": "object", "description": "Empty body for removeSecurityGroup action", "properties": { "removeSecurityGroup": { "type": "null" } }, "x-openstack": { "action-name": "removeSecurityGroup" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for shelve action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
shelve
body
null
Schema
{ "type": "object", "description": "Empty body for shelve action", "properties": { "shelve": { "type": "null" } }, "x-openstack": { "action-name": "shelve" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for shelveOffload action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
shelveOffload
body
null
Schema
{ "type": "object", "description": "Empty body for shelveOffload action", "properties": { "shelveOffload": { "type": "null" } }, "x-openstack": { "action-name": "shelveOffload" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
unshelve
body
[‘object’, ‘null’]
Schema
{ "oneOf": [ { "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
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for suspend action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
suspend
body
null
Schema
{ "type": "object", "description": "Empty body for suspend action", "properties": { "suspend": { "type": "null" } }, "x-openstack": { "action-name": "suspend" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Empty body for resume action
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/os-volumes_boot/{id}/action API
resume
body
null
Schema
{ "type": "object", "description": "Empty body for resume action", "properties": { "resume": { "type": "null" } }, "x-openstack": { "action-name": "resume" } }
Responses¶
201¶
Ok
202¶
Ok
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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
400¶
Error
403¶
Error
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¶
Description
Name
Location
Type
Description
server
body
object
A
server
object.server.name
body
string
Key pair name.
Note
The
null
value was allowed in the Nova legacy v2 API, but due to strict input validation, it is not allowed in the Nova v2.1 API.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.OS-DCF:diskConfig
body
string
Controls how the API partitions the disk when you create, rebuild, or resize servers. A server inherits the
OS-DCF:diskConfig
value from the image from which it was created, and an image inherits theOS-DCF:diskConfig
value from the server from which it was created. To override the inherited setting, you can include this attribute in the request body of a server create, rebuild, or resize request. If theOS-DCF:diskConfig
value for an image isMANUAL
, you cannot create a server from that image and set itsOS-DCF:diskConfig
value toAUTO
. A valid value is:AUTO
. The API builds the server with a single partition the size of the target flavor disk. The API automatically adjusts the file system to fit the entire partition.MANUAL
. The API builds the server by using whatever partition scheme and file system is in the source image. If the target flavor disk is larger, the API does not partition the remaining disk space.
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.availability_zone
body
string
Key pair name.
Note
The
null
value was allowed in the Nova legacy v2 API, but due to strict input validation, it is not allowed in the Nova v2.1 API.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
config_drive
. Read more in the OpenStack End User Guide.server.key_name
body
string
Key pair name.
Note
The
null
value was allowed in the Nova legacy v2 API, but due to strict input validation, it is not allowed in the Nova v2.1 API.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
config_drive
. Read more in the OpenStack End User Guide.os:scheduler_hints
body
object
The dictionary of data to send to the scheduler. Alternatively, you can specify
OS-SCH-HNT:scheduler_hints
as the key in the request body.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:
The request validation schema is per hint. For example, some require a single string value, and some accept a list of values.
Hints are only used based on the cloud scheduler configuration, which varies per deployment.
Hints are pluggable per deployment, meaning that a cloud can have custom hints which may not be available in another cloud.
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 (
anti-affinity
,affinity
,soft-anti-affinity
orsoft-affinity
). It is available whenServerGroupAffinityFilter
,ServerGroupAntiAffinityFilter
,ServerGroupSoftAntiAffinityWeigher
,ServerGroupSoftAffinityWeigher
are available on cloud side.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
SameHostFilter
is available on cloud side.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
JsonFilter
is available on cloud side.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
TargetCellFilter
is available on cloud side that is cell v1 environment.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
DifferentCellFilter
is available on cloud side that is cell v1 environment.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
). It is available whenSimpleCIDRAffinityFilter
is available on cloud side.os:scheduler_hints.cidr
body
string
Schedule the server on a host in the network specified with an IP address (
os:scheduler_hints:build_near_host_ip
) and this parameter. Ifos:scheduler_hints:build_near_host_ip
is specified and this parameter is omitted,/24
is used. It is available whenSimpleCIDRAffinityFilter
is available on cloud side.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 (
anti-affinity
,affinity
,soft-anti-affinity
orsoft-affinity
). It is available whenServerGroupAffinityFilter
,ServerGroupAntiAffinityFilter
,ServerGroupSoftAntiAffinityWeigher
,ServerGroupSoftAffinityWeigher
are available on cloud side.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
SameHostFilter
is available on cloud side.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
JsonFilter
is available on cloud side.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
TargetCellFilter
is available on cloud side that is cell v1 environment.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
DifferentCellFilter
is available on cloud side that is cell v1 environment.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:scheduler_hints.cidr
). It is available whenSimpleCIDRAffinityFilter
is available on cloud side.OS-SCH-HNT:scheduler_hints.cidr
body
string
Schedule the server on a host in the network specified with an IP address (
os:scheduler_hints:build_near_host_ip
) and this parameter. Ifos:scheduler_hints:build_near_host_ip
is specified and this parameter is omitted,/24
is used. It is available whenSimpleCIDRAffinityFilter
is available on cloud side.server.user_data
body
string
Configuration information or scripts to use upon launch. Must be Base64 encoded. Restricted to 65535 bytes.
Note
The
null
value allowed in Nova legacy v2 API, but due to the strict input validation, it isn’t allowed in Nova v2.1 API.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.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.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.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
cloud-init
to propagate it through to the instance.New in version 2.90
Schema
{ "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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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
400¶
Error
403¶
Error
409¶
Error
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
400¶
Error
403¶
Error
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
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-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.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.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.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.status |
body |
string |
The server status. |
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
Updates the editable attributes of an existing server.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404)
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id} API
server
body
object
A
server
object.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
OS-DCF:diskConfig
value from the image from which it was created, and an image inherits theOS-DCF:diskConfig
value from the server from which it was created. To override the inherited setting, you can include this attribute in the request body of a server create, rebuild, or resize request. If theOS-DCF:diskConfig
value for an image isMANUAL
, you cannot create a server from that image and set itsOS-DCF:diskConfig
value toAUTO
. A valid value is:AUTO
. The API builds the server with a single partition the size of the target flavor disk. The API automatically adjusts the file system to fit the entire partition.MANUAL
. The API builds the server by using whatever partition scheme and file system is in the source image. If the target flavor disk is larger, the API does not partition the remaining disk space.
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
cloud-init
to propagate it through to the instance.New in version 2.90
Schema
{ "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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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
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-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.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.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.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.status |
body |
string |
The server status. |
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
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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
confirmResize
body
null
The action to confirm a resize operation.
Schema
{ "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": { "type": "null", "description": "The action to confirm a resize operation." } }, "x-openstack": { "action-name": "confirmResize" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
revertResize
body
null
The action to revert a resize operation.
Schema
{ "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": { "type": "null", "description": "The action to revert a resize operation." } }, "x-openstack": { "action-name": "revertResize" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
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
HARD
andSOFT
. ASOFT
reboot attempts a graceful shutdown and restart of the server. AHARD
reboot attempts a forced shutdown and restart of the server. TheHARD
reboot corresponds to the power cycles of the server.Schema
{ "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
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¶
Description
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
Bad Request (400)
response code.resize.OS-DCF:diskConfig
body
string
Controls how the API partitions the disk when you create, rebuild, or resize servers. A server inherits the
OS-DCF:diskConfig
value from the image from which it was created, and an image inherits theOS-DCF:diskConfig
value from the server from which it was created. To override the inherited setting, you can include this attribute in the request body of a server create, rebuild, or resize request. If theOS-DCF:diskConfig
value for an image isMANUAL
, you cannot create a server from that image and set itsOS-DCF:diskConfig
value toAUTO
. A valid value is:AUTO
. The API builds the server with a single partition the size of the target flavor disk. The API automatically adjusts the file system to fit the entire partition.MANUAL
. The API builds the server by using whatever partition scheme and file system is in the source image. If the target flavor disk is larger, the API does not partition the remaining disk space.
Schema
{ "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
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¶
Description
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
ERROR
status.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 (
true
).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
OS-DCF:diskConfig
value from the image from which it was created, and an image inherits theOS-DCF:diskConfig
value from the server from which it was created. To override the inherited setting, you can include this attribute in the request body of a server create, rebuild, or resize request. If theOS-DCF:diskConfig
value for an image isMANUAL
, you cannot create a server from that image and set itsOS-DCF:diskConfig
value toAUTO
. A valid value is:AUTO
. The API builds the server with a single partition the size of the target flavor disk. The API automatically adjusts the file system to fit the entire partition.MANUAL
. The API builds the server by using whatever partition scheme and file system is in the source image. If the target flavor disk is larger, the API does not partition the remaining disk space.
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.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.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
null
is specified, the existing trusted certificate IDs are either unset or reset to the configured defaults.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
cloud-init
to propagate it through to the instance.New in version 2.90
Schema
{ "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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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-\u0cf2\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-\u0ecd\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
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¶
Description
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.
Schema
{ "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
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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
os-start
body
null
The action to start a stopped server.
Schema
{ "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": { "type": "null", "description": "The action to start a stopped server." } }, "x-openstack": { "action-name": "os-start" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
os-stop
body
null
The action to stop a running server.
Schema
{ "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": { "type": "null", "description": "The action to stop a running server." } }, "x-openstack": { "action-name": "os-stop" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Request¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
trigger_crash_dump
body
null
Schema
{ "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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
resetNetwork
body
null
The action.
Schema
{ "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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
injectNetworkInfo
body
null
The action.
Schema
{ "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": { "type": "null", "description": "The action." } }, "x-openstack": { "action-name": "injectNetworkInfo" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
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,
active
orerror
are valid.Schema
{ "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
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¶
Description
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.
Schema
{ "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
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¶
Description
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’.
Schema
{ "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
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
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¶
Description
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,
daily
.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.
Schema
{ "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
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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
restore
body
null
The action.
Schema
{ "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": { "type": "null", "description": "The action." } }, "x-openstack": { "action-name": "restore" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
forceDelete
body
null
The action.
Schema
{ "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": { "type": "null", "description": "The action." } }, "x-openstack": { "action-name": "forceDelete" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
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
force=True
set.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
onSharedStorage
is set toTrue
and this parameter is specified, an error is raised.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
force=True
set.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
Schema
{ "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
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
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¶
Description
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
address
and optionalfixed_address
.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.
Schema
{ "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
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¶
Description
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.
Schema
{ "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
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¶
Description
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
null
. Up to microversion 2.73, this parameter should benull
.Schema
{ "type": "object", "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)", "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" ] }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
unlock
body
null
The action to unlock a locked server.
Schema
{ "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": { "type": "null", "description": "The action to unlock a locked server." } }, "x-openstack": { "action-name": "unlock" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
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
null
. Up to microversion 2.55, this parameter should benull
.Schema
{ "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-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¶
Description
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
True
to enable over commit when the destination host is checked for available disk space. Set toFalse
to disable over commit. This setting affects only the libvirt virt driver.Available until version 2.25
os-migrateLive.disk_over_commit
body
[‘boolean’, ‘string’]
Set to
True
to enable over commit when the destination host is checked for available disk space. Set toFalse
to disable over commit. This setting affects only the libvirt virt driver.Available until version 2.25
os-migrateLive.host
body
[‘string’, ‘null’]
The host to which to migrate the server. If this parameter is
None
, the scheduler chooses a host.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
force=True
set.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
force=True
set.New in version 2.30
Available until version 2.67
Schema
{ "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
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¶
Description
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.
Schema
{ "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
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¶
Description
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.
Schema
{ "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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
pause
body
null
The action to pause a server.
Schema
{ "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": { "type": "null", "description": "The action to pause a server." } }, "x-openstack": { "action-name": "pause" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
unpause
body
null
The action to unpause a paused server.
Schema
{ "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": { "type": "null", "description": "The action to unpause a paused server." } }, "x-openstack": { "action-name": "unpause" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
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
novnc
.Schema
{ "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
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
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¶
Description
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
spice-html5
.Schema
{ "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
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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
os-getRDPConsole
body
null
The action.
Schema
{ "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
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
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¶
Description
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
serial
.Schema
{ "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
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
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¶
Description
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.
Schema
{ "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
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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
unrescue
body
null
The action to unrescue a server in rescue mode.
Schema
{ "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": { "type": "null", "description": "The action to unrescue a server in rescue mode." } }, "x-openstack": { "action-name": "unrescue" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
addSecurityGroup
body
null
The action to add a security group to a server.
Schema
{ "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": { "addSecurityGroup": { "type": "null", "description": "The action to add a security group to a server." } }, "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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
removeSecurityGroup
body
null
The action to remove a security group from the server.
Schema
{ "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": { "removeSecurityGroup": { "type": "null", "description": "The action to remove a security group from the server." } }, "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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
shelve
body
null
The action.
Schema
{ "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": { "type": "null", "description": "The action." } }, "x-openstack": { "action-name": "shelve" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
shelveOffload
body
null
The action.
Schema
{ "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": { "type": "null", "description": "The action." } }, "x-openstack": { "action-name": "shelveOffload" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
unshelve
body
[‘object’, ‘null’]
The action.
Schema
{ "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": { "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
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
suspend
body
null
The action to suspend a server.
Schema
{ "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": { "type": "null", "description": "The action to suspend a server." } }, "x-openstack": { "action-name": "suspend" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
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¶
Description
Name
Location
Type
Description
id
path
string
id parameter for /v2.1/servers/{id}/action API
resume
body
null
The action to resume a suspended server.
Schema
{ "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": { "type": "null", "description": "The action to resume a suspended server." } }, "x-openstack": { "action-name": "resume" } }
Responses¶
201¶
Ok
202¶
Accepted
204¶
Ok
400¶
Error
401¶
Error
403¶
Error
404¶
Error
409¶
Error
410¶
Error
501¶
Error
Creates a console for a server.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), gone(410)
Request¶
Description
Name
Location
Type
Description
server_id
path
string
server_id parameter for /v2.1/servers/{server_id}/consoles/{id} API
Schema
{ "type": "object", "description": "Request of the servers/server_id/consoles:post operation", "x-openstack": { "action-name": "create" } }
Responses¶
201¶
Ok
410¶
Error
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
Name |
Location |
Type |
Description |
---|---|---|---|
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 |
name |
body |
string |
Name |
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
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
Name |
Location |
Type |
Description |
---|---|---|---|
addresses |
body |
object |
The addresses information for the server. |
404¶
Error
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
404¶
Error
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
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 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¶
Description
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.
Schema
{ "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
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
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¶
Description
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.
Schema
{ "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
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
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
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
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¶
Description
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
Schema
{ "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
400¶
Error
403¶
Error
404¶
Error
409¶
Error
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
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
400¶
Error
404¶
Error
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
Name |
Location |
Type |
Description |
---|---|---|---|
instanceAction |
body |
object |
The instance action object. |
instanceAction.action |
body |
string |
The name of the action. |
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
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¶
Description
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
action in the request body.interfaceAttachment.net_id
body
string
The ID of the network for which you want to create a port interface. The
net_id
andport_id
parameters are mutually exclusive. If you do not specify thenet_id
parameter, the OpenStack Networking API v2.0 uses the network information cache that is associated with the instance.interfaceAttachment.port_id
body
string
The ID of the port for which you want to create an interface. The
net_id
andport_id
parameters are mutually exclusive. If you do not specify theport_id
parameter, the OpenStack Networking API v2.0 allocates a port and creates an interface for it on the network.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
Schema
{ "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
Name |
Location |
Type |
Description |
---|---|---|---|
interfaceAttachment |
body |
object |
The interface attachment. |
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
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
Name |
Location |
Type |
Description |
---|---|---|---|
interfaceAttachment |
body |
object |
The interface attachment. |
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
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
Name |
Location |
Type |
Description |
---|---|---|---|
password |
body |
string |
The password returned from metadata server. |
404¶
Error
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
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
410¶
Error
Attach a volume to an instance.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
Request¶
Description
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
device
andvolumeId
.volumeAttachment.volumeId
body
string
The UUID of the volume to attach.
volumeAttachment.device
body
[‘string’, ‘null’]
Name of the device such as,
/dev/vdb
. Omit or set this parameter to null for auto-assignment, if supported. If you specify this parameter, the device must not exist in the guest operating system. Note that as of the 12.0.0 Liberty release, the Nova libvirt driver no longer honors a user-supplied device name. This is the same behavior as if the device name parameter is not supplied on the request.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
true
. Otherwise, specifyfalse
. Default:false
New in version 2.79
Schema
{ "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
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.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Responses¶
200¶
Ok
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.
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¶
Description
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
volumeId
which is the UUID of the replacement volume, and other fields to update in the attachment.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,
/dev/vdb
.New in version 2.85
volumeAttachment.tag
body
string
The device tag applied to the volume block device or
null
.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
Schema
{ "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
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
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
404¶
Error
server-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
404¶
Error
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
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
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 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¶
Description
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.
Schema
{ "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¶
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)
Request¶
Description
Name
Location
Type
Description
server_id
path
string
server_id parameter for /v2.1/servers/{server_id}/tags/{id} API
Schema
{ "type": "object", "properties": { "tags": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 60, "pattern": "^[^,/]*$" }, "maxItems": 50, "description": "A list of tags. The maximum count of tags in this list is 50." } }, "additionalProperties": false, "x-openstack": { "min-ver": "2.26" }, "required": [ "tags" ], "title": "Server tags" }
Responses¶
200¶
Ok
404¶
Error
409¶
Error
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)
Responses¶
200¶
Ok
400¶
Error
404¶
Error
409¶
Error