openapi: 3.2.0
info:
title: Yugabytedb Availability Zones API
version: v1
contact:
name: https://docs.yugabyte.com
license:
name: Polyform Free Trial License 1.0.0
url: https://github.com/yugabyte/yugabyte-db/blob/master/licenses/POLYFORM-FREE-TRIAL-LICENSE-1.0.0.txt
termsOfService: TODO(chirag)
description: 'Operations tagged Availability Zones across 2 of this provider''s published API definitions: openapi_2.yaml, platform.swagger.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /
tags:
- name: Availability Zones
paths:
/api/v1/customers/{cUUID}/providers/{pUUID}/provider_regions/{rUUID}/region_zones:
servers:
- url: /
post:
description: 'WARNING: This is a preview API that could change.'
operationId: createZone
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: pUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityZone'
description: Availability Zone to create
required: true
responses:
'200':
content:
application/json:
schema:
additionalProperties:
$ref: '#/components/schemas/AvailabilityZone'
type: object
description: successful operation
security:
- apiKeyAuth: []
summary: Create an availability zone
tags:
- Availability Zones
x-codegen-request-body-name: azData
/api/v1/customers/{cUUID}/providers/{pUUID}/provider_regions/{rUUID}/region_zones/{azUUID}:
servers:
- url: /
put:
description: 'WARNING: This is a preview API that could change.'
operationId: editZone
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: pUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: path
name: azUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityZone'
description: Availability zone to edit
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityZone'
description: successful operation
security:
- apiKeyAuth: []
summary: Modify an availability zone
tags:
- Availability Zones
x-codegen-request-body-name: azData
/api/v1/customers/{cUUID}/providers/{pUUID}/regions/{rUUID}/zones:
servers:
- url: /
get:
operationId: listOfAZ
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: pUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AvailabilityZone'
type: array
description: successful operation
security:
- apiKeyAuth: []
summary: List availability zones
tags:
- Availability Zones
post:
deprecated: true
description: 'Deprecated since YBA version 2.18.2.0.
Use /api/v1/customers/{cUUID}/provider/{pUUID}/provider_regions/:rUUID/region_zones instead'
operationId: createAZ
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: pUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityZoneFormData'
description: Availability zone form data
required: true
responses:
'200':
content:
application/json:
schema:
additionalProperties:
$ref: '#/components/schemas/AvailabilityZone'
type: object
description: successful operation
security:
- apiKeyAuth: []
summary: Create an availability zone - deprecated
tags:
- Availability Zones
x-codegen-request-body-name: azFormData
/api/v1/customers/{cUUID}/providers/{pUUID}/regions/{rUUID}/zones/{azUUID}:
servers:
- url: /
delete:
operationId: deleteAZ
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: pUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: path
name: azUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/YBPSuccess'
description: successful operation
security:
- apiKeyAuth: []
summary: Delete an availability zone
tags:
- Availability Zones
put:
deprecated: true
description: 'Deprecated since YBA version 2.18.2.0.
Use /api/v1/customers/{cUUID}/provider/{pUUID}/provider_regions/:rUUID/region_zones/:zUUID instead'
operationId: editAZ
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: pUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: path
name: azUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityZoneFormData'
description: Availability zone edit form data
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AvailabilityZone'
description: successful operation
security:
- apiKeyAuth: []
summary: Edit an Availabilty Zone - deprecated
tags:
- Availability Zones
x-codegen-request-body-name: azFormData
components:
schemas:
AvailabilityZoneDetails:
example:
cloudInfo:
kubernetes:
kubeNamespace: kubeNamespace
kubernetesImagePullSecretName: kubernetesImagePullSecretName
kubernetesPullSecretContent: kubernetesPullSecretContent
certManagerIssuer: certManagerIssuer
isKubernetesOperatorControlled: true
kubernetesOperatorControlled: true
kubeConfig: kubeConfig
kubeDomain: kubeDomain
overrides: overrides
certManagerIssuerName: certManagerIssuerName
kubernetesPullSecret: kubernetesPullSecret
kubeConfigName: kubeConfigName
certManagerIssuerKind: certManagerIssuerKind
kubePodAddressTemplate: kubePodAddressTemplate
kubernetesProvider: kubernetesProvider
kubeConfigContent: kubeConfigContent
kubernetesPullSecretName: kubernetesPullSecretName
certManagerIssuerGroup: certManagerIssuerGroup
kubernetesImageRegistry: kubernetesImageRegistry
certManagerClusterIssuer: certManagerClusterIssuer
kubernetesStorageClass: kubernetesStorageClass
kubernetesServiceAccount: kubernetesServiceAccount
properties:
cloudInfo:
$ref: '#/components/schemas/AZCloudInfo'
type: object
YBPSuccess:
example:
success: true
message: message
properties:
message:
description: API response message.
readOnly: true
type: string
success:
description: API operation status. A value of true indicates the operation was successful.
readOnly: true
type: boolean
type: object
AvailabilityZoneFormData:
example:
availabilityZones:
- subnet: subnet
code: code
name: name
secondarySubnet: secondarySubnet
- subnet: subnet
code: code
name: name
secondarySubnet: secondarySubnet
properties:
availabilityZones:
description: List of availability zones
items:
$ref: '#/components/schemas/AvailabilityZoneData'
type: array
required:
- availabilityZones
type: object
AvailabilityZoneData:
description: Details of an availability zone, used by the API and UI to validate data against input constraints
example:
subnet: subnet
code: code
name: name
secondarySubnet: secondarySubnet
properties:
code:
description: AZ code
type: string
name:
description: AZ name
type: string
secondarySubnet:
description: AZ secondary subnet
type: string
subnet:
description: AZ subnet
type: string
required:
- code
- name
type: object
KubernetesRegionInfo:
example:
kubeNamespace: kubeNamespace
kubernetesImagePullSecretName: kubernetesImagePullSecretName
kubernetesPullSecretContent: kubernetesPullSecretContent
certManagerIssuer: certManagerIssuer
isKubernetesOperatorControlled: true
kubernetesOperatorControlled: true
kubeConfig: kubeConfig
kubeDomain: kubeDomain
overrides: overrides
certManagerIssuerName: certManagerIssuerName
kubernetesPullSecret: kubernetesPullSecret
kubeConfigName: kubeConfigName
certManagerIssuerKind: certManagerIssuerKind
kubePodAddressTemplate: kubePodAddressTemplate
kubernetesProvider: kubernetesProvider
kubeConfigContent: kubeConfigContent
kubernetesPullSecretName: kubernetesPullSecretName
certManagerIssuerGroup: certManagerIssuerGroup
kubernetesImageRegistry: kubernetesImageRegistry
certManagerClusterIssuer: certManagerClusterIssuer
kubernetesStorageClass: kubernetesStorageClass
kubernetesServiceAccount: kubernetesServiceAccount
properties:
certManagerClusterIssuer:
description: Deprecated since YBA version 2024.2.3.0.. Use certManagerIssuerKind and certManagerIssuerName instead
type: string
certManagerIssuer:
description: Deprecated since YBA version 2024.2.3.0.. Use certManagerIssuerKind and certManagerIssuerName instead
type: string
certManagerIssuerGroup:
type: string
certManagerIssuerKind:
type: string
certManagerIssuerName:
type: string
isKubernetesOperatorControlled:
readOnly: true
type: boolean
kubeConfig:
readOnly: true
type: string
kubeConfigContent:
type: string
kubeConfigName:
type: string
kubeDomain:
type: string
kubeNamespace:
type: string
kubePodAddressTemplate:
type: string
kubernetesImagePullSecretName:
type: string
kubernetesImageRegistry:
type: string
kubernetesOperatorControlled:
type: boolean
kubernetesProvider:
type: string
kubernetesPullSecret:
readOnly: true
type: string
kubernetesPullSecretContent:
type: string
kubernetesPullSecretName:
type: string
kubernetesServiceAccount:
description: Deprecated since YBA version 2.17.3.0. kubernetes service account is not needed.
type: string
kubernetesStorageClass:
type: string
overrides:
type: string
required:
- kubernetesOperatorControlled
type: object
AZCloudInfo:
example:
kubernetes:
kubeNamespace: kubeNamespace
kubernetesImagePullSecretName: kubernetesImagePullSecretName
kubernetesPullSecretContent: kubernetesPullSecretContent
certManagerIssuer: certManagerIssuer
isKubernetesOperatorControlled: true
kubernetesOperatorControlled: true
kubeConfig: kubeConfig
kubeDomain: kubeDomain
overrides: overrides
certManagerIssuerName: certManagerIssuerName
kubernetesPullSecret: kubernetesPullSecret
kubeConfigName: kubeConfigName
certManagerIssuerKind: certManagerIssuerKind
kubePodAddressTemplate: kubePodAddressTemplate
kubernetesProvider: kubernetesProvider
kubeConfigContent: kubeConfigContent
kubernetesPullSecretName: kubernetesPullSecretName
certManagerIssuerGroup: certManagerIssuerGroup
kubernetesImageRegistry: kubernetesImageRegistry
certManagerClusterIssuer: certManagerClusterIssuer
kubernetesStorageClass: kubernetesStorageClass
kubernetesServiceAccount: kubernetesServiceAccount
properties:
kubernetes:
$ref: '#/components/schemas/KubernetesRegionInfo'
type: object
AvailabilityZone:
description: Availability zone (AZ) for a region
example:
subnet: subnet id
code: us-west1-a
name: us-west1-a
active: true
details:
cloudInfo:
kubernetes:
kubeNamespace: kubeNamespace
kubernetesImagePullSecretName: kubernetesImagePullSecretName
kubernetesPullSecretContent: kubernetesPullSecretContent
certManagerIssuer: certManagerIssuer
isKubernetesOperatorControlled: true
kubernetesOperatorControlled: true
kubeConfig: kubeConfig
kubeDomain: kubeDomain
overrides: overrides
certManagerIssuerName: certManagerIssuerName
kubernetesPullSecret: kubernetesPullSecret
kubeConfigName: kubeConfigName
certManagerIssuerKind: certManagerIssuerKind
kubePodAddressTemplate: kubePodAddressTemplate
kubernetesProvider: kubernetesProvider
kubeConfigContent: kubeConfigContent
kubernetesPullSecretName: kubernetesPullSecretName
certManagerIssuerGroup: certManagerIssuerGroup
kubernetesImageRegistry: kubernetesImageRegistry
certManagerClusterIssuer: certManagerClusterIssuer
kubernetesStorageClass: kubernetesStorageClass
kubernetesServiceAccount: kubernetesServiceAccount
kubeconfigPath: kubeconfigPath
config:
key: config
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
secondarySubnet: secondary subnet id
properties:
active:
description: AZ status. This value is `true` for an active AZ.
readOnly: true
type: boolean
code:
description: AZ code
example: us-west1-a
type: string
config:
additionalProperties:
type: string
description: AZ configuration values
type: object
details:
$ref: '#/components/schemas/AvailabilityZoneDetails'
kubeconfigPath:
description: Path to Kubernetes configuration file
readOnly: true
type: string
name:
description: AZ name
example: us-west1-a
type: string
secondarySubnet:
description: AZ secondary subnet
example: secondary subnet id
type: string
subnet:
description: AZ subnet
example: subnet id
type: string
uuid:
description: AZ UUID. This must be specified for existing AZs on update
format: uuid
type: string
required:
- name
type: object
securitySchemes:
apiKeyAuth:
description: API token passed as header
in: header
name: X-AUTH-YW-API-TOKEN
type: apiKey
externalDocs:
description: About YugabyteDB Anywhere
url: https://docs.yugabyte.com/latest/yugabyte-platform/
x-refined-from:
- openapi_2.yaml
- platform.swagger.json