import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface KubernetesNodeGroupConfig extends cdktf.TerraformMetaArguments { /** * A list of allowed unsafe `sysctl` parameters for this node group. For more details see [documentation](https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#allowed_unsafe_sysctls KubernetesNodeGroup#allowed_unsafe_sysctls} */ readonly allowedUnsafeSysctls?: string[]; /** * The ID of the Kubernetes cluster that this node group belongs to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#cluster_id KubernetesNodeGroup#cluster_id} */ readonly clusterId: string; /** * The resource description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#description KubernetesNodeGroup#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#id KubernetesNodeGroup#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_node_group#labels KubernetesNodeGroup#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_node_group#name KubernetesNodeGroup#name} */ readonly name?: string; /** * A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#node_labels KubernetesNodeGroup#node_labels} */ readonly nodeLabels?: { [key: string]: string; }; /** * A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#node_taints KubernetesNodeGroup#node_taints} */ readonly nodeTaints?: string[]; /** * Version of Kubernetes that will be used for Kubernetes node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#version KubernetesNodeGroup#version} */ readonly version?: string; /** * allocation_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#allocation_policy KubernetesNodeGroup#allocation_policy} */ readonly allocationPolicy?: KubernetesNodeGroupAllocationPolicy; /** * deploy_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#deploy_policy KubernetesNodeGroup#deploy_policy} */ readonly deployPolicy?: KubernetesNodeGroupDeployPolicy; /** * instance_template block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#instance_template KubernetesNodeGroup#instance_template} */ readonly instanceTemplate: KubernetesNodeGroupInstanceTemplate; /** * maintenance_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#maintenance_policy KubernetesNodeGroup#maintenance_policy} */ readonly maintenancePolicy?: KubernetesNodeGroupMaintenancePolicy; /** * scale_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#scale_policy KubernetesNodeGroup#scale_policy} */ readonly scalePolicy: KubernetesNodeGroupScalePolicy; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#timeouts KubernetesNodeGroup#timeouts} */ readonly timeouts?: KubernetesNodeGroupTimeouts; } export interface KubernetesNodeGroupVersionInfo { } export declare function kubernetesNodeGroupVersionInfoToTerraform(struct?: KubernetesNodeGroupVersionInfo): any; export declare function kubernetesNodeGroupVersionInfoToHclTerraform(struct?: KubernetesNodeGroupVersionInfo): any; export declare class KubernetesNodeGroupVersionInfoOutputReference 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(): KubernetesNodeGroupVersionInfo | undefined; set internalValue(value: KubernetesNodeGroupVersionInfo | undefined); get currentVersion(): any; get newRevisionAvailable(): any; get newRevisionSummary(): any; get versionDeprecated(): any; } export declare class KubernetesNodeGroupVersionInfoList 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): KubernetesNodeGroupVersionInfoOutputReference; } export interface KubernetesNodeGroupAllocationPolicyLocation { /** * ID of the subnet, that will be used by one compute instance in node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#subnet_id KubernetesNodeGroup#subnet_id} */ readonly subnetId?: string; /** * ID of the availability zone where for one compute instance in node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#zone KubernetesNodeGroup#zone} */ readonly zone?: string; } export declare function kubernetesNodeGroupAllocationPolicyLocationToTerraform(struct?: KubernetesNodeGroupAllocationPolicyLocation | cdktf.IResolvable): any; export declare function kubernetesNodeGroupAllocationPolicyLocationToHclTerraform(struct?: KubernetesNodeGroupAllocationPolicyLocation | cdktf.IResolvable): any; export declare class KubernetesNodeGroupAllocationPolicyLocationOutputReference 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(): KubernetesNodeGroupAllocationPolicyLocation | cdktf.IResolvable | undefined; set internalValue(value: KubernetesNodeGroupAllocationPolicyLocation | 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 KubernetesNodeGroupAllocationPolicyLocationList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesNodeGroupAllocationPolicyLocation[] | 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): KubernetesNodeGroupAllocationPolicyLocationOutputReference; } export interface KubernetesNodeGroupAllocationPolicy { /** * location block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#location KubernetesNodeGroup#location} */ readonly location?: KubernetesNodeGroupAllocationPolicyLocation[] | cdktf.IResolvable; } export declare function kubernetesNodeGroupAllocationPolicyToTerraform(struct?: KubernetesNodeGroupAllocationPolicyOutputReference | KubernetesNodeGroupAllocationPolicy): any; export declare function kubernetesNodeGroupAllocationPolicyToHclTerraform(struct?: KubernetesNodeGroupAllocationPolicyOutputReference | KubernetesNodeGroupAllocationPolicy): any; export declare class KubernetesNodeGroupAllocationPolicyOutputReference 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(): KubernetesNodeGroupAllocationPolicy | undefined; set internalValue(value: KubernetesNodeGroupAllocationPolicy | undefined); private _location; get location(): KubernetesNodeGroupAllocationPolicyLocationList; putLocation(value: KubernetesNodeGroupAllocationPolicyLocation[] | cdktf.IResolvable): void; resetLocation(): void; get locationInput(): any; } export interface KubernetesNodeGroupDeployPolicy { /** * The maximum number of instances that can be temporarily allocated above the group's target size during the update. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#max_expansion KubernetesNodeGroup#max_expansion} */ readonly maxExpansion: number; /** * The maximum number of running instances that can be taken offline during update. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#max_unavailable KubernetesNodeGroup#max_unavailable} */ readonly maxUnavailable: number; } export declare function kubernetesNodeGroupDeployPolicyToTerraform(struct?: KubernetesNodeGroupDeployPolicyOutputReference | KubernetesNodeGroupDeployPolicy): any; export declare function kubernetesNodeGroupDeployPolicyToHclTerraform(struct?: KubernetesNodeGroupDeployPolicyOutputReference | KubernetesNodeGroupDeployPolicy): any; export declare class KubernetesNodeGroupDeployPolicyOutputReference 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(): KubernetesNodeGroupDeployPolicy | undefined; set internalValue(value: KubernetesNodeGroupDeployPolicy | undefined); private _maxExpansion?; get maxExpansion(): number; set maxExpansion(value: number); get maxExpansionInput(): number; private _maxUnavailable?; get maxUnavailable(): number; set maxUnavailable(value: number); get maxUnavailableInput(): number; } export interface KubernetesNodeGroupInstanceTemplateBootDisk { /** * The size of the disk in GB. Allowed minimal size: 64 GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#size KubernetesNodeGroup#size} */ readonly size?: number; /** * The disk type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#type KubernetesNodeGroup#type} */ readonly type?: string; } export declare function kubernetesNodeGroupInstanceTemplateBootDiskToTerraform(struct?: KubernetesNodeGroupInstanceTemplateBootDiskOutputReference | KubernetesNodeGroupInstanceTemplateBootDisk): any; export declare function kubernetesNodeGroupInstanceTemplateBootDiskToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateBootDiskOutputReference | KubernetesNodeGroupInstanceTemplateBootDisk): any; export declare class KubernetesNodeGroupInstanceTemplateBootDiskOutputReference 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(): KubernetesNodeGroupInstanceTemplateBootDisk | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplateBootDisk | undefined); private _size?; get size(): number; set size(value: number); resetSize(): void; get sizeInput(): number; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; } export interface KubernetesNodeGroupInstanceTemplateContainerNetwork { /** * MTU for pods. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#pod_mtu KubernetesNodeGroup#pod_mtu} */ readonly podMtu?: number; } export declare function kubernetesNodeGroupInstanceTemplateContainerNetworkToTerraform(struct?: KubernetesNodeGroupInstanceTemplateContainerNetworkOutputReference | KubernetesNodeGroupInstanceTemplateContainerNetwork): any; export declare function kubernetesNodeGroupInstanceTemplateContainerNetworkToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateContainerNetworkOutputReference | KubernetesNodeGroupInstanceTemplateContainerNetwork): any; export declare class KubernetesNodeGroupInstanceTemplateContainerNetworkOutputReference 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(): KubernetesNodeGroupInstanceTemplateContainerNetwork | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplateContainerNetwork | undefined); private _podMtu?; get podMtu(): number; set podMtu(value: number); resetPodMtu(): void; get podMtuInput(): number; } export interface KubernetesNodeGroupInstanceTemplateContainerRuntime { /** * Type of container runtime. Values: `docker`, `containerd`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#type KubernetesNodeGroup#type} */ readonly type: string; } export declare function kubernetesNodeGroupInstanceTemplateContainerRuntimeToTerraform(struct?: KubernetesNodeGroupInstanceTemplateContainerRuntimeOutputReference | KubernetesNodeGroupInstanceTemplateContainerRuntime): any; export declare function kubernetesNodeGroupInstanceTemplateContainerRuntimeToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateContainerRuntimeOutputReference | KubernetesNodeGroupInstanceTemplateContainerRuntime): any; export declare class KubernetesNodeGroupInstanceTemplateContainerRuntimeOutputReference 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(): KubernetesNodeGroupInstanceTemplateContainerRuntime | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplateContainerRuntime | undefined); private _type?; get type(): string; set type(value: string); get typeInput(): string; } export interface KubernetesNodeGroupInstanceTemplateGpuSettings { /** * GPU cluster id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#gpu_cluster_id KubernetesNodeGroup#gpu_cluster_id} */ readonly gpuClusterId?: string; /** * GPU environment. Values: `runc`, `runc_drivers_cuda`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#gpu_environment KubernetesNodeGroup#gpu_environment} */ readonly gpuEnvironment?: string; } export declare function kubernetesNodeGroupInstanceTemplateGpuSettingsToTerraform(struct?: KubernetesNodeGroupInstanceTemplateGpuSettingsOutputReference | KubernetesNodeGroupInstanceTemplateGpuSettings): any; export declare function kubernetesNodeGroupInstanceTemplateGpuSettingsToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateGpuSettingsOutputReference | KubernetesNodeGroupInstanceTemplateGpuSettings): any; export declare class KubernetesNodeGroupInstanceTemplateGpuSettingsOutputReference 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(): KubernetesNodeGroupInstanceTemplateGpuSettings | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplateGpuSettings | undefined); private _gpuClusterId?; get gpuClusterId(): string; set gpuClusterId(value: string); resetGpuClusterId(): void; get gpuClusterIdInput(): string; private _gpuEnvironment?; get gpuEnvironment(): string; set gpuEnvironment(value: string); resetGpuEnvironment(): void; get gpuEnvironmentInput(): string; } export interface KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecords { /** * DNS zone ID (if not set, private zone is used). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#dns_zone_id KubernetesNodeGroup#dns_zone_id} */ readonly dnsZoneId?: string; /** * DNS record FQDN. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#fqdn KubernetesNodeGroup#fqdn} */ readonly fqdn: string; /** * When set to `true`, also create a PTR DNS record. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#ptr KubernetesNodeGroup#ptr} */ readonly ptr?: boolean | cdktf.IResolvable; /** * DNS record TTL (in seconds). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#ttl KubernetesNodeGroup#ttl} */ readonly ttl?: number; } export declare function kubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecordsToTerraform(struct?: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecords | cdktf.IResolvable): any; export declare function kubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecordsToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecords | cdktf.IResolvable): any; export declare class KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecordsOutputReference 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(): KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecords | cdktf.IResolvable | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecords | cdktf.IResolvable | undefined); private _dnsZoneId?; get dnsZoneId(): string; set dnsZoneId(value: string); resetDnsZoneId(): void; get dnsZoneIdInput(): string; private _fqdn?; get fqdn(): string; set fqdn(value: string); get fqdnInput(): string; private _ptr?; get ptr(): boolean | cdktf.IResolvable; set ptr(value: boolean | cdktf.IResolvable); resetPtr(): void; get ptrInput(): any; private _ttl?; get ttl(): number; set ttl(value: number); resetTtl(): void; get ttlInput(): number; } export declare class KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecordsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecords[] | 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): KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecordsOutputReference; } export interface KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecords { /** * DNS zone ID (if not set, private zone is used). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#dns_zone_id KubernetesNodeGroup#dns_zone_id} */ readonly dnsZoneId?: string; /** * DNS record FQDN. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#fqdn KubernetesNodeGroup#fqdn} */ readonly fqdn: string; /** * When set to `true`, also create a PTR DNS record. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#ptr KubernetesNodeGroup#ptr} */ readonly ptr?: boolean | cdktf.IResolvable; /** * DNS record TTL (in seconds). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#ttl KubernetesNodeGroup#ttl} */ readonly ttl?: number; } export declare function kubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecordsToTerraform(struct?: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecords | cdktf.IResolvable): any; export declare function kubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecordsToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecords | cdktf.IResolvable): any; export declare class KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecordsOutputReference 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(): KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecords | cdktf.IResolvable | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecords | cdktf.IResolvable | undefined); private _dnsZoneId?; get dnsZoneId(): string; set dnsZoneId(value: string); resetDnsZoneId(): void; get dnsZoneIdInput(): string; private _fqdn?; get fqdn(): string; set fqdn(value: string); get fqdnInput(): string; private _ptr?; get ptr(): boolean | cdktf.IResolvable; set ptr(value: boolean | cdktf.IResolvable); resetPtr(): void; get ptrInput(): any; private _ttl?; get ttl(): number; set ttl(value: number); resetTtl(): void; get ttlInput(): number; } export declare class KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecordsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecords[] | 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): KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecordsOutputReference; } export interface KubernetesNodeGroupInstanceTemplateNetworkInterface { /** * Allocate an IPv4 address for the interface. The default value is `true`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#ipv4 KubernetesNodeGroup#ipv4} */ readonly ipv4?: boolean | cdktf.IResolvable; /** * If true, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#ipv6 KubernetesNodeGroup#ipv6} */ readonly ipv6?: boolean | cdktf.IResolvable; /** * A public address that can be used to access the internet over NAT. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#nat KubernetesNodeGroup#nat} */ readonly nat?: boolean | cdktf.IResolvable; /** * Security group IDs for network interface. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#security_group_ids KubernetesNodeGroup#security_group_ids} */ readonly securityGroupIds?: string[]; /** * The IDs of the subnets. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#subnet_ids KubernetesNodeGroup#subnet_ids} */ readonly subnetIds: string[]; /** * ipv4_dns_records block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#ipv4_dns_records KubernetesNodeGroup#ipv4_dns_records} */ readonly ipv4DnsRecords?: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecords[] | cdktf.IResolvable; /** * ipv6_dns_records block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#ipv6_dns_records KubernetesNodeGroup#ipv6_dns_records} */ readonly ipv6DnsRecords?: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecords[] | cdktf.IResolvable; } export declare function kubernetesNodeGroupInstanceTemplateNetworkInterfaceToTerraform(struct?: KubernetesNodeGroupInstanceTemplateNetworkInterface | cdktf.IResolvable): any; export declare function kubernetesNodeGroupInstanceTemplateNetworkInterfaceToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateNetworkInterface | cdktf.IResolvable): any; export declare class KubernetesNodeGroupInstanceTemplateNetworkInterfaceOutputReference 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(): KubernetesNodeGroupInstanceTemplateNetworkInterface | cdktf.IResolvable | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplateNetworkInterface | cdktf.IResolvable | undefined); private _ipv4?; get ipv4(): boolean | cdktf.IResolvable; set ipv4(value: boolean | cdktf.IResolvable); resetIpv4(): void; get ipv4Input(): any; private _ipv6?; get ipv6(): boolean | cdktf.IResolvable; set ipv6(value: boolean | cdktf.IResolvable); resetIpv6(): void; get ipv6Input(): any; private _nat?; get nat(): boolean | cdktf.IResolvable; set nat(value: boolean | cdktf.IResolvable); resetNat(): void; get natInput(): any; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _subnetIds?; get subnetIds(): string[]; set subnetIds(value: string[]); get subnetIdsInput(): string[]; private _ipv4DnsRecords; get ipv4DnsRecords(): KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecordsList; putIpv4DnsRecords(value: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv4DnsRecords[] | cdktf.IResolvable): void; resetIpv4DnsRecords(): void; get ipv4DnsRecordsInput(): any; private _ipv6DnsRecords; get ipv6DnsRecords(): KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecordsList; putIpv6DnsRecords(value: KubernetesNodeGroupInstanceTemplateNetworkInterfaceIpv6DnsRecords[] | cdktf.IResolvable): void; resetIpv6DnsRecords(): void; get ipv6DnsRecordsInput(): any; } export declare class KubernetesNodeGroupInstanceTemplateNetworkInterfaceList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesNodeGroupInstanceTemplateNetworkInterface[] | 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): KubernetesNodeGroupInstanceTemplateNetworkInterfaceOutputReference; } export interface KubernetesNodeGroupInstanceTemplatePlacementPolicy { /** * Specifies the id of the Placement Group to assign to the instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#placement_group_id KubernetesNodeGroup#placement_group_id} */ readonly placementGroupId: string; } export declare function kubernetesNodeGroupInstanceTemplatePlacementPolicyToTerraform(struct?: KubernetesNodeGroupInstanceTemplatePlacementPolicyOutputReference | KubernetesNodeGroupInstanceTemplatePlacementPolicy): any; export declare function kubernetesNodeGroupInstanceTemplatePlacementPolicyToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplatePlacementPolicyOutputReference | KubernetesNodeGroupInstanceTemplatePlacementPolicy): any; export declare class KubernetesNodeGroupInstanceTemplatePlacementPolicyOutputReference 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(): KubernetesNodeGroupInstanceTemplatePlacementPolicy | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplatePlacementPolicy | undefined); private _placementGroupId?; get placementGroupId(): string; set placementGroupId(value: string); get placementGroupIdInput(): string; } export interface KubernetesNodeGroupInstanceTemplateResources { /** * Baseline core performance as a percent. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#core_fraction KubernetesNodeGroup#core_fraction} */ readonly coreFraction?: number; /** * Number of CPU cores allocated to the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#cores KubernetesNodeGroup#cores} */ readonly cores?: number; /** * Number of GPU cores allocated to the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#gpus KubernetesNodeGroup#gpus} */ readonly gpus?: number; /** * The memory size allocated to the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#memory KubernetesNodeGroup#memory} */ readonly memory?: number; } export declare function kubernetesNodeGroupInstanceTemplateResourcesToTerraform(struct?: KubernetesNodeGroupInstanceTemplateResourcesOutputReference | KubernetesNodeGroupInstanceTemplateResources): any; export declare function kubernetesNodeGroupInstanceTemplateResourcesToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateResourcesOutputReference | KubernetesNodeGroupInstanceTemplateResources): any; export declare class KubernetesNodeGroupInstanceTemplateResourcesOutputReference 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(): KubernetesNodeGroupInstanceTemplateResources | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplateResources | undefined); private _coreFraction?; get coreFraction(): number; set coreFraction(value: number); resetCoreFraction(): void; get coreFractionInput(): number; private _cores?; get cores(): number; set cores(value: number); resetCores(): void; get coresInput(): number; private _gpus?; get gpus(): number; set gpus(value: number); resetGpus(): void; get gpusInput(): number; private _memory?; get memory(): number; set memory(value: number); resetMemory(): void; get memoryInput(): number; } export interface KubernetesNodeGroupInstanceTemplateSchedulingPolicy { /** * Specifies if the instance is preemptible. Defaults to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#preemptible KubernetesNodeGroup#preemptible} */ readonly preemptible?: boolean | cdktf.IResolvable; } export declare function kubernetesNodeGroupInstanceTemplateSchedulingPolicyToTerraform(struct?: KubernetesNodeGroupInstanceTemplateSchedulingPolicyOutputReference | KubernetesNodeGroupInstanceTemplateSchedulingPolicy): any; export declare function kubernetesNodeGroupInstanceTemplateSchedulingPolicyToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateSchedulingPolicyOutputReference | KubernetesNodeGroupInstanceTemplateSchedulingPolicy): any; export declare class KubernetesNodeGroupInstanceTemplateSchedulingPolicyOutputReference 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(): KubernetesNodeGroupInstanceTemplateSchedulingPolicy | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplateSchedulingPolicy | undefined); private _preemptible?; get preemptible(): boolean | cdktf.IResolvable; set preemptible(value: boolean | cdktf.IResolvable); resetPreemptible(): void; get preemptibleInput(): any; } export interface KubernetesNodeGroupInstanceTemplate { /** * Labels that will be assigned to compute nodes (instances), created by the Node Group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#labels KubernetesNodeGroup#labels} */ readonly labels?: { [key: string]: string; }; /** * The set of metadata `key:value` pairs assigned to this instance template. This includes custom metadata and predefined keys. **Note**: key `user-data` won't be provided into instances. It reserved for internal activity in `kubernetes_node_group` resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#metadata KubernetesNodeGroup#metadata} */ readonly metadata?: { [key: string]: string; }; /** * Name template of the instance. In order to be unique it must contain at least one of instance unique placeholders: * * `{instance.short_id} * * `{instance.index}` * * combination of `{instance.zone_id}` and `{instance.index_in_zone}` * * Example: `my-instance-{instance.index}`. * If not set, default is used: `{instance_group.id}-{instance.short_id}`. It may also contain another placeholders, see [Compute Instance group metadata doc](https://yandex.cloud/docs/compute/instancegroup/api-ref/grpc/InstanceGroup) for full list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#name KubernetesNodeGroup#name} */ readonly name?: string; /** * Enables NAT for node group compute instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#nat KubernetesNodeGroup#nat} */ readonly nat?: boolean | cdktf.IResolvable; /** * Type of network acceleration. Values: `standard`, `software_accelerated`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#network_acceleration_type KubernetesNodeGroup#network_acceleration_type} */ readonly networkAccelerationType?: string; /** * The ID of the hardware platform configuration for the node group compute instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#platform_id KubernetesNodeGroup#platform_id} */ readonly platformId?: string; /** * boot_disk block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#boot_disk KubernetesNodeGroup#boot_disk} */ readonly bootDisk?: KubernetesNodeGroupInstanceTemplateBootDisk; /** * container_network block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#container_network KubernetesNodeGroup#container_network} */ readonly containerNetwork?: KubernetesNodeGroupInstanceTemplateContainerNetwork; /** * container_runtime block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#container_runtime KubernetesNodeGroup#container_runtime} */ readonly containerRuntime?: KubernetesNodeGroupInstanceTemplateContainerRuntime; /** * gpu_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#gpu_settings KubernetesNodeGroup#gpu_settings} */ readonly gpuSettings?: KubernetesNodeGroupInstanceTemplateGpuSettings; /** * network_interface block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#network_interface KubernetesNodeGroup#network_interface} */ readonly networkInterface?: KubernetesNodeGroupInstanceTemplateNetworkInterface[] | cdktf.IResolvable; /** * placement_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#placement_policy KubernetesNodeGroup#placement_policy} */ readonly placementPolicy?: KubernetesNodeGroupInstanceTemplatePlacementPolicy; /** * resources block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#resources KubernetesNodeGroup#resources} */ readonly resources?: KubernetesNodeGroupInstanceTemplateResources; /** * scheduling_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#scheduling_policy KubernetesNodeGroup#scheduling_policy} */ readonly schedulingPolicy?: KubernetesNodeGroupInstanceTemplateSchedulingPolicy; } export declare function kubernetesNodeGroupInstanceTemplateToTerraform(struct?: KubernetesNodeGroupInstanceTemplateOutputReference | KubernetesNodeGroupInstanceTemplate): any; export declare function kubernetesNodeGroupInstanceTemplateToHclTerraform(struct?: KubernetesNodeGroupInstanceTemplateOutputReference | KubernetesNodeGroupInstanceTemplate): any; export declare class KubernetesNodeGroupInstanceTemplateOutputReference 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(): KubernetesNodeGroupInstanceTemplate | undefined; set internalValue(value: KubernetesNodeGroupInstanceTemplate | undefined); private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _metadata?; get metadata(): { [key: string]: string; }; set metadata(value: { [key: string]: string; }); resetMetadata(): void; get metadataInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _nat?; get nat(): boolean | cdktf.IResolvable; set nat(value: boolean | cdktf.IResolvable); resetNat(): void; get natInput(): any; private _networkAccelerationType?; get networkAccelerationType(): string; set networkAccelerationType(value: string); resetNetworkAccelerationType(): void; get networkAccelerationTypeInput(): string; private _platformId?; get platformId(): string; set platformId(value: string); resetPlatformId(): void; get platformIdInput(): string; private _bootDisk; get bootDisk(): KubernetesNodeGroupInstanceTemplateBootDiskOutputReference; putBootDisk(value: KubernetesNodeGroupInstanceTemplateBootDisk): void; resetBootDisk(): void; get bootDiskInput(): KubernetesNodeGroupInstanceTemplateBootDisk; private _containerNetwork; get containerNetwork(): KubernetesNodeGroupInstanceTemplateContainerNetworkOutputReference; putContainerNetwork(value: KubernetesNodeGroupInstanceTemplateContainerNetwork): void; resetContainerNetwork(): void; get containerNetworkInput(): KubernetesNodeGroupInstanceTemplateContainerNetwork; private _containerRuntime; get containerRuntime(): KubernetesNodeGroupInstanceTemplateContainerRuntimeOutputReference; putContainerRuntime(value: KubernetesNodeGroupInstanceTemplateContainerRuntime): void; resetContainerRuntime(): void; get containerRuntimeInput(): KubernetesNodeGroupInstanceTemplateContainerRuntime; private _gpuSettings; get gpuSettings(): KubernetesNodeGroupInstanceTemplateGpuSettingsOutputReference; putGpuSettings(value: KubernetesNodeGroupInstanceTemplateGpuSettings): void; resetGpuSettings(): void; get gpuSettingsInput(): KubernetesNodeGroupInstanceTemplateGpuSettings; private _networkInterface; get networkInterface(): KubernetesNodeGroupInstanceTemplateNetworkInterfaceList; putNetworkInterface(value: KubernetesNodeGroupInstanceTemplateNetworkInterface[] | cdktf.IResolvable): void; resetNetworkInterface(): void; get networkInterfaceInput(): any; private _placementPolicy; get placementPolicy(): KubernetesNodeGroupInstanceTemplatePlacementPolicyOutputReference; putPlacementPolicy(value: KubernetesNodeGroupInstanceTemplatePlacementPolicy): void; resetPlacementPolicy(): void; get placementPolicyInput(): KubernetesNodeGroupInstanceTemplatePlacementPolicy; private _resources; get resources(): KubernetesNodeGroupInstanceTemplateResourcesOutputReference; putResources(value: KubernetesNodeGroupInstanceTemplateResources): void; resetResources(): void; get resourcesInput(): KubernetesNodeGroupInstanceTemplateResources; private _schedulingPolicy; get schedulingPolicy(): KubernetesNodeGroupInstanceTemplateSchedulingPolicyOutputReference; putSchedulingPolicy(value: KubernetesNodeGroupInstanceTemplateSchedulingPolicy): void; resetSchedulingPolicy(): void; get schedulingPolicyInput(): KubernetesNodeGroupInstanceTemplateSchedulingPolicy; } export interface KubernetesNodeGroupMaintenancePolicyMaintenanceWindow { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#day KubernetesNodeGroup#day} */ readonly day?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#duration KubernetesNodeGroup#duration} */ readonly duration: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#start_time KubernetesNodeGroup#start_time} */ readonly startTime: string; } export declare function kubernetesNodeGroupMaintenancePolicyMaintenanceWindowToTerraform(struct?: KubernetesNodeGroupMaintenancePolicyMaintenanceWindow | cdktf.IResolvable): any; export declare function kubernetesNodeGroupMaintenancePolicyMaintenanceWindowToHclTerraform(struct?: KubernetesNodeGroupMaintenancePolicyMaintenanceWindow | cdktf.IResolvable): any; export declare class KubernetesNodeGroupMaintenancePolicyMaintenanceWindowOutputReference 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(): KubernetesNodeGroupMaintenancePolicyMaintenanceWindow | cdktf.IResolvable | undefined; set internalValue(value: KubernetesNodeGroupMaintenancePolicyMaintenanceWindow | 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 KubernetesNodeGroupMaintenancePolicyMaintenanceWindowList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesNodeGroupMaintenancePolicyMaintenanceWindow[] | 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): KubernetesNodeGroupMaintenancePolicyMaintenanceWindowOutputReference; } export interface KubernetesNodeGroupMaintenancePolicy { /** * Flag that specifies if node group can be repaired 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_node_group#auto_repair KubernetesNodeGroup#auto_repair} */ readonly autoRepair: boolean | cdktf.IResolvable; /** * Flag specifies if node group 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_node_group#auto_upgrade KubernetesNodeGroup#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_node_group#maintenance_window KubernetesNodeGroup#maintenance_window} */ readonly maintenanceWindow?: KubernetesNodeGroupMaintenancePolicyMaintenanceWindow[] | cdktf.IResolvable; } export declare function kubernetesNodeGroupMaintenancePolicyToTerraform(struct?: KubernetesNodeGroupMaintenancePolicyOutputReference | KubernetesNodeGroupMaintenancePolicy): any; export declare function kubernetesNodeGroupMaintenancePolicyToHclTerraform(struct?: KubernetesNodeGroupMaintenancePolicyOutputReference | KubernetesNodeGroupMaintenancePolicy): any; export declare class KubernetesNodeGroupMaintenancePolicyOutputReference 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(): KubernetesNodeGroupMaintenancePolicy | undefined; set internalValue(value: KubernetesNodeGroupMaintenancePolicy | undefined); private _autoRepair?; get autoRepair(): boolean | cdktf.IResolvable; set autoRepair(value: boolean | cdktf.IResolvable); get autoRepairInput(): any; private _autoUpgrade?; get autoUpgrade(): boolean | cdktf.IResolvable; set autoUpgrade(value: boolean | cdktf.IResolvable); get autoUpgradeInput(): any; private _maintenanceWindow; get maintenanceWindow(): KubernetesNodeGroupMaintenancePolicyMaintenanceWindowList; putMaintenanceWindow(value: KubernetesNodeGroupMaintenancePolicyMaintenanceWindow[] | cdktf.IResolvable): void; resetMaintenanceWindow(): void; get maintenanceWindowInput(): any; } export interface KubernetesNodeGroupScalePolicyAutoScale { /** * Initial number of instances in the node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#initial KubernetesNodeGroup#initial} */ readonly initial: number; /** * Maximum number of instances in the node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#max KubernetesNodeGroup#max} */ readonly max: number; /** * Minimum number of instances in the node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#min KubernetesNodeGroup#min} */ readonly min: number; } export declare function kubernetesNodeGroupScalePolicyAutoScaleToTerraform(struct?: KubernetesNodeGroupScalePolicyAutoScaleOutputReference | KubernetesNodeGroupScalePolicyAutoScale): any; export declare function kubernetesNodeGroupScalePolicyAutoScaleToHclTerraform(struct?: KubernetesNodeGroupScalePolicyAutoScaleOutputReference | KubernetesNodeGroupScalePolicyAutoScale): any; export declare class KubernetesNodeGroupScalePolicyAutoScaleOutputReference 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(): KubernetesNodeGroupScalePolicyAutoScale | undefined; set internalValue(value: KubernetesNodeGroupScalePolicyAutoScale | undefined); private _initial?; get initial(): number; set initial(value: number); get initialInput(): number; private _max?; get max(): number; set max(value: number); get maxInput(): number; private _min?; get min(): number; set min(value: number); get minInput(): number; } export interface KubernetesNodeGroupScalePolicyFixedScale { /** * The number of instances in the node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#size KubernetesNodeGroup#size} */ readonly size?: number; } export declare function kubernetesNodeGroupScalePolicyFixedScaleToTerraform(struct?: KubernetesNodeGroupScalePolicyFixedScaleOutputReference | KubernetesNodeGroupScalePolicyFixedScale): any; export declare function kubernetesNodeGroupScalePolicyFixedScaleToHclTerraform(struct?: KubernetesNodeGroupScalePolicyFixedScaleOutputReference | KubernetesNodeGroupScalePolicyFixedScale): any; export declare class KubernetesNodeGroupScalePolicyFixedScaleOutputReference 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(): KubernetesNodeGroupScalePolicyFixedScale | undefined; set internalValue(value: KubernetesNodeGroupScalePolicyFixedScale | undefined); private _size?; get size(): number; set size(value: number); resetSize(): void; get sizeInput(): number; } export interface KubernetesNodeGroupScalePolicy { /** * auto_scale block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#auto_scale KubernetesNodeGroup#auto_scale} */ readonly autoScale?: KubernetesNodeGroupScalePolicyAutoScale; /** * fixed_scale block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#fixed_scale KubernetesNodeGroup#fixed_scale} */ readonly fixedScale?: KubernetesNodeGroupScalePolicyFixedScale; } export declare function kubernetesNodeGroupScalePolicyToTerraform(struct?: KubernetesNodeGroupScalePolicyOutputReference | KubernetesNodeGroupScalePolicy): any; export declare function kubernetesNodeGroupScalePolicyToHclTerraform(struct?: KubernetesNodeGroupScalePolicyOutputReference | KubernetesNodeGroupScalePolicy): any; export declare class KubernetesNodeGroupScalePolicyOutputReference 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(): KubernetesNodeGroupScalePolicy | undefined; set internalValue(value: KubernetesNodeGroupScalePolicy | undefined); private _autoScale; get autoScale(): KubernetesNodeGroupScalePolicyAutoScaleOutputReference; putAutoScale(value: KubernetesNodeGroupScalePolicyAutoScale): void; resetAutoScale(): void; get autoScaleInput(): KubernetesNodeGroupScalePolicyAutoScale; private _fixedScale; get fixedScale(): KubernetesNodeGroupScalePolicyFixedScaleOutputReference; putFixedScale(value: KubernetesNodeGroupScalePolicyFixedScale): void; resetFixedScale(): void; get fixedScaleInput(): KubernetesNodeGroupScalePolicyFixedScale; } export interface KubernetesNodeGroupTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#create KubernetesNodeGroup#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#delete KubernetesNodeGroup#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#read KubernetesNodeGroup#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#update KubernetesNodeGroup#update} */ readonly update?: string; } export declare function kubernetesNodeGroupTimeoutsToTerraform(struct?: KubernetesNodeGroupTimeouts | cdktf.IResolvable): any; export declare function kubernetesNodeGroupTimeoutsToHclTerraform(struct?: KubernetesNodeGroupTimeouts | cdktf.IResolvable): any; export declare class KubernetesNodeGroupTimeoutsOutputReference 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(): KubernetesNodeGroupTimeouts | cdktf.IResolvable | undefined; set internalValue(value: KubernetesNodeGroupTimeouts | 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; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group yandex_kubernetes_node_group} */ export declare class KubernetesNodeGroup extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_kubernetes_node_group"; /** * Generates CDKTF code for importing a KubernetesNodeGroup 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 KubernetesNodeGroup to import * @param importFromId The id of the existing KubernetesNodeGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kubernetes_node_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the KubernetesNodeGroup 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_node_group yandex_kubernetes_node_group} 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 KubernetesNodeGroupConfig */ constructor(scope: Construct, id: string, config: KubernetesNodeGroupConfig); private _allowedUnsafeSysctls?; get allowedUnsafeSysctls(): string[]; set allowedUnsafeSysctls(value: string[]); resetAllowedUnsafeSysctls(): void; get allowedUnsafeSysctlsInput(): string[]; private _clusterId?; get clusterId(): string; set clusterId(value: string); get clusterIdInput(): string; get createdAt(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get instanceGroupId(): any; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _nodeLabels?; get nodeLabels(): { [key: string]: string; }; set nodeLabels(value: { [key: string]: string; }); resetNodeLabels(): void; get nodeLabelsInput(): { [key: string]: string; }; private _nodeTaints?; get nodeTaints(): string[]; set nodeTaints(value: string[]); resetNodeTaints(): void; get nodeTaintsInput(): string[]; get status(): any; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string; private _versionInfo; get versionInfo(): KubernetesNodeGroupVersionInfoList; private _allocationPolicy; get allocationPolicy(): KubernetesNodeGroupAllocationPolicyOutputReference; putAllocationPolicy(value: KubernetesNodeGroupAllocationPolicy): void; resetAllocationPolicy(): void; get allocationPolicyInput(): KubernetesNodeGroupAllocationPolicy; private _deployPolicy; get deployPolicy(): KubernetesNodeGroupDeployPolicyOutputReference; putDeployPolicy(value: KubernetesNodeGroupDeployPolicy): void; resetDeployPolicy(): void; get deployPolicyInput(): KubernetesNodeGroupDeployPolicy; private _instanceTemplate; get instanceTemplate(): KubernetesNodeGroupInstanceTemplateOutputReference; putInstanceTemplate(value: KubernetesNodeGroupInstanceTemplate): void; get instanceTemplateInput(): KubernetesNodeGroupInstanceTemplate; private _maintenancePolicy; get maintenancePolicy(): KubernetesNodeGroupMaintenancePolicyOutputReference; putMaintenancePolicy(value: KubernetesNodeGroupMaintenancePolicy): void; resetMaintenancePolicy(): void; get maintenancePolicyInput(): KubernetesNodeGroupMaintenancePolicy; private _scalePolicy; get scalePolicy(): KubernetesNodeGroupScalePolicyOutputReference; putScalePolicy(value: KubernetesNodeGroupScalePolicy): void; get scalePolicyInput(): KubernetesNodeGroupScalePolicy; private _timeouts; get timeouts(): KubernetesNodeGroupTimeoutsOutputReference; putTimeouts(value: KubernetesNodeGroupTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }