@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
836 lines (835 loc) • 48.7 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ContainerAzureClusterConfig extends cdktf.TerraformMetaArguments {
/**
* 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.
*
* **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
* Please refer to the field `effective_annotations` for all of the annotations present on the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#annotations ContainerAzureCluster#annotations}
*/
readonly annotations?: {
[key: string]: string;
};
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#azure_region ContainerAzureCluster#azure_region}
*/
readonly azureRegion: string;
/**
* 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/<project-number>/locations/<region>/azureClients/<client-id>`. See Resource Names (https:cloud.google.com/apis/design/resource_names) for more details on Google Cloud resource names.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#client ContainerAzureCluster#client}
*/
readonly client?: string;
/**
* Optional. A human readable description of this cluster. Cannot be longer than 255 UTF-8 encoded bytes.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#description ContainerAzureCluster#description}
*/
readonly description?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#id ContainerAzureCluster#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* The location for the resource
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#location ContainerAzureCluster#location}
*/
readonly location: string;
/**
* The name of this resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#name ContainerAzureCluster#name}
*/
readonly name: string;
/**
* The project for the resource
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#project ContainerAzureCluster#project}
*/
readonly project?: string;
/**
* The ARM ID of the resource group where the cluster resources are deployed. For example: `/subscriptions/* /resourceGroups/*`
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#resource_group_id ContainerAzureCluster#resource_group_id}
*
* Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.
*/
readonly resourceGroupId: string;
/**
* authorization block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#authorization ContainerAzureCluster#authorization}
*/
readonly authorization: ContainerAzureClusterAuthorization;
/**
* azure_services_authentication block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#azure_services_authentication ContainerAzureCluster#azure_services_authentication}
*/
readonly azureServicesAuthentication?: ContainerAzureClusterAzureServicesAuthentication;
/**
* control_plane block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#control_plane ContainerAzureCluster#control_plane}
*/
readonly controlPlane: ContainerAzureClusterControlPlane;
/**
* fleet block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#fleet ContainerAzureCluster#fleet}
*/
readonly fleet: ContainerAzureClusterFleet;
/**
* networking block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#networking ContainerAzureCluster#networking}
*/
readonly networking: ContainerAzureClusterNetworking;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#timeouts ContainerAzureCluster#timeouts}
*/
readonly timeouts?: ContainerAzureClusterTimeouts;
}
export interface ContainerAzureClusterWorkloadIdentityConfig {
}
export declare function containerAzureClusterWorkloadIdentityConfigToTerraform(struct?: ContainerAzureClusterWorkloadIdentityConfig): any;
export declare function containerAzureClusterWorkloadIdentityConfigToHclTerraform(struct?: ContainerAzureClusterWorkloadIdentityConfig): any;
export declare class ContainerAzureClusterWorkloadIdentityConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): ContainerAzureClusterWorkloadIdentityConfig | undefined;
set internalValue(value: ContainerAzureClusterWorkloadIdentityConfig | undefined);
get identityProvider(): string;
get issuerUri(): string;
get workloadPool(): string;
}
export declare class ContainerAzureClusterWorkloadIdentityConfigList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): ContainerAzureClusterWorkloadIdentityConfigOutputReference;
}
export interface ContainerAzureClusterAuthorizationAdminGroups {
/**
* The name of the group, e.g. `my-group@domain.com`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#group ContainerAzureCluster#group}
*/
readonly group: string;
}
export declare function containerAzureClusterAuthorizationAdminGroupsToTerraform(struct?: ContainerAzureClusterAuthorizationAdminGroups | cdktf.IResolvable): any;
export declare function containerAzureClusterAuthorizationAdminGroupsToHclTerraform(struct?: ContainerAzureClusterAuthorizationAdminGroups | cdktf.IResolvable): any;
export declare class ContainerAzureClusterAuthorizationAdminGroupsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): ContainerAzureClusterAuthorizationAdminGroups | cdktf.IResolvable | undefined;
set internalValue(value: ContainerAzureClusterAuthorizationAdminGroups | cdktf.IResolvable | undefined);
private _group?;
get group(): string;
set group(value: string);
get groupInput(): string | undefined;
}
export declare class ContainerAzureClusterAuthorizationAdminGroupsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ContainerAzureClusterAuthorizationAdminGroups[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): ContainerAzureClusterAuthorizationAdminGroupsOutputReference;
}
export interface ContainerAzureClusterAuthorizationAdminUsers {
/**
* The name of the user, e.g. `my-gcp-id@gmail.com`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#username ContainerAzureCluster#username}
*/
readonly username: string;
}
export declare function containerAzureClusterAuthorizationAdminUsersToTerraform(struct?: ContainerAzureClusterAuthorizationAdminUsers | cdktf.IResolvable): any;
export declare function containerAzureClusterAuthorizationAdminUsersToHclTerraform(struct?: ContainerAzureClusterAuthorizationAdminUsers | cdktf.IResolvable): any;
export declare class ContainerAzureClusterAuthorizationAdminUsersOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): ContainerAzureClusterAuthorizationAdminUsers | cdktf.IResolvable | undefined;
set internalValue(value: ContainerAzureClusterAuthorizationAdminUsers | cdktf.IResolvable | undefined);
private _username?;
get username(): string;
set username(value: string);
get usernameInput(): string | undefined;
}
export declare class ContainerAzureClusterAuthorizationAdminUsersList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ContainerAzureClusterAuthorizationAdminUsers[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): ContainerAzureClusterAuthorizationAdminUsersOutputReference;
}
export interface ContainerAzureClusterAuthorization {
/**
* admin_groups block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#admin_groups ContainerAzureCluster#admin_groups}
*/
readonly adminGroups?: ContainerAzureClusterAuthorizationAdminGroups[] | cdktf.IResolvable;
/**
* admin_users block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#admin_users ContainerAzureCluster#admin_users}
*/
readonly adminUsers: ContainerAzureClusterAuthorizationAdminUsers[] | cdktf.IResolvable;
}
export declare function containerAzureClusterAuthorizationToTerraform(struct?: ContainerAzureClusterAuthorizationOutputReference | ContainerAzureClusterAuthorization): any;
export declare function containerAzureClusterAuthorizationToHclTerraform(struct?: ContainerAzureClusterAuthorizationOutputReference | ContainerAzureClusterAuthorization): any;
export declare class ContainerAzureClusterAuthorizationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterAuthorization | undefined;
set internalValue(value: ContainerAzureClusterAuthorization | undefined);
private _adminGroups;
get adminGroups(): ContainerAzureClusterAuthorizationAdminGroupsList;
putAdminGroups(value: ContainerAzureClusterAuthorizationAdminGroups[] | cdktf.IResolvable): void;
resetAdminGroups(): void;
get adminGroupsInput(): cdktf.IResolvable | ContainerAzureClusterAuthorizationAdminGroups[] | undefined;
private _adminUsers;
get adminUsers(): ContainerAzureClusterAuthorizationAdminUsersList;
putAdminUsers(value: ContainerAzureClusterAuthorizationAdminUsers[] | cdktf.IResolvable): void;
get adminUsersInput(): cdktf.IResolvable | ContainerAzureClusterAuthorizationAdminUsers[] | undefined;
}
export interface ContainerAzureClusterAzureServicesAuthentication {
/**
* The Azure Active Directory Application ID for Authentication configuration.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#application_id ContainerAzureCluster#application_id}
*/
readonly applicationId: string;
/**
* The Azure Active Directory Tenant ID for Authentication configuration.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#tenant_id ContainerAzureCluster#tenant_id}
*/
readonly tenantId: string;
}
export declare function containerAzureClusterAzureServicesAuthenticationToTerraform(struct?: ContainerAzureClusterAzureServicesAuthenticationOutputReference | ContainerAzureClusterAzureServicesAuthentication): any;
export declare function containerAzureClusterAzureServicesAuthenticationToHclTerraform(struct?: ContainerAzureClusterAzureServicesAuthenticationOutputReference | ContainerAzureClusterAzureServicesAuthentication): any;
export declare class ContainerAzureClusterAzureServicesAuthenticationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterAzureServicesAuthentication | undefined;
set internalValue(value: ContainerAzureClusterAzureServicesAuthentication | undefined);
private _applicationId?;
get applicationId(): string;
set applicationId(value: string);
get applicationIdInput(): string | undefined;
private _tenantId?;
get tenantId(): string;
set tenantId(value: string);
get tenantIdInput(): string | undefined;
}
export interface ContainerAzureClusterControlPlaneDatabaseEncryption {
/**
* The ARM ID of the Azure Key Vault key to encrypt / decrypt data. For example: `/subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name>` Encryption will always take the latest version of the key and hence specific version is not supported.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#key_id ContainerAzureCluster#key_id}
*/
readonly keyId: string;
}
export declare function containerAzureClusterControlPlaneDatabaseEncryptionToTerraform(struct?: ContainerAzureClusterControlPlaneDatabaseEncryptionOutputReference | ContainerAzureClusterControlPlaneDatabaseEncryption): any;
export declare function containerAzureClusterControlPlaneDatabaseEncryptionToHclTerraform(struct?: ContainerAzureClusterControlPlaneDatabaseEncryptionOutputReference | ContainerAzureClusterControlPlaneDatabaseEncryption): any;
export declare class ContainerAzureClusterControlPlaneDatabaseEncryptionOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterControlPlaneDatabaseEncryption | undefined;
set internalValue(value: ContainerAzureClusterControlPlaneDatabaseEncryption | undefined);
private _keyId?;
get keyId(): string;
set keyId(value: string);
get keyIdInput(): string | undefined;
}
export interface ContainerAzureClusterControlPlaneMainVolume {
/**
* Optional. The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#size_gib ContainerAzureCluster#size_gib}
*/
readonly sizeGib?: number;
}
export declare function containerAzureClusterControlPlaneMainVolumeToTerraform(struct?: ContainerAzureClusterControlPlaneMainVolumeOutputReference | ContainerAzureClusterControlPlaneMainVolume): any;
export declare function containerAzureClusterControlPlaneMainVolumeToHclTerraform(struct?: ContainerAzureClusterControlPlaneMainVolumeOutputReference | ContainerAzureClusterControlPlaneMainVolume): any;
export declare class ContainerAzureClusterControlPlaneMainVolumeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterControlPlaneMainVolume | undefined;
set internalValue(value: ContainerAzureClusterControlPlaneMainVolume | undefined);
private _sizeGib?;
get sizeGib(): number;
set sizeGib(value: number);
resetSizeGib(): void;
get sizeGibInput(): number | undefined;
}
export interface ContainerAzureClusterControlPlaneProxyConfig {
/**
* The ARM ID the of the resource group containing proxy keyvault. Resource group ids are formatted as `/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>`
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#resource_group_id ContainerAzureCluster#resource_group_id}
*/
readonly resourceGroupId: string;
/**
* The URL the of the proxy setting secret with its version. Secret ids are formatted as `https:<key-vault-name>.vault.azure.net/secrets/<secret-name>/<secret-version>`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#secret_id ContainerAzureCluster#secret_id}
*/
readonly secretId: string;
}
export declare function containerAzureClusterControlPlaneProxyConfigToTerraform(struct?: ContainerAzureClusterControlPlaneProxyConfigOutputReference | ContainerAzureClusterControlPlaneProxyConfig): any;
export declare function containerAzureClusterControlPlaneProxyConfigToHclTerraform(struct?: ContainerAzureClusterControlPlaneProxyConfigOutputReference | ContainerAzureClusterControlPlaneProxyConfig): any;
export declare class ContainerAzureClusterControlPlaneProxyConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterControlPlaneProxyConfig | undefined;
set internalValue(value: ContainerAzureClusterControlPlaneProxyConfig | undefined);
private _resourceGroupId?;
get resourceGroupId(): string;
set resourceGroupId(value: string);
get resourceGroupIdInput(): string | undefined;
private _secretId?;
get secretId(): string;
set secretId(value: string);
get secretIdInput(): string | undefined;
}
export interface ContainerAzureClusterControlPlaneReplicaPlacements {
/**
* For a given replica, the Azure availability zone where to provision the control plane VM and the ETCD disk.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#azure_availability_zone ContainerAzureCluster#azure_availability_zone}
*/
readonly azureAvailabilityZone: string;
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#subnet_id ContainerAzureCluster#subnet_id}
*/
readonly subnetId: string;
}
export declare function containerAzureClusterControlPlaneReplicaPlacementsToTerraform(struct?: ContainerAzureClusterControlPlaneReplicaPlacements | cdktf.IResolvable): any;
export declare function containerAzureClusterControlPlaneReplicaPlacementsToHclTerraform(struct?: ContainerAzureClusterControlPlaneReplicaPlacements | cdktf.IResolvable): any;
export declare class ContainerAzureClusterControlPlaneReplicaPlacementsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): ContainerAzureClusterControlPlaneReplicaPlacements | cdktf.IResolvable | undefined;
set internalValue(value: ContainerAzureClusterControlPlaneReplicaPlacements | cdktf.IResolvable | undefined);
private _azureAvailabilityZone?;
get azureAvailabilityZone(): string;
set azureAvailabilityZone(value: string);
get azureAvailabilityZoneInput(): string | undefined;
private _subnetId?;
get subnetId(): string;
set subnetId(value: string);
get subnetIdInput(): string | undefined;
}
export declare class ContainerAzureClusterControlPlaneReplicaPlacementsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: ContainerAzureClusterControlPlaneReplicaPlacements[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): ContainerAzureClusterControlPlaneReplicaPlacementsOutputReference;
}
export interface ContainerAzureClusterControlPlaneRootVolume {
/**
* Optional. The size of the disk, in GiBs. When unspecified, a default value is provided. See the specific reference in the parent resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#size_gib ContainerAzureCluster#size_gib}
*/
readonly sizeGib?: number;
}
export declare function containerAzureClusterControlPlaneRootVolumeToTerraform(struct?: ContainerAzureClusterControlPlaneRootVolumeOutputReference | ContainerAzureClusterControlPlaneRootVolume): any;
export declare function containerAzureClusterControlPlaneRootVolumeToHclTerraform(struct?: ContainerAzureClusterControlPlaneRootVolumeOutputReference | ContainerAzureClusterControlPlaneRootVolume): any;
export declare class ContainerAzureClusterControlPlaneRootVolumeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterControlPlaneRootVolume | undefined;
set internalValue(value: ContainerAzureClusterControlPlaneRootVolume | undefined);
private _sizeGib?;
get sizeGib(): number;
set sizeGib(value: number);
resetSizeGib(): void;
get sizeGibInput(): number | undefined;
}
export interface ContainerAzureClusterControlPlaneSshConfig {
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#authorized_key ContainerAzureCluster#authorized_key}
*/
readonly authorizedKey: string;
}
export declare function containerAzureClusterControlPlaneSshConfigToTerraform(struct?: ContainerAzureClusterControlPlaneSshConfigOutputReference | ContainerAzureClusterControlPlaneSshConfig): any;
export declare function containerAzureClusterControlPlaneSshConfigToHclTerraform(struct?: ContainerAzureClusterControlPlaneSshConfigOutputReference | ContainerAzureClusterControlPlaneSshConfig): any;
export declare class ContainerAzureClusterControlPlaneSshConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterControlPlaneSshConfig | undefined;
set internalValue(value: ContainerAzureClusterControlPlaneSshConfig | undefined);
private _authorizedKey?;
get authorizedKey(): string;
set authorizedKey(value: string);
get authorizedKeyInput(): string | undefined;
}
export interface ContainerAzureClusterControlPlane {
/**
* The ARM ID of the subnet where the control plane VMs are deployed. Example: `/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/default`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#subnet_id ContainerAzureCluster#subnet_id}
*/
readonly subnetId: string;
/**
* Optional. A set of tags to apply to all underlying control plane Azure resources.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#tags ContainerAzureCluster#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#version ContainerAzureCluster#version}
*/
readonly version: string;
/**
* 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`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#vm_size ContainerAzureCluster#vm_size}
*/
readonly vmSize?: string;
/**
* database_encryption block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#database_encryption ContainerAzureCluster#database_encryption}
*/
readonly databaseEncryption?: ContainerAzureClusterControlPlaneDatabaseEncryption;
/**
* main_volume block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#main_volume ContainerAzureCluster#main_volume}
*/
readonly mainVolume?: ContainerAzureClusterControlPlaneMainVolume;
/**
* proxy_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#proxy_config ContainerAzureCluster#proxy_config}
*/
readonly proxyConfig?: ContainerAzureClusterControlPlaneProxyConfig;
/**
* replica_placements block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#replica_placements ContainerAzureCluster#replica_placements}
*/
readonly replicaPlacements?: ContainerAzureClusterControlPlaneReplicaPlacements[] | cdktf.IResolvable;
/**
* root_volume block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#root_volume ContainerAzureCluster#root_volume}
*/
readonly rootVolume?: ContainerAzureClusterControlPlaneRootVolume;
/**
* ssh_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#ssh_config ContainerAzureCluster#ssh_config}
*/
readonly sshConfig: ContainerAzureClusterControlPlaneSshConfig;
}
export declare function containerAzureClusterControlPlaneToTerraform(struct?: ContainerAzureClusterControlPlaneOutputReference | ContainerAzureClusterControlPlane): any;
export declare function containerAzureClusterControlPlaneToHclTerraform(struct?: ContainerAzureClusterControlPlaneOutputReference | ContainerAzureClusterControlPlane): any;
export declare class ContainerAzureClusterControlPlaneOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterControlPlane | undefined;
set internalValue(value: ContainerAzureClusterControlPlane | undefined);
private _subnetId?;
get subnetId(): string;
set subnetId(value: string);
get subnetIdInput(): string | undefined;
private _tags?;
get tags(): {
[key: string]: string;
};
set tags(value: {
[key: string]: string;
});
resetTags(): void;
get tagsInput(): {
[key: string]: string;
} | undefined;
private _version?;
get version(): string;
set version(value: string);
get versionInput(): string | undefined;
private _vmSize?;
get vmSize(): string;
set vmSize(value: string);
resetVmSize(): void;
get vmSizeInput(): string | undefined;
private _databaseEncryption;
get databaseEncryption(): ContainerAzureClusterControlPlaneDatabaseEncryptionOutputReference;
putDatabaseEncryption(value: ContainerAzureClusterControlPlaneDatabaseEncryption): void;
resetDatabaseEncryption(): void;
get databaseEncryptionInput(): ContainerAzureClusterControlPlaneDatabaseEncryption | undefined;
private _mainVolume;
get mainVolume(): ContainerAzureClusterControlPlaneMainVolumeOutputReference;
putMainVolume(value: ContainerAzureClusterControlPlaneMainVolume): void;
resetMainVolume(): void;
get mainVolumeInput(): ContainerAzureClusterControlPlaneMainVolume | undefined;
private _proxyConfig;
get proxyConfig(): ContainerAzureClusterControlPlaneProxyConfigOutputReference;
putProxyConfig(value: ContainerAzureClusterControlPlaneProxyConfig): void;
resetProxyConfig(): void;
get proxyConfigInput(): ContainerAzureClusterControlPlaneProxyConfig | undefined;
private _replicaPlacements;
get replicaPlacements(): ContainerAzureClusterControlPlaneReplicaPlacementsList;
putReplicaPlacements(value: ContainerAzureClusterControlPlaneReplicaPlacements[] | cdktf.IResolvable): void;
resetReplicaPlacements(): void;
get replicaPlacementsInput(): cdktf.IResolvable | ContainerAzureClusterControlPlaneReplicaPlacements[] | undefined;
private _rootVolume;
get rootVolume(): ContainerAzureClusterControlPlaneRootVolumeOutputReference;
putRootVolume(value: ContainerAzureClusterControlPlaneRootVolume): void;
resetRootVolume(): void;
get rootVolumeInput(): ContainerAzureClusterControlPlaneRootVolume | undefined;
private _sshConfig;
get sshConfig(): ContainerAzureClusterControlPlaneSshConfigOutputReference;
putSshConfig(value: ContainerAzureClusterControlPlaneSshConfig): void;
get sshConfigInput(): ContainerAzureClusterControlPlaneSshConfig | undefined;
}
export interface ContainerAzureClusterFleet {
/**
* The number of the Fleet host project where this cluster will be registered.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#project ContainerAzureCluster#project}
*/
readonly project?: string;
}
export declare function containerAzureClusterFleetToTerraform(struct?: ContainerAzureClusterFleetOutputReference | ContainerAzureClusterFleet): any;
export declare function containerAzureClusterFleetToHclTerraform(struct?: ContainerAzureClusterFleetOutputReference | ContainerAzureClusterFleet): any;
export declare class ContainerAzureClusterFleetOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterFleet | undefined;
set internalValue(value: ContainerAzureClusterFleet | undefined);
get membership(): string;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
}
export interface ContainerAzureClusterNetworking {
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#pod_address_cidr_blocks ContainerAzureCluster#pod_address_cidr_blocks}
*/
readonly podAddressCidrBlocks: string[];
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#service_address_cidr_blocks ContainerAzureCluster#service_address_cidr_blocks}
*/
readonly serviceAddressCidrBlocks: string[];
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#virtual_network_id ContainerAzureCluster#virtual_network_id}
*
* Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.
*/
readonly virtualNetworkId: string;
}
export declare function containerAzureClusterNetworkingToTerraform(struct?: ContainerAzureClusterNetworkingOutputReference | ContainerAzureClusterNetworking): any;
export declare function containerAzureClusterNetworkingToHclTerraform(struct?: ContainerAzureClusterNetworkingOutputReference | ContainerAzureClusterNetworking): any;
export declare class ContainerAzureClusterNetworkingOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterNetworking | undefined;
set internalValue(value: ContainerAzureClusterNetworking | undefined);
private _podAddressCidrBlocks?;
get podAddressCidrBlocks(): string[];
set podAddressCidrBlocks(value: string[]);
get podAddressCidrBlocksInput(): string[] | undefined;
private _serviceAddressCidrBlocks?;
get serviceAddressCidrBlocks(): string[];
set serviceAddressCidrBlocks(value: string[]);
get serviceAddressCidrBlocksInput(): string[] | undefined;
private _virtualNetworkId?;
get virtualNetworkId(): string;
set virtualNetworkId(value: string);
get virtualNetworkIdInput(): string | undefined;
}
export interface ContainerAzureClusterTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#create ContainerAzureCluster#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#delete ContainerAzureCluster#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#update ContainerAzureCluster#update}
*/
readonly update?: string;
}
export declare function containerAzureClusterTimeoutsToTerraform(struct?: ContainerAzureClusterTimeouts | cdktf.IResolvable): any;
export declare function containerAzureClusterTimeoutsToHclTerraform(struct?: ContainerAzureClusterTimeouts | cdktf.IResolvable): any;
export declare class ContainerAzureClusterTimeoutsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): ContainerAzureClusterTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: ContainerAzureClusterTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
private _delete?;
get delete(): string;
set delete(value: string);
resetDelete(): void;
get deleteInput(): string | undefined;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster google_container_azure_cluster}
*/
export declare class ContainerAzureCluster extends cdktf.TerraformResource {
static readonly tfResourceType = "google_container_azure_cluster";
/**
* Generates CDKTF code for importing a ContainerAzureCluster resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the ContainerAzureCluster to import
* @param importFromId The id of the existing ContainerAzureCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ContainerAzureCluster to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_azure_cluster google_container_azure_cluster} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options ContainerAzureClusterConfig
*/
constructor(scope: Construct, id: string, config: ContainerAzureClusterConfig);
private _annotations?;
get annotations(): {
[key: string]: string;
};
set annotations(value: {
[key: string]: string;
});
resetAnnotations(): void;
get annotationsInput(): {
[key: string]: string;
} | undefined;
private _azureRegion?;
get azureRegion(): string;
set azureRegion(value: string);
get azureRegionInput(): string | undefined;
private _client?;
get client(): string;
set client(value: string);
resetClient(): void;
get clientInput(): string | undefined;
get createTime(): string;
private _description?;
get description(): string;
set description(value: string);
resetDescription(): void;
get descriptionInput(): string | undefined;
private _effectiveAnnotations;
get effectiveAnnotations(): cdktf.StringMap;
get endpoint(): string;
get etag(): string;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _location?;
get location(): string;
set location(value: string);
get locationInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
get reconciling(): cdktf.IResolvable;
private _resourceGroupId?;
get resourceGroupId(): string;
set resourceGroupId(value: string);
get resourceGroupIdInput(): string | undefined;
get state(): string;
get uid(): string;
get updateTime(): string;
private _workloadIdentityConfig;
get workloadIdentityConfig(): ContainerAzureClusterWorkloadIdentityConfigList;
private _authorization;
get authorization(): ContainerAzureClusterAuthorizationOutputReference;
putAuthorization(value: ContainerAzureClusterAuthorization): void;
get authorizationInput(): ContainerAzureClusterAuthorization | undefined;
private _azureServicesAuthentication;
get azureServicesAuthentication(): ContainerAzureClusterAzureServicesAuthenticationOutputReference;
putAzureServicesAuthentication(value: ContainerAzureClusterAzureServicesAuthentication): void;
resetAzureServicesAuthentication(): void;
get azureServicesAuthenticationInput(): ContainerAzureClusterAzureServicesAuthentication | undefined;
private _controlPlane;
get controlPlane(): ContainerAzureClusterControlPlaneOutputReference;
putControlPlane(value: ContainerAzureClusterControlPlane): void;
get controlPlaneInput(): ContainerAzureClusterControlPlane | undefined;
private _fleet;
get fleet(): ContainerAzureClusterFleetOutputReference;
putFleet(value: ContainerAzureClusterFleet): void;
get fleetInput(): ContainerAzureClusterFleet | undefined;
private _networking;
get networking(): ContainerAzureClusterNetworkingOutputReference;
putNetworking(value: ContainerAzureClusterNetworking): void;
get networkingInput(): ContainerAzureClusterNetworking | undefined;
private _timeouts;
get timeouts(): ContainerAzureClusterTimeoutsOutputReference;
putTimeouts(value: ContainerAzureClusterTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | ContainerAzureClusterTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}