在配置虚拟客户端时,我尝试使用以下REST API将SSH密钥添加到虚拟客户端,但它不起作用。
url: https://api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest.json
body:
{"parameters": [{"datacenter": {"name": "lon02"}, "domain": "softlayer.com", "hourlyBillingFlag": true, "blockDeviceTemplateGroup": {"globalIdentifier": "2e9bba22-c88a-4e3b-87af-45fb8fc4531e"}, "localDiskFlag": true, "maxMemory": 4096, "hostname": "bosh-sl-test", "startCpus": 4, "primaryBackendNetworkComponent": {"networkVlan": {"id": 524954}}, "sshKeys": [{"id": 886121}], "primaryNetworkComponent": {"networkVlan": {"id": 524956}}}]}
答案 0 :(得分:0)
JSON结构是正确的,我能够创建具有相同结构的VSI。您使用的网址不完整但也有效,完整的网址使用方法SoftLayer_Virtual_Guest::createObject,如下所示:
https://[user_name]:[api_key]@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/createObject
Method: POST
考虑到SshKey不会显示在响应中(它不会立即可用),您需要等到配置完成。
要验证是否添加了SshKey,您可以使用以下方法SoftLayer_Virtual_Guest::getObject或SoftLayer_Virtual_Guest::getSshKeys:
https://[user_name]:[api_key]@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/[deviceId]/getObject?objectMask=mask[sshKeys]
OR
https://[user_name]:[api_key]@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/[deviceId]/getSshKeys
注意:使用您自己的数据更改 [user_name] , [api_key] 和 [deviceId] 。