import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface KubernetesClusterConfig extends cdktf.TerraformMetaArguments { /** * CIDR block. IP range for allocating pod addresses. It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#cluster_ipv4_range KubernetesCluster#cluster_ipv4_range} */ readonly clusterIpv4Range?: string; /** * Identical to `cluster_ipv4_range` but for IPv6 protocol. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#cluster_ipv6_range KubernetesCluster#cluster_ipv6_range} */ readonly clusterIpv6Range?: string; /** * The resource description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#description KubernetesCluster#description} */ readonly description?: string; /** * The folder identifier that resource belongs to. If it is not provided, the default provider `folder-id` is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#folder_id KubernetesCluster#folder_id} */ readonly folderId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#id KubernetesCluster#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; /** * A set of key/value label pairs which assigned to resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#labels KubernetesCluster#labels} */ readonly labels?: { [key: string]: string; }; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#name KubernetesCluster#name} */ readonly name?: string; /** * The ID of the cluster network. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#network_id KubernetesCluster#network_id} */ readonly networkId: string; /** * Network policy provider for the cluster. Possible values: `CALICO`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#network_policy_provider KubernetesCluster#network_policy_provider} */ readonly networkPolicyProvider?: string; /** * Size of the masks that are assigned to each node in the cluster. Effectively limits maximum number of pods for each node. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#node_ipv4_cidr_mask_size KubernetesCluster#node_ipv4_cidr_mask_size} */ readonly nodeIpv4CidrMaskSize?: number; /** * Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#node_service_account_id KubernetesCluster#node_service_account_id} */ readonly nodeServiceAccountId: string; /** * Cluster release channel. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#release_channel KubernetesCluster#release_channel} */ readonly releaseChannel?: string; /** * Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster. Selected service account should have `edit` role on the folder where the Kubernetes cluster will be located and on the folder where selected network resides. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#service_account_id KubernetesCluster#service_account_id} */ readonly serviceAccountId: string; /** * CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from. It should not overlap with any subnet in the network the Kubernetes cluster located in. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#service_ipv4_range KubernetesCluster#service_ipv4_range} */ readonly serviceIpv4Range?: string; /** * Identical to service_ipv4_range but for IPv6 protocol. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#service_ipv6_range KubernetesCluster#service_ipv6_range} */ readonly serviceIpv6Range?: string; /** * kms_provider block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#kms_provider KubernetesCluster#kms_provider} */ readonly kmsProvider?: KubernetesClusterKmsProvider; /** * master block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#master KubernetesCluster#master} */ readonly master: KubernetesClusterMaster; /** * network_implementation block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#network_implementation KubernetesCluster#network_implementation} */ readonly networkImplementation?: KubernetesClusterNetworkImplementation; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#timeouts KubernetesCluster#timeouts} */ readonly timeouts?: KubernetesClusterTimeouts; /** * workload_identity_federation block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#workload_identity_federation KubernetesCluster#workload_identity_federation} */ readonly workloadIdentityFederation?: KubernetesClusterWorkloadIdentityFederation; } export interface KubernetesClusterKmsProvider { /** * KMS key ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#key_id KubernetesCluster#key_id} */ readonly keyId?: string; } export declare function kubernetesClusterKmsProviderToTerraform(struct?: KubernetesClusterKmsProviderOutputReference | KubernetesClusterKmsProvider): any; export declare function kubernetesClusterKmsProviderToHclTerraform(struct?: KubernetesClusterKmsProviderOutputReference | KubernetesClusterKmsProvider): any; export declare class KubernetesClusterKmsProviderOutputReference 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(): KubernetesClusterKmsProvider | undefined; set internalValue(value: KubernetesClusterKmsProvider | undefined); private _keyId?; get keyId(): string; set keyId(value: string); resetKeyId(): void; get keyIdInput(): string; } export interface KubernetesClusterMasterVersionInfo { } export declare function kubernetesClusterMasterVersionInfoToTerraform(struct?: KubernetesClusterMasterVersionInfo): any; export declare function kubernetesClusterMasterVersionInfoToHclTerraform(struct?: KubernetesClusterMasterVersionInfo): any; export declare class KubernetesClusterMasterVersionInfoOutputReference 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(): KubernetesClusterMasterVersionInfo | undefined; set internalValue(value: KubernetesClusterMasterVersionInfo | undefined); get currentVersion(): any; get newRevisionAvailable(): any; get newRevisionSummary(): any; get versionDeprecated(): any; } export declare class KubernetesClusterMasterVersionInfoList 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): KubernetesClusterMasterVersionInfoOutputReference; } export interface KubernetesClusterMasterMaintenancePolicyMaintenanceWindow { /** * The day of the week which you want to update. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#day KubernetesCluster#day} */ readonly day?: string; /** * The duration of the day of week you want to update. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#duration KubernetesCluster#duration} */ readonly duration: string; /** * The start time of the day of week you want to update. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#start_time KubernetesCluster#start_time} */ readonly startTime: string; } export declare function kubernetesClusterMasterMaintenancePolicyMaintenanceWindowToTerraform(struct?: KubernetesClusterMasterMaintenancePolicyMaintenanceWindow | cdktf.IResolvable): any; export declare function kubernetesClusterMasterMaintenancePolicyMaintenanceWindowToHclTerraform(struct?: KubernetesClusterMasterMaintenancePolicyMaintenanceWindow | cdktf.IResolvable): any; export declare class KubernetesClusterMasterMaintenancePolicyMaintenanceWindowOutputReference 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(): KubernetesClusterMasterMaintenancePolicyMaintenanceWindow | cdktf.IResolvable | undefined; set internalValue(value: KubernetesClusterMasterMaintenancePolicyMaintenanceWindow | cdktf.IResolvable | undefined); private _day?; get day(): string; set day(value: string); resetDay(): void; get dayInput(): string; private _duration?; get duration(): string; set duration(value: string); get durationInput(): string; private _startTime?; get startTime(): string; set startTime(value: string); get startTimeInput(): string; } export declare class KubernetesClusterMasterMaintenancePolicyMaintenanceWindowList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesClusterMasterMaintenancePolicyMaintenanceWindow[] | 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): KubernetesClusterMasterMaintenancePolicyMaintenanceWindowOutputReference; } export interface KubernetesClusterMasterMaintenancePolicy { /** * Boolean flag that specifies if master can be upgraded automatically. When omitted, default value is TRUE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#auto_upgrade KubernetesCluster#auto_upgrade} */ readonly autoUpgrade: boolean | cdktf.IResolvable; /** * maintenance_window block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#maintenance_window KubernetesCluster#maintenance_window} */ readonly maintenanceWindow?: KubernetesClusterMasterMaintenancePolicyMaintenanceWindow[] | cdktf.IResolvable; } export declare function kubernetesClusterMasterMaintenancePolicyToTerraform(struct?: KubernetesClusterMasterMaintenancePolicyOutputReference | KubernetesClusterMasterMaintenancePolicy): any; export declare function kubernetesClusterMasterMaintenancePolicyToHclTerraform(struct?: KubernetesClusterMasterMaintenancePolicyOutputReference | KubernetesClusterMasterMaintenancePolicy): any; export declare class KubernetesClusterMasterMaintenancePolicyOutputReference 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(): KubernetesClusterMasterMaintenancePolicy | undefined; set internalValue(value: KubernetesClusterMasterMaintenancePolicy | undefined); private _autoUpgrade?; get autoUpgrade(): boolean | cdktf.IResolvable; set autoUpgrade(value: boolean | cdktf.IResolvable); get autoUpgradeInput(): any; private _maintenanceWindow; get maintenanceWindow(): KubernetesClusterMasterMaintenancePolicyMaintenanceWindowList; putMaintenanceWindow(value: KubernetesClusterMasterMaintenancePolicyMaintenanceWindow[] | cdktf.IResolvable): void; resetMaintenanceWindow(): void; get maintenanceWindowInput(): any; } export interface KubernetesClusterMasterMasterLocation { /** * ID of the subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#subnet_id KubernetesCluster#subnet_id} */ readonly subnetId?: string; /** * ID of the availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone} */ readonly zone?: string; } export declare function kubernetesClusterMasterMasterLocationToTerraform(struct?: KubernetesClusterMasterMasterLocation | cdktf.IResolvable): any; export declare function kubernetesClusterMasterMasterLocationToHclTerraform(struct?: KubernetesClusterMasterMasterLocation | cdktf.IResolvable): any; export declare class KubernetesClusterMasterMasterLocationOutputReference 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(): KubernetesClusterMasterMasterLocation | cdktf.IResolvable | undefined; set internalValue(value: KubernetesClusterMasterMasterLocation | cdktf.IResolvable | undefined); private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; } export declare class KubernetesClusterMasterMasterLocationList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesClusterMasterMasterLocation[] | 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): KubernetesClusterMasterMasterLocationOutputReference; } export interface KubernetesClusterMasterMasterLogging { /** * Boolean flag that specifies if kube-apiserver audit logs should be sent to Yandex Cloud Logging. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#audit_enabled KubernetesCluster#audit_enabled} */ readonly auditEnabled?: boolean | cdktf.IResolvable; /** * Boolean flag that specifies if cluster-autoscaler logs should be sent to Yandex Cloud Logging. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#cluster_autoscaler_enabled KubernetesCluster#cluster_autoscaler_enabled} */ readonly clusterAutoscalerEnabled?: boolean | cdktf.IResolvable; /** * Boolean flag that specifies if master components logs should be sent to [Yandex Cloud Logging](https://yandex.cloud/docs/logging/). The exact components that will send their logs must be configured via the options described below. * * ~> Only one of `log_group_id` or `folder_id` (or none) may be specified. If `log_group_id` is specified, logs will be sent to this specific Log group. If `folder_id` is specified, logs will be sent to **default** Log group of this folder. If none of two is specified, logs will be sent to **default** Log group of the **same** folder as Kubernetes cluster. * * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#enabled KubernetesCluster#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * Boolean flag that specifies if kubernetes cluster events should be sent to Yandex Cloud Logging. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#events_enabled KubernetesCluster#events_enabled} */ readonly eventsEnabled?: boolean | cdktf.IResolvable; /** * ID of the folder default Log group of which should be used to collect logs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#folder_id KubernetesCluster#folder_id} */ readonly folderId?: string; /** * Boolean flag that specifies if kube-apiserver logs should be sent to Yandex Cloud Logging. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#kube_apiserver_enabled KubernetesCluster#kube_apiserver_enabled} */ readonly kubeApiserverEnabled?: boolean | cdktf.IResolvable; /** * ID of the Yandex Cloud Logging [Log group](https://yandex.cloud/docs/logging/concepts/log-group). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#log_group_id KubernetesCluster#log_group_id} */ readonly logGroupId?: string; } export declare function kubernetesClusterMasterMasterLoggingToTerraform(struct?: KubernetesClusterMasterMasterLoggingOutputReference | KubernetesClusterMasterMasterLogging): any; export declare function kubernetesClusterMasterMasterLoggingToHclTerraform(struct?: KubernetesClusterMasterMasterLoggingOutputReference | KubernetesClusterMasterMasterLogging): any; export declare class KubernetesClusterMasterMasterLoggingOutputReference 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(): KubernetesClusterMasterMasterLogging | undefined; set internalValue(value: KubernetesClusterMasterMasterLogging | undefined); private _auditEnabled?; get auditEnabled(): boolean | cdktf.IResolvable; set auditEnabled(value: boolean | cdktf.IResolvable); resetAuditEnabled(): void; get auditEnabledInput(): any; private _clusterAutoscalerEnabled?; get clusterAutoscalerEnabled(): boolean | cdktf.IResolvable; set clusterAutoscalerEnabled(value: boolean | cdktf.IResolvable); resetClusterAutoscalerEnabled(): void; get clusterAutoscalerEnabledInput(): any; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; private _eventsEnabled?; get eventsEnabled(): boolean | cdktf.IResolvable; set eventsEnabled(value: boolean | cdktf.IResolvable); resetEventsEnabled(): void; get eventsEnabledInput(): any; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _kubeApiserverEnabled?; get kubeApiserverEnabled(): boolean | cdktf.IResolvable; set kubeApiserverEnabled(value: boolean | cdktf.IResolvable); resetKubeApiserverEnabled(): void; get kubeApiserverEnabledInput(): any; private _logGroupId?; get logGroupId(): string; set logGroupId(value: string); resetLogGroupId(): void; get logGroupIdInput(): string; } export interface KubernetesClusterMasterRegionalLocation { /** * ID of the subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#subnet_id KubernetesCluster#subnet_id} */ readonly subnetId?: string; /** * ID of the availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone} */ readonly zone?: string; } export declare function kubernetesClusterMasterRegionalLocationToTerraform(struct?: KubernetesClusterMasterRegionalLocation | cdktf.IResolvable): any; export declare function kubernetesClusterMasterRegionalLocationToHclTerraform(struct?: KubernetesClusterMasterRegionalLocation | cdktf.IResolvable): any; export declare class KubernetesClusterMasterRegionalLocationOutputReference 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(): KubernetesClusterMasterRegionalLocation | cdktf.IResolvable | undefined; set internalValue(value: KubernetesClusterMasterRegionalLocation | cdktf.IResolvable | undefined); private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; } export declare class KubernetesClusterMasterRegionalLocationList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesClusterMasterRegionalLocation[] | 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): KubernetesClusterMasterRegionalLocationOutputReference; } export interface KubernetesClusterMasterRegional { /** * Name of availability region (e.g. `ru-central1`), where master instances will be allocated. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#region KubernetesCluster#region} */ readonly region: string; /** * location block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#location KubernetesCluster#location} */ readonly location?: KubernetesClusterMasterRegionalLocation[] | cdktf.IResolvable; } export declare function kubernetesClusterMasterRegionalToTerraform(struct?: KubernetesClusterMasterRegionalOutputReference | KubernetesClusterMasterRegional): any; export declare function kubernetesClusterMasterRegionalToHclTerraform(struct?: KubernetesClusterMasterRegionalOutputReference | KubernetesClusterMasterRegional): any; export declare class KubernetesClusterMasterRegionalOutputReference 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(): KubernetesClusterMasterRegional | undefined; set internalValue(value: KubernetesClusterMasterRegional | undefined); private _region?; get region(): string; set region(value: string); get regionInput(): string; private _location; get location(): KubernetesClusterMasterRegionalLocationList; putLocation(value: KubernetesClusterMasterRegionalLocation[] | cdktf.IResolvable): void; resetLocation(): void; get locationInput(): any; } export interface KubernetesClusterMasterScalePolicyAutoScale { /** * Minimal resource preset ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#min_resource_preset_id KubernetesCluster#min_resource_preset_id} */ readonly minResourcePresetId: string; } export declare function kubernetesClusterMasterScalePolicyAutoScaleToTerraform(struct?: KubernetesClusterMasterScalePolicyAutoScaleOutputReference | KubernetesClusterMasterScalePolicyAutoScale): any; export declare function kubernetesClusterMasterScalePolicyAutoScaleToHclTerraform(struct?: KubernetesClusterMasterScalePolicyAutoScaleOutputReference | KubernetesClusterMasterScalePolicyAutoScale): any; export declare class KubernetesClusterMasterScalePolicyAutoScaleOutputReference 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(): KubernetesClusterMasterScalePolicyAutoScale | undefined; set internalValue(value: KubernetesClusterMasterScalePolicyAutoScale | undefined); private _minResourcePresetId?; get minResourcePresetId(): string; set minResourcePresetId(value: string); get minResourcePresetIdInput(): string; } export interface KubernetesClusterMasterScalePolicy { /** * auto_scale block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#auto_scale KubernetesCluster#auto_scale} */ readonly autoScale?: KubernetesClusterMasterScalePolicyAutoScale; } export declare function kubernetesClusterMasterScalePolicyToTerraform(struct?: KubernetesClusterMasterScalePolicyOutputReference | KubernetesClusterMasterScalePolicy): any; export declare function kubernetesClusterMasterScalePolicyToHclTerraform(struct?: KubernetesClusterMasterScalePolicyOutputReference | KubernetesClusterMasterScalePolicy): any; export declare class KubernetesClusterMasterScalePolicyOutputReference 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(): KubernetesClusterMasterScalePolicy | undefined; set internalValue(value: KubernetesClusterMasterScalePolicy | undefined); private _autoScale; get autoScale(): KubernetesClusterMasterScalePolicyAutoScaleOutputReference; putAutoScale(value: KubernetesClusterMasterScalePolicyAutoScale): void; resetAutoScale(): void; get autoScaleInput(): KubernetesClusterMasterScalePolicyAutoScale; } export interface KubernetesClusterMasterZonal { /** * ID of the subnet. If no ID is specified, and there only one subnet in specified zone, an address in this subnet will be allocated. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#subnet_id KubernetesCluster#subnet_id} */ readonly subnetId?: string; /** * ID of the availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone} */ readonly zone?: string; } export declare function kubernetesClusterMasterZonalToTerraform(struct?: KubernetesClusterMasterZonalOutputReference | KubernetesClusterMasterZonal): any; export declare function kubernetesClusterMasterZonalToHclTerraform(struct?: KubernetesClusterMasterZonalOutputReference | KubernetesClusterMasterZonal): any; export declare class KubernetesClusterMasterZonalOutputReference 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(): KubernetesClusterMasterZonal | undefined; set internalValue(value: KubernetesClusterMasterZonal | undefined); private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; } export interface KubernetesClusterMaster { /** * Number of etcd clusters that will be used for the Kubernetes master. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#etcd_cluster_size KubernetesCluster#etcd_cluster_size} */ readonly etcdClusterSize?: number; /** * An IPv6 external network address that is assigned to the master. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#external_v6_address KubernetesCluster#external_v6_address} */ readonly externalV6Address?: string; /** * When `true`, Kubernetes master will have visible ipv4 address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#public_ip KubernetesCluster#public_ip} */ readonly publicIp?: boolean | cdktf.IResolvable; /** * The list of security groups applied to resource or their components. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#security_group_ids KubernetesCluster#security_group_ids} */ readonly securityGroupIds?: string[]; /** * Version of Kubernetes that will be used for master. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#version KubernetesCluster#version} */ readonly version?: string; /** * maintenance_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#maintenance_policy KubernetesCluster#maintenance_policy} */ readonly maintenancePolicy?: KubernetesClusterMasterMaintenancePolicy; /** * master_location block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#master_location KubernetesCluster#master_location} */ readonly masterLocation?: KubernetesClusterMasterMasterLocation[] | cdktf.IResolvable; /** * master_logging block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#master_logging KubernetesCluster#master_logging} */ readonly masterLogging?: KubernetesClusterMasterMasterLogging; /** * regional block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#regional KubernetesCluster#regional} */ readonly regional?: KubernetesClusterMasterRegional; /** * scale_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#scale_policy KubernetesCluster#scale_policy} */ readonly scalePolicy?: KubernetesClusterMasterScalePolicy; /** * zonal block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#zonal KubernetesCluster#zonal} */ readonly zonal?: KubernetesClusterMasterZonal; } export declare function kubernetesClusterMasterToTerraform(struct?: KubernetesClusterMasterOutputReference | KubernetesClusterMaster): any; export declare function kubernetesClusterMasterToHclTerraform(struct?: KubernetesClusterMasterOutputReference | KubernetesClusterMaster): any; export declare class KubernetesClusterMasterOutputReference 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(): KubernetesClusterMaster | undefined; set internalValue(value: KubernetesClusterMaster | undefined); get clusterCaCertificate(): any; private _etcdClusterSize?; get etcdClusterSize(): number; set etcdClusterSize(value: number); resetEtcdClusterSize(): void; get etcdClusterSizeInput(): number; get externalV4Address(): any; get externalV4Endpoint(): any; private _externalV6Address?; get externalV6Address(): string; set externalV6Address(value: string); resetExternalV6Address(): void; get externalV6AddressInput(): string; get externalV6Endpoint(): any; get internalV4Address(): any; get internalV4Endpoint(): any; private _publicIp?; get publicIp(): boolean | cdktf.IResolvable; set publicIp(value: boolean | cdktf.IResolvable); resetPublicIp(): void; get publicIpInput(): any; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string; private _versionInfo; get versionInfo(): KubernetesClusterMasterVersionInfoList; private _maintenancePolicy; get maintenancePolicy(): KubernetesClusterMasterMaintenancePolicyOutputReference; putMaintenancePolicy(value: KubernetesClusterMasterMaintenancePolicy): void; resetMaintenancePolicy(): void; get maintenancePolicyInput(): KubernetesClusterMasterMaintenancePolicy; private _masterLocation; get masterLocation(): KubernetesClusterMasterMasterLocationList; putMasterLocation(value: KubernetesClusterMasterMasterLocation[] | cdktf.IResolvable): void; resetMasterLocation(): void; get masterLocationInput(): any; private _masterLogging; get masterLogging(): KubernetesClusterMasterMasterLoggingOutputReference; putMasterLogging(value: KubernetesClusterMasterMasterLogging): void; resetMasterLogging(): void; get masterLoggingInput(): KubernetesClusterMasterMasterLogging; private _regional; get regional(): KubernetesClusterMasterRegionalOutputReference; putRegional(value: KubernetesClusterMasterRegional): void; resetRegional(): void; get regionalInput(): KubernetesClusterMasterRegional; private _scalePolicy; get scalePolicy(): KubernetesClusterMasterScalePolicyOutputReference; putScalePolicy(value: KubernetesClusterMasterScalePolicy): void; resetScalePolicy(): void; get scalePolicyInput(): KubernetesClusterMasterScalePolicy; private _zonal; get zonal(): KubernetesClusterMasterZonalOutputReference; putZonal(value: KubernetesClusterMasterZonal): void; resetZonal(): void; get zonalInput(): KubernetesClusterMasterZonal; } export interface KubernetesClusterNetworkImplementationCilium { } export declare function kubernetesClusterNetworkImplementationCiliumToTerraform(struct?: KubernetesClusterNetworkImplementationCiliumOutputReference | KubernetesClusterNetworkImplementationCilium): any; export declare function kubernetesClusterNetworkImplementationCiliumToHclTerraform(struct?: KubernetesClusterNetworkImplementationCiliumOutputReference | KubernetesClusterNetworkImplementationCilium): any; export declare class KubernetesClusterNetworkImplementationCiliumOutputReference 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(): KubernetesClusterNetworkImplementationCilium | undefined; set internalValue(value: KubernetesClusterNetworkImplementationCilium | undefined); } export interface KubernetesClusterNetworkImplementation { /** * cilium block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#cilium KubernetesCluster#cilium} */ readonly cilium?: KubernetesClusterNetworkImplementationCilium; } export declare function kubernetesClusterNetworkImplementationToTerraform(struct?: KubernetesClusterNetworkImplementationOutputReference | KubernetesClusterNetworkImplementation): any; export declare function kubernetesClusterNetworkImplementationToHclTerraform(struct?: KubernetesClusterNetworkImplementationOutputReference | KubernetesClusterNetworkImplementation): any; export declare class KubernetesClusterNetworkImplementationOutputReference 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(): KubernetesClusterNetworkImplementation | undefined; set internalValue(value: KubernetesClusterNetworkImplementation | undefined); private _cilium; get cilium(): KubernetesClusterNetworkImplementationCiliumOutputReference; putCilium(value: KubernetesClusterNetworkImplementationCilium): void; resetCilium(): void; get ciliumInput(): KubernetesClusterNetworkImplementationCilium; } export interface KubernetesClusterTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#create KubernetesCluster#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#delete KubernetesCluster#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#read KubernetesCluster#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#update KubernetesCluster#update} */ readonly update?: string; } export declare function kubernetesClusterTimeoutsToTerraform(struct?: KubernetesClusterTimeouts | cdktf.IResolvable): any; export declare function kubernetesClusterTimeoutsToHclTerraform(struct?: KubernetesClusterTimeouts | cdktf.IResolvable): any; export declare class KubernetesClusterTimeoutsOutputReference 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(): KubernetesClusterTimeouts | cdktf.IResolvable | undefined; set internalValue(value: KubernetesClusterTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } export interface KubernetesClusterWorkloadIdentityFederation { /** * Identifies whether Workload Identity Federation is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#enabled KubernetesCluster#enabled} */ readonly enabled: boolean | cdktf.IResolvable; } export declare function kubernetesClusterWorkloadIdentityFederationToTerraform(struct?: KubernetesClusterWorkloadIdentityFederationOutputReference | KubernetesClusterWorkloadIdentityFederation): any; export declare function kubernetesClusterWorkloadIdentityFederationToHclTerraform(struct?: KubernetesClusterWorkloadIdentityFederationOutputReference | KubernetesClusterWorkloadIdentityFederation): any; export declare class KubernetesClusterWorkloadIdentityFederationOutputReference 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(): KubernetesClusterWorkloadIdentityFederation | undefined; set internalValue(value: KubernetesClusterWorkloadIdentityFederation | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; get issuer(): any; get jwksUri(): any; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster yandex_kubernetes_cluster} */ export declare class KubernetesCluster extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_kubernetes_cluster"; /** * Generates CDKTF code for importing a KubernetesCluster resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the KubernetesCluster to import * @param importFromId The id of the existing KubernetesCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the KubernetesCluster to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_cluster yandex_kubernetes_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 KubernetesClusterConfig */ constructor(scope: Construct, id: string, config: KubernetesClusterConfig); private _clusterIpv4Range?; get clusterIpv4Range(): string; set clusterIpv4Range(value: string); resetClusterIpv4Range(): void; get clusterIpv4RangeInput(): string; private _clusterIpv6Range?; get clusterIpv6Range(): string; set clusterIpv6Range(value: string); resetClusterIpv6Range(): void; get clusterIpv6RangeInput(): string; get createdAt(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; get health(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; get logGroupId(): any; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _networkId?; get networkId(): string; set networkId(value: string); get networkIdInput(): string; private _networkPolicyProvider?; get networkPolicyProvider(): string; set networkPolicyProvider(value: string); resetNetworkPolicyProvider(): void; get networkPolicyProviderInput(): string; private _nodeIpv4CidrMaskSize?; get nodeIpv4CidrMaskSize(): number; set nodeIpv4CidrMaskSize(value: number); resetNodeIpv4CidrMaskSize(): void; get nodeIpv4CidrMaskSizeInput(): number; private _nodeServiceAccountId?; get nodeServiceAccountId(): string; set nodeServiceAccountId(value: string); get nodeServiceAccountIdInput(): string; private _releaseChannel?; get releaseChannel(): string; set releaseChannel(value: string); resetReleaseChannel(): void; get releaseChannelInput(): string; private _serviceAccountId?; get serviceAccountId(): string; set serviceAccountId(value: string); get serviceAccountIdInput(): string; private _serviceIpv4Range?; get serviceIpv4Range(): string; set serviceIpv4Range(value: string); resetServiceIpv4Range(): void; get serviceIpv4RangeInput(): string; private _serviceIpv6Range?; get serviceIpv6Range(): string; set serviceIpv6Range(value: string); resetServiceIpv6Range(): void; get serviceIpv6RangeInput(): string; get status(): any; private _kmsProvider; get kmsProvider(): KubernetesClusterKmsProviderOutputReference; putKmsProvider(value: KubernetesClusterKmsProvider): void; resetKmsProvider(): void; get kmsProviderInput(): KubernetesClusterKmsProvider; private _master; get master(): KubernetesClusterMasterOutputReference; putMaster(value: KubernetesClusterMaster): void; get masterInput(): KubernetesClusterMaster; private _networkImplementation; get networkImplementation(): KubernetesClusterNetworkImplementationOutputReference; putNetworkImplementation(value: KubernetesClusterNetworkImplementation): void; resetNetworkImplementation(): void; get networkImplementationInput(): KubernetesClusterNetworkImplementation; private _timeouts; get timeouts(): KubernetesClusterTimeoutsOutputReference; putTimeouts(value: KubernetesClusterTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; private _workloadIdentityFederation; get workloadIdentityFederation(): KubernetesClusterWorkloadIdentityFederationOutputReference; putWorkloadIdentityFederation(value: KubernetesClusterWorkloadIdentityFederation): void; resetWorkloadIdentityFederation(): void; get workloadIdentityFederationInput(): KubernetesClusterWorkloadIdentityFederation; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }