fbpx
POSThttps://api.spotinst.io/ocean/aws/k8s/launchSpec?accountId={ACCOUNT_ID}

URL Parameters

ParameterTypeDescription
ACCOUNT_ID * String

The Spotinst accountId associated with your token.

Example: act-123abc
Request

Headers
{
  "Authorization": "Bearer ${token}",
  "Content-Type": "application/json"
}
Body
Copied!
Downloaded!
{
	"launchSpec": {
      "oceanId" : "o-123",
      "imageId": "ami-ID",
      "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
	  "iamInstanceProfile": {
        "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
        "name": "EKS-nodes-test"
      },
      "securityGroupIds": [
        "sg-0ded3a2980208c30c",
        "sg-0ded3a2980208c30d"
      ],
      "rootVolumeSize": 8,
      "labels": [
        {
          "key": "env",
          "value": "test"
        },
        {
          "key": "creator",
          "value": "test"
        }
      ],
      "taints": [ 
        {
          "key": "taintKey",
          "value": "taintValue",
          "effect": "NoSchedule"
        }
      ],
      "subnetIds": [
        "subnet-123",
        "subnet-456"
        ],
      "autoscale": {
        "headrooms": [
        {
          "cpuPerUnit": 1000,
          "memoryPerUnit": 2048,
          "gpuPerUnit": 0,
          "numOfUnits": 3
        }]
      }
  }
}

Body Attributes


AttributeTypeDescription
launchSpec.oceanId * String

The Ocean cluster ID. required for launchSpec create.

launchSpec.imageId String

Set image ID. Can be null

launchSpec.userData String

Set user data script in Base64-encoded MIME

launchSpec.iamInstanceProfile Object

The instance profile iamRole object

launchSpec.iamInstanceProfile.arn String

The iamRole arn. If set - do not set launchSpec.iamInstanceProfile.name

launchSpec.iamInstanceProfile.name String

The iamRole name. If set - do not set launchSpec.iamInstanceProfile.arn

launchSpec.securityGroupIds Array<String>

Set security groups. Each element in array should be security group ID

launchSpec.rootVolumeSize Integer

Set root volume size (in GB)

launchSpec.labels Array<Object>

Add labels to cluster

launchSpec.labels.key String

Set label key

launchSpec.labels.value String

Set label value

launchSpec.taints Array<Object>

Add taints to cluster

launchSpec.taints.key String

Set taints key

launchSpec.taints.value String

Set taints value

launchSpec.taints.effect String

Set taints effect

Example: NoSchedule
launchSpec.subnetIds Array<String>

Set subnets in launchSpec. Each element in array should be subnet ID

launchSpec.autoscale Object

launchSpec.autoscale.headrooms Array<Object>

Set custom headroom per launch spec. provide list of launchSpec.autoscale.headrooms object

launchSpec.autoscale.headrooms.cpuPerUnit Integer

configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU

Example: 2000
launchSpec.autoscale.headrooms.memoryPerUnit Integer

Configure the amount of memory (MiB) to allocate the headroom.

Example: 2048
launchSpec.autoscale.headrooms.gpuPerUnit Integer

How much GPU allocate for headroom unit

Example: 1
launchSpec.autoscale.headrooms.numOfUnits Integer

The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.

Example: 3
Response - 200

Body
Copied!
Downloaded!
{
    "request": {
        "id": "XXXXXXX-abce-XXXX-XXXX-XXX11111XXXX",
        "url": "/ocean/aws/k8s/launchSpec/ols-123?accountId=XXXXXXXX",
        "method": "post",
        "timestamp": "2019-02-19T18:25:51.767Z"
    },
    "response": {
        "status": {
            "code": 200,
            "message": "OK"
        },
        "kind": "spotinst:ocean:aws:k8s",
        "items": [
            {
              "oceanId" : "o-123",
              "imageId": "ami-ID",
              "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
              "iamInstanceProfile": {
                "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
                "name": "EKS-nodes-test"
              },
              "securityGroupIds": [
                "sg-0ded3a2980208c30c",
                "sg-0ded3a2980208c30d"
              ],
              "rootVolumeSize": 8,
              "labels": [
                {
                  "key": "env",
                  "value": "test"
                },
                {
                  "key": "creator",
                  "value": "test"
                }
              ],
              "taints": [ 
                {
                  "key": "taintKey",
                  "value": "taintValue",
                  "effect": "NoSchedule"
                }
              ],
              "subnetIds": [
                "subnet-123",
                "subnet-456"
                ],
              "autoscale": {
                "headrooms": [
                {
                  "cpuPerUnit": 1000,
                  "memoryPerUnit": 2048,
                  "gpuPerUnit": 0,
                  "numOfUnits": 3
                }]
              },
                "createdAt": "2019-02-19T18:25:51.752Z",
                "updatedAt": "2019-02-19T18:25:51.752Z"
            }
        ],
        "count": 1
    }
}