# metalcloud-cli vm update Update VM configuration from JSON file or pipe ## Synopsis Update virtual machine configuration using JSON data from a file or pipe. This command allows you to modify VM settings like CPU, memory, network interfaces, and other configuration parameters. Arguments: vm_id Required. The unique identifier of the virtual machine to update. Required Flags: --config-source Required. Source of the VM update configuration. Can be 'pipe' (to read from stdin) or path to a JSON file. Prerequisites: - VM must exist and be accessible - User must have write permissions for the VM - Configuration JSON must be valid and complete - VM may need to be stopped for certain configuration changes Examples: ## Update VM from JSON file metalcloud-cli vm update 12345 --config-source vm-config.json ## Update VM from pipe (stdin) cat vm-config.json | metalcloud-cli vm update 12345 --config-source pipe ## Update VM using inline JSON echo '{"cpu_count": 4, "memory_size_mb": 8192}' | metalcloud-cli vm update 12345 --config-source pipe ``` metalcloud-cli vm update vm_id [flags] ``` ### Options ``` --config-source string Source of the VM update configuration. Can be 'pipe' or path to a JSON file. -h, --help help for update ``` ### Options inherited from parent commands ``` -k, --api_key string MetalCloud API key -c, --config string Config file path -d, --debug Set to enable debug logging -e, --endpoint string MetalCloud API endpoint -f, --format string Output format. Supported values are 'text','csv','md','json','yaml'. (default "text") -i, --insecure_skip_verify Set to allow insecure transport -l, --log_file string Log file path -v, --verbosity string Log level verbosity (default "INFO") ``` ### SEE ALSO * [metalcloud-cli vm](/content/configuration/cli/metalcloud-cli_vm.md) - Manage virtual machines lifecycle and configuration #### Auto generated by spf13/cobra on 11-Aug-2025