Create server 3
Method | URI | Description |
---|---|---|
POST | /v2/{tenant_id}/servers | Creates a server with a block device mapping. |
Normal response codes: 202
- When an instance created using a Linux image is started or restarted, the sshd settings are initialized, and it may no longer be possible to log in to the instance. Refer to "Reboot server" for details on the required tasks.
- When the password of the user who registered (imported) the image is changed, the image can no longer be used. When the password of the user who registered (imported) the image is changed, the image can no longer be used.
- The location of the image following the change of image UUID and user authentication information
- The image UUID that was registered (imported) following the change of image UUID and user authentication information
- If the following message is displayed after instance creation as a "message" for the instance whose "status" is "ERROR" or "fault", please re-create an instance according to the procedure described in "Create server 1".
"Block Device Mapping is Invalid: Volume <Volume uuid> did not finish being
created even after we waited <Elapsed time (seconds)> seconds or <Volume status confirmation frequency> attempts."
Request
This table shows the URI parameters for the create server request:
Name | Type | Description |
---|---|---|
{tenant_id} | String | Project ID |
This table shows the body parameters for the create server request:
Name | Type | Description |
---|---|---|
security_group | String (Optional) |
One or more security_group objects. Specify the name of the security group in the name attribute. If you omit this attribute, the server is created in the default security group. Specify a security group for which TCP communication is permitted for the following IP address and port number. IP address: 169.254.169.254 Port number: 80 If TCP communication is not permitted, the host name (computer name) and administrator password may not be set when creating an instance. |
user_data | String (Optional) |
Configuration information or scripts to use upon launch. Must be Base64 encoded. The main formats that are supported are as follows:
If Linux, cloud-config files can also be specified, but since verification has not been completed, we recommend using Shell scripts. |
availability_zone | String (Optional) |
The availability zone in which to launch the server. |
server | ServerForCreate | server. |
imageRef | String | The image reference for the desired image for your server instance. Specify as an ID or full URL. |
flavorRef | String | The flavor reference for the desired flavor for your server instance. Specify as an ID or full URL. |
key_name | String (Optional) |
Assigns the public key of the named keypair to the server. When not assigning a key pair, do not specify key_name. Specifying "" (null character) for key_name will result in an error. |
networks | String (Optional) |
A networks object. By default, the server instance is provisioned with all isolated networks for the project. Optionally, you can create one or more NICs on the server. To provision the server instance with a NIC for a network, specify the UUID of the network in the uuid attribute in a networks object. To provision the server instance with a NIC for an already existing port, specify the port-id in the port attribute in a networks object. You can specify multiple NICs on the server. Ensure that the network is specified. To set the following information for a virtual server, a virtual router must be connected to the network that the virtual server will be connected to.
|
uuid | String (Optional) |
To provision the server instance with a NIC for a network, specify the UUID of the network in the uuid attribute in a networks object. Required if you omit the port attribute. If the network includes multiple subnets, IP addresses will be allocated from any subnet. To allocate an IP address of a specific subnet, create a port in advance, and specify the uuid of that port in port. |
port | String (Optional) |
To provision the server instance with a NIC for an already existing port, specify the port-id in the port attribute in a networks object. Required if you omit the uuid attribute. |
fixed_ip | String (Optional) |
A fixed IPv4 address for the NIC. |
name | String | The server name. This information is also used as the computer name/host name. If 64 characters or more are specified:
The string set for the computer name/host name is changed as follows:
|
metadata | String (Optional) |
Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.
|
block_device_mapping_v2 | String | Enables booting the server from a volume when additional parameters are given. |
device_name | String | Describes a path to the device for the volume you want to use to boot the server. Specify this item in /dev/vddeviceName format. /dev/vd is fixed, and for deviceName, specify one or more characters (lowercase only) that are valid as a device name. Note: When using a number in the device name of the system volume, perform specification using the following format.
"/dev/vd" + one or more alphabetical characters (lowercase only) + number (ensure there are no alphabetical characters between numbers) Example: /dev/vda0 , /dev/vda1 , etc. When creating an instance that is allocated multiple volumes, for the boot volume, specify the character with highest priority among the device names of all volumes. The order of priority is a > b > c > ... |
source_type | String | Describes the volume source type for the volume. Choices are "snapshot", "volume", or "image". |
destination_type | String | Specifies the connection destination ("volume"). |
delete_on_termination | bool (Optional) |
Specifies whether volumes created during the instance creation will be deleted when the instance is deleted. When "True" is specified, volumes during instance creation will also be deleted when the instance is deleted. When "False" is specified, the volumes created during instance creation will not be deleted when the instance is deleted. If not specified, "False" (do not delete) will be used. The volume where snapshots are collected will not be deleted even if "True" is specified. |
boot_index | String | Specifies the device start order. Specify sequential values, starting from 0. For the boot disk, specify "0". |
config_drive | String (Optional) |
Only "false" can be specified. |
uuid | uuid | Specifies the UUID of the resource specified for source_type. |
volume_size | String | Specify the volume size in GB. This item must be specified when "image" is specified for source_type. Specify a value equal to or higher than the min_disk parameter of the image to be used. If the min_disk parameter of the image to be used has not been specified or is "0", check the minimum size with the image provider and specify the value accordingly. If "volume" was specified for source_type, this item will be ignored even if a value is specified. If "snapshot" was specified for source_type, and this item is omitted, the volume size of the snapshot collection source will be used. |
Example. Create server: JSON request
{
"server": {
"name": "new-server-test",
"imageRef": "b5660a6e-4b46-4be3-9707-6b47221b454f",
"flavorRef": "2",
"key_name": "keypair1",
"metadata": {
"My Server Name": "Apache1"
},
"block_device_mapping_v2": [
{
"device_name": "/dev/vda",
"source_type": "image",
"destination_type": "volume",
"volume_size": "20",
"boot_index": "0",
"uuid": "6cbf9710-87e3-4a36-8116-9b3396882621",
"delete_on_termination": "True"
},
{
"device_name": "/dev/vdb",
"source_type": "volume",
"destination_type": "volume",
"boot_index": "1",
"uuid": "0a273d8d-c5e1-4886-bd93-1d1779283fa3",
"delete_on_termination": "True"
},
{
"device_name": "/dev/vdc",
"source_type": "snapshot",
"destination_type": "volume",
"volume_size": "30",
"boot_index": "2",
"uuid": "492eac4d-6c12-4828-b0ec-75d3bff0bd4b",
"delete_on_termination": "True"
}
]
}
}
Response
Example. Create server: JSON response
{
"server": {
"adminPass": "N4x7wFX6iN8D",
"id": "babd1af0-4fc6-4529-b32f-aad69811ccf5",
"links": [
{
"href": "http://openstack.example.com/v2/openstack/servers/babd1af0-4fc6-4529-b32f-aad69811ccf5",
"rel": "self"
},
{
"href": "http://openstack.example.com/openstack/servers/babd1af0-4fc6-4529-b32f-aad69811ccf5",
"rel": "bookmark"
}
]
}
}