VM Related Interfaces

Set Virtual Machine SSH Key

PUT/zstack/v1/vm-instances/{uuid}/actions

Headers

Authorization: OAuth the-session-uuid

Body

{
  "setVmSshKey": {
    "SshKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCaaV5YUvz9nx54+pvxIe5L5uQFHFQsvpwRdVRfMObIgWgcliB9vl4hMCPHXfaKqJD79jBpwJWpUBPebKF7vgevWqFJeUgR/LBHTfOnRrEjVsSzanaGGzfjbrwMHdZ5YJVhDTE376+OuXz1Wu5M1mwcarJpcanmqNgyz8YhYjc50xKDusDVvtpLKxdC6WvhR0+7gaDJKkukip1Up8doOUeNUe2cObJfMoOgi2lNrtKorGp1O7Nv+mdTflboYizgQOCFReiW/1ipPjX06OMZZ3Tsx3ZwBib5ocDpLV9CjONvnDBygWb30wydVoUSp1hKIzlWPkfyWHjxCf9pvLcHGUXZ root@10-0-98-199"
  },
  "systemTags": [],
  "userTags": []
}

In the example above, systemTags and userTags fields can be omitted. They are listed to indicate that the body can contain these two fields.

Curl Example

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"setVmSshKey":{"SshKey":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCaaV5YUvz9nx54+pvxIe5L5uQFHFQsvpwRdVRfMObIgWgcliB9vl4hMCPHXfaKqJD79jBpwJWpUBPebKF7vgevWqFJeUgR/LBHTfOnRrEjVsSzanaGGzfjbrwMHdZ5YJVhDTE376+OuXz1Wu5M1mwcarJpcanmqNgyz8YhYjc50xKDusDVvtpLKxdC6WvhR0+7gaDJKkukip1Up8doOUeNUe2cObJfMoOgi2lNrtKorGp1O7Nv+mdTflboYizgQOCFReiW/1ipPjX06OMZZ3Tsx3ZwBib5ocDpLV9CjONvnDBygWb30wydVoUSp1hKIzlWPkfyWHjxCf9pvLcHGUXZ root@10-0-98-199"}}' \
http://localhost:8080/zstack/v1/vm-instances/6489aaa605a633a385c84e08f743234b/actions

Parameter List

NameTypeLocationDescriptionAllowed ValuesStarting Version
uuidStringurlUUID of the resource, uniquely identifies the resource 0.6
SshKeyStringbody (contained in the setVmSshKey structure)  0.6
systemTags (Optional)ListbodySystem Tag 0.6
userTags (Optional)ListbodyUser Tag 0.6

API Response

Response Example

{
  "inventory": {
    "uuid": "a9ac797c56ef3f3cbf507ae40aec4f27",
    "name": "Test-VM",
    "description": "web server VM",
    "zoneUuid": "2e70982580653273908fb2d9119c6f39",
    "clusterUuid": "d528e795695c3160bdf263e14fa1457b",
    "imageUuid": "e4682534b58436e1b485b9551d0feae7",
    "hostUuid": "a6d8de59ab5837adaef38c9f80609011",
    "lastHostUuid": "0fd913e716e83b029d22cff8eccd9ca0",
    "instanceOfferingUuid": "5509f4e5355e36629d7e8467a27bd67f",
    "rootVolumeUuid": "f7e96fc9d7413cd2b5aaf6099b66a8e1",
    "platform": "Linux",
    "defaultL3NetworkUuid": "016e9ab79d383faa941b37f9b3e7f2da",
    "type": "UserVm",
    "hypervisorType": "KVM",
    "memorySize": 8589934592,
    "cpuNum": 1,
    "allocatorStrategy": "LastHostPreferredAllocatorStrategy",
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM",
    "state": "Stopped",
    "vmNics": [
      {
        "uuid": "2c2dffad4d8c3f51a693ac77c0ce61ce",
        "vmInstanceUuid": "a9ac797c56ef3f3cbf507ae40aec4f27",
        "usedIpUuid": "9e59064f42813027940517780bb7c4d9",
        "l3NetworkUuid": "016e9ab79d383faa941b37f9b3e7f2da",
        "ip": "192.168.1.10",
        "mac": "00:0c:29:bd:99:fc",
        "hypervisorType": "KVM",
        "netmask": "255.255.255.0",
        "gateway": "192.168.1.1",
        "deviceId": 0,
        "state": "enable",
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "lastOpDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "allVolumes": [
      {
        "uuid": "f7e96fc9d7413cd2b5aaf6099b66a8e1",
        "name": "Root-Volume-For-VM-a9ac797c56ef3f3cbf507ae40aec4f27",
        "primaryStorageUuid": "0155f19398db3bfdafebfd3b5f2f70cf",
        "vmInstanceUuid": "a9ac797c56ef3f3cbf507ae40aec4f27",
        "diskOfferingUuid": "a6479afc6363359aa38a76235a2ff1d2",
        "rootImageUuid": "e4682534b58436e1b485b9551d0feae7",
        "installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol-f7e96fc9d7413cd2b5aaf6099b66a8e1/f7e96fc9d7413cd2b5aaf6099b66a8e1.qcow2",
        "type": "Root",
        "format": "qcow2",
        "size": 107374182400,
        "actualSize": 21474836480,
        "deviceId": 0,
        "state": "Enabled",
        "status": "Ready",
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "lastOpDate": "Nov 14, 2017 10:20:57 PM"
      }
    ]
  }
}
NameTypeDescriptionStarting Version
successboolean 0.6
errorErrorCodeError code. If not null, the operation failed. This field is null when the operation is successful. For details, see error0.6
inventoryVmInstanceInventoryFor details, see inventory0.6

error

NameTypeDescriptionStarting Version
codeStringError code number, a globally unique identifier for the error, for example SYS.1000, HOST.10010.6
descriptionStringBrief description of the error0.6
detailsStringDetailed error information0.6
elaborationStringReserved field, defaults to null0.6
opaqueLinkedHashMapReserved field, defaults to null0.6
causeErrorCodeRoot cause. The source error that caused the current error. If there is no original error, this field is null0.6

inventory

NameTypeDescriptionStarting Version
uuidStringUUID of the resource, uniquely identifies the resource0.6
nameStringResource name0.6
descriptionStringDetailed description of the resource0.6
zoneUuidStringData Center UUID0.6
clusterUuidStringCluster UUID0.6
imageUuidStringImage UUID0.6
hostUuidStringHost UUID0.6
lastHostUuidString 0.6
instanceOfferingUuidStringCompute Offering UUID0.6
rootVolumeUuidStringRoot Disk UUID0.6
platformString 0.6
architectureString 0.6
defaultL3NetworkUuidString 0.6
typeString 0.6
hypervisorTypeString 0.6
memorySizeLong 0.6
cpuNumInteger 0.6
cpuSpeedLong 0.6
allocatorStrategyString 0.6
createDateTimestampCreate time0.6
lastOpDateTimestampLast modification time0.6
stateString 0.6
guestOsTypeString 4.1.2
vmNicsListFor details, see vmNics0.6
allVolumesListFor details, see allVolumes0.6
vmCdRomsListFor details, see vmCdRoms0.6

vmNics

NameTypeDescriptionStarting Version
uuidStringUUID of the resource, uniquely identifies the resource0.6
vmInstanceUuidStringVirtual Machine UUID0.6
l3NetworkUuidStringDistributed Port Group UUID0.6
ipString 0.6
macString 0.6
hypervisorTypeString 4.7.13
netmaskString 0.6
gatewayString 0.6
metaDataString 0.6
ipVersionIntegerIP protocol number3.1.0
driverTypeString 4.7.13
internalNameString 4.7.13
deviceIdInteger 0.6
typeString 4.7.13
stateStringNIC state4.7.13
createDateTimestampCreate time0.6
lastOpDateTimestampLast modification time0.6
usedIpsListFor details, see usedIps0.6

usedIps

NameTypeDescriptionStarting Version
uuidStringUUID of the resource, uniquely identifies the resource0.6
ipRangeUuidStringIP Range UUID0.6
l3NetworkUuidStringDistributed Port Group UUID0.6
ipVersionIntegerIP protocol number3.1.0
ipStringIP address0.6
netmaskStringNetwork mask0.6
gatewayStringGateway address0.6
usedForString 0.6
ipInLonglong 0.6
vmNicUuidStringVirtual Machine NIC UUID3.1.0
createDateTimestampCreate time0.6
lastOpDateTimestampLast modification time0.6

allVolumes

NameTypeDescriptionStarting Version
uuidStringUUID of the resource, uniquely identifies the resource0.6
nameStringResource name0.6
descriptionStringDetailed description of the resource0.6
primaryStorageUuidStringData Storage UUID0.6
vmInstanceUuidStringVirtual Machine UUID0.6
diskOfferingUuidStringDisk Offering UUID0.6
rootImageUuidString 0.6
installPathString 0.6
typeString 0.6
formatString 0.6
sizeLong 0.6
actualSizeLong 0.6
deviceIdInteger 0.6
stateString 0.6
statusString 0.6
createDateTimestampCreate time0.6
lastOpDateTimestampLast modification time0.6
isShareableBoolean 0.6
volumeQosString 4.7.13
lastDetachDateTimestamp 4.7.13
lastVmInstanceUuidString 4.7.13

vmCdRoms

NameTypeDescriptionStarting Version
uuidStringUUID of the resource, uniquely identifies the resource4.7.13
vmInstanceUuidStringVirtual Machine UUID4.7.13
deviceIdInteger 4.7.13
isoUuidString 4.7.13
isoInstallPathString 4.7.13
nameStringResource name4.7.13
descriptionStringDetailed description of the resource4.7.13
createDateTimestampCreate time4.7.13
lastOpDateTimestampLast modification time4.7.13

SDK Examples

Java SDK

SetVmSshKeyAction action = new SetVmSshKeyAction();
action.uuid = "6489aaa605a633a385c84e08f743234b";
action.SshKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCaaV5YUvz9nx54+pvxIe5L5uQFHFQsvpwRdVRfMObIgWgcliB9vl4hMCPHXfaKqJD79jBpwJWpUBPebKF7vgevWqFJeUgR/LBHTfOnRrEjVsSzanaGGzfjbrwMHdZ5YJVhDTE376+OuXz1Wu5M1mwcarJpcanmqNgyz8YhYjc50xKDusDVvtpLKxdC6WvhR0+7gaDJKkukip1Up8doOUeNUe2cObJfMoOgi2lNrtKorGp1O7Nv+mdTflboYizgQOCFReiW/1ipPjX06OMZZ3Tsx3ZwBib5ocDpLV9CjONvnDBygWb30wydVoUSp1hKIzlWPkfyWHjxCf9pvLcHGUXZ root@10-0-98-199";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
SetVmSshKeyAction.Result res = action.call();

Python SDK

action = SetVmSshKeyAction()
action.uuid = "6489aaa605a633a385c84e08f743234b"
action.SshKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCaaV5YUvz9nx54+pvxIe5L5uQFHFQsvpwRdVRfMObIgWgcliB9vl4hMCPHXfaKqJD79jBpwJWpUBPebKF7vgevWqFJeUgR/LBHTfOnRrEjVsSzanaGGzfjbrwMHdZ5YJVhDTE376+OuXz1Wu5M1mwcarJpcanmqNgyz8YhYjc50xKDusDVvtpLKxdC6WvhR0+7gaDJKkukip1Up8doOUeNUe2cObJfMoOgi2lNrtKorGp1O7Nv+mdTflboYizgQOCFReiW/1ipPjX06OMZZ3Tsx3ZwBib5ocDpLV9CjONvnDBygWb30wydVoUSp1hKIzlWPkfyWHjxCf9pvLcHGUXZ root@10-0-98-199"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()