VM Related InterfacesvTPM-related APIs

Add a TPM to a VM

POST/zstack/v1/tpms

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "keyProviderUuid": "ff03c7091617357eb4022d11c6860e00",
    "vmInstanceUuid": "ff01ec80fd11327cba7519b66119d900"
  },
  "systemTags": [],
  "userTags": []
}

In the preceding example, the 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 POST -d '{"params":{"keyProviderUuid":"ff03c7091617357eb4022d11c6860e00","vmInstanceUuid":"ff01ec80fd11327cba7519b66119d900"}}' \
http://localhost:8080/zstack/v1/tpms

Parameters

NameTypeLocationDescriptionValid ValuesSince
keyProviderUuid (optional)Stringbody(contained in the params structure)Key provider UUID 5.0.0
vmInstanceUuidStringbody(contained in the params structure)VM UUID 5.0.0
resourceUuid (optional)Stringbody(contained in the params structure)Resource UUID 5.0.0
tagUuids (optional)Listbody(contained in the params structure)Tag UUID list 5.0.0
systemTags (optional)ListbodySystem tags 5.0.0
userTags (optional)ListbodyUser tags 5.0.0

API Response

Response Example

{
  "inventory": {
    "uuid": "ff00de2d3ab43127b1abdac68f1e7f00",
    "name": "TPM-for-VM-ff01ec80fd11327cba7519b66119d900",
    "vmInstanceUuid": "ff01ec80fd11327cba7519b66119d900",
    "createDate": "Nov 14, 2017 2:20:57 PM",
    "lastOpDate": "Nov 14, 2017 2:20:57 PM"
  }
}
NameTypeDescriptionSince
successbooleanWhether the add operation succeeded5.0.0
inventoryTpmInventoryFor details, see inventory5.0.0
errorErrorCodeFor details, see error5.0.0

inventory

NameTypeDescriptionSince
uuidStringTPM UUID5.0.0
nameStringTPM resource name5.0.0
vmInstanceUuidStringVM UUID5.0.0
createDateTimestampCreation time5.0.0
lastOpDateTimestampLast modification time5.0.0
hostRefsListFor details, see hostRefs5.0.0

hostRefs

NameTypeDescriptionSince
uuidStringRelated file UUID5.0.0
vmInstanceUuidStringVM UUID5.0.0
hostUuidStringHost UUID5.0.0
typeStringFile type, classified by usage. Possible values are NvRam or TpmState5.0.0
pathStringPath of the related file or directory on the host5.0.0
createDateTimestampCreation time5.0.0
lastOpDateTimestampLast modification time5.0.0

error

NameTypeDescriptionSince
codeStringError code, a globally unique identifier of the error, for example, SYS.1000 or HOST.10010.6
descriptionStringBrief description of the error0.6
detailsStringDetailed information about the error0.6
elaborationStringReserved field. The default value is null0.6
opaqueLinkedHashMapReserved field. The default value is null0.6
causeErrorCodeRoot error, which is the source error that caused the current error. If there is no source error, this field is null0.6

SDK Example

Java SDK

AddTpmAction action = new AddTpmAction();
action.keyProviderUuid = "ff03c7091617357eb4022d11c6860e00";
action.vmInstanceUuid = "ff01ec80fd11327cba7519b66119d900";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddTpmAction.Result res = action.call();

Python SDK

action = AddTpmAction()
action.keyProviderUuid = "ff03c7091617357eb4022d11c6860e00"
action.vmInstanceUuid = "ff01ec80fd11327cba7519b66119d900"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()