Class ContainerClusterConfig.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.container_cluster.ContainerClusterConfig.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<ContainerClusterConfig>
- Enclosing interface:
- ContainerClusterConfig
@Stability(Stable) public static final class ContainerClusterConfig.Builder extends Object implements software.amazon.jsii.Builder<ContainerClusterConfig>
A builder forContainerClusterConfig
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
name
@Stability(Stable) public ContainerClusterConfig.Builder name(String name)
Sets the value ofContainerClusterConfig.getName()- Parameters:
name- The name of the cluster, unique within the project and location. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#name ContainerCluster#name}- Returns:
this
-
addonsConfig
@Stability(Stable) public ContainerClusterConfig.Builder addonsConfig(ContainerClusterAddonsConfig addonsConfig)
Sets the value ofContainerClusterConfig.getAddonsConfig()- Parameters:
addonsConfig- addons_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#addons_config ContainerCluster#addons_config}- Returns:
this
-
allowNetAdmin
@Stability(Stable) public ContainerClusterConfig.Builder allowNetAdmin(Boolean allowNetAdmin)
Sets the value ofContainerClusterConfig.getAllowNetAdmin()- Parameters:
allowNetAdmin- Enable NET_ADMIN for this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#allow_net_admin ContainerCluster#allow_net_admin}- Returns:
this
-
allowNetAdmin
@Stability(Stable) public ContainerClusterConfig.Builder allowNetAdmin(com.hashicorp.cdktf.IResolvable allowNetAdmin)
Sets the value ofContainerClusterConfig.getAllowNetAdmin()- Parameters:
allowNetAdmin- Enable NET_ADMIN for this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#allow_net_admin ContainerCluster#allow_net_admin}- Returns:
this
-
authenticatorGroupsConfig
@Stability(Stable) public ContainerClusterConfig.Builder authenticatorGroupsConfig(ContainerClusterAuthenticatorGroupsConfig authenticatorGroupsConfig)
Sets the value ofContainerClusterConfig.getAuthenticatorGroupsConfig()- Parameters:
authenticatorGroupsConfig- authenticator_groups_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#authenticator_groups_config ContainerCluster#authenticator_groups_config}- Returns:
this
-
binaryAuthorization
@Stability(Stable) public ContainerClusterConfig.Builder binaryAuthorization(ContainerClusterBinaryAuthorization binaryAuthorization)
Sets the value ofContainerClusterConfig.getBinaryAuthorization()- Parameters:
binaryAuthorization- binary_authorization block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#binary_authorization ContainerCluster#binary_authorization}- Returns:
this
-
clusterAutoscaling
@Stability(Stable) public ContainerClusterConfig.Builder clusterAutoscaling(ContainerClusterClusterAutoscaling clusterAutoscaling)
Sets the value ofContainerClusterConfig.getClusterAutoscaling()- Parameters:
clusterAutoscaling- cluster_autoscaling block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#cluster_autoscaling ContainerCluster#cluster_autoscaling}- Returns:
this
-
clusterIpv4Cidr
@Stability(Stable) public ContainerClusterConfig.Builder clusterIpv4Cidr(String clusterIpv4Cidr)
Sets the value ofContainerClusterConfig.getClusterIpv4Cidr()- Parameters:
clusterIpv4Cidr- The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically chosen or specify a /14 block in 10.0.0.0/8. This field will only work for routes-based clusters, where ip_allocation_policy is not defined. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#cluster_ipv4_cidr ContainerCluster#cluster_ipv4_cidr}- Returns:
this
-
confidentialNodes
@Stability(Stable) public ContainerClusterConfig.Builder confidentialNodes(ContainerClusterConfidentialNodes confidentialNodes)
Sets the value ofContainerClusterConfig.getConfidentialNodes()- Parameters:
confidentialNodes- confidential_nodes block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#confidential_nodes ContainerCluster#confidential_nodes}- Returns:
this
-
costManagementConfig
@Stability(Stable) public ContainerClusterConfig.Builder costManagementConfig(ContainerClusterCostManagementConfig costManagementConfig)
Sets the value ofContainerClusterConfig.getCostManagementConfig()- Parameters:
costManagementConfig- cost_management_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#cost_management_config ContainerCluster#cost_management_config}- Returns:
this
-
databaseEncryption
@Stability(Stable) public ContainerClusterConfig.Builder databaseEncryption(ContainerClusterDatabaseEncryption databaseEncryption)
Sets the value ofContainerClusterConfig.getDatabaseEncryption()- Parameters:
databaseEncryption- database_encryption block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#database_encryption ContainerCluster#database_encryption}- Returns:
this
-
datapathProvider
@Stability(Stable) public ContainerClusterConfig.Builder datapathProvider(String datapathProvider)
Sets the value ofContainerClusterConfig.getDatapathProvider()- Parameters:
datapathProvider- The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#datapath_provider ContainerCluster#datapath_provider}- Returns:
this
-
defaultMaxPodsPerNode
@Stability(Stable) public ContainerClusterConfig.Builder defaultMaxPodsPerNode(Number defaultMaxPodsPerNode)
Sets the value ofContainerClusterConfig.getDefaultMaxPodsPerNode()- Parameters:
defaultMaxPodsPerNode- The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#default_max_pods_per_node ContainerCluster#default_max_pods_per_node}- Returns:
this
-
defaultSnatStatus
@Stability(Stable) public ContainerClusterConfig.Builder defaultSnatStatus(ContainerClusterDefaultSnatStatus defaultSnatStatus)
Sets the value ofContainerClusterConfig.getDefaultSnatStatus()- Parameters:
defaultSnatStatus- default_snat_status block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#default_snat_status ContainerCluster#default_snat_status}- Returns:
this
-
deletionProtection
@Stability(Stable) public ContainerClusterConfig.Builder deletionProtection(Boolean deletionProtection)
Sets the value ofContainerClusterConfig.getDeletionProtection()- Parameters:
deletionProtection- When the field is set to true or unset in Terraform state, a terraform apply or terraform destroy that would delete the cluster will fail. When the field is set to false, deleting the cluster is allowed. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#deletion_protection ContainerCluster#deletion_protection}- Returns:
this
-
deletionProtection
@Stability(Stable) public ContainerClusterConfig.Builder deletionProtection(com.hashicorp.cdktf.IResolvable deletionProtection)
Sets the value ofContainerClusterConfig.getDeletionProtection()- Parameters:
deletionProtection- When the field is set to true or unset in Terraform state, a terraform apply or terraform destroy that would delete the cluster will fail. When the field is set to false, deleting the cluster is allowed. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#deletion_protection ContainerCluster#deletion_protection}- Returns:
this
-
description
@Stability(Stable) public ContainerClusterConfig.Builder description(String description)
Sets the value ofContainerClusterConfig.getDescription()- Parameters:
description- Description of the cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#description ContainerCluster#description}- Returns:
this
-
dnsConfig
@Stability(Stable) public ContainerClusterConfig.Builder dnsConfig(ContainerClusterDnsConfig dnsConfig)
Sets the value ofContainerClusterConfig.getDnsConfig()- Parameters:
dnsConfig- dns_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#dns_config ContainerCluster#dns_config}- Returns:
this
-
enableAutopilot
@Stability(Stable) public ContainerClusterConfig.Builder enableAutopilot(Boolean enableAutopilot)
Sets the value ofContainerClusterConfig.getEnableAutopilot()- Parameters:
enableAutopilot- Enable Autopilot for this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_autopilot ContainerCluster#enable_autopilot}- Returns:
this
-
enableAutopilot
@Stability(Stable) public ContainerClusterConfig.Builder enableAutopilot(com.hashicorp.cdktf.IResolvable enableAutopilot)
Sets the value ofContainerClusterConfig.getEnableAutopilot()- Parameters:
enableAutopilot- Enable Autopilot for this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_autopilot ContainerCluster#enable_autopilot}- Returns:
this
-
enableCiliumClusterwideNetworkPolicy
@Stability(Stable) public ContainerClusterConfig.Builder enableCiliumClusterwideNetworkPolicy(Boolean enableCiliumClusterwideNetworkPolicy)
Sets the value ofContainerClusterConfig.getEnableCiliumClusterwideNetworkPolicy()- Parameters:
enableCiliumClusterwideNetworkPolicy- Whether Cilium cluster-wide network policy is enabled on this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_cilium_clusterwide_network_policy ContainerCluster#enable_cilium_clusterwide_network_policy}- Returns:
this
-
enableCiliumClusterwideNetworkPolicy
@Stability(Stable) public ContainerClusterConfig.Builder enableCiliumClusterwideNetworkPolicy(com.hashicorp.cdktf.IResolvable enableCiliumClusterwideNetworkPolicy)
Sets the value ofContainerClusterConfig.getEnableCiliumClusterwideNetworkPolicy()- Parameters:
enableCiliumClusterwideNetworkPolicy- Whether Cilium cluster-wide network policy is enabled on this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_cilium_clusterwide_network_policy ContainerCluster#enable_cilium_clusterwide_network_policy}- Returns:
this
-
enableIntranodeVisibility
@Stability(Stable) public ContainerClusterConfig.Builder enableIntranodeVisibility(Boolean enableIntranodeVisibility)
Sets the value ofContainerClusterConfig.getEnableIntranodeVisibility()- Parameters:
enableIntranodeVisibility- Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_intranode_visibility ContainerCluster#enable_intranode_visibility}- Returns:
this
-
enableIntranodeVisibility
@Stability(Stable) public ContainerClusterConfig.Builder enableIntranodeVisibility(com.hashicorp.cdktf.IResolvable enableIntranodeVisibility)
Sets the value ofContainerClusterConfig.getEnableIntranodeVisibility()- Parameters:
enableIntranodeVisibility- Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_intranode_visibility ContainerCluster#enable_intranode_visibility}- Returns:
this
-
enableK8SBetaApis
@Stability(Stable) public ContainerClusterConfig.Builder enableK8SBetaApis(ContainerClusterEnableK8SBetaApis enableK8SBetaApis)
Sets the value ofContainerClusterConfig.getEnableK8SBetaApis()- Parameters:
enableK8SBetaApis- enable_k8s_beta_apis block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_k8s_beta_apis ContainerCluster#enable_k8s_beta_apis}- Returns:
this
-
enableKubernetesAlpha
@Stability(Stable) public ContainerClusterConfig.Builder enableKubernetesAlpha(Boolean enableKubernetesAlpha)
Sets the value ofContainerClusterConfig.getEnableKubernetesAlpha()- Parameters:
enableKubernetesAlpha- Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_kubernetes_alpha ContainerCluster#enable_kubernetes_alpha}- Returns:
this
-
enableKubernetesAlpha
@Stability(Stable) public ContainerClusterConfig.Builder enableKubernetesAlpha(com.hashicorp.cdktf.IResolvable enableKubernetesAlpha)
Sets the value ofContainerClusterConfig.getEnableKubernetesAlpha()- Parameters:
enableKubernetesAlpha- Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_kubernetes_alpha ContainerCluster#enable_kubernetes_alpha}- Returns:
this
-
enableL4IlbSubsetting
@Stability(Stable) public ContainerClusterConfig.Builder enableL4IlbSubsetting(Boolean enableL4IlbSubsetting)
Sets the value ofContainerClusterConfig.getEnableL4IlbSubsetting()- Parameters:
enableL4IlbSubsetting- Whether L4ILB Subsetting is enabled for this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_l4_ilb_subsetting ContainerCluster#enable_l4_ilb_subsetting}- Returns:
this
-
enableL4IlbSubsetting
@Stability(Stable) public ContainerClusterConfig.Builder enableL4IlbSubsetting(com.hashicorp.cdktf.IResolvable enableL4IlbSubsetting)
Sets the value ofContainerClusterConfig.getEnableL4IlbSubsetting()- Parameters:
enableL4IlbSubsetting- Whether L4ILB Subsetting is enabled for this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_l4_ilb_subsetting ContainerCluster#enable_l4_ilb_subsetting}- Returns:
this
-
enableLegacyAbac
@Stability(Stable) public ContainerClusterConfig.Builder enableLegacyAbac(Boolean enableLegacyAbac)
Sets the value ofContainerClusterConfig.getEnableLegacyAbac()- Parameters:
enableLegacyAbac- Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to false. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_legacy_abac ContainerCluster#enable_legacy_abac}- Returns:
this
-
enableLegacyAbac
@Stability(Stable) public ContainerClusterConfig.Builder enableLegacyAbac(com.hashicorp.cdktf.IResolvable enableLegacyAbac)
Sets the value ofContainerClusterConfig.getEnableLegacyAbac()- Parameters:
enableLegacyAbac- Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to false. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_legacy_abac ContainerCluster#enable_legacy_abac}- Returns:
this
-
enableMultiNetworking
@Stability(Stable) public ContainerClusterConfig.Builder enableMultiNetworking(Boolean enableMultiNetworking)
Sets the value ofContainerClusterConfig.getEnableMultiNetworking()- Parameters:
enableMultiNetworking- Whether multi-networking is enabled for this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_multi_networking ContainerCluster#enable_multi_networking}- Returns:
this
-
enableMultiNetworking
@Stability(Stable) public ContainerClusterConfig.Builder enableMultiNetworking(com.hashicorp.cdktf.IResolvable enableMultiNetworking)
Sets the value ofContainerClusterConfig.getEnableMultiNetworking()- Parameters:
enableMultiNetworking- Whether multi-networking is enabled for this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_multi_networking ContainerCluster#enable_multi_networking}- Returns:
this
-
enableShieldedNodes
@Stability(Stable) public ContainerClusterConfig.Builder enableShieldedNodes(Boolean enableShieldedNodes)
Sets the value ofContainerClusterConfig.getEnableShieldedNodes()- Parameters:
enableShieldedNodes- Enable Shielded Nodes features on all nodes in this cluster. Defaults to true. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_shielded_nodes ContainerCluster#enable_shielded_nodes}- Returns:
this
-
enableShieldedNodes
@Stability(Stable) public ContainerClusterConfig.Builder enableShieldedNodes(com.hashicorp.cdktf.IResolvable enableShieldedNodes)
Sets the value ofContainerClusterConfig.getEnableShieldedNodes()- Parameters:
enableShieldedNodes- Enable Shielded Nodes features on all nodes in this cluster. Defaults to true. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_shielded_nodes ContainerCluster#enable_shielded_nodes}- Returns:
this
-
enableTpu
@Stability(Stable) public ContainerClusterConfig.Builder enableTpu(Boolean enableTpu)
Sets the value ofContainerClusterConfig.getEnableTpu()- Parameters:
enableTpu- Whether to enable Cloud TPU resources in this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_tpu ContainerCluster#enable_tpu}- Returns:
this
-
enableTpu
@Stability(Stable) public ContainerClusterConfig.Builder enableTpu(com.hashicorp.cdktf.IResolvable enableTpu)
Sets the value ofContainerClusterConfig.getEnableTpu()- Parameters:
enableTpu- Whether to enable Cloud TPU resources in this cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_tpu ContainerCluster#enable_tpu}- Returns:
this
-
fleet
@Stability(Stable) public ContainerClusterConfig.Builder fleet(ContainerClusterFleet fleet)
Sets the value ofContainerClusterConfig.getFleet()- Parameters:
fleet- fleet block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#fleet ContainerCluster#fleet}- Returns:
this
-
gatewayApiConfig
@Stability(Stable) public ContainerClusterConfig.Builder gatewayApiConfig(ContainerClusterGatewayApiConfig gatewayApiConfig)
Sets the value ofContainerClusterConfig.getGatewayApiConfig()- Parameters:
gatewayApiConfig- gateway_api_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#gateway_api_config ContainerCluster#gateway_api_config}- Returns:
this
-
id
@Stability(Stable) public ContainerClusterConfig.Builder id(String id)
Sets the value ofContainerClusterConfig.getId()- Parameters:
id- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#id ContainerCluster#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.- Returns:
this
-
identityServiceConfig
@Stability(Stable) public ContainerClusterConfig.Builder identityServiceConfig(ContainerClusterIdentityServiceConfig identityServiceConfig)
Sets the value ofContainerClusterConfig.getIdentityServiceConfig()- Parameters:
identityServiceConfig- identity_service_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#identity_service_config ContainerCluster#identity_service_config}- Returns:
this
-
initialNodeCount
@Stability(Stable) public ContainerClusterConfig.Builder initialNodeCount(Number initialNodeCount)
Sets the value ofContainerClusterConfig.getInitialNodeCount()- Parameters:
initialNodeCount- The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if node_pool is not set. If you're using google_container_node_pool objects with no default node pool, you'll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#initial_node_count ContainerCluster#initial_node_count}- Returns:
this
-
ipAllocationPolicy
@Stability(Stable) public ContainerClusterConfig.Builder ipAllocationPolicy(ContainerClusterIpAllocationPolicy ipAllocationPolicy)
Sets the value ofContainerClusterConfig.getIpAllocationPolicy()- Parameters:
ipAllocationPolicy- ip_allocation_policy block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#ip_allocation_policy ContainerCluster#ip_allocation_policy}- Returns:
this
-
location
@Stability(Stable) public ContainerClusterConfig.Builder location(String location)
Sets the value ofContainerClusterConfig.getLocation()- Parameters:
location- The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such as us-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#location ContainerCluster#location}- Returns:
this
-
loggingConfig
@Stability(Stable) public ContainerClusterConfig.Builder loggingConfig(ContainerClusterLoggingConfig loggingConfig)
Sets the value ofContainerClusterConfig.getLoggingConfig()- Parameters:
loggingConfig- logging_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#logging_config ContainerCluster#logging_config}- Returns:
this
-
loggingService
@Stability(Stable) public ContainerClusterConfig.Builder loggingService(String loggingService)
Sets the value ofContainerClusterConfig.getLoggingService()- Parameters:
loggingService- The logging service that the cluster should write logs to. Available options include logging.googleapis.com(Legacy Stackdriver), logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), and none. Defaults to logging.googleapis.com/kubernetes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#logging_service ContainerCluster#logging_service}- Returns:
this
-
maintenancePolicy
@Stability(Stable) public ContainerClusterConfig.Builder maintenancePolicy(ContainerClusterMaintenancePolicy maintenancePolicy)
Sets the value ofContainerClusterConfig.getMaintenancePolicy()- Parameters:
maintenancePolicy- maintenance_policy block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#maintenance_policy ContainerCluster#maintenance_policy}- Returns:
this
-
masterAuth
@Stability(Stable) public ContainerClusterConfig.Builder masterAuth(ContainerClusterMasterAuth masterAuth)
Sets the value ofContainerClusterConfig.getMasterAuth()- Parameters:
masterAuth- master_auth block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#master_auth ContainerCluster#master_auth}- Returns:
this
-
masterAuthorizedNetworksConfig
@Stability(Stable) public ContainerClusterConfig.Builder masterAuthorizedNetworksConfig(ContainerClusterMasterAuthorizedNetworksConfig masterAuthorizedNetworksConfig)
Sets the value ofContainerClusterConfig.getMasterAuthorizedNetworksConfig()- Parameters:
masterAuthorizedNetworksConfig- master_authorized_networks_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#master_authorized_networks_config ContainerCluster#master_authorized_networks_config}- Returns:
this
-
meshCertificates
@Stability(Stable) public ContainerClusterConfig.Builder meshCertificates(ContainerClusterMeshCertificates meshCertificates)
Sets the value ofContainerClusterConfig.getMeshCertificates()- Parameters:
meshCertificates- mesh_certificates block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#mesh_certificates ContainerCluster#mesh_certificates}- Returns:
this
-
minMasterVersion
@Stability(Stable) public ContainerClusterConfig.Builder minMasterVersion(String minMasterVersion)
Sets the value ofContainerClusterConfig.getMinMasterVersion()- Parameters:
minMasterVersion- The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only master_version field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#min_master_version ContainerCluster#min_master_version}- Returns:
this
-
monitoringConfig
@Stability(Stable) public ContainerClusterConfig.Builder monitoringConfig(ContainerClusterMonitoringConfig monitoringConfig)
Sets the value ofContainerClusterConfig.getMonitoringConfig()- Parameters:
monitoringConfig- monitoring_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#monitoring_config ContainerCluster#monitoring_config}- Returns:
this
-
monitoringService
@Stability(Stable) public ContainerClusterConfig.Builder monitoringService(String monitoringService)
Sets the value ofContainerClusterConfig.getMonitoringService()- Parameters:
monitoringService- The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include monitoring.googleapis.com(Legacy Stackdriver), monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), and none. Defaults to monitoring.googleapis.com/kubernetes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#monitoring_service ContainerCluster#monitoring_service}- Returns:
this
-
network
@Stability(Stable) public ContainerClusterConfig.Builder network(String network)
Sets the value ofContainerClusterConfig.getNetwork()- Parameters:
network- The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#network ContainerCluster#network}- Returns:
this
-
networkingMode
@Stability(Stable) public ContainerClusterConfig.Builder networkingMode(String networkingMode)
Sets the value ofContainerClusterConfig.getNetworkingMode()- Parameters:
networkingMode- Determines whether alias IPs or routes will be used for pod IPs in the cluster. Defaults to VPC_NATIVE for new clusters. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#networking_mode ContainerCluster#networking_mode}- Returns:
this
-
networkPolicy
@Stability(Stable) public ContainerClusterConfig.Builder networkPolicy(ContainerClusterNetworkPolicy networkPolicy)
Sets the value ofContainerClusterConfig.getNetworkPolicy()- Parameters:
networkPolicy- network_policy block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#network_policy ContainerCluster#network_policy}- Returns:
this
-
nodeConfig
@Stability(Stable) public ContainerClusterConfig.Builder nodeConfig(ContainerClusterNodeConfig nodeConfig)
Sets the value ofContainerClusterConfig.getNodeConfig()- Parameters:
nodeConfig- node_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#node_config ContainerCluster#node_config}- Returns:
this
-
nodeLocations
@Stability(Stable) public ContainerClusterConfig.Builder nodeLocations(List<String> nodeLocations)
Sets the value ofContainerClusterConfig.getNodeLocations()- Parameters:
nodeLocations- The list of zones in which the cluster's nodes are 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 this is specified for a zonal cluster, omit the cluster's zone. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#node_locations ContainerCluster#node_locations}- Returns:
this
-
nodePool
@Stability(Stable) public ContainerClusterConfig.Builder nodePool(com.hashicorp.cdktf.IResolvable nodePool)
Sets the value ofContainerClusterConfig.getNodePool()- Parameters:
nodePool- node_pool block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#node_pool ContainerCluster#node_pool}- Returns:
this
-
nodePool
@Stability(Stable) public ContainerClusterConfig.Builder nodePool(List<? extends ContainerClusterNodePool> nodePool)
Sets the value ofContainerClusterConfig.getNodePool()- Parameters:
nodePool- node_pool block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#node_pool ContainerCluster#node_pool}- Returns:
this
-
nodePoolAutoConfig
@Stability(Stable) public ContainerClusterConfig.Builder nodePoolAutoConfig(ContainerClusterNodePoolAutoConfig nodePoolAutoConfig)
Sets the value ofContainerClusterConfig.getNodePoolAutoConfig()- Parameters:
nodePoolAutoConfig- node_pool_auto_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#node_pool_auto_config ContainerCluster#node_pool_auto_config}- Returns:
this
-
nodePoolDefaults
@Stability(Stable) public ContainerClusterConfig.Builder nodePoolDefaults(ContainerClusterNodePoolDefaults nodePoolDefaults)
Sets the value ofContainerClusterConfig.getNodePoolDefaults()- Parameters:
nodePoolDefaults- node_pool_defaults block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#node_pool_defaults ContainerCluster#node_pool_defaults}- Returns:
this
-
nodeVersion
@Stability(Stable) public ContainerClusterConfig.Builder nodeVersion(String nodeVersion)
Sets the value ofContainerClusterConfig.getNodeVersion()- Parameters:
nodeVersion- The Kubernetes version on the nodes. Must either be unset or set to the same value as min_master_version on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. 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. To update nodes in other node pools, use the version attribute on the node pool. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#node_version ContainerCluster#node_version}- Returns:
this
-
notificationConfig
@Stability(Stable) public ContainerClusterConfig.Builder notificationConfig(ContainerClusterNotificationConfig notificationConfig)
Sets the value ofContainerClusterConfig.getNotificationConfig()- Parameters:
notificationConfig- notification_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#notification_config ContainerCluster#notification_config}- Returns:
this
-
privateClusterConfig
@Stability(Stable) public ContainerClusterConfig.Builder privateClusterConfig(ContainerClusterPrivateClusterConfig privateClusterConfig)
Sets the value ofContainerClusterConfig.getPrivateClusterConfig()- Parameters:
privateClusterConfig- private_cluster_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#private_cluster_config ContainerCluster#private_cluster_config}- Returns:
this
-
privateIpv6GoogleAccess
@Stability(Stable) public ContainerClusterConfig.Builder privateIpv6GoogleAccess(String privateIpv6GoogleAccess)
Sets the value ofContainerClusterConfig.getPrivateIpv6GoogleAccess()- Parameters:
privateIpv6GoogleAccess- The desired state of IPv6 connectivity to Google Services. By default, no private IPv6 access to or from Google Services (all access will be via IPv4). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#private_ipv6_google_access ContainerCluster#private_ipv6_google_access}- Returns:
this
-
project
@Stability(Stable) public ContainerClusterConfig.Builder project(String project)
Sets the value ofContainerClusterConfig.getProject()- Parameters:
project- The ID of the project in which the resource belongs. If it is not provided, the provider project is used. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#project ContainerCluster#project}- Returns:
this
-
releaseChannel
@Stability(Stable) public ContainerClusterConfig.Builder releaseChannel(ContainerClusterReleaseChannel releaseChannel)
Sets the value ofContainerClusterConfig.getReleaseChannel()- Parameters:
releaseChannel- release_channel block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#release_channel ContainerCluster#release_channel}- Returns:
this
-
removeDefaultNodePool
@Stability(Stable) public ContainerClusterConfig.Builder removeDefaultNodePool(Boolean removeDefaultNodePool)
Sets the value ofContainerClusterConfig.getRemoveDefaultNodePool()- Parameters:
removeDefaultNodePool- If true, deletes the default node pool upon cluster creation. If you're using google_container_node_pool resources with no default node pool, this should be set to true, alongside setting initial_node_count to at least 1. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#remove_default_node_pool ContainerCluster#remove_default_node_pool}- Returns:
this
-
removeDefaultNodePool
@Stability(Stable) public ContainerClusterConfig.Builder removeDefaultNodePool(com.hashicorp.cdktf.IResolvable removeDefaultNodePool)
Sets the value ofContainerClusterConfig.getRemoveDefaultNodePool()- Parameters:
removeDefaultNodePool- If true, deletes the default node pool upon cluster creation. If you're using google_container_node_pool resources with no default node pool, this should be set to true, alongside setting initial_node_count to at least 1. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#remove_default_node_pool ContainerCluster#remove_default_node_pool}- Returns:
this
-
resourceLabels
@Stability(Stable) public ContainerClusterConfig.Builder resourceLabels(Map<String,String> resourceLabels)
Sets the value ofContainerClusterConfig.getResourceLabels()- Parameters:
resourceLabels- The GCE resource labels (a map of key/value pairs) to be applied to the cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#resource_labels ContainerCluster#resource_labels}- Returns:
this
-
resourceUsageExportConfig
@Stability(Stable) public ContainerClusterConfig.Builder resourceUsageExportConfig(ContainerClusterResourceUsageExportConfig resourceUsageExportConfig)
Sets the value ofContainerClusterConfig.getResourceUsageExportConfig()- Parameters:
resourceUsageExportConfig- resource_usage_export_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#resource_usage_export_config ContainerCluster#resource_usage_export_config}- Returns:
this
-
securityPostureConfig
@Stability(Stable) public ContainerClusterConfig.Builder securityPostureConfig(ContainerClusterSecurityPostureConfig securityPostureConfig)
Sets the value ofContainerClusterConfig.getSecurityPostureConfig()- Parameters:
securityPostureConfig- security_posture_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#security_posture_config ContainerCluster#security_posture_config}- Returns:
this
-
serviceExternalIpsConfig
@Stability(Stable) public ContainerClusterConfig.Builder serviceExternalIpsConfig(ContainerClusterServiceExternalIpsConfig serviceExternalIpsConfig)
Sets the value ofContainerClusterConfig.getServiceExternalIpsConfig()- Parameters:
serviceExternalIpsConfig- service_external_ips_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#service_external_ips_config ContainerCluster#service_external_ips_config}- Returns:
this
-
subnetwork
@Stability(Stable) public ContainerClusterConfig.Builder subnetwork(String subnetwork)
Sets the value ofContainerClusterConfig.getSubnetwork()- Parameters:
subnetwork- The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#subnetwork ContainerCluster#subnetwork}- Returns:
this
-
timeouts
@Stability(Stable) public ContainerClusterConfig.Builder timeouts(ContainerClusterTimeouts timeouts)
Sets the value ofContainerClusterConfig.getTimeouts()- Parameters:
timeouts- timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#timeouts ContainerCluster#timeouts}- Returns:
this
-
verticalPodAutoscaling
@Stability(Stable) public ContainerClusterConfig.Builder verticalPodAutoscaling(ContainerClusterVerticalPodAutoscaling verticalPodAutoscaling)
Sets the value ofContainerClusterConfig.getVerticalPodAutoscaling()- Parameters:
verticalPodAutoscaling- vertical_pod_autoscaling block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#vertical_pod_autoscaling ContainerCluster#vertical_pod_autoscaling}- Returns:
this
-
workloadIdentityConfig
@Stability(Stable) public ContainerClusterConfig.Builder workloadIdentityConfig(ContainerClusterWorkloadIdentityConfig workloadIdentityConfig)
Sets the value ofContainerClusterConfig.getWorkloadIdentityConfig()- Parameters:
workloadIdentityConfig- workload_identity_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#workload_identity_config ContainerCluster#workload_identity_config}- Returns:
this
-
connection
@Stability(Experimental) public ContainerClusterConfig.Builder connection(com.hashicorp.cdktf.SSHProvisionerConnection connection)
Sets the value ofTerraformMetaArguments.getConnection()- Parameters:
connection- the value to be set.- Returns:
this
-
connection
@Stability(Experimental) public ContainerClusterConfig.Builder connection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
Sets the value ofTerraformMetaArguments.getConnection()- Parameters:
connection- the value to be set.- Returns:
this
-
count
@Stability(Experimental) public ContainerClusterConfig.Builder count(Number count)
Sets the value ofTerraformMetaArguments.getCount()- Parameters:
count- the value to be set.- Returns:
this
-
count
@Stability(Experimental) public ContainerClusterConfig.Builder count(com.hashicorp.cdktf.TerraformCount count)
Sets the value ofTerraformMetaArguments.getCount()- Parameters:
count- the value to be set.- Returns:
this
-
dependsOn
@Stability(Experimental) public ContainerClusterConfig.Builder dependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
Sets the value ofTerraformMetaArguments.getDependsOn()- Parameters:
dependsOn- the value to be set.- Returns:
this
-
forEach
@Stability(Experimental) public ContainerClusterConfig.Builder forEach(com.hashicorp.cdktf.ITerraformIterator forEach)
Sets the value ofTerraformMetaArguments.getForEach()- Parameters:
forEach- the value to be set.- Returns:
this
-
lifecycle
@Stability(Experimental) public ContainerClusterConfig.Builder lifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
Sets the value ofTerraformMetaArguments.getLifecycle()- Parameters:
lifecycle- the value to be set.- Returns:
this
-
provider
@Stability(Experimental) public ContainerClusterConfig.Builder provider(com.hashicorp.cdktf.TerraformProvider provider)
Sets the value ofTerraformMetaArguments.getProvider()- Parameters:
provider- the value to be set.- Returns:
this
-
provisioners
@Stability(Experimental) public ContainerClusterConfig.Builder provisioners(List<? extends Object> provisioners)
Sets the value ofTerraformMetaArguments.getProvisioners()- Parameters:
provisioners- the value to be set.- Returns:
this
-
build
@Stability(Stable) public ContainerClusterConfig build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<ContainerClusterConfig>- Returns:
- a new instance of
ContainerClusterConfig - Throws:
NullPointerException- if any required attribute was not provided
-
-