# Copyright 2023 Google LLC. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. info: title: ContainerAzure/Cluster description: An Anthos cluster running on Azure. x-dcl-struct-name: Cluster x-dcl-has-iam: false x-dcl-ref: text: API reference url: https://cloud.google.com/anthos/clusters/docs/multi-cloud/reference/rest/v1/projects.locations.azureClusters x-dcl-guides: - text: Multicloud overview url: https://cloud.google.com/anthos/clusters/docs/multi-cloud paths: get: description: The function used to get information about a Cluster parameters: - name: cluster required: true description: A full instance of a Cluster apply: description: The function used to apply information about a Cluster parameters: - name: cluster required: true description: A full instance of a Cluster delete: description: The function used to delete a Cluster parameters: - name: cluster required: true description: A full instance of a Cluster deleteAll: description: The function used to delete all Cluster parameters: - name: project required: true schema: type: string - name: location required: true schema: type: string list: description: The function used to list information about many Cluster parameters: - name: project required: true schema: type: string - name: location required: true schema: type: string components: schemas: Cluster: title: Cluster x-dcl-id: projects/{{project}}/locations/{{location}}/azureClusters/{{name}} x-dcl-parent-container: project x-dcl-has-create: true x-dcl-has-iam: false x-dcl-read-timeout: 0 x-dcl-apply-timeout: 0 x-dcl-delete-timeout: 0 type: object required: - name - azureRegion - resourceGroupId - networking - controlPlane - authorization - project - location - fleet properties: annotations: type: object additionalProperties: type: string x-dcl-go-name: Annotations description: 'Optional. Annotations on the cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Keys can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between.' x-kubernetes-immutable: true authorization: type: object x-dcl-go-name: Authorization x-dcl-go-type: ClusterAuthorization description: Configuration related to the cluster RBAC settings. required: - adminUsers properties: adminUsers: type: array x-dcl-go-name: AdminUsers description: Users that can perform operations as a cluster admin. A new ClusterRoleBinding will be created to grant the cluster-admin ClusterRole to the users. Up to ten admin users can be provided. For more info on RBAC, see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles x-dcl-send-empty: true x-dcl-list-type: list items: type: object x-dcl-go-type: ClusterAuthorizationAdminUsers required: - username properties: username: type: string x-dcl-go-name: Username description: The name of the user, e.g. `my-gcp-id@gmail.com`. azureRegion: type: string x-dcl-go-name: AzureRegion description: The Azure region where the cluster runs. Each Google Cloud region supports a subset of nearby Azure regions. You can call to list all supported Azure regions within a given Google Cloud region. x-kubernetes-immutable: true azureServicesAuthentication: type: object x-dcl-go-name: AzureServicesAuthentication x-dcl-go-type: ClusterAzureServicesAuthentication description: Azure authentication configuration for management of Azure resources x-dcl-conflicts: - client required: - tenantId - applicationId properties: applicationId: type: string x-dcl-go-name: ApplicationId description: The Azure Active Directory Application ID for Authentication configuration. tenantId: type: string x-dcl-go-name: TenantId description: The Azure Active Directory Tenant ID for Authentication configuration. client: type: string x-dcl-go-name: Client description: Name of the AzureClient. The `AzureClient` resource must reside on the same GCP project and region as the `AzureCluster`. `AzureClient` names are formatted as `projects//locations//azureClients/`. See Resource Names (https:cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names. x-dcl-conflicts: - azureServicesAuthentication x-dcl-references: - resource: ContainerAzure/AzureClient field: name controlPlane: type: object x-dcl-go-name: ControlPlane x-dcl-go-type: ClusterControlPlane description: Configuration related to the cluster control plane. required: - version - subnetId - sshConfig properties: databaseEncryption: type: object x-dcl-go-name: DatabaseEncryption x-dcl-go-type: ClusterControlPlaneDatabaseEncryption description: Optional. Configuration related to application-layer secrets encryption. x-kubernetes-immutable: true required: - keyId properties: keyId: type: string x-dcl-go-name: KeyId description: 'The ARM ID of the Azure Key Vault key to encrypt / decrypt data. For example: `/subscriptions//resourceGroups//providers/Microsoft.KeyVault/vaults//keys/` Encryption will always take the latest version of the key and hence specific version is not supported.' x-kubernetes-immutable: true mainVolume: type: object x-dcl-go-name: MainVolume x-dcl-go-type: ClusterControlPlaneMainVolume description: Optional. Configuration related to the main volume provisioned for each control plane replica. The main volume is in charge of storing all of the cluster's etcd state. When unspecified, it defaults to a 8-GiB Azure Disk. x-kubernetes-immutable: true x-dcl-server-default: true properties: sizeGib: type: integer format: int64 x-dcl-go-name: SizeGib description: Optional. The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource. x-kubernetes-immutable: true x-dcl-server-default: true proxyConfig: type: object x-dcl-go-name: ProxyConfig x-dcl-go-type: ClusterControlPlaneProxyConfig description: Proxy configuration for outbound HTTP(S) traffic. x-kubernetes-immutable: true required: - resourceGroupId - secretId properties: resourceGroupId: type: string x-dcl-go-name: ResourceGroupId description: The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as `/subscriptions//resourceGroups/` x-kubernetes-immutable: true secretId: type: string x-dcl-go-name: SecretId description: The URL the of the proxy setting secret with its version. Secret ids are formatted as `https:.vault.azure.net/secrets//`. x-kubernetes-immutable: true replicaPlacements: type: array x-dcl-go-name: ReplicaPlacements description: Configuration for where to place the control plane replicas. Up to three replica placement instances can be specified. If replica_placements is set, the replica placement instances will be applied to the three control plane replicas as evenly as possible. x-kubernetes-immutable: true x-dcl-send-empty: true x-dcl-list-type: list items: type: object x-dcl-go-type: ClusterControlPlaneReplicaPlacements required: - subnetId - azureAvailabilityZone properties: azureAvailabilityZone: type: string x-dcl-go-name: AzureAvailabilityZone description: For a given replica, the Azure availability zone where to provision the control plane VM and the ETCD disk. x-kubernetes-immutable: true subnetId: type: string x-dcl-go-name: SubnetId description: For a given replica, the ARM ID of the subnet where the control plane VM is deployed. Make sure it's a subnet under the virtual network in the cluster configuration. x-kubernetes-immutable: true rootVolume: type: object x-dcl-go-name: RootVolume x-dcl-go-type: ClusterControlPlaneRootVolume description: Optional. Configuration related to the root volume provisioned for each control plane replica. When unspecified, it defaults to 32-GiB Azure Disk. x-kubernetes-immutable: true x-dcl-server-default: true properties: sizeGib: type: integer format: int64 x-dcl-go-name: SizeGib description: Optional. The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource. x-kubernetes-immutable: true x-dcl-server-default: true sshConfig: type: object x-dcl-go-name: SshConfig x-dcl-go-type: ClusterControlPlaneSshConfig description: SSH configuration for how to access the underlying control plane machines. required: - authorizedKey properties: authorizedKey: type: string x-dcl-go-name: AuthorizedKey description: The SSH public key data for VMs managed by Anthos. This accepts the authorized_keys file format used in OpenSSH according to the sshd(8) manual page. subnetId: type: string x-dcl-go-name: SubnetId description: 'The ARM ID of the subnet where the control plane VMs are deployed. Example: `/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/default`.' x-kubernetes-immutable: true tags: type: object additionalProperties: type: string x-dcl-go-name: Tags description: Optional. A set of tags to apply to all underlying control plane Azure resources. x-kubernetes-immutable: true version: type: string x-dcl-go-name: Version description: The Kubernetes version to run on control plane replicas (e.g. `1.19.10-gke.1000`). You can list all supported versions on a given Google Cloud region by calling GetAzureServerConfig. vmSize: type: string x-dcl-go-name: VmSize description: 'Optional. The Azure VM size name. Example: `Standard_DS2_v2`. For available VM sizes, see https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions. When unspecified, it defaults to `Standard_DS2_v2`.' x-dcl-server-default: true createTime: type: string format: date-time x-dcl-go-name: CreateTime readOnly: true description: Output only. The time at which this cluster was created. x-kubernetes-immutable: true description: type: string x-dcl-go-name: Description description: Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes. endpoint: type: string x-dcl-go-name: Endpoint readOnly: true description: Output only. The endpoint of the cluster's API server. x-kubernetes-immutable: true etag: type: string x-dcl-go-name: Etag readOnly: true description: Allows clients to perform consistent read-modify-writes through optimistic concurrency control. May be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. x-kubernetes-immutable: true fleet: type: object x-dcl-go-name: Fleet x-dcl-go-type: ClusterFleet description: Fleet configuration. x-kubernetes-immutable: true required: - project properties: membership: type: string x-dcl-go-name: Membership readOnly: true description: The name of the managed Hub Membership resource associated to this cluster. Membership names are formatted as projects//locations/global/membership/. x-kubernetes-immutable: true project: type: string x-dcl-go-name: Project description: The number of the Fleet host project where this cluster will be registered. x-kubernetes-immutable: true x-dcl-references: - resource: Cloudresourcemanager/Project field: name parent: true location: type: string x-dcl-go-name: Location description: The location for the resource x-kubernetes-immutable: true name: type: string x-dcl-go-name: Name description: The name of this resource. x-kubernetes-immutable: true networking: type: object x-dcl-go-name: Networking x-dcl-go-type: ClusterNetworking description: Cluster-wide networking configuration. x-kubernetes-immutable: true required: - virtualNetworkId - podAddressCidrBlocks - serviceAddressCidrBlocks properties: podAddressCidrBlocks: type: array x-dcl-go-name: PodAddressCidrBlocks description: The IP address range of the pods in this cluster, in CIDR notation (e.g. `10.96.0.0/14`). All pods in the cluster get assigned a unique RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation. x-kubernetes-immutable: true x-dcl-send-empty: true x-dcl-list-type: list items: type: string x-dcl-go-type: string serviceAddressCidrBlocks: type: array x-dcl-go-name: ServiceAddressCidrBlocks description: The IP address range for services in this cluster, in CIDR notation (e.g. `10.96.0.0/14`). All services in the cluster get assigned a unique RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creating a cluster. x-kubernetes-immutable: true x-dcl-send-empty: true x-dcl-list-type: list items: type: string x-dcl-go-type: string virtualNetworkId: type: string x-dcl-go-name: VirtualNetworkId description: 'The Azure Resource Manager (ARM) ID of the VNet associated with your cluster. All components in the cluster (i.e. control plane and node pools) run on a single VNet. Example: `/subscriptions/*/resourceGroups/*/providers/Microsoft.Network/virtualNetworks/*` This field cannot be changed after creation.' x-kubernetes-immutable: true project: type: string x-dcl-go-name: Project description: The project for the resource x-kubernetes-immutable: true x-dcl-references: - resource: Cloudresourcemanager/Project field: name parent: true reconciling: type: boolean x-dcl-go-name: Reconciling readOnly: true description: Output only. If set, there are currently changes in flight to the cluster. x-kubernetes-immutable: true resourceGroupId: type: string x-dcl-go-name: ResourceGroupId description: 'The ARM ID of the resource group where the cluster resources are deployed. For example: `/subscriptions/*/resourceGroups/*`' x-kubernetes-immutable: true state: type: string x-dcl-go-name: State x-dcl-go-type: ClusterStateEnum readOnly: true description: 'Output only. The current state of the cluster. Possible values: STATE_UNSPECIFIED, PROVISIONING, RUNNING, RECONCILING, STOPPING, ERROR, DEGRADED' x-kubernetes-immutable: true enum: - STATE_UNSPECIFIED - PROVISIONING - RUNNING - RECONCILING - STOPPING - ERROR - DEGRADED uid: type: string x-dcl-go-name: Uid readOnly: true description: Output only. A globally unique identifier for the cluster. x-kubernetes-immutable: true updateTime: type: string format: date-time x-dcl-go-name: UpdateTime readOnly: true description: Output only. The time at which this cluster was last updated. x-kubernetes-immutable: true workloadIdentityConfig: type: object x-dcl-go-name: WorkloadIdentityConfig x-dcl-go-type: ClusterWorkloadIdentityConfig readOnly: true description: Output only. Workload Identity settings. x-kubernetes-immutable: true properties: identityProvider: type: string x-dcl-go-name: IdentityProvider description: The ID of the OIDC Identity Provider (IdP) associated to the Workload Identity Pool. x-kubernetes-immutable: true issuerUri: type: string x-dcl-go-name: IssuerUri description: The OIDC issuer URL for this cluster. x-kubernetes-immutable: true workloadPool: type: string x-dcl-go-name: WorkloadPool description: The Workload Identity Pool associated to the cluster. x-kubernetes-immutable: true