SimonF5's Posts

Hello friends@vmware I need to use the rest API to set metadata but it always failed with 400. Can someone please take a look ? I used base64 to encode the metadata.  Based on the documentation (ht... See more...
Hello friends@vmware I need to use the rest API to set metadata but it always failed with 400. Can someone please take a look ? I used base64 to encode the metadata.  Based on the documentation (https://developer.vmware.com/apis/vsphere-automation/latest/vcenter/api/vcenter/vm/vm/guest/customization/put/ ), below is a good payload: { "spec": { "configuration_spec": { "cloud_config": { "cloudinit": { "metadata": "aW5zdGFuY2UtaWQ6IGJpZy1pcC1uZXh0CmxvY2FsLWhvc3RuYW1lOiBiaWctaXAtbmV4dApkc21vZGU6IGxvY2FsCm5ldHdvcms6CiAgdmVyc2lvbjogMgogIGV0aGVybmV0czoKICAjIG9wYXF1ZSBJRCBmb3IgcGh5c2ljYWwgaW50ZXJmYWNlcywgb25seSByZWZlcnJlZCB0byBieSBvdGhlciBzdGFuemFzCiAgICBlbnMxNjA6CiAgICAgIGFkZHJlc3NlczoKICAgICAgICAtIDEwLjE0Ni4xNjguMS8yNAogICAgICBnYXRld2F5NDogMTAuMS4xLjEKICAgICAgbmFtZXNlcnZlcnM6CiAgICAgICAgYWRkcmVzc2VzOiBbMTAuMS4xLjFd" }, "type": "CLOUDINIT" } }, "global_DNS_settings": {}, "interfaces": [ { "adapter": { "ipv4": { "type": "STATIC" } } } ] } } However, when I use curl to send the request, it failed. Below is the request and response .  ---------- Request --------------- curl -ki -X PUT -H "vmware-api-session-id: $sessionID" -H "Content-Type: application/json" -d '{"spec":{"configuration_spec":{"cloud_config":{"cloudinit":{"metadata":"bmV0d29yazoKICB2ZXJzaW9uOiAyCiAgZXRoZXJuZXRzOgogICMgb3BhcXVlIElEIGZvciBwaHlzaWNhbCBpbnRlcmZhY2VzLCBvbmx5IHJlZmVycmVkIHRvIGJ5IG90aGVyIHN0YW56YXMKICAgIGVuczE2MDoKICAgICAgYWRkcmVzc2VzOgogICAgICAgIC0gMTAuMTQ2LjE2OC4xLzI0"},"type":"CLOUDINIT"}},"global_DNS_settings":{},"interfaces":[{"adapter":{"ipv4":{"type":"STATIC"}}}]}}' https://$host/api/vcenter/vm/vm-397399/guest/customization -------- Response ----------------- HTTP/2 400 date: Thu, 09 Mar 2023 03:33:48 GMT content-type: application/json x-envoy-upstream-service-time: 32 server: envoy   {"error_type":"INVALID_ARGUMENT","messages":[]}