Update a Virtual Machine

Update the properties of a virtual machine.

PATCH
https://api.katapult.io/core/v1/virtual_machines/{virtual_machine}

If successful, this endpoint will return a 200 OK status.

Scopes

One of the following scopes are required to use this endpoint.

Arguments

The following arguments are supported for this endpoint.

Name Type Default Value

virtual_machine Required

The virtual machine to update

VirtualMachine Lookup None

properties Required

The new details for this virtual machine

VirtualMachineArguments None

annotations

Annotations to add to this virtual machine.

KeyValue Array None

Potential Errors

The following errors may occur during this request.

Details HTTP status

gpu_type_not_found

No GPU type was found matching any of the criteria provided in the arguments

404 Not Found

object_in_trash

The object found is in the trash and therefore cannot be manipulated through the API. It should be restored in order to run this operation.

406 Not Acceptable

virtual_machine_group_not_found

No virtual machine group was found matching any of the criteria provided in the arguments

404 Not Found

virtual_machine_not_found

No virtual machine was found matching any of the criteria provided in the arguments

404 Not Found

Returned Object

When the request is successful, you can expect an object matching the specification below to be returned.

{
    virtual_machine: VirtualMachine {
        id: String
        name: String
        hostname: String
        fqdn: String
        description: String?
        created_at: Unix Timestamp
        initial_root_password: String?
        state: VirtualMachineStateEnum
        zone: Zone {
            id: String
            name: String
            permalink: String?
            data_center: DataCenter {
                id: String
                name: String
                permalink: String
                country: Country {
                    id: String
                    name: String
                    iso_code2: String
                    iso_code3: String
                    time_zone: String?
                    eu: Boolean
                }
            }
        }
        organization: Organization {
            id: String
            name: String
            sub_domain: String
            infrastructure_domain: String
            created_at: Unix Timestamp
            activated_at: Unix Timestamp?
            suspended: Boolean
            managed: Boolean
            billing_name: String?
            address1: String?
            address2: String?
            address3: String?
            address4: String?
            postcode: String?
            vat_number: String?
            phone_number: String?
            currency: Currency {
                id: String
                name: String
                iso_code: String
                symbol: String
            }
            country: Country? {
                id: String
                name: String
                iso_code2: String
                iso_code3: String
                time_zone: String?
                eu: Boolean
            }
            country_state: CountryState? {
                id: String
                name: String
                code: String
                country: Country {
                    id: String
                    name: String
                    iso_code2: String
                    iso_code3: String
                    time_zone: String?
                    eu: Boolean
                }
            }
        }
        group: VirtualMachineGroup? {
            id: String
            name: String
            segregate: Boolean
            auto_segregate: Boolean
            created_at: Unix Timestamp
        }
        package: VirtualMachinePackage? {
            id: String
            name: String
            permalink: String
            cpu_cores: Integer
            ipv4_addresses: Integer
            memory_in_gb: Integer
            storage_in_gb: Integer
            monthly_bandwidth_allowance_in_gb: Integer?
            privacy: PrivacyTypesEnum
            icon: Attachment? {
                url: String
                file_name: String
                file_type: String
                file_size: Integer
                digest: String
                token: String
            }
            use_dedicated_cpus: Boolean
        }
        attached_iso: ISO? {
            id: String
            name: String
            operating_system: OperatingSystem? {
                id: String
                name: String
                badge: Attachment? {
                    url: String
                    file_name: String
                    file_type: String
                    file_size: Integer
                    digest: String
                    token: String
                }
            }
        }
        memory_in_gb: Integer?
        cpu_cores: Integer?
        use_dedicated_cpus: Boolean?
        gpu_type: GPUType? {
            id: String
            name: String
            manufacturer: String
            memory_in_gb: Integer
            memory_type: String
            permalink: String
        }
        gpus: [ VirtualMachineGPU {
            id: String?
            status: VirtualMachineGPUStatusEnum
            pending_action: VirtualMachineGPUPendingActionEnum?
            available: Boolean
            type: GPUType {
                id: String
                name: String
                manufacturer: String
                memory_in_gb: Integer
                memory_type: String
                permalink: String
            }
        } ]
        tags: [ Tag {
            id: String
            name: String
            color: TagColorsEnum
            created_at: Unix Timestamp
        } ]
        tag_names: [ String ]
        ip_addresses: [ IPAddress {
            id: String
            address: String
            reverse_dns: String
            vip: Boolean
            label: String?
            address_with_mask: String
            network: Network {
                id: String
                name: String
                permalink: String?
                data_center: DataCenter {
                    id: String
                    name: String
                    permalink: String
                    country: Country {
                        id: String
                        name: String
                        iso_code2: String
                        iso_code3: String
                        time_zone: String?
                        eu: Boolean
                    }
                }
            }
            allocation_id: String?
            allocation_type: String?
        } ]
    }
    annotations: [ KeyValue {
        key: String
        value: String?
    } ]
}