---
title: "Update Cluster"
method: PUT
path: "/ocean/aws/k8s/cluster/{oceanClusterId}"
tags: ["Ocean AWS"]
---

# Update Cluster

`PUT /ocean/aws/k8s/cluster/{oceanClusterId}`

## Request

- Base URL: `https://api.spotinst.io`
- URL: `https://api.spotinst.io/ocean/aws/k8s/cluster/{oceanClusterId}`
- Auth: HTTP bearer

All Ocean parameters are updatable, except for region and identifier. This API supports partial updates, so specific fields can be updated separately.

## Query parameters

- `autoApplyTags` string

## Parameters

- `#/paths/~1ocean~1aws~1k8s~1cluster~1%7BoceanClusterId%7D/get/parameters/1` (unresolved $ref)
- `#/paths/~1azure~1costs/get/parameters/0` (unresolved $ref)

## Request body

- object
  - `cluster` object, required: The object specifying the configuration of the Ocean cluster.
    - `id` string: The Ocean cluster identifier.
    - `name` string: Add a name for the Ocean cluster.
    - `controllerClusterId` string: Enter the reporting identifier for the Ocean Controller.
    - `region` string: Select the region for the Ocean cluster to run in.
    - `autoScaler` object: The automatic scaling mechanism used in Ocean for Kubernetes.
      - `isEnabled` boolean: Enable the Ocean Kubernetes autoscaler.
      - `cooldown` integer: A period of time (in seconds) that Ocean waits from the end of a scaling action until starting another scaling action.
      - `resourceLimits` object: Option to set upper and lower bounds on the resource usage of the cluster.
        - `maxMemoryGib` integer: The maximum memory (in GiB) that can be allocated to the cluster.
        - `maxVCpu` integer: The maximum CPU (in vCPU units) that can be allocated to the cluster.
      - `down` object: Autoscaling scale down operations.
        - `evaluationPeriods` integer: Deprecated — no longer used.
        - `maxScaleDownPercentage` integer: Represents the maximum percent of your instances to scale down in a single scale-down action. Number between 1-100.
        - `aggressiveScaleDown` object: Enable and configure the Accelerated Scale Down feature to allow the Ocean autoscaler to immediately scale down eligible nodes without any waiting period.
          - `isEnabled` boolean: When set to 'true', Accelerated Scale Down is enabled.
      - `headroom` object: Spare resource capacity management enabling fast assignment of pods without waiting for new resources to launch.
        - `cpuPerUnit` integer: Option to configure the number of CPUs to allocate the headroom. CPUs are denoted in millicores, where 1000 millicores = 1 vCPU.
        - `memoryPerUnit` integer: Option to configure the amount of memory (MiB) to allocate the headroom.
        - `gpuPerUnit` integer: Amount of GPU to allocate for headroom.
        - `numOfUnits` integer: The number of units to retain as headroom, where each unit has the defined headroom CPU and memory.
      - `isAutoConfig` boolean: Use automatic headroom. When set to true, the values under cluster.autoScaler.headroom are not effective, as Ocean configures and optimizes headroom automatically.
      - `autoHeadroomPercentage` integer: Dynamic (automatic) buffer of spare capacity, i.e., vCPU, memory, and GPU resources. Expressed as a percent of the overall cluster capacity with valid values from 0-200. Optional. Relevant when isAutoConfig=true.
      - `enableAutomaticAndManualHeadroom` boolean: When set to true, both automatic and per-VNG manual headroom to be saved concurrently and independently in the cluster. prerequisite: isAutoConfig must be true
      - `extendedResourceDefinitions` string[]: List of Ocean extended resource definitions to use in this cluster.
    - `capacity` object: The overall capability of the Ocean cluster expressed as number of instances and specified with a minimum, a maximum, and a target number of running instances.
      - `minimum` integer: The lower limit of instances that the cluster can scale down to.
      - `maximum` integer: The upper limit of instances that the cluster can scale up to.
      - `target` integer: Number of instances to launch and maintain in the cluster.
    - `strategy` Strategy (unresolved $ref)
    - `scheduling` Scheduling (unresolved $ref)
    - `security` Security (unresolved $ref)
    - `compute` Compute (unresolved $ref)
    - `logging` Logging (unresolved $ref)
    - `createdAt` string, date-time: A timestamp of the cluster creation.
    - `updatedAt` string, date-time: A timestamp of the latest cluster update.

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/spot/apis/spot-by-flexera-api.md) - [All operations](https://skmtc.dev/spot/apis/spot-by-flexera-api/llms.txt) - [OpenAPI document](https://skmtc.dev/spot/apis/spot-by-flexera-api/revisions/f7e206fa6474?raw)
