Astro Platform API

Production-ready REST API for programmatic control of Astro resources and Airflow operations — Organizations, Workspaces, Deployments, Clusters, Users, Teams, RBAC roles, API tokens, deploys, and environment objects. Bearer-token authenticated; major version in the URI path (v1) with minor versions pinned via the X-API-Version header.

OpenAPI Specification

astronomer-astro-openapi-original.yml Raw ↑
components:
  schemas:
    AddTeamMembersRequest:
      properties:
        memberIds:
          description: The list of IDs for users to add to the Team.
          example:
          - clma5y9hu000208k2aumf7pbd
          items:
            type: string
          minItems: 1
          type: array
      required:
      - memberIds
      type: object
    AllowedIpAddressRange:
      properties:
        createdAt:
          description: The time when the allowed IP address range was created in UTC,
            formatted as `YYYY-MM-DDTHH:MM:SSZ`.
          example: "2022-11-22T04:37:12Z"
          format: date-time
          type: string
        createdBy:
          $ref: '#/components/schemas/BasicSubjectProfile'
        id:
          description: The allowed IP address range's ID.
          example: clm9sq6s0000008kz7uvl7yz7
          type: string
        ipAddressRange:
          description: The allowed IP address range in CIDR format.
          example: 1.1.1.1/32
          type: string
        organizationId:
          description: The  allowed IP address range's Organization ID.
          example: clyt27999000008me3yp39wcp
          type: string
        updatedAt:
          description: The time when the allowed IP address range was updated in UTC,
            formatted as `YYYY-MM-DDTHH:MM:SSZ`.
          example: "2022-11-22T04:37:12Z"
          format: date-time
          type: string
        updatedBy:
          $ref: '#/components/schemas/BasicSubjectProfile'
      required:
      - createdAt
      - id
      - ipAddressRange
      - organizationId
      - updatedAt
      type: object
    AllowedIpAddressRangesList:
      properties:
        allowedIpAddressRanges:
          items:
            $ref: '#/components/schemas/AllowedIpAddressRange'
          type: array
      required:
      - allowedIpAddressRanges
      type: object
    AllowedIpAddressRangesPaginated:
      properties:
        allowedIpAddressRanges:
          items:
            $ref: '#/components/schemas/AllowedIpAddressRange'
          type: array
        limit:
          description: The maximum number of allowed IP address ranges in one page.
          example: 10
          type: integer
        offset:
          description: The offset of the current page of allowed IP address ranges.
          example: 0
          type: integer
        totalCount:
          description: The total number of allowed IP address ranges.
          example: 10
          type: integer
      required:
      - allowedIpAddressRanges
      - limit
      - offset
      - totalCount
      type: object
    ApiToken:
      properties:
        createdAt:
          description: The time when the API token was created in UTC, formatted as
            `YYYY-MM-DDTHH:MM:SSZ`.
          example: "2022-11-22T04:37:12Z"
          format: date-time
          type: string
        createdBy:
          $ref: '#/components/schemas/BasicSubjectProfile'
        description:
          description: The description of the API token.
          example: my token description
          type: string
        endAt:
          description: The time when the API token expires in UTC, formatted as `YYYY-MM-DDTHH:MM:SSZ`.
          example: "2022-11-22T04:37:12Z"
          format: date-time
          type: string
        expiryPeriodInDays:
          description: The expiry period of the API token in days.
          example: 30
          type: integer
        id:
          description: The API token's ID.
          example: clm8q7f6q000008lcgyougpsk
          type: string
        kind:
          description: The kind of the API token.
          enum:
          - STANDARD
          - DIRECT_ACCESS
          example: STANDARD
          type: string
        lastRotatedAt:
          description: The time when the API token was last rotated in UTC, formatted
            as `YYYY-MM-DDTHH:MM:SSZ`.
          example: "2022-11-22T04:37:12Z"
          format: date-time
          type: string
        lastUsedAt:
          description: The time when the API token was last used in UTC, formatted
            as `YYYY-MM-DDTHH:MM:SSZ`.
          example: "2022-11-22T04:37:12Z"
          format: date-time
          type: string
        name:
          description: The name of the API token.
          example: My token
          type: string
        roles:
          description: The roles of the API token.
          items:
            $ref: '#/components/schemas/ApiTokenRole'
          type: array
        scope:
          description: The scope of the API token.
          enum:
          - DEPLOYMENT
          - WORKSPACE
          - ORGANIZATION
          example: WORKSPACE
          type: string
        shortToken:
          description: The short value of the API token.
          example: short-token
          type: string
        startAt:
          description: The time when the API token will become valid in UTC, formatted
            as `YYYY-MM-DDTHH:MM:SSZ`.
          example: "2022-11-22T04:37:12Z"
          format: date-time
          type: string
        token:
          description: The value of the API token.
          example: token
          type: string
        updatedAt:
          description: The time when the API token was last updated in UTC, formatted
            as `YYYY-MM-DDTHH:MM:SSZ`.
          example: "2022-11-22T04:37:12Z"
          format: date-time
          type: string
        updatedBy:
          $ref: '#/components/schemas/BasicSubjectProfile'
      required:
      - createdAt
      - description
      - id
      - kind
      - name
      - scope
      - shortToken
      - startAt
      - updatedAt
      type: object
    ApiTokenRole:
      properties:
        deploymentId:
          description: Required when EntityType is DAG or TAG. The deployment containing
            the DAG.
          example: clm8t5u4q000008jq4qoc3031
          type: string
        entityId:
          description: The ID of the entity. For DAG roles, this is the DAG ID. For
            TAG roles, this is the tag value.
          example: clm8sgvai000008l794psbkdv
          type: string
        entityType:
          description: The type of the entity.
          enum:
          - DEPLOYMENT
          - WORKSPACE
          - ORGANIZATION
          - DAG
          - DAG_TAG
          example: WORKSPACE
          type: string
        role:
          description: The role of the API token.
          example: WORKSPACE_MEMBER
          type: string
      required:
      - entityId
      - entityType
      - role
      type: object
    ApiTokensPaginated:
      properties:
        limit:
          description: The limit of values in this page.
          example: 10
          type: integer
        offset:
          description: The offset of values in this page.
          example: 0
          type: integer
        tokens:
          description: The list of API tokens in this page.
          items:
            $ref: '#/components/schemas/ApiToken'
          type: array
        totalCount:
          description: The total number of API tokens.
          example: 100
          type: integer
      required:
      - limit
      - offset
      - tokens
      - totalCount
      type: object
    BasicSubjectProfile:
      properties:
        apiTokenName:
          description: The API token's name. Returned only when `SubjectType` is `SERVICEKEY`.
          example: my-token
          type: string
        avatarUrl:
          description: The URL for the user's profile image. Returned only when `SubjectType`
            is `USER`.
          example: https://avatar.url
          type: string
        fullName:
          description: The subject's full name. Returned only when `SubjectType` is
            `USER`.
          example: Jane Doe
          type: string
        id:
          description: The subject's ID.
          example: clm8qv74h000008mlf08scq7k
          type: string
        subjectType:
          description: The subject type.
          enum:
          - USER
          - SERVICEKEY
          example: USER
          type: string
        username:
          description: The subject's username. Returned only when `SubjectType` is
            `USER`.
          example: user1@company.com
          type: string
      required:
      - id
      type: object
    BulkCreateAllowedIpAddressRangesRequest:
      properties:
        allowedIpAddressRanges:
          description: 'The allowed IP address ranges, in CIDR format. The batch is
            created atomically: if any value fails validation or conflicts with an
            existing range, no rows are inserted.'
          example:
          - 1.1.1.1/32
          - 2.2.2.2/32
          items:
            type: string
          maxItems: 1000
          minItems: 1
          type: array
      required:
      - allowedIpAddressRanges
      type: object
    BulkDeleteAllowedIpAddressRangesRequest:
      properties:
        allowedIpAddressRangeIds:
          description: The allowed IP address range IDs to delete. Duplicate and unknown
            IDs are accepted; existing matching rows are deleted atomically.
          example:
          - clm9sq6s0000008kz7uvl7yz7
          - clm9sq6s0000108kz8ybn9r1c
          items:
            type: string
          maxItems: 1000
          minItems: 1
          type: array
      required:
      - allowedIpAddressRangeIds
      type: object
    Bundle:
      properties:
        bundleType:
          description: The type of bundle.
          type: string
        currentVersion:
          description: The current bundle version.
          type: string
        deployId:
          description: The ID of the deploy that included the bundle.
          type: string
        desiredVersion:
          description: The desired version of the bundle.
          type: string
        mountPath:
          description: The path where the Astro mounts the bundle on the Airflow component
            pods.
          type: string
      required:
      - bundleType
      - deployId
      - mountPath
      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
        drPodSubnetRange:
          description: The disaster recovery subnet range for Pods. For GCP clusters
            only.
          example: 172.21.0.0/19
          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
        drServicePeeringRange:
          description: The disaster recovery service peering range. For GCP clusters
            only.
          example: 172.23.0.0/20
          type: string
        drServiceSubnetRange:
          description: The disaster recovery service subnet range. For GCP clusters
            only.
          example: 172.22.0.0/22
          type: string
        drVpcSubnetRange:
          description: The VPC subnet range for the DR region.
          type: string
        enableReplicationTimeControl:
          description: Whether Bucket Storage 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
        isPrivateNetworkEgressEnabled:
          description: Whether Private Network Egress mode is enabled, which disables
            public Internet connectivity from the cluster's Deployments and metrics
            exports. For AWS clusters only.
          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:
          description: The secondary VPC CIDR. For AWS clusters only.
          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:
          description: The VPC subnet range.
          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
    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
    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
    ClusterK8sTag:
      properties:
        key:
          description: The tag's key.
          example: key1
          type: string
        value:
          description: The tag's value.
          example: value1
          type: string
      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
    ClusterOptions:
      properties:
        databaseInstances:
          description: The available database instances.
          items:
            $ref: '#/components/schemas/ProviderInstanceType'
          type: array
        defaultDatabaseInstance:
          $ref: '#/components/schemas/ProviderInstanceType'
        defaultNodeInstance:
          $ref: '#/components/schemas/ProviderInstanceType'
        defaultPodSubnetRange:
          description: The default pod subnet range.
          example: 172.21.0.0/19
          type: string
        defaultRegion:
          $ref: '#/components/schemas/ProviderRegion'
        defaultServicePeeringRange:
          description: The default service peering range.
          example: 172.23.0.0/20
          type: string
        defaultServiceSubnetRange:
          description: The default service subnet range.
          example: 172.22.0.0/22
          type: string
        defaultVpcSubnetRange:
          description: The default VPC subnet range.
          example: 172.20.0.0/19
          type: string
        nodeCountDefault:
          description: The default number of nodes.
          example: 20
          type: integer
        nodeCountMax:
          description: The maximum number of nodes.
          example: 100
          type: integer
        nodeCountMin:
          description: The minimum number of nodes.
          example: 2
          type: integer
        nodeInstances:
          description: The available node instances.
          items:
            $ref: '#/components/schemas/ProviderInstanceType'
          type: array
        provider:
          description: The cloud provider.
          enum:
          - AWS
          - AZURE
          - GCP
          example: AZURE
          type: string
        regions:
          description: The available regions.
          items:
            $ref: '#/components/schemas/ProviderRegion'
          type: array
      required:
      - databaseInstances
      - defaultDatabaseInstance
      - defaultNodeInstance
      - defaultRegion
      - defaultVpcSubnetRange
      - nodeCountDefault
      - nodeCountMax
      - nodeCountMin
      - nodeInstances
      - provider
      - regions
      type: object
    ClustersPaginated:
      properties:
        clusters:
          description: The list of clusters in the current page.
          items:
            $ref: '#/components/schemas/Cluster'
          type: array
        limit:
          description: The maximum number of clusters in one page.
          example: 10
          type: integer
        offset:
          description: The offset of the current page of clusters.
          example: 0
          type: integer
        totalCount:
          description: The total number of clusters.
          example: 100
          type: integer
      required:
      - clusters
      - limit
      - offset
      - totalCount
      type: object
    ConnectionAuthType:
      properties:
        airflowType:
          description: The type of connection in Airflow
          type: string
        authMethodName:
          description: The name of the auth method used in the connection
          type: string
        description:
          description: A description of the connection auth type
          type: string
        guidePath:
          description: The URL to the guide for the connection auth type
          type: string
        id:
          description: The ID of the connection auth type
          type: string
        name:
          description: The name of the connection auth type
          type: string
        parameters:
          description: The parameters for the connection auth type
          items:
            $ref: '#/components/schemas/ConnectionAuthTypeParameter'
          type: array
        providerLogo:
          description: The URL of the provider logo
          type: string
        providerPackageName:
          description: The name of the provider package
          type: string
      required:
      - airflowType
      - authMethodName
      - description
      - id
      - name
      - parameters
      - providerPackageName
      type: object
    ConnectionAuthTypeParameter:
      properties:
        airflowParamName:
          description: The name of the parameter in Airflow
          type: string
        dataType:
          description: The data type of the parameter
          type: string
        description:
          description: A description of the parameter
          type: string
        example:
          description: An example value for the parameter
          type: string
        friendlyName:
          description: The UI-friendly name for the parameter
          type: string
        isInExtra:
          description: Whether or not the parameter is included in the "extra" field
          type: boolean
        isRequired:
          description: Whether the parameter is required
          type: boolean
        isSecret:
          description: Whether the parameter is a secret
          type: boolean
        pattern:
          description: A regex pattern for the parameter
          type: string
      required:
      - airflowParamName
      - dataType
      - description
      - friendlyName
      - isInExtra
      - isRequired
      - isSecret
      type: object
    CreateAgentTokenRequest:
      properties:
        description:
          description: The description for the API token.
          example: This is my API token
          type: string
        name:
          description: The name of the API token.
          example: My token
          type: string
        tokenExpiryPeriodInDays:
          description: The expiry period of the API token in days. If not specified,
            the token will never expire.
          example: 30
          maximum: 3650
          minimum: 1
          type: integer
      required:
      - name
      type: object
    CreateAllowedIpAddressRangeRequest:
      properties:
        ipAddressRange:
          description: The allowed IP address range in CIDR format.
          example: 1.1.1.1/32
          type: string
      required:
      - ipAddressRange
      type: object
    CreateApiTokenRequest:
      properties:
        description:
          description: The description for the API token.
          example: This is my API token
          type: string
        entityId:
          description: The ID of the Workspace or Deployment to which the API token
            is scoped. It is required if `Scope` is `WORKSPACE` or `DEPLOYMENT`.
          example: clm8pxjjw000008l23jm08hyu
          type: string
        kind:
          description: The kind of API token. Defaults to STANDARD if not specified.
          enum:
          - STANDARD
          - DIRECT_ACCESS
          example: STANDARD
          type: string
        name:
          description: The name of the API token.
          example: My token
          type: string
        role:
          description: The role of the API token.
          example: WORKSPACE_OWNER
          type: string
        scope:
          description: The scope of the API token.
          enum:
          - DEPLOYMENT
          - WORKSPACE
          - ORGANIZATION
          example: WORKSPACE
          type: string
        tokenExpiryPeriodInDays:
          description: The expiry period of the API token in days. If not specified,
            the token will never expire.
          example: 30
          maximum: 3650
          minimum: 1
          type: integer
      required:
      - name
      - role
      - scope
      type: object
    CreateAwsClusterRequest:
      properties:
        cloudProvider:
          description: The cluster's cloud provider.
          enum:
          - AWS
          - AZURE
          - GCP
          example: AZURE
          type: string
        dbInstanceType:
          description: The type of database instance that is used for the cluster.
            Required for Hybrid clusters.
          example: Small General Purpose
          type: string
        drRegion:
          description: The secondary region for Disaster Recovery.
          example: us-west-2
          type: string
        drSecondaryVpcCidr:
          description: The secondary CIDR for the DR region. Defaults to the primary
            secondary CIDR if not specified. For AWS clusters only.
          example: 100.64.0.0/19
          type: string
        drVpcSubnetRange:
          description: The VPC subnet range for the DR region. Defaults to the primary
            VPC subnet range if not specified.
          example: 172.20.0.0/22
          type: string
        enableReplicationTimeControl:
          description: Whether Bucket Storage Replication Time Control should be enabled
            for DR on task logs.
          type: boolean
        isPrivateNetworkEgressEnabled:
          description: When true, enables Private Network Egress mode, which disables
            public Internet connectivity from the cluster's Deployments and metrics
            exports. For AWS clusters only.
          type: boolean
        k8sTags:
          description: The Kubernetes tags in the cluster.
          items:
            $ref: '#/components/schemas/ClusterK8sTag'
          type: array
        name:
          description: The cluster's name.
          example: My cluster
          type: string
        nodePools:
          description: The list of node pools to create in the cluster.
          items:
            $ref: '#/components/schemas/CreateNodePoolRequest'
          type: array
        providerAccount:
          description: The provider account ID. Required for Hybrid clusters.
          example: provider-account
          type: string
        region:
          description: The cluster's region.
          example: us-east-1
          type: string
        secondaryVpcCidr:
          description: The secondary VPC CIDR for pods. For AWS clusters only.
          example: 100.64.0.0/16
          type: string
        type:
          description: The cluster's type.
          enum:
          - DEDICATED
          - HYBRID
          example: DEDICATED
          type: string
        vpcSubnetRange:
          description: The VPC subnet range.
          example: 172.20.0.0/22
          type: string
        workspaceIds:
          description: The list of Workspaces that are authorized to the cluster.
          items:
            type: string
          type: array
      required:
      - cloudProvider
      - name
      - region
      - type
      - vpcSubnetRange
      type: object
    CreateAzureClusterRequest:
      properties:
        cloudProvider:
          description: The cluster's cloud provider.
          enum:
          - AWS
          - AZURE
          - GCP
          example: AZURE
          type: string
        dbInstanceType:
          description: The type of database instance that is used for the cluster.
            Required for Hybrid clusters.
          example: Small General Purpose
          type: string
        drRegion:
          description: The secondary region for Disaster Recovery.
          example: us-west-2
          type: string
        drVpcSubnetRange:
          description: The VPC subnet range for the DR region. Defaults to the primary
            VPC subnet range if not specified.
          example: 172.20.0.0/22
          type: string
        enableReplicationTimeControl:
          description: Whether Bucket Storage Replication Time Control should be enabled
            for DR on task logs.
          type: boolean
        k8sTags:
          description: The Kubernetes tags in the cluster.
          items:
            $ref: '#/components/schemas/ClusterK8sTag'
          type: array
        name:
          description: The cluster's name.
          example: My cluster
          type: string
        nodePools:
          description: The list of node pools to create in the cluster.
          items:
            $ref: '#/components/schemas/CreateNodePoolRequest'
          type: array
        providerAccount:
          description: The provider account ID. Required for Hybrid clusters.
          example: provider-account
          type: string
        region:
          description: The cluster's region.
          example: us-east-1
          type: string
        tenantId:
          description: The tenant ID. For Azure clusters only.
          example: 82ab587e-33f8-47a2-8909-b9269551d45c
          type: string
        type:
          description: The cluster's type.
          enum:
          - DEDICATED
          - HYBRID
          example: DEDICATED
          type: string
        vpcSubnetRange:
          description: The VPC subnet range.
          example: 172.20.0.0/22
          type: string
        workspaceIds:
          description: The list of Workspaces that are authorized to the cluster.
          items:
            type: string
          type: array
      required:
      - cloudProvider
      - name
      - region
      - type
      - vpcSubnetRange
      type: object
    CreateClusterRequest:
      discriminator:
        mapping:
          AWS: '#/components/schemas/CreateAwsClusterRequest'
          AZURE: '#/components/schemas/CreateAzureClusterRequest'
          GCP: '#/components/schemas/CreateGcpClusterRequest'
        propertyName: cloudProvider
      oneOf:
      - $ref: '#/components/schemas/CreateAwsClusterRequest'
      - $ref: '#/components/schemas/CreateAzureClusterRequest'
      - $ref: '#/components/schemas/CreateGcpClusterRequest'
      type: object
    CreateCustomRoleRequest:
      properties:
        description:
          description: The role's description.
          example: Subject can only view deployments.
          type: string
        name:
          description: The role's name.
          example: Deployment_Viewer
          type: string
        permissions:
          description: The permissions included in the role.
          example:
          - deployment.get
          items:
            type: string
          minItems: 1
          type: array
        restrictedWorkspaceIds:
          description: The IDs of the Workspaces that the role is restricted to.
          example:
          - cldbvzoi20182g8odxt8ehi5i
          items:
            type: string
          type: array
        scopeType:
          description: The scope of the role.
          enum:
          - DEPLOYMENT
          - DAG
          example: DEPLOYMENT
          type: string
      required:
      - name
      - permissions
      - scopeType
      type: object
    CreateDedicatedDeploymentRequest:
      properties:
        astroRuntimeVersion:
          description: Deployment's Astro Runtime version.
          example: 9.1.0
          type: string
        clusterId:
          description: The ID of the cluster where the Deployment will be created.
          example: clmh9g6zj000

# --- truncated at 32 KB (342 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/astronomer/refs/heads/main/openapi/astronomer-astro-openapi-original.yml