GitHub user bernardodemarco added a comment to the discussion: How to call 
scaleVirtualMachine api with details parameter

Hello, @YashasAnand

The `details` parameter of the `scaleVirtualMachine` API is a `MAP`. Basically, 
the `MAP` parameter type in CloudStack expects the keys and values as:

```bash
details[0].key=value
``` 

So, for example, a VM with 512 MB of RAM and 1 vCPU can be scaled to 1024 MB of 
RAM and 2 vCPUs by executing the following API call through CloudMonkey:

```bash
scale virtualmachine id=<vm-id> serviceofferingid=<compute-offering-id> 
details[0].memory=1024 details[0].cpuNumber=2
```

How does your Python script sends the request? Does each key in the `request` 
dict represent a query param in the HTTP request? If so, then one solution 
would be to define the details parameter to be something like:

```python
request = {
    'command': 'scaleVirtualMachine',
    'id': '<virtual-machine-id>',
    'serviceofferingid': '<compute-offering-id>',
    'response': 'json',
    'details[0].memory': 1024 ,
    'details[0].cpuNumber': 2
}
```

GitHub link: 
https://github.com/apache/cloudstack/discussions/9961#discussioncomment-11338460

----
This is an automatically sent email for users@cloudstack.apache.org.
To unsubscribe, please send an email to: users-unsubscr...@cloudstack.apache.org

Reply via email to