Virtual machines

Perform actions with a virtual machine

This method performs several actions with a virtual machine:

  • Start a virtual machine
  • Shutdown a virtual machine
  • Reboot a virtual machine
  • Transfer a virtual machine
  • Clone a virtual machine
  • Edit compute resources of a virtual machine (for DigitalOcean, OVH, Hetzner virtual machine resize use VmEditHardware option only)
  • Edit compute resources and system disk of a virtual machine
  • Attach data volume to the virtual machine
  • Detach volume from the virtual machine
  • Rename a virtual machine
post/v1/vms/{vmId}/actions

Request

  • Base URL
    https://api.emma.ms/external
  • Auth
    HTTP bearer

Path parameters

vmIdinteger required

ID of the virtual machine

Request body

OR
OR
OR
OR
OR
OR
OR
OR
OR

Example request

{
  "action": "start"
}

Response

Successful operation

idinteger

ID of the virtual machine

createdAtstring

Date and time when the virtual machine was created

createdByNamestring

Name of the user who created the virtual machine

createdByIdinteger

ID of the user who created the virtual machine

modifiedAtstring

Date and time when the virtual machine was last edited

modifiedByNamestring

Name of the user who last edited the virtual machine

modifiedByIdinteger

ID of the user who last edited the virtual machine

namestring

Name of the virtual machine

projectIdinteger

Project ID

status'POWERED_ON' | 'POWERED_OFF' | 'BUSY' | 'DRAFT' | 'FAILED_CREATION'

Status of the virtual machine

vCpuinteger

Number of virtual Central Processing Units (vCPUs)

vCpuType'shared' | 'standard' | 'hpc'

Type of virtual Central Processing Units (vCPUs)

cloudNetworkType'isolated' | 'multi-cloud' | 'default'

Cloud network type

ramGbinteger

Capacity of the RAM in gigabytes

sshKeyIdinteger nullable

SSH key ID

userNamestring nullable

User name

userPasswordstring nullable

User password

systemKeyInstalledboolean

Indicates whether the emma system SSH key is installed on the virtual machine

Example response

{
  "id": 8100,
  "createdAt": "2021-11-26T14:54:11",
  "createdByName": "Automation User",
  "createdById": 123,
  "modifiedAt": "2021-11-26T14:54:11",
  "modifiedByName": "Automation User",
  "modifiedById": 123,
  "name": "vm-default-e08149hp",
  "projectId": 933,
  "status": "POWERED_ON",
  "provider": {
    "id": 22,
    "name": "Digital Ocean"
  },
  "location": {
    "id": 6,
    "name": "London",
    "country": "United Kingdom",
    "continent": "Asia",
    "region": "EMEA",
    "latitude": 51.50735,
    "longitude": -0.1277583
  },
  "dataCenter": {
    "id": "aws-ap-south-1",
    "name": "eu-north-1",
    "providerId": 5,
    "providerName": "DO",
    "locationId": 35,
    "locationName": "Pune"
  },
  "os": {
    "id": 35,
    "family": "Linux",
    "architecture": "x86-64",
    "type": "Ubuntu",
    "version": "22.04"
  },
  "vCpu": 1,
  "vCpuType": "shared",
  "cloudNetworkType": "multi-cloud",
  "ramGb": 2,
  "disks": [
    {
      "id": 5819,
      "sizeGb": 250,
      "typeId": 2,
      "type": "ssd",
      "isBootable": true,
      "deviceIdentifier": "/dev/sda"
    }
  ],
  "localDisks": [
    {
      "sizeTb": 5,
      "typeId": 2,
      "type": "ssd-plus"
    }
  ],
  "accelerator": {
    "acceleratorTypeId": "b3f5a4cb-4e3c-4c63-8c68-e1bd96b7ae1a",
    "acceleratorType": "NVIDIA A100",
    "accelerators": 4,
    "totalGpuMemoryGb": 320
  },
  "networks": [
    {
      "id": 9825,
      "ip": "10.106.0.2",
      "ipVersion": 4,
      "networkTypeId": 2,
      "networkType": "PRIVATE"
    },
    {
      "id": 9826,
      "ip": "134.122.100.131",
      "ipVersion": 4,
      "networkTypeId": 1,
      "networkType": "PUBLIC"
    },
    {
      "id": 9827,
      "ip": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
      "ipVersion": 6,
      "networkTypeId": 1,
      "networkType": "PUBLIC"
    }
  ],
  "securityGroup": {
    "id": 208,
    "name": "default"
  },
  "subnetwork": {
    "id": "d6ffb3db-4940-4979-94f3-68b11a018d98",
    "name": "subnetwork-name"
  },
  "sshKeyId": 123,
  "userName": "root",
  "userPassword": "m#P52s@ap$V",
  "cost": {
    "unit": "MONTHS",
    "currency": "EUR",
    "price": 5.479952
  },
  "tags": [
    {
      "key": "env",
      "value": "dev"
    }
  ],
  "systemKeyInstalled": true,
  "workflowExecutionInfo": {
    "workflowTemplateId": 123,
    "workflowTemplateName": "install-lamp",
    "workflowExists": true,
    "versionName": "v3",
    "versionExists": true
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.