Document navigation

SetVmSshKey

Set Virtual Machine Ssh Key

API Request

URLs
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": []
}
Note: In the preceding example, the systemTags and userTags fields can be omitted. They are shown 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
Name Type Location Description Allowed Values Starting Version
uuid String url Resource UUID, which uniquely identifies the resource 0.6
SshKey String body (included in the setVmSshKey structure) The SshKey value. 0.6
systemTags (Optional) List body System tags 0.6
userTags (Optional) List body User tags 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 2:20:57 PM",
    "lastOpDate": "Nov 14, 2017 2: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,
        "createDate": "Nov 14, 2017 2:20:57 PM",
        "lastOpDate": "Nov 14, 2017 2: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 2:20:57 PM",
        "lastOpDate": "Nov 14, 2017 2:20:57 PM"
      }
    ]
  }
}
Name Type Description Starting Version
success boolean Whether the operation succeeded. 0.6
error ErrorCode Error code. If this field is not null, the operation failed. This field is null when the operation succeeds. For details, see error 0.6
inventory VmInstanceInventory For details, see inventory 0.6
#error
Name Type Description Starting Version
code String Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 0.6
description String Summary description of the error 0.6
details String Details of the error 0.6
elaboration String Reserved field. The default value is null 0.6
opaque LinkedHashMap Reserved field. The default value is null 0.6
cause ErrorCode Root error that caused the current error. This field is null if there is no source error 0.6
#inventory
Name Type Description Starting Version
uuid String Resource UUID, which uniquely identifies the resource 0.6
name String Resource name 0.6
description String Detailed resource description 0.6
zoneUuid String Data Center UUID 0.6
clusterUuid String Cluster UUID 0.6
imageUuid String Image UUID 0.6
hostUuid String Host UUID 0.6
lastHostUuid String Last Host UUID 0.6
instanceOfferingUuid String Instance Offering UUID 0.6
rootVolumeUuid String Root disk UUID 0.6
platform String Virtual Machine platform type, Windows / Linux / Other 0.6
architecture String Virtual Machine architecture, x86_64 / aarch64 / Other 0.6
defaultL3NetworkUuid String Default Distributed Port Group UUID 0.6
type String Virtual Machine type, User virtual machine or platform special purpose virtual machine 0.6
hypervisorType String Virtual Machine hypervisor type, typically KVM 0.6
memorySize Long Memory size 0.6
cpuNum Integer CPU number 0.6
cpuSpeed Long CPU speed 0.6
allocatorStrategy String Virtual Machine allocation strategy 0.6
createDate Timestamp Creation time 0.6
lastOpDate Timestamp Last modification time 0.6
state String Virtual Machine enabled state 0.6
guestOsType String Virtual Machine host operating system type 3.11.2
vmNics List For details, see vmNics 0.6
allVolumes List For details, see allVolumes 0.6
vmCdRoms List For details, see vmCdRoms 0.6
#vmNics
Name Type Description Starting Version
uuid String Resource UUID, which uniquely identifies the resource 3.17.13
vmInstanceUuid String Virtual Machine UUID 3.17.13
l3NetworkUuid String Distributed Port Group UUID 3.17.13
ip String The IP address. 3.17.13
mac String The MAC address. 3.17.13
hypervisorType String The hypervisor type. 3.17.13
netmask String The netmask. 3.17.13
gateway String The gateway IP address. 3.17.13
metaData String The metadata. 3.17.13
ipVersion Integer The IP version. 3.17.13
driverType String The driver type. 3.17.13
internalName String The internal name. 3.17.13
deviceId Integer The device ID. 3.17.13
type String The resource type. 3.17.13
state String NIC Status 3.17.13
createDate Timestamp Creation time 3.17.13
lastOpDate Timestamp Last modification time 3.17.13
usedIps List For details, see usedIps 3.17.13
#usedIps
Name Type Description Starting Version
uuid String Resource UUID, which uniquely identifies the resource 4.10.0
ipRangeUuid String IP Range UUID 4.10.0
l3NetworkUuid String Distributed Port Group UUID 4.10.0
ipVersion Integer IP protocol number 4.10.0
ip String IP address 4.10.0
netmask String Subnet mask 4.10.0
gateway String Gateway address 4.10.0
usedFor String Allocation reason 4.10.0
ipInLong long Long stored IP address, only valid for ipv4 4.10.0
vmNicUuid String Virtual Machine NIC UUID 4.10.0
createDate Timestamp Creation time 4.10.0
lastOpDate Timestamp Last modification time 4.10.0
#allVolumes
Name Type Description Starting Version
uuid String Resource UUID, which uniquely identifies the resource 3.17.13
name String Resource name 3.17.13
description String Detailed resource description 3.17.13
primaryStorageUuid String Data Storage UUID 3.17.13
vmInstanceUuid String Virtual Machine UUID 3.17.13
diskOfferingUuid String Disk Offering UUID 3.17.13
rootImageUuid String The root image UUID. 3.17.13
installPath String The installation path. 3.17.13
type String The resource type. 3.17.13
format String The format. 3.17.13
size Long The size. 3.17.13
actualSize Long The actual size. 3.17.13
deviceId Integer The device ID. 3.17.13
state String The resource state. 3.17.13
status String The resource status. 3.17.13
createDate Timestamp Creation time 3.17.13
lastOpDate Timestamp Last modification time 3.17.13
isShareable Boolean Whether the resource is shareable. 3.17.13
volumeQos String The volume QoS. 3.17.13
lastDetachDate Timestamp The last detach date. 3.17.13
lastVmInstanceUuid String The last VM instance UUID. 3.17.13
encrypted Boolean Whether the resource is encrypted. 5.1.0
#vmCdRoms
Name Type Description Starting Version
uuid String Resource UUID, which uniquely identifies the resource 3.17.13
vmInstanceUuid String Virtual Machine UUID 3.17.13
deviceId Integer The device ID. 3.17.13
isoUuid String The ISO UUID. 3.17.13
isoInstallPath String The ISO install path. 3.17.13
name String Resource name 3.17.13
description String Detailed resource description 3.17.13
createDate Timestamp Creation time 3.17.13
lastOpDate Timestamp Last modification time 3.17.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()
API Reference | ZStack ZSphere · ZVF | ZStack Resource Center