UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

760 lines 137 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ContainerNodePoolConfig extends cdktf.TerraformMetaArguments { /** * The cluster to create the node pool for. Cluster must be present in location provided for zonal clusters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#cluster ContainerNodePool#cluster} */ readonly cluster: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#id ContainerNodePool#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * The initial number of nodes for the pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#initial_node_count ContainerNodePool#initial_node_count} */ readonly initialNodeCount?: number; /** * The location (region or zone) of the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#location ContainerNodePool#location} */ readonly location?: string; /** * The maximum number of pods per node in this node pool. Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#max_pods_per_node ContainerNodePool#max_pods_per_node} */ readonly maxPodsPerNode?: number; /** * The name of the node pool. If left blank, Terraform will auto-generate a unique name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#name ContainerNodePool#name} */ readonly name?: string; /** * Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#name_prefix ContainerNodePool#name_prefix} */ readonly namePrefix?: string; /** * The number of nodes per instance group. This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#node_count ContainerNodePool#node_count} */ readonly nodeCount?: number; /** * The list of zones in which the node pool's nodes should be located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If unspecified, the cluster-level node_locations will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#node_locations ContainerNodePool#node_locations} */ readonly nodeLocations?: string[]; /** * The ID of the project in which to create the node pool. If blank, the provider-configured project will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#project ContainerNodePool#project} */ readonly project?: string; /** * The Kubernetes version for the nodes in this pool. Note that if this field and auto_upgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it's recommended that you specify explicit versions as Terraform will see spurious diffs when fuzzy versions are used. See the google_container_engine_versions data source's version_prefix field to approximate fuzzy versions in a Terraform-compatible way. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#version ContainerNodePool#version} */ readonly version?: string; /** * autoscaling block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#autoscaling ContainerNodePool#autoscaling} */ readonly autoscaling?: ContainerNodePoolAutoscaling; /** * management block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#management ContainerNodePool#management} */ readonly management?: ContainerNodePoolManagement; /** * network_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#network_config ContainerNodePool#network_config} */ readonly networkConfig?: ContainerNodePoolNetworkConfig; /** * node_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#node_config ContainerNodePool#node_config} */ readonly nodeConfig?: ContainerNodePoolNodeConfig; /** * placement_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#placement_policy ContainerNodePool#placement_policy} */ readonly placementPolicy?: ContainerNodePoolPlacementPolicy; /** * queued_provisioning block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#queued_provisioning ContainerNodePool#queued_provisioning} */ readonly queuedProvisioning?: ContainerNodePoolQueuedProvisioning; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#timeouts ContainerNodePool#timeouts} */ readonly timeouts?: ContainerNodePoolTimeouts; /** * upgrade_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#upgrade_settings ContainerNodePool#upgrade_settings} */ readonly upgradeSettings?: ContainerNodePoolUpgradeSettings; } export interface ContainerNodePoolAutoscaling { /** * Location policy specifies the algorithm used when scaling-up the node pool. "BALANCED" - Is a best effort policy that aims to balance the sizes of available zones. "ANY" - Instructs the cluster autoscaler to prioritize utilization of unused reservations, and reduces preemption risk for Spot VMs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#location_policy ContainerNodePool#location_policy} */ readonly locationPolicy?: string; /** * Maximum number of nodes per zone in the node pool. Must be >= min_node_count. Cannot be used with total limits. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#max_node_count ContainerNodePool#max_node_count} */ readonly maxNodeCount?: number; /** * Minimum number of nodes per zone in the node pool. Must be >=0 and <= max_node_count. Cannot be used with total limits. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#min_node_count ContainerNodePool#min_node_count} */ readonly minNodeCount?: number; /** * Maximum number of all nodes in the node pool. Must be >= total_min_node_count. Cannot be used with per zone limits. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#total_max_node_count ContainerNodePool#total_max_node_count} */ readonly totalMaxNodeCount?: number; /** * Minimum number of all nodes in the node pool. Must be >=0 and <= total_max_node_count. Cannot be used with per zone limits. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#total_min_node_count ContainerNodePool#total_min_node_count} */ readonly totalMinNodeCount?: number; } export declare function containerNodePoolAutoscalingToTerraform(struct?: ContainerNodePoolAutoscalingOutputReference | ContainerNodePoolAutoscaling): any; export declare function containerNodePoolAutoscalingToHclTerraform(struct?: ContainerNodePoolAutoscalingOutputReference | ContainerNodePoolAutoscaling): any; export declare class ContainerNodePoolAutoscalingOutputReference 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(): ContainerNodePoolAutoscaling | undefined; set internalValue(value: ContainerNodePoolAutoscaling | undefined); private _locationPolicy?; get locationPolicy(): string; set locationPolicy(value: string); resetLocationPolicy(): void; get locationPolicyInput(): string | undefined; private _maxNodeCount?; get maxNodeCount(): number; set maxNodeCount(value: number); resetMaxNodeCount(): void; get maxNodeCountInput(): number | undefined; private _minNodeCount?; get minNodeCount(): number; set minNodeCount(value: number); resetMinNodeCount(): void; get minNodeCountInput(): number | undefined; private _totalMaxNodeCount?; get totalMaxNodeCount(): number; set totalMaxNodeCount(value: number); resetTotalMaxNodeCount(): void; get totalMaxNodeCountInput(): number | undefined; private _totalMinNodeCount?; get totalMinNodeCount(): number; set totalMinNodeCount(value: number); resetTotalMinNodeCount(): void; get totalMinNodeCountInput(): number | undefined; } export interface ContainerNodePoolManagement { /** * Whether the nodes will be automatically repaired. Enabled by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#auto_repair ContainerNodePool#auto_repair} */ readonly autoRepair?: boolean | cdktf.IResolvable; /** * Whether the nodes will be automatically upgraded. Enabled by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#auto_upgrade ContainerNodePool#auto_upgrade} */ readonly autoUpgrade?: boolean | cdktf.IResolvable; } export declare function containerNodePoolManagementToTerraform(struct?: ContainerNodePoolManagementOutputReference | ContainerNodePoolManagement): any; export declare function containerNodePoolManagementToHclTerraform(struct?: ContainerNodePoolManagementOutputReference | ContainerNodePoolManagement): any; export declare class ContainerNodePoolManagementOutputReference 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(): ContainerNodePoolManagement | undefined; set internalValue(value: ContainerNodePoolManagement | undefined); private _autoRepair?; get autoRepair(): boolean | cdktf.IResolvable; set autoRepair(value: boolean | cdktf.IResolvable); resetAutoRepair(): void; get autoRepairInput(): boolean | cdktf.IResolvable | undefined; private _autoUpgrade?; get autoUpgrade(): boolean | cdktf.IResolvable; set autoUpgrade(value: boolean | cdktf.IResolvable); resetAutoUpgrade(): void; get autoUpgradeInput(): boolean | cdktf.IResolvable | undefined; } export interface ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigs { /** * Name of the VPC where the additional interface belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#network ContainerNodePool#network} */ readonly network?: string; /** * Name of the subnetwork where the additional interface belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#subnetwork ContainerNodePool#subnetwork} */ readonly subnetwork?: string; } export declare function containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToTerraform(struct?: ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigs | cdktf.IResolvable): any; export declare function containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToHclTerraform(struct?: ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigs | cdktf.IResolvable): any; export declare class ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsOutputReference 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(): ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigs | cdktf.IResolvable | undefined; set internalValue(value: ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigs | cdktf.IResolvable | undefined); private _network?; get network(): string; set network(value: string); resetNetwork(): void; get networkInput(): string | undefined; private _subnetwork?; get subnetwork(): string; set subnetwork(value: string); resetSubnetwork(): void; get subnetworkInput(): string | undefined; } export declare class ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigs[] | 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): ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsOutputReference; } export interface ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigs { /** * The maximum number of pods per node which use this pod network. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#max_pods_per_node ContainerNodePool#max_pods_per_node} */ readonly maxPodsPerNode?: number; /** * The name of the secondary range on the subnet which provides IP address for this pod range. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#secondary_pod_range ContainerNodePool#secondary_pod_range} */ readonly secondaryPodRange?: string; /** * Name of the subnetwork where the additional pod network belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#subnetwork ContainerNodePool#subnetwork} */ readonly subnetwork?: string; } export declare function containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToTerraform(struct?: ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigs | cdktf.IResolvable): any; export declare function containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToHclTerraform(struct?: ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigs | cdktf.IResolvable): any; export declare class ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsOutputReference 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(): ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigs | cdktf.IResolvable | undefined; set internalValue(value: ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigs | cdktf.IResolvable | undefined); private _maxPodsPerNode?; get maxPodsPerNode(): number; set maxPodsPerNode(value: number); resetMaxPodsPerNode(): void; get maxPodsPerNodeInput(): number | undefined; private _secondaryPodRange?; get secondaryPodRange(): string; set secondaryPodRange(value: string); resetSecondaryPodRange(): void; get secondaryPodRangeInput(): string | undefined; private _subnetwork?; get subnetwork(): string; set subnetwork(value: string); resetSubnetwork(): void; get subnetworkInput(): string | undefined; } export declare class ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigs[] | 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): ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsOutputReference; } export interface ContainerNodePoolNetworkConfigNetworkPerformanceConfig { /** * Specifies the total network bandwidth tier for the NodePool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#total_egress_bandwidth_tier ContainerNodePool#total_egress_bandwidth_tier} */ readonly totalEgressBandwidthTier: string; } export declare function containerNodePoolNetworkConfigNetworkPerformanceConfigToTerraform(struct?: ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference | ContainerNodePoolNetworkConfigNetworkPerformanceConfig): any; export declare function containerNodePoolNetworkConfigNetworkPerformanceConfigToHclTerraform(struct?: ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference | ContainerNodePoolNetworkConfigNetworkPerformanceConfig): any; export declare class ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference 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(): ContainerNodePoolNetworkConfigNetworkPerformanceConfig | undefined; set internalValue(value: ContainerNodePoolNetworkConfigNetworkPerformanceConfig | undefined); private _totalEgressBandwidthTier?; get totalEgressBandwidthTier(): string; set totalEgressBandwidthTier(value: string); get totalEgressBandwidthTierInput(): string | undefined; } export interface ContainerNodePoolNetworkConfigPodCidrOverprovisionConfig { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#disabled ContainerNodePool#disabled} */ readonly disabled: boolean | cdktf.IResolvable; } export declare function containerNodePoolNetworkConfigPodCidrOverprovisionConfigToTerraform(struct?: ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference | ContainerNodePoolNetworkConfigPodCidrOverprovisionConfig): any; export declare function containerNodePoolNetworkConfigPodCidrOverprovisionConfigToHclTerraform(struct?: ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference | ContainerNodePoolNetworkConfigPodCidrOverprovisionConfig): any; export declare class ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference 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(): ContainerNodePoolNetworkConfigPodCidrOverprovisionConfig | undefined; set internalValue(value: ContainerNodePoolNetworkConfigPodCidrOverprovisionConfig | undefined); private _disabled?; get disabled(): boolean | cdktf.IResolvable; set disabled(value: boolean | cdktf.IResolvable); get disabledInput(): boolean | cdktf.IResolvable | undefined; } export interface ContainerNodePoolNetworkConfig { /** * Whether to create a new range for pod IPs in this node pool. Defaults are provided for pod_range and pod_ipv4_cidr_block if they are not specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#create_pod_range ContainerNodePool#create_pod_range} */ readonly createPodRange?: boolean | cdktf.IResolvable; /** * Whether nodes have internal IP addresses only. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#enable_private_nodes ContainerNodePool#enable_private_nodes} */ readonly enablePrivateNodes?: boolean | cdktf.IResolvable; /** * The IP address range for pod IPs in this node pool. Only applicable if create_pod_range is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#pod_ipv4_cidr_block ContainerNodePool#pod_ipv4_cidr_block} */ readonly podIpv4CidrBlock?: string; /** * The ID of the secondary range for pod IPs. If create_pod_range is true, this ID is used for the new range. If create_pod_range is false, uses an existing secondary range with this ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#pod_range ContainerNodePool#pod_range} */ readonly podRange?: string; /** * additional_node_network_configs block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#additional_node_network_configs ContainerNodePool#additional_node_network_configs} */ readonly additionalNodeNetworkConfigs?: ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigs[] | cdktf.IResolvable; /** * additional_pod_network_configs block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#additional_pod_network_configs ContainerNodePool#additional_pod_network_configs} */ readonly additionalPodNetworkConfigs?: ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigs[] | cdktf.IResolvable; /** * network_performance_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#network_performance_config ContainerNodePool#network_performance_config} */ readonly networkPerformanceConfig?: ContainerNodePoolNetworkConfigNetworkPerformanceConfig; /** * pod_cidr_overprovision_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#pod_cidr_overprovision_config ContainerNodePool#pod_cidr_overprovision_config} */ readonly podCidrOverprovisionConfig?: ContainerNodePoolNetworkConfigPodCidrOverprovisionConfig; } export declare function containerNodePoolNetworkConfigToTerraform(struct?: ContainerNodePoolNetworkConfigOutputReference | ContainerNodePoolNetworkConfig): any; export declare function containerNodePoolNetworkConfigToHclTerraform(struct?: ContainerNodePoolNetworkConfigOutputReference | ContainerNodePoolNetworkConfig): any; export declare class ContainerNodePoolNetworkConfigOutputReference 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(): ContainerNodePoolNetworkConfig | undefined; set internalValue(value: ContainerNodePoolNetworkConfig | undefined); private _createPodRange?; get createPodRange(): boolean | cdktf.IResolvable; set createPodRange(value: boolean | cdktf.IResolvable); resetCreatePodRange(): void; get createPodRangeInput(): boolean | cdktf.IResolvable | undefined; private _enablePrivateNodes?; get enablePrivateNodes(): boolean | cdktf.IResolvable; set enablePrivateNodes(value: boolean | cdktf.IResolvable); resetEnablePrivateNodes(): void; get enablePrivateNodesInput(): boolean | cdktf.IResolvable | undefined; private _podIpv4CidrBlock?; get podIpv4CidrBlock(): string; set podIpv4CidrBlock(value: string); resetPodIpv4CidrBlock(): void; get podIpv4CidrBlockInput(): string | undefined; private _podRange?; get podRange(): string; set podRange(value: string); resetPodRange(): void; get podRangeInput(): string | undefined; private _additionalNodeNetworkConfigs; get additionalNodeNetworkConfigs(): ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList; putAdditionalNodeNetworkConfigs(value: ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigs[] | cdktf.IResolvable): void; resetAdditionalNodeNetworkConfigs(): void; get additionalNodeNetworkConfigsInput(): cdktf.IResolvable | ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigs[] | undefined; private _additionalPodNetworkConfigs; get additionalPodNetworkConfigs(): ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList; putAdditionalPodNetworkConfigs(value: ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigs[] | cdktf.IResolvable): void; resetAdditionalPodNetworkConfigs(): void; get additionalPodNetworkConfigsInput(): cdktf.IResolvable | ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigs[] | undefined; private _networkPerformanceConfig; get networkPerformanceConfig(): ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference; putNetworkPerformanceConfig(value: ContainerNodePoolNetworkConfigNetworkPerformanceConfig): void; resetNetworkPerformanceConfig(): void; get networkPerformanceConfigInput(): ContainerNodePoolNetworkConfigNetworkPerformanceConfig | undefined; private _podCidrOverprovisionConfig; get podCidrOverprovisionConfig(): ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference; putPodCidrOverprovisionConfig(value: ContainerNodePoolNetworkConfigPodCidrOverprovisionConfig): void; resetPodCidrOverprovisionConfig(): void; get podCidrOverprovisionConfigInput(): ContainerNodePoolNetworkConfigPodCidrOverprovisionConfig | undefined; } export interface ContainerNodePoolNodeConfigEffectiveTaints { } export declare function containerNodePoolNodeConfigEffectiveTaintsToTerraform(struct?: ContainerNodePoolNodeConfigEffectiveTaints): any; export declare function containerNodePoolNodeConfigEffectiveTaintsToHclTerraform(struct?: ContainerNodePoolNodeConfigEffectiveTaints): any; export declare class ContainerNodePoolNodeConfigEffectiveTaintsOutputReference 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(): ContainerNodePoolNodeConfigEffectiveTaints | undefined; set internalValue(value: ContainerNodePoolNodeConfigEffectiveTaints | undefined); get effect(): string; get key(): string; get value(): string; } export declare class ContainerNodePoolNodeConfigEffectiveTaintsList 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): ContainerNodePoolNodeConfigEffectiveTaintsOutputReference; } export interface ContainerNodePoolNodeConfigAdvancedMachineFeatures { /** * Whether the node should have nested virtualization enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#enable_nested_virtualization ContainerNodePool#enable_nested_virtualization} */ readonly enableNestedVirtualization?: boolean | cdktf.IResolvable; /** * The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#threads_per_core ContainerNodePool#threads_per_core} */ readonly threadsPerCore: number; } export declare function containerNodePoolNodeConfigAdvancedMachineFeaturesToTerraform(struct?: ContainerNodePoolNodeConfigAdvancedMachineFeaturesOutputReference | ContainerNodePoolNodeConfigAdvancedMachineFeatures): any; export declare function containerNodePoolNodeConfigAdvancedMachineFeaturesToHclTerraform(struct?: ContainerNodePoolNodeConfigAdvancedMachineFeaturesOutputReference | ContainerNodePoolNodeConfigAdvancedMachineFeatures): any; export declare class ContainerNodePoolNodeConfigAdvancedMachineFeaturesOutputReference 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(): ContainerNodePoolNodeConfigAdvancedMachineFeatures | undefined; set internalValue(value: ContainerNodePoolNodeConfigAdvancedMachineFeatures | undefined); private _enableNestedVirtualization?; get enableNestedVirtualization(): boolean | cdktf.IResolvable; set enableNestedVirtualization(value: boolean | cdktf.IResolvable); resetEnableNestedVirtualization(): void; get enableNestedVirtualizationInput(): boolean | cdktf.IResolvable | undefined; private _threadsPerCore?; get threadsPerCore(): number; set threadsPerCore(value: number); get threadsPerCoreInput(): number | undefined; } export interface ContainerNodePoolNodeConfigConfidentialNodes { /** * Whether Confidential Nodes feature is enabled for all nodes in this pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#enabled ContainerNodePool#enabled} */ readonly enabled: boolean | cdktf.IResolvable; } export declare function containerNodePoolNodeConfigConfidentialNodesToTerraform(struct?: ContainerNodePoolNodeConfigConfidentialNodesOutputReference | ContainerNodePoolNodeConfigConfidentialNodes): any; export declare function containerNodePoolNodeConfigConfidentialNodesToHclTerraform(struct?: ContainerNodePoolNodeConfigConfidentialNodesOutputReference | ContainerNodePoolNodeConfigConfidentialNodes): any; export declare class ContainerNodePoolNodeConfigConfidentialNodesOutputReference 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(): ContainerNodePoolNodeConfigConfidentialNodes | undefined; set internalValue(value: ContainerNodePoolNodeConfigConfidentialNodes | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): boolean | cdktf.IResolvable | undefined; } export interface ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig { /** * URI for the secret that hosts a certificate. Must be in the format 'projects/PROJECT_NUM/secrets/SECRET_NAME/versions/VERSION_OR_LATEST'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#secret_uri ContainerNodePool#secret_uri} */ readonly secretUri: string; } export declare function containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToTerraform(struct?: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference | ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig): any; export declare function containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToHclTerraform(struct?: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference | ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig): any; export declare class ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference 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(): ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig | undefined; set internalValue(value: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig | undefined); private _secretUri?; get secretUri(): string; set secretUri(value: string); get secretUriInput(): string | undefined; } export interface ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig { /** * List of fully-qualified-domain-names. IPv4s and port specification are supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#fqdns ContainerNodePool#fqdns} */ readonly fqdns: string[]; /** * gcp_secret_manager_certificate_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#gcp_secret_manager_certificate_config ContainerNodePool#gcp_secret_manager_certificate_config} */ readonly gcpSecretManagerCertificateConfig: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig; } export declare function containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToTerraform(struct?: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig | cdktf.IResolvable): any; export declare function containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToHclTerraform(struct?: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig | cdktf.IResolvable): any; export declare class ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigOutputReference 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(): ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig | cdktf.IResolvable | undefined; set internalValue(value: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig | cdktf.IResolvable | undefined); private _fqdns?; get fqdns(): string[]; set fqdns(value: string[]); get fqdnsInput(): string[] | undefined; private _gcpSecretManagerCertificateConfig; get gcpSecretManagerCertificateConfig(): ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference; putGcpSecretManagerCertificateConfig(value: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig): void; get gcpSecretManagerCertificateConfigInput(): ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig | undefined; } export declare class ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig[] | 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): ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigOutputReference; } export interface ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig { /** * Whether or not private registries are configured. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#enabled ContainerNodePool#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * certificate_authority_domain_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#certificate_authority_domain_config ContainerNodePool#certificate_authority_domain_config} */ readonly certificateAuthorityDomainConfig?: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig[] | cdktf.IResolvable; } export declare function containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigToTerraform(struct?: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigOutputReference | ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig): any; export declare function containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigToHclTerraform(struct?: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigOutputReference | ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig): any; export declare class ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigOutputReference 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(): ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig | undefined; set internalValue(value: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): boolean | cdktf.IResolvable | undefined; private _certificateAuthorityDomainConfig; get certificateAuthorityDomainConfig(): ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigList; putCertificateAuthorityDomainConfig(value: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig[] | cdktf.IResolvable): void; resetCertificateAuthorityDomainConfig(): void; get certificateAuthorityDomainConfigInput(): cdktf.IResolvable | ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig[] | undefined; } export interface ContainerNodePoolNodeConfigContainerdConfig { /** * private_registry_access_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#private_registry_access_config ContainerNodePool#private_registry_access_config} */ readonly privateRegistryAccessConfig?: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig; } export declare function containerNodePoolNodeConfigContainerdConfigToTerraform(struct?: ContainerNodePoolNodeConfigContainerdConfigOutputReference | ContainerNodePoolNodeConfigContainerdConfig): any; export declare function containerNodePoolNodeConfigContainerdConfigToHclTerraform(struct?: ContainerNodePoolNodeConfigContainerdConfigOutputReference | ContainerNodePoolNodeConfigContainerdConfig): any; export declare class ContainerNodePoolNodeConfigContainerdConfigOutputReference 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(): ContainerNodePoolNodeConfigContainerdConfig | undefined; set internalValue(value: ContainerNodePoolNodeConfigContainerdConfig | undefined); private _privateRegistryAccessConfig; get privateRegistryAccessConfig(): ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigOutputReference; putPrivateRegistryAccessConfig(value: ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig): void; resetPrivateRegistryAccessConfig(): void; get privateRegistryAccessConfigInput(): ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfig | undefined; } export interface ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfig { /** * Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces. Each local SSD must be 375 or 3000 GB in size, and all local SSDs must share the same size. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#local_ssd_count ContainerNodePool#local_ssd_count} */ readonly localSsdCount: number; } export declare function containerNodePoolNodeConfigEphemeralStorageLocalSsdConfigToTerraform(struct?: ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfigOutputReference | ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfig): any; export declare function containerNodePoolNodeConfigEphemeralStorageLocalSsdConfigToHclTerraform(struct?: ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfigOutputReference | ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfig): any; export declare class ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfigOutputReference 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(): ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfig | undefined; set internalValue(value: ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfig | undefined); private _localSsdCount?; get localSsdCount(): number; set localSsdCount(value: number); get localSsdCountInput(): number | undefined; } export interface ContainerNodePoolNodeConfigFastSocket { /** * Whether or not NCCL Fast Socket is enabled * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_node_pool#enabled ContainerNodePool#enabled} */ readonly enabled: boolean | cdktf.IResolvable; } expo