Security groups

Add instance to security group

This method adds a compute instance to the selected security group.

A security group refers to a set of rules that determine what network traffic is allowed to enter or leave a particular compute instance. It acts as a virtual firewall, controlling inbound and outbound traffic based on predefined rules.

Security groups operate based on predefined rules that allow traffic based on specified criteria, such as source IP address, destination IP address, port number, and protocol.

Any compute instance always uses some security group since its creation. Adding a compute instance to a security group effectively means moving it from one security group to another. When adding a compute instance to a new security group, it is automatically removed from the previous security group.

post/v1/security-groups/{securityGroupId}/instances

Request

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

Path parameters

securityGroupIdinteger required

ID of the security group

Request body

instanceIdinteger

ID of the compute instance to be added to the Security group

Example request

{
  "instanceId": 8003
}

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.