> ## Documentation Index
> Fetch the complete documentation index at: https://astronomer.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a cluster

> Update a cluster in the Organization.



## OpenAPI

````yaml /astro/api/v-1-beta-1/platform/openapi.yaml post /organizations/{organizationId}/clusters/{clusterId}
openapi: 3.0.3
info:
  contact: {}
  description: Astro Platform API
  title: Astro Platform API
  version: v1beta1
servers:
  - url: https://api.astronomer.io/platform/v1beta1
security:
  - JWT: []
tags:
  - description: >-
      A `cluster` object represents an Astro cluster, which is a Kubernetes
      cluster that hosts the infrastructure required to run Deployments. Make
      requests to `cluster` endpoints to manage your standard and dedicated
      clusters. See [Create a dedicated
      cluster](https://astronomer.io/docs/astro/create-dedicated-cluster).
    name: Cluster
  - description: >-
      The `organization` object contains the metadata and configurations of an
      Astro Organization. It does not include objects within the Organization,
      such as users and clusters. Make requests to `organization` endpoints to
      view and update high level settings for your Organization, including
      settings related to authentication and billing. To manage resources within
      an Organization, make requests to the endpoints related to those
      resources, such as `users`. See
      [Billing](https://astronomer.io/docs/astro/manage-billing), [Set up single
      sign-on](https://astronomer.io/docs/astro/configure-idp), and [Manage
      domains](https://astronomer.io/docs/astro/manage-domains).
    name: Organization
  - description: >-
      The `options` object represents all possible configurations for a given
      Astro component. Make requests to the `options` object to get the
      configuration constraints for creating or updating a given Astro
      component.
    name: Options
  - description: >-
      The `workspace` object represents an Astro Workspace, which is a
      collection of Deployments that can be accessed by a specific group of
      users. It contains metadata about a Workspace, but does not contain
      objects within the Workspace such as users and Deployments. Make requests
      to `workspace` endpoints to manage high level details about your
      Workspace. To manage resources within a Workspace, make requests to the
      endpoints related to those resources, such as `users`, and use the
      `workspaceIds` parameter to filter results by Workspace. See [Configure
      Workspaces](https://astronomer.io/docs/astro/manage-workspaces).
    name: Workspace
  - name: notification-channels
    x-group: Notification Channels
paths:
  /organizations/{organizationId}/clusters/{clusterId}:
    post:
      tags:
        - Cluster
      summary: Update a cluster
      description: Update a cluster in the Organization.
      operationId: UpdateCluster
      parameters:
        - description: The ID of the Organization to which the cluster belongs.
          in: path
          name: organizationId
          required: true
          schema:
            type: string
        - description: The cluster's ID
          in: path
          name: clusterId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateClusterRequest'
        description: The request body for updating the cluster
        required: true
        x-originalParamName: body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cluster'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not Found
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Precondition Failed
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      security:
        - JWT: []
components:
  schemas:
    UpdateClusterRequest:
      discriminator:
        mapping:
          DEDICATED:
            $ref: '#/components/schemas/UpdateDedicatedClusterRequest'
          HYBRID:
            $ref: '#/components/schemas/UpdateHybridClusterRequest'
        propertyName: clusterType
      oneOf:
        - $ref: '#/components/schemas/UpdateDedicatedClusterRequest'
        - $ref: '#/components/schemas/UpdateHybridClusterRequest'
      type: object
    Cluster:
      properties:
        cloudProvider:
          description: The name of the cluster's cloud provider.
          enum:
            - AWS
            - AZURE
            - GCP
          example: AWS
          type: string
        createdAt:
          description: >-
            The time when the cluster was created in UTC. formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        dbInstanceType:
          description: The type of database instance that is used for the cluster.
          example: db.t3.medium
          type: string
        drRegion:
          description: The secondary region for Disaster Recovery for the cluster.
          example: us-east-1
          type: string
        drSecondaryVpcCidr:
          description: The secondary CIDR for the DR region. For AWS clusters only.
          type: string
        drVpcSubnetRange:
          description: The VPC subnet range for the DR region. For AWS clusters only.
          type: string
        enableReplicationTimeControl:
          description: Whether S3 Replication Time Control is enabled for DR.
          type: boolean
        failoverInProgress:
          description: Whether a failover is currently in progress.
          type: boolean
        healthStatus:
          $ref: '#/components/schemas/ClusterHealthStatus'
        id:
          description: The cluster's ID.
          example: clm7k8tgw000008jz97i37y81
          type: string
        isDrEnabled:
          description: Whether Disaster Recovery is enabled on the cluster
          type: boolean
        isFailedOver:
          description: Whether the cluster is currently failed over to the DR region.
          type: boolean
        isLimited:
          description: Whether the cluster is limited.
          example: false
          type: boolean
        metadata:
          $ref: '#/components/schemas/ClusterMetadata'
        name:
          description: The cluster's name.
          example: my cluster
          type: string
        nodePools:
          description: The list of node pools that are created in the cluster.
          items:
            $ref: '#/components/schemas/NodePool'
          type: array
        organizationId:
          description: The ID of the Organization that the cluster belongs to.
          example: clm88r8hi000008jwhzxu5crg
          type: string
        podSubnetRange:
          description: The subnet range for Pods. For GCP clusters only.
          example: 172.21.0.0/19
          type: string
        providerAccount:
          description: The provider account ID. For GCP clusters only.
          example: provider-account
          type: string
        region:
          description: The region in which the cluster is created.
          example: us-east-1
          type: string
        secondaryVpcCidr:
          type: string
        servicePeeringRange:
          description: The service peering range. For GCP clusters only.
          example: 172.23.0.0/20
          type: string
        serviceSubnetRange:
          description: The service subnet range. For GCP clusters only.
          example: 172.22.0.0/22
          type: string
        status:
          description: The status of the cluster.
          enum:
            - CREATING
            - CREATED
            - CREATE_FAILED
            - UPDATE_FAILED
            - UPDATING
            - ACCESS_DENIED
            - UPGRADE_PENDING
            - FAILING_OVER
            - FAILOVER_FAILED
          example: CREATED
          type: string
        tags:
          description: The Kubernetes tags in the cluster. For AWS Hybrid clusters only.
          items:
            $ref: '#/components/schemas/ClusterK8sTag'
          type: array
        tenantId:
          description: The tenant ID. For Azure clusters only.
          example: your-tenant-id
          type: string
        type:
          description: The type of the cluster.
          enum:
            - DEDICATED
            - HYBRID
          example: DEDICATED
          type: string
        updatedAt:
          description: >-
            The time when the cluster was last updated in UTC. formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        vpcSubnetRange:
          example: 172.20.0.0/22
          type: string
        workspaceIds:
          description: The list of Workspaces that are authorized to the cluster.
          example:
            - clm88rddl000108jwgeka2div
          items:
            type: string
          type: array
      required:
        - cloudProvider
        - createdAt
        - dbInstanceType
        - drRegion
        - id
        - isDrEnabled
        - name
        - organizationId
        - region
        - status
        - type
        - updatedAt
        - vpcSubnetRange
      type: object
    Error:
      properties:
        message:
          type: string
        requestId:
          type: string
        statusCode:
          maximum: 600
          minimum: 400
          type: integer
      required:
        - message
        - requestId
        - statusCode
      type: object
    UpdateDedicatedClusterRequest:
      properties:
        clusterType:
          description: The cluster's type.
          enum:
            - DEDICATED
          example: DEDICATED
          type: string
        dbInstanceType:
          description: The cluster's database instance type. Required for Hybrid clusters.
          example: Small General Purpose
          type: string
        enableDr:
          description: >-
            Set to false to disable Disaster Recovery. Enabling DR on existing
            clusters is only supported via the admin API.
          type: boolean
        isFailedOver:
          description: Whether to trigger a DR failover for the cluster.
          type: boolean
        k8sTags:
          description: A list of Kubernetes tags to add to the cluster.
          items:
            $ref: '#/components/schemas/ClusterK8sTag'
          type: array
        name:
          description: The cluster's name.
          example: My cluster
          type: string
        nodePools:
          description: >-
            A list of node pools to add to the cluster. For Hybrid clusters
            only.
          items:
            $ref: '#/components/schemas/UpdateNodePoolRequest'
          type: array
        workspaceIds:
          description: >-
            The list of Workspaces that are authorized to the cluster. If this
            value is not provided, the existing list of Workspaces remains. If
            this value is '[]' then all workspace cluster mappings are removed.
          items:
            type: string
          type: array
          uniqueItems: true
      required:
        - k8sTags
        - name
      type: object
    UpdateHybridClusterRequest:
      properties:
        clusterType:
          description: The cluster's type.
          enum:
            - HYBRID
          example: HYBRID
          type: string
        workspaceIds:
          description: >-
            The list of Workspaces that are authorized to the cluster. If this
            value is not provided, the existing list of Workspaces remains. If
            this value is '[]' then all workspace cluster mappings are removed.
          items:
            type: string
          type: array
          uniqueItems: true
      required:
        - clusterType
      type: object
    ClusterHealthStatus:
      properties:
        details:
          description: List of details supporting health assessment.
          items:
            $ref: '#/components/schemas/ClusterHealthStatusDetail'
          type: array
        value:
          description: Overall health state (HEALTHY or UNHEALTHY).
          enum:
            - HEALTHY
            - UNHEALTHY
            - UNKNOWN
          example: HEALTHY
          type: string
      required:
        - value
      type: object
    ClusterMetadata:
      properties:
        externalIPs:
          description: External IPs of the cluster.
          example:
            - 35.100.100.1
          items:
            type: string
          type: array
        kubeDnsIp:
          description: The IP address of the kube-dns service.
          example: 10.100.100.0
          type: string
        oidcIssuerUrl:
          description: OIDC issuer URL for the cluster
          example: >-
            https://westus2.oic.prod-aks.azure.com/b84efac8-cfae-467a-b223-23b9aea1486d/3075f79e-abc2-4602-a691-28117197e83d/
          type: string
      type: object
    NodePool:
      properties:
        cloudProvider:
          description: The name of the cloud provider.
          enum:
            - AWS
            - AZURE
            - GCP
          example: AWS
          type: string
        clusterId:
          description: The ID of the cluster that the node pool belongs to.
          example: clm891jb6000308jrc3vjdtde
          type: string
        createdAt:
          description: >-
            The time when the node pool was created in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
        id:
          description: The node pool's ID.
          example: clm890zhe000208jr39dd0ubs
          type: string
        isDefault:
          description: Whether the node pool is the default node pool of the cluster.
          example: true
          type: boolean
        maxNodeCount:
          description: The maximum number of nodes that can be created in the node pool.
          example: 1
          type: integer
        name:
          description: The name of the node pool.
          example: default
          type: string
        nodeInstanceType:
          description: The type of node instance that is used for the node pool.
          example: t3.medium
          type: string
        supportedAstroMachines:
          description: >-
            The list of supported Astro machines for the node pool. Returned
            only for Hosted dedicated clusters.
          example:
            - A5
            - A10
          items:
            type: string
          type: array
        updatedAt:
          description: >-
            The time when the node pool was last updated in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: '2022-11-22T04:37:12Z'
          format: date-time
          type: string
      required:
        - cloudProvider
        - clusterId
        - createdAt
        - id
        - isDefault
        - maxNodeCount
        - name
        - nodeInstanceType
        - updatedAt
      type: object
    ClusterK8sTag:
      properties:
        key:
          description: The tag's key.
          example: key1
          type: string
        value:
          description: The tag's value.
          example: value1
          type: string
      type: object
    UpdateNodePoolRequest:
      properties:
        id:
          description: The node pool's ID.
          example: clm8bvk8b000008l9deowc5lx
          type: string
        isDefault:
          description: Whether the node pool is the default node pool of the cluster.
          example: true
          type: boolean
        maxNodeCount:
          description: The maximum number of nodes that can be created in the node pool.
          example: 10
          type: integer
        name:
          description: The name of the node pool.
          example: my-nodepool
          type: string
        nodeInstanceType:
          description: The type of node instance that is used for the node pool.
          example: t3.medium
          type: string
      required:
        - maxNodeCount
        - name
        - nodeInstanceType
      type: object
    ClusterHealthStatusDetail:
      properties:
        code:
          description: The health status for a specific component.
          type: string
        component:
          type: string
        description:
          description: A description of the component that was assessed.
          type: string
        severity:
          description: >-
            The weight this component is given in overall cluster health
            assessment.
          type: string
      required:
        - code
        - description
        - severity
      type: object
  securitySchemes:
    JWT:
      scheme: bearer
      type: http

````