UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

747 lines 80 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import * as cdktf from 'cdktf'; import { ContainerClusterNodePoolUpgradeSettingsBlueGreenSettings, ContainerClusterNodePoolUpgradeSettingsBlueGreenSettingsOutputReference, ContainerClusterNodePoolAutoscaling, ContainerClusterNodePoolAutoscalingOutputReference, ContainerClusterNodePoolManagement, ContainerClusterNodePoolManagementOutputReference, ContainerClusterNodePoolNetworkConfig, ContainerClusterNodePoolNetworkConfigOutputReference, ContainerClusterNodePoolNodeConfig, ContainerClusterNodePoolNodeConfigOutputReference, ContainerClusterNodePoolPlacementPolicy, ContainerClusterNodePoolPlacementPolicyOutputReference, ContainerClusterNodePoolQueuedProvisioning, ContainerClusterNodePoolQueuedProvisioningOutputReference } from './structs0'; export interface ContainerClusterNodePoolUpgradeSettings { /** * The number of additional nodes that can be added to the node pool during an upgrade. Increasing max_surge raises the number of nodes that can be upgraded simultaneously. Can be set to 0 or greater. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#max_surge ContainerCluster#max_surge} */ readonly maxSurge?: number; /** * The number of nodes that can be simultaneously unavailable during an upgrade. Increasing max_unavailable raises the number of nodes that can be upgraded in parallel. Can be set to 0 or greater. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#max_unavailable ContainerCluster#max_unavailable} */ readonly maxUnavailable?: number; /** * Update strategy for the given nodepool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#strategy ContainerCluster#strategy} */ readonly strategy?: string; /** * blue_green_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#blue_green_settings ContainerCluster#blue_green_settings} */ readonly blueGreenSettings?: ContainerClusterNodePoolUpgradeSettingsBlueGreenSettings; } export declare function containerClusterNodePoolUpgradeSettingsToTerraform(struct?: ContainerClusterNodePoolUpgradeSettingsOutputReference | ContainerClusterNodePoolUpgradeSettings): any; export declare function containerClusterNodePoolUpgradeSettingsToHclTerraform(struct?: ContainerClusterNodePoolUpgradeSettingsOutputReference | ContainerClusterNodePoolUpgradeSettings): any; export declare class ContainerClusterNodePoolUpgradeSettingsOutputReference 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(): ContainerClusterNodePoolUpgradeSettings | undefined; set internalValue(value: ContainerClusterNodePoolUpgradeSettings | undefined); private _maxSurge?; get maxSurge(): number; set maxSurge(value: number); resetMaxSurge(): void; get maxSurgeInput(): number | undefined; private _maxUnavailable?; get maxUnavailable(): number; set maxUnavailable(value: number); resetMaxUnavailable(): void; get maxUnavailableInput(): number | undefined; private _strategy?; get strategy(): string; set strategy(value: string); resetStrategy(): void; get strategyInput(): string | undefined; private _blueGreenSettings; get blueGreenSettings(): ContainerClusterNodePoolUpgradeSettingsBlueGreenSettingsOutputReference; putBlueGreenSettings(value: ContainerClusterNodePoolUpgradeSettingsBlueGreenSettings): void; resetBlueGreenSettings(): void; get blueGreenSettingsInput(): ContainerClusterNodePoolUpgradeSettingsBlueGreenSettings | undefined; } export interface ContainerClusterNodePool { /** * 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.41.0/docs/resources/container_cluster#initial_node_count ContainerCluster#initial_node_count} */ readonly initialNodeCount?: number; /** * 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.41.0/docs/resources/container_cluster#max_pods_per_node ContainerCluster#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.41.0/docs/resources/container_cluster#name ContainerCluster#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.41.0/docs/resources/container_cluster#name_prefix ContainerCluster#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.41.0/docs/resources/container_cluster#node_count ContainerCluster#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.41.0/docs/resources/container_cluster#node_locations ContainerCluster#node_locations} */ readonly nodeLocations?: 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.41.0/docs/resources/container_cluster#version ContainerCluster#version} */ readonly version?: string; /** * autoscaling block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#autoscaling ContainerCluster#autoscaling} */ readonly autoscaling?: ContainerClusterNodePoolAutoscaling; /** * management block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#management ContainerCluster#management} */ readonly management?: ContainerClusterNodePoolManagement; /** * network_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#network_config ContainerCluster#network_config} */ readonly networkConfig?: ContainerClusterNodePoolNetworkConfig; /** * node_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#node_config ContainerCluster#node_config} */ readonly nodeConfig?: ContainerClusterNodePoolNodeConfig; /** * placement_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#placement_policy ContainerCluster#placement_policy} */ readonly placementPolicy?: ContainerClusterNodePoolPlacementPolicy; /** * queued_provisioning block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#queued_provisioning ContainerCluster#queued_provisioning} */ readonly queuedProvisioning?: ContainerClusterNodePoolQueuedProvisioning; /** * upgrade_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#upgrade_settings ContainerCluster#upgrade_settings} */ readonly upgradeSettings?: ContainerClusterNodePoolUpgradeSettings; } export declare function containerClusterNodePoolToTerraform(struct?: ContainerClusterNodePool | cdktf.IResolvable): any; export declare function containerClusterNodePoolToHclTerraform(struct?: ContainerClusterNodePool | cdktf.IResolvable): any; export declare class ContainerClusterNodePoolOutputReference 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(): ContainerClusterNodePool | cdktf.IResolvable | undefined; set internalValue(value: ContainerClusterNodePool | cdktf.IResolvable | undefined); private _initialNodeCount?; get initialNodeCount(): number; set initialNodeCount(value: number); resetInitialNodeCount(): void; get initialNodeCountInput(): number | undefined; get instanceGroupUrls(): string[]; get managedInstanceGroupUrls(): string[]; private _maxPodsPerNode?; get maxPodsPerNode(): number; set maxPodsPerNode(value: number); resetMaxPodsPerNode(): void; get maxPodsPerNodeInput(): number | undefined; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; private _namePrefix?; get namePrefix(): string; set namePrefix(value: string); resetNamePrefix(): void; get namePrefixInput(): string | undefined; private _nodeCount?; get nodeCount(): number; set nodeCount(value: number); resetNodeCount(): void; get nodeCountInput(): number | undefined; private _nodeLocations?; get nodeLocations(): string[]; set nodeLocations(value: string[]); resetNodeLocations(): void; get nodeLocationsInput(): string[] | undefined; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string | undefined; private _autoscaling; get autoscaling(): ContainerClusterNodePoolAutoscalingOutputReference; putAutoscaling(value: ContainerClusterNodePoolAutoscaling): void; resetAutoscaling(): void; get autoscalingInput(): ContainerClusterNodePoolAutoscaling | undefined; private _management; get management(): ContainerClusterNodePoolManagementOutputReference; putManagement(value: ContainerClusterNodePoolManagement): void; resetManagement(): void; get managementInput(): ContainerClusterNodePoolManagement | undefined; private _networkConfig; get networkConfig(): ContainerClusterNodePoolNetworkConfigOutputReference; putNetworkConfig(value: ContainerClusterNodePoolNetworkConfig): void; resetNetworkConfig(): void; get networkConfigInput(): ContainerClusterNodePoolNetworkConfig | undefined; private _nodeConfig; get nodeConfig(): ContainerClusterNodePoolNodeConfigOutputReference; putNodeConfig(value: ContainerClusterNodePoolNodeConfig): void; resetNodeConfig(): void; get nodeConfigInput(): ContainerClusterNodePoolNodeConfig | undefined; private _placementPolicy; get placementPolicy(): ContainerClusterNodePoolPlacementPolicyOutputReference; putPlacementPolicy(value: ContainerClusterNodePoolPlacementPolicy): void; resetPlacementPolicy(): void; get placementPolicyInput(): ContainerClusterNodePoolPlacementPolicy | undefined; private _queuedProvisioning; get queuedProvisioning(): ContainerClusterNodePoolQueuedProvisioningOutputReference; putQueuedProvisioning(value: ContainerClusterNodePoolQueuedProvisioning): void; resetQueuedProvisioning(): void; get queuedProvisioningInput(): ContainerClusterNodePoolQueuedProvisioning | undefined; private _upgradeSettings; get upgradeSettings(): ContainerClusterNodePoolUpgradeSettingsOutputReference; putUpgradeSettings(value: ContainerClusterNodePoolUpgradeSettings): void; resetUpgradeSettings(): void; get upgradeSettingsInput(): ContainerClusterNodePoolUpgradeSettings | undefined; } export declare class ContainerClusterNodePoolList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ContainerClusterNodePool[] | 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): ContainerClusterNodePoolOutputReference; } export interface ContainerClusterNodePoolAutoConfigLinuxNodeConfig { /** * cgroupMode specifies the cgroup mode to be used on the node. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#cgroup_mode ContainerCluster#cgroup_mode} */ readonly cgroupMode?: string; } export declare function containerClusterNodePoolAutoConfigLinuxNodeConfigToTerraform(struct?: ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference | ContainerClusterNodePoolAutoConfigLinuxNodeConfig): any; export declare function containerClusterNodePoolAutoConfigLinuxNodeConfigToHclTerraform(struct?: ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference | ContainerClusterNodePoolAutoConfigLinuxNodeConfig): any; export declare class ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference 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(): ContainerClusterNodePoolAutoConfigLinuxNodeConfig | undefined; set internalValue(value: ContainerClusterNodePoolAutoConfigLinuxNodeConfig | undefined); private _cgroupMode?; get cgroupMode(): string; set cgroupMode(value: string); resetCgroupMode(): void; get cgroupModeInput(): string | undefined; } export interface ContainerClusterNodePoolAutoConfigNetworkTags { /** * List of network tags applied to auto-provisioned node pools. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#tags ContainerCluster#tags} */ readonly tags?: string[]; } export declare function containerClusterNodePoolAutoConfigNetworkTagsToTerraform(struct?: ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference | ContainerClusterNodePoolAutoConfigNetworkTags): any; export declare function containerClusterNodePoolAutoConfigNetworkTagsToHclTerraform(struct?: ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference | ContainerClusterNodePoolAutoConfigNetworkTags): any; export declare class ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference 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(): ContainerClusterNodePoolAutoConfigNetworkTags | undefined; set internalValue(value: ContainerClusterNodePoolAutoConfigNetworkTags | undefined); private _tags?; get tags(): string[]; set tags(value: string[]); resetTags(): void; get tagsInput(): string[] | undefined; } export interface ContainerClusterNodePoolAutoConfigNodeKubeletConfig { /** * Controls whether the kubelet read-only port is enabled. It is strongly recommended to set this to `FALSE`. Possible values: `TRUE`, `FALSE`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#insecure_kubelet_readonly_port_enabled ContainerCluster#insecure_kubelet_readonly_port_enabled} */ readonly insecureKubeletReadonlyPortEnabled?: string; } export declare function containerClusterNodePoolAutoConfigNodeKubeletConfigToTerraform(struct?: ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference | ContainerClusterNodePoolAutoConfigNodeKubeletConfig): any; export declare function containerClusterNodePoolAutoConfigNodeKubeletConfigToHclTerraform(struct?: ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference | ContainerClusterNodePoolAutoConfigNodeKubeletConfig): any; export declare class ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference 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(): ContainerClusterNodePoolAutoConfigNodeKubeletConfig | undefined; set internalValue(value: ContainerClusterNodePoolAutoConfigNodeKubeletConfig | undefined); private _insecureKubeletReadonlyPortEnabled?; get insecureKubeletReadonlyPortEnabled(): string; set insecureKubeletReadonlyPortEnabled(value: string); resetInsecureKubeletReadonlyPortEnabled(): void; get insecureKubeletReadonlyPortEnabledInput(): string | undefined; } export interface ContainerClusterNodePoolAutoConfig { /** * A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#resource_manager_tags ContainerCluster#resource_manager_tags} */ readonly resourceManagerTags?: { [key: string]: string; }; /** * linux_node_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#linux_node_config ContainerCluster#linux_node_config} */ readonly linuxNodeConfig?: ContainerClusterNodePoolAutoConfigLinuxNodeConfig; /** * network_tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#network_tags ContainerCluster#network_tags} */ readonly networkTags?: ContainerClusterNodePoolAutoConfigNetworkTags; /** * node_kubelet_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#node_kubelet_config ContainerCluster#node_kubelet_config} */ readonly nodeKubeletConfig?: ContainerClusterNodePoolAutoConfigNodeKubeletConfig; } export declare function containerClusterNodePoolAutoConfigToTerraform(struct?: ContainerClusterNodePoolAutoConfigOutputReference | ContainerClusterNodePoolAutoConfig): any; export declare function containerClusterNodePoolAutoConfigToHclTerraform(struct?: ContainerClusterNodePoolAutoConfigOutputReference | ContainerClusterNodePoolAutoConfig): any; export declare class ContainerClusterNodePoolAutoConfigOutputReference 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(): ContainerClusterNodePoolAutoConfig | undefined; set internalValue(value: ContainerClusterNodePoolAutoConfig | undefined); private _resourceManagerTags?; get resourceManagerTags(): { [key: string]: string; }; set resourceManagerTags(value: { [key: string]: string; }); resetResourceManagerTags(): void; get resourceManagerTagsInput(): { [key: string]: string; } | undefined; private _linuxNodeConfig; get linuxNodeConfig(): ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference; putLinuxNodeConfig(value: ContainerClusterNodePoolAutoConfigLinuxNodeConfig): void; resetLinuxNodeConfig(): void; get linuxNodeConfigInput(): ContainerClusterNodePoolAutoConfigLinuxNodeConfig | undefined; private _networkTags; get networkTags(): ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference; putNetworkTags(value: ContainerClusterNodePoolAutoConfigNetworkTags): void; resetNetworkTags(): void; get networkTagsInput(): ContainerClusterNodePoolAutoConfigNetworkTags | undefined; private _nodeKubeletConfig; get nodeKubeletConfig(): ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference; putNodeKubeletConfig(value: ContainerClusterNodePoolAutoConfigNodeKubeletConfig): void; resetNodeKubeletConfig(): void; get nodeKubeletConfigInput(): ContainerClusterNodePoolAutoConfigNodeKubeletConfig | undefined; } export interface ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig { /** * 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.41.0/docs/resources/container_cluster#secret_uri ContainerCluster#secret_uri} */ readonly secretUri: string; } export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig): any; export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToHclTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig): any; export declare class ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference 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(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig | undefined; set internalValue(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig | undefined); private _secretUri?; get secretUri(): string; set secretUri(value: string); get secretUriInput(): string | undefined; } export interface ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig { /** * 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.41.0/docs/resources/container_cluster#fqdns ContainerCluster#fqdns} */ readonly fqdns: string[]; /** * gcp_secret_manager_certificate_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#gcp_secret_manager_certificate_config ContainerCluster#gcp_secret_manager_certificate_config} */ readonly gcpSecretManagerCertificateConfig: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig; } export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig | cdktf.IResolvable): any; export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToHclTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig | cdktf.IResolvable): any; export declare class ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigOutputReference 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(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig | cdktf.IResolvable | undefined; set internalValue(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig | cdktf.IResolvable | undefined); private _fqdns?; get fqdns(): string[]; set fqdns(value: string[]); get fqdnsInput(): string[] | undefined; private _gcpSecretManagerCertificateConfig; get gcpSecretManagerCertificateConfig(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference; putGcpSecretManagerCertificateConfig(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig): void; get gcpSecretManagerCertificateConfigInput(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfig | undefined; } export declare class ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig[] | 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): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigOutputReference; } export interface ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfig { /** * Whether or not private registries are configured. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#enabled ContainerCluster#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * certificate_authority_domain_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#certificate_authority_domain_config ContainerCluster#certificate_authority_domain_config} */ readonly certificateAuthorityDomainConfig?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig[] | cdktf.IResolvable; } export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigToTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfig): any; export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigToHclTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfig): any; export declare class ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigOutputReference 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(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfig | undefined; set internalValue(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfig | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): boolean | cdktf.IResolvable | undefined; private _certificateAuthorityDomainConfig; get certificateAuthorityDomainConfig(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigList; putCertificateAuthorityDomainConfig(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig[] | cdktf.IResolvable): void; resetCertificateAuthorityDomainConfig(): void; get certificateAuthorityDomainConfigInput(): cdktf.IResolvable | ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfig[] | undefined; } export interface ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfig { /** * private_registry_access_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#private_registry_access_config ContainerCluster#private_registry_access_config} */ readonly privateRegistryAccessConfig?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfig; } export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigToTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfig): any; export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigToHclTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfig): any; export declare class ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigOutputReference 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(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfig | undefined; set internalValue(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfig | undefined); private _privateRegistryAccessConfig; get privateRegistryAccessConfig(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigOutputReference; putPrivateRegistryAccessConfig(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfig): void; resetPrivateRegistryAccessConfig(): void; get privateRegistryAccessConfigInput(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfig | undefined; } export interface ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfig { /** * Whether or not GCFS is enabled * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#enabled ContainerCluster#enabled} */ readonly enabled: boolean | cdktf.IResolvable; } export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigToTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfig): any; export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigToHclTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfig): any; export declare class ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigOutputReference 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(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfig | undefined; set internalValue(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfig | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): boolean | cdktf.IResolvable | undefined; } export interface ContainerClusterNodePoolDefaultsNodeConfigDefaults { /** * Controls whether the kubelet read-only port is enabled. It is strongly recommended to set this to `FALSE`. Possible values: `TRUE`, `FALSE`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#insecure_kubelet_readonly_port_enabled ContainerCluster#insecure_kubelet_readonly_port_enabled} */ readonly insecureKubeletReadonlyPortEnabled?: string; /** * Type of logging agent that is used as the default value for node pools in the cluster. Valid values include DEFAULT and MAX_THROUGHPUT. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#logging_variant ContainerCluster#logging_variant} */ readonly loggingVariant?: string; /** * containerd_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#containerd_config ContainerCluster#containerd_config} */ readonly containerdConfig?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfig; /** * gcfs_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#gcfs_config ContainerCluster#gcfs_config} */ readonly gcfsConfig?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfig; } export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsToTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaults): any; export declare function containerClusterNodePoolDefaultsNodeConfigDefaultsToHclTerraform(struct?: ContainerClusterNodePoolDefaultsNodeConfigDefaultsOutputReference | ContainerClusterNodePoolDefaultsNodeConfigDefaults): any; export declare class ContainerClusterNodePoolDefaultsNodeConfigDefaultsOutputReference 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(): ContainerClusterNodePoolDefaultsNodeConfigDefaults | undefined; set internalValue(value: ContainerClusterNodePoolDefaultsNodeConfigDefaults | undefined); private _insecureKubeletReadonlyPortEnabled?; get insecureKubeletReadonlyPortEnabled(): string; set insecureKubeletReadonlyPortEnabled(value: string); resetInsecureKubeletReadonlyPortEnabled(): void; get insecureKubeletReadonlyPortEnabledInput(): string | undefined; private _loggingVariant?; get loggingVariant(): string; set loggingVariant(value: string); resetLoggingVariant(): void; get loggingVariantInput(): string | undefined; private _containerdConfig; get containerdConfig(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigOutputReference; putContainerdConfig(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfig): void; resetContainerdConfig(): void; get containerdConfigInput(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfig | undefined; private _gcfsConfig; get gcfsConfig(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigOutputReference; putGcfsConfig(value: ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfig): void; resetGcfsConfig(): void; get gcfsConfigInput(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfig | undefined; } export interface ContainerClusterNodePoolDefaults { /** * node_config_defaults block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#node_config_defaults ContainerCluster#node_config_defaults} */ readonly nodeConfigDefaults?: ContainerClusterNodePoolDefaultsNodeConfigDefaults; } export declare function containerClusterNodePoolDefaultsToTerraform(struct?: ContainerClusterNodePoolDefaultsOutputReference | ContainerClusterNodePoolDefaults): any; export declare function containerClusterNodePoolDefaultsToHclTerraform(struct?: ContainerClusterNodePoolDefaultsOutputReference | ContainerClusterNodePoolDefaults): any; export declare class ContainerClusterNodePoolDefaultsOutputReference 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(): ContainerClusterNodePoolDefaults | undefined; set internalValue(value: ContainerClusterNodePoolDefaults | undefined); private _nodeConfigDefaults; get nodeConfigDefaults(): ContainerClusterNodePoolDefaultsNodeConfigDefaultsOutputReference; putNodeConfigDefaults(value: ContainerClusterNodePoolDefaultsNodeConfigDefaults): void; resetNodeConfigDefaults(): void; get nodeConfigDefaultsInput(): ContainerClusterNodePoolDefaultsNodeConfigDefaults | undefined; } export interface ContainerClusterNotificationConfigPubsubFilter { /** * Can be used to filter what notifications are sent. Valid values include include UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT, SECURITY_BULLETIN_EVENT, and UPGRADE_INFO_EVENT * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#event_type ContainerCluster#event_type} */ readonly eventType: string[]; } export declare function containerClusterNotificationConfigPubsubFilterToTerraform(struct?: ContainerClusterNotificationConfigPubsubFilterOutputReference | ContainerClusterNotificationConfigPubsubFilter): any; export declare function containerClusterNotificationConfigPubsubFilterToHclTerraform(struct?: ContainerClusterNotificationConfigPubsubFilterOutputReference | ContainerClusterNotificationConfigPubsubFilter): any; export declare class ContainerClusterNotificationConfigPubsubFilterOutputReference 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(): ContainerClusterNotificationConfigPubsubFilter | undefined; set internalValue(value: ContainerClusterNotificationConfigPubsubFilter | undefined); private _eventType?; get eventType(): string[]; set eventType(value: string[]); get eventTypeInput(): string[] | undefined; } export interface ContainerClusterNotificationConfigPubsub { /** * Whether or not the notification config is enabled * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#enabled ContainerCluster#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * The pubsub topic to push upgrade notifications to. Must be in the same project as the cluster. Must be in the format: projects/{project}/topics/{topic}. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#topic ContainerCluster#topic} */ readonly topic?: string; /** * filter block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#filter ContainerCluster#filter} */ readonly filter?: ContainerClusterNotificationConfigPubsubFilter; } export declare function containerClusterNotificationConfigPubsubToTerraform(struct?: ContainerClusterNotificationConfigPubsubOutputReference | ContainerClusterNotificationConfigPubsub): any; export declare function containerClusterNotificationConfigPubsubToHclTerraform(struct?: ContainerClusterNotificationConfigPubsubOutputReference | ContainerClusterNotificationConfigPubsub): any; export declare class ContainerClusterNotificationConfigPubsubOutputReference 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(): ContainerClusterNotificationConfigPubsub | undefined; set internalValue(value: ContainerClusterNotificationConfigPubsub | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): boolean | cdktf.IResolvable | undefined; private _topic?; get topic(): string; set topic(value: string); resetTopic(): void; get topicInput(): string | undefined; private _filter; get filter(): ContainerClusterNotificationConfigPubsubFilterOutputReference; putFilter(value: ContainerClusterNotificationConfigPubsubFilter): void; resetFilter(): void; get filterInput(): ContainerClusterNotificationConfigPubsubFilter | undefined; } export interface ContainerClusterNotificationConfig { /** * pubsub block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#pubsub ContainerCluster#pubsub} */ readonly pubsub: ContainerClusterNotificationConfigPubsub; } export declare function containerClusterNotificationConfigToTerraform(struct?: ContainerClusterNotificationConfigOutputReference | ContainerClusterNotificationConfig): any; export declare function containerClusterNotificationConfigToHclTerraform(struct?: ContainerClusterNotificationConfigOutputReference | ContainerClusterNotificationConfig): any; export declare class ContainerClusterNotificationConfigOutputReference 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(): ContainerClusterNotificationConfig | undefined; set internalValue(value: ContainerClusterNotificationConfig | undefined); private _pubsub; get pubsub(): ContainerClusterNotificationConfigPubsubOutputReference; putPubsub(value: ContainerClusterNotificationConfigPubsub): void; get pubsubInput(): ContainerClusterNotificationConfigPubsub | undefined; } export interface ContainerClusterPodAutoscaling { /** * * HPA Profile is used to configure the Horizontal Pod Autoscaler (HPA) profile for the cluster. * Available options include: * - NONE: Customers explicitly opt-out of HPA profiles. * - PERFORMANCE: PERFORMANCE is used when customers opt-in to the performance HPA profile. In this profile we support a higher number of HPAs per cluster and faster metrics collection for workload autoscaling. * * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/container_cluster#hpa_profile ContainerCluster#hpa_profile} */ readonly hpaProfile: string; } export declare function containerClusterPodAutoscalingToTerraform(struct?: ContainerClusterPodAutoscalingOutputReference | ContainerClusterPodAutoscaling): any; export declare function containerClusterPodAutoscalingToHclTerraform(struct?: ContainerClusterPodAutoscalingOutputReference | ContainerClusterPodAutoscaling): any