Create Virtual Machine Custom Specification
Headers
Authorization: OAuth the-session-uuidBody
{
"params": {
"name": "custom-specification-for-vm-1",
"description": "Test",
"platform": "Windows",
"hostname": "vm-1",
"rootPassword": "password",
"generateSID": true,
"domainMode": "Domain",
"domainName": "zsv.test",
"domainUsername": "administrator",
"domainPassword": "password",
"organization": "OU=zsv,DC=zsv,DC=test"
},
"systemTags": [],
"userTags": []
}In the example above, systemTags and userTags fields can be omitted. They are listed to indicate that these two fields can be included in the body.
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"custom-specification-for-vm-1","description":"Test","platform":"Windows","hostname":"vm-1","rootPassword":"password","generateSID":true,"domainMode":"Domain","domainName":"zsv.test","domainUsername":"administrator","domainPassword":"password","organization":"OU=zsv,DC=zsv,DC=test"}}' \
http://localhost:8080/zstack/v1/vm-custom-specificationsParameter List
Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
name | String | body(included in the | Resource name |
| 4.10.18 |
description (Optional) | String | body(included in the | Detailed description of the resource |
| 4.10.18 |
platform | String | body(included in the | Virtual Machine Operating System Platform Type |
| 4.10.18 |
hostname (Optional) | String | body(included in the | Host Name |
| 4.10.18 |
rootPassword (Optional) | String | body(included in the | Administrator Password |
| 4.10.18 |
generateSID (Optional) | Boolean | body(included in the | Whether to Generate SID |
| 4.10.18 |
domainMode (Optional) | String | body(included in the | Domain Join Mode |
| 4.10.18 |
domainName (Optional) | String | body(included in the | Domain Name or Workgroup Name |
| 4.10.18 |
domainUsername (Optional) | String | body(included in the | Domain Username |
| 4.10.18 |
domainPassword (Optional) | String | body(included in the | Domain User Password |
| 4.10.18 |
organization (Optional) | String | body(included in the | Organization Unit |
| 4.10.18 |
resourceUuid (Optional) | String | body(included in the | Resource UUID |
| 4.10.18 |
tagUuids (Optional) | List | body(included in the | Tag UUID List |
| 4.10.18 |
systemTags (Optional) | List | body | System Tag |
| 4.10.18 |
userTags (Optional) | List | body | User Tag |
| 4.10.18 |
API Response
Response Example
{
"inventory": {
"uuid": "ff0a9e874342368bb28daaf2c9b3cc00",
"vmInstanceUuid": "ff01ec80fd11327cba7519b66119d900",
"name": "custom-specification-for-vm-1",
"description": "Test",
"platform": "Windows",
"hostname": "vm-1",
"rootPassword": "password",
"generateSID": true,
"domainMode": "Domain",
"domainName": "zsv.test",
"domainUsername": "test",
"domainPassword": "password",
"organization": "OU=zsv,DC=zsv,DC=test"
}
}| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether the request is successful | 4.10.18 |
| inventory | VmCustomSpecificationInventory | For details, see inventory | 4.10.18 |
| error | ErrorCode | For details, see error | 4.10.18 |
inventory
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | UUID of the resource, uniquely identifying the resource | 4.10.18 |
| vmInstanceUuid | String | Virtual Machine UUID | 4.10.18 |
| name | String | Resource name | 4.10.18 |
| description | String | Detailed description of the resource | 4.10.18 |
| platform | String | Virtual Machine Operating System Platform Type | 4.10.18 |
| hostname | String | Host Name | 4.10.18 |
| generateSID | Boolean | Whether to Generate SID | 4.10.18 |
| domainName | String | Domain Name or Workgroup Name | 4.10.18 |
| domainUsername | String | Domain Username | 4.10.18 |
| organization | String | Organization Unit | 4.10.18 |
| createDate | Timestamp | Create time | 4.10.18 |
| lastOpDate | Timestamp | Last modification time | 4.10.18 |
| domainMode | VmCustomSpecificationDomainMode | For details, see domainMode | 4.10.18 |
domainMode
| Name | Type | Description | Starting Version |
|---|---|---|---|
| WorkGroup | VmCustomSpecificationDomainMode | Workgroup | 4.10.18 |
| Domain | VmCustomSpecificationDomainMode | Domain | 4.10.18 |
error
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code number, globally unique identifier of the error, for example SYS.1000, HOST.1001 | 0.6 |
| description | String | Brief description of the error | 0.6 |
| details | String | Detailed error information | 0.6 |
| elaboration | String | Reserved field, default is null | 0.6 |
| opaque | LinkedHashMap | Reserved field, default is null | 0.6 |
| cause | ErrorCode | Root cause: the source error that triggered the current error. If there is no original error, this field is null | 0.6 |
SDK Examples
Java SDK
CreateVmCustomSpecificationAction action = new CreateVmCustomSpecificationAction();
action.name = "custom-specification-for-vm-1";
action.description = "Test";
action.platform = "Windows";
action.hostname = "vm-1";
action.rootPassword = "password";
action.generateSID = true;
action.domainMode = "Domain";
action.domainName = "zsv.test";
action.domainUsername = "administrator";
action.domainPassword = "password";
action.organization = "OU=zsv,DC=zsv,DC=test";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateVmCustomSpecificationAction.Result res = action.call();Python SDK
action = CreateVmCustomSpecificationAction()
action.name = "custom-specification-for-vm-1"
action.description = "Test"
action.platform = "Windows"
action.hostname = "vm-1"
action.rootPassword = "password"
action.generateSID = true
action.domainMode = "Domain"
action.domainName = "zsv.test"
action.domainUsername = "administrator"
action.domainPassword = "password"
action.organization = "OU=zsv,DC=zsv,DC=test"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()