Class ContainerClusterNodeConfig.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.container_cluster.ContainerClusterNodeConfig.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<ContainerClusterNodeConfig>
- Enclosing interface:
- ContainerClusterNodeConfig
@Stability(Stable) public static final class ContainerClusterNodeConfig.Builder extends Object implements software.amazon.jsii.Builder<ContainerClusterNodeConfig>
A builder forContainerClusterNodeConfig
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
advancedMachineFeatures
@Stability(Stable) public ContainerClusterNodeConfig.Builder advancedMachineFeatures(ContainerClusterNodeConfigAdvancedMachineFeatures advancedMachineFeatures)
Sets the value ofContainerClusterNodeConfig.getAdvancedMachineFeatures()- Parameters:
advancedMachineFeatures- advanced_machine_features block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#advanced_machine_features ContainerCluster#advanced_machine_features}- Returns:
this
-
bootDiskKmsKey
@Stability(Stable) public ContainerClusterNodeConfig.Builder bootDiskKmsKey(String bootDiskKmsKey)
Sets the value ofContainerClusterNodeConfig.getBootDiskKmsKey()- Parameters:
bootDiskKmsKey- The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#boot_disk_kms_key ContainerCluster#boot_disk_kms_key}- Returns:
this
-
confidentialNodes
@Stability(Stable) public ContainerClusterNodeConfig.Builder confidentialNodes(ContainerClusterNodeConfigConfidentialNodes confidentialNodes)
Sets the value ofContainerClusterNodeConfig.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
-
containerdConfig
@Stability(Stable) public ContainerClusterNodeConfig.Builder containerdConfig(ContainerClusterNodeConfigContainerdConfig containerdConfig)
Sets the value ofContainerClusterNodeConfig.getContainerdConfig()- Parameters:
containerdConfig- containerd_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#containerd_config ContainerCluster#containerd_config}- Returns:
this
-
diskSizeGb
@Stability(Stable) public ContainerClusterNodeConfig.Builder diskSizeGb(Number diskSizeGb)
Sets the value ofContainerClusterNodeConfig.getDiskSizeGb()- Parameters:
diskSizeGb- Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#disk_size_gb ContainerCluster#disk_size_gb}- Returns:
this
-
diskType
@Stability(Stable) public ContainerClusterNodeConfig.Builder diskType(String diskType)
Sets the value ofContainerClusterNodeConfig.getDiskType()- Parameters:
diskType- Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#disk_type ContainerCluster#disk_type}- Returns:
this
-
enableConfidentialStorage
@Stability(Stable) public ContainerClusterNodeConfig.Builder enableConfidentialStorage(Boolean enableConfidentialStorage)
Sets the value ofContainerClusterNodeConfig.getEnableConfidentialStorage()- Parameters:
enableConfidentialStorage- If enabled boot disks are configured with confidential mode. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_confidential_storage ContainerCluster#enable_confidential_storage}- Returns:
this
-
enableConfidentialStorage
@Stability(Stable) public ContainerClusterNodeConfig.Builder enableConfidentialStorage(com.hashicorp.cdktf.IResolvable enableConfidentialStorage)
Sets the value ofContainerClusterNodeConfig.getEnableConfidentialStorage()- Parameters:
enableConfidentialStorage- If enabled boot disks are configured with confidential mode. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#enable_confidential_storage ContainerCluster#enable_confidential_storage}- Returns:
this
-
ephemeralStorageLocalSsdConfig
@Stability(Stable) public ContainerClusterNodeConfig.Builder ephemeralStorageLocalSsdConfig(ContainerClusterNodeConfigEphemeralStorageLocalSsdConfig ephemeralStorageLocalSsdConfig)
Sets the value ofContainerClusterNodeConfig.getEphemeralStorageLocalSsdConfig()- Parameters:
ephemeralStorageLocalSsdConfig- ephemeral_storage_local_ssd_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#ephemeral_storage_local_ssd_config ContainerCluster#ephemeral_storage_local_ssd_config}- Returns:
this
-
fastSocket
@Stability(Stable) public ContainerClusterNodeConfig.Builder fastSocket(ContainerClusterNodeConfigFastSocket fastSocket)
Sets the value ofContainerClusterNodeConfig.getFastSocket()- Parameters:
fastSocket- fast_socket block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#fast_socket ContainerCluster#fast_socket}- Returns:
this
-
gcfsConfig
@Stability(Stable) public ContainerClusterNodeConfig.Builder gcfsConfig(ContainerClusterNodeConfigGcfsConfig gcfsConfig)
Sets the value ofContainerClusterNodeConfig.getGcfsConfig()- Parameters:
gcfsConfig- gcfs_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#gcfs_config ContainerCluster#gcfs_config}- Returns:
this
-
guestAccelerator
@Stability(Stable) public ContainerClusterNodeConfig.Builder guestAccelerator(com.hashicorp.cdktf.IResolvable guestAccelerator)
Sets the value ofContainerClusterNodeConfig.getGuestAccelerator()- Parameters:
guestAccelerator- List of the type and count of accelerator cards attached to the instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#guest_accelerator ContainerCluster#guest_accelerator}- Returns:
this
-
guestAccelerator
@Stability(Stable) public ContainerClusterNodeConfig.Builder guestAccelerator(List<? extends ContainerClusterNodeConfigGuestAccelerator> guestAccelerator)
Sets the value ofContainerClusterNodeConfig.getGuestAccelerator()- Parameters:
guestAccelerator- List of the type and count of accelerator cards attached to the instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#guest_accelerator ContainerCluster#guest_accelerator}- Returns:
this
-
gvnic
@Stability(Stable) public ContainerClusterNodeConfig.Builder gvnic(ContainerClusterNodeConfigGvnic gvnic)
Sets the value ofContainerClusterNodeConfig.getGvnic()- Parameters:
gvnic- gvnic block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#gvnic ContainerCluster#gvnic}- Returns:
this
-
hostMaintenancePolicy
@Stability(Stable) public ContainerClusterNodeConfig.Builder hostMaintenancePolicy(ContainerClusterNodeConfigHostMaintenancePolicy hostMaintenancePolicy)
Sets the value ofContainerClusterNodeConfig.getHostMaintenancePolicy()- Parameters:
hostMaintenancePolicy- host_maintenance_policy block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#host_maintenance_policy ContainerCluster#host_maintenance_policy}- Returns:
this
-
imageType
@Stability(Stable) public ContainerClusterNodeConfig.Builder imageType(String imageType)
Sets the value ofContainerClusterNodeConfig.getImageType()- Parameters:
imageType- The image type to use for this node. Note that for a given image type, the latest version of it will be used. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#image_type ContainerCluster#image_type}- Returns:
this
-
kubeletConfig
@Stability(Stable) public ContainerClusterNodeConfig.Builder kubeletConfig(ContainerClusterNodeConfigKubeletConfig kubeletConfig)
Sets the value ofContainerClusterNodeConfig.getKubeletConfig()- Parameters:
kubeletConfig- kubelet_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#kubelet_config ContainerCluster#kubelet_config}- Returns:
this
-
labels
@Stability(Stable) public ContainerClusterNodeConfig.Builder labels(Map<String,String> labels)
Sets the value ofContainerClusterNodeConfig.getLabels()- Parameters:
labels- The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#labels ContainerCluster#labels}- Returns:
this
-
linuxNodeConfig
@Stability(Stable) public ContainerClusterNodeConfig.Builder linuxNodeConfig(ContainerClusterNodeConfigLinuxNodeConfig linuxNodeConfig)
Sets the value ofContainerClusterNodeConfig.getLinuxNodeConfig()- Parameters:
linuxNodeConfig- linux_node_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#linux_node_config ContainerCluster#linux_node_config}- Returns:
this
-
localNvmeSsdBlockConfig
@Stability(Stable) public ContainerClusterNodeConfig.Builder localNvmeSsdBlockConfig(ContainerClusterNodeConfigLocalNvmeSsdBlockConfig localNvmeSsdBlockConfig)
Sets the value ofContainerClusterNodeConfig.getLocalNvmeSsdBlockConfig()- Parameters:
localNvmeSsdBlockConfig- local_nvme_ssd_block_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#local_nvme_ssd_block_config ContainerCluster#local_nvme_ssd_block_config}- Returns:
this
-
localSsdCount
@Stability(Stable) public ContainerClusterNodeConfig.Builder localSsdCount(Number localSsdCount)
Sets the value ofContainerClusterNodeConfig.getLocalSsdCount()- Parameters:
localSsdCount- The number of local SSD disks to be attached to the node. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#local_ssd_count ContainerCluster#local_ssd_count}- Returns:
this
-
loggingVariant
@Stability(Stable) public ContainerClusterNodeConfig.Builder loggingVariant(String loggingVariant)
Sets the value ofContainerClusterNodeConfig.getLoggingVariant()- Parameters:
loggingVariant- 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/5.43.1/docs/resources/container_cluster#logging_variant ContainerCluster#logging_variant}- Returns:
this
-
machineType
@Stability(Stable) public ContainerClusterNodeConfig.Builder machineType(String machineType)
Sets the value ofContainerClusterNodeConfig.getMachineType()- Parameters:
machineType- The name of a Google Compute Engine machine type. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#machine_type ContainerCluster#machine_type}- Returns:
this
-
metadata
@Stability(Stable) public ContainerClusterNodeConfig.Builder metadata(Map<String,String> metadata)
Sets the value ofContainerClusterNodeConfig.getMetadata()- Parameters:
metadata- The metadata key/value pairs assigned to instances in the cluster. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#metadata ContainerCluster#metadata}- Returns:
this
-
minCpuPlatform
@Stability(Stable) public ContainerClusterNodeConfig.Builder minCpuPlatform(String minCpuPlatform)
Sets the value ofContainerClusterNodeConfig.getMinCpuPlatform()- Parameters:
minCpuPlatform- Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#min_cpu_platform ContainerCluster#min_cpu_platform}- Returns:
this
-
nodeGroup
@Stability(Stable) public ContainerClusterNodeConfig.Builder nodeGroup(String nodeGroup)
Sets the value ofContainerClusterNodeConfig.getNodeGroup()- Parameters:
nodeGroup- Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#node_group ContainerCluster#node_group}- Returns:
this
-
oauthScopes
@Stability(Stable) public ContainerClusterNodeConfig.Builder oauthScopes(List<String> oauthScopes)
Sets the value ofContainerClusterNodeConfig.getOauthScopes()- Parameters:
oauthScopes- The set of Google API scopes to be made available on all of the node VMs. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#oauth_scopes ContainerCluster#oauth_scopes}- Returns:
this
-
preemptible
@Stability(Stable) public ContainerClusterNodeConfig.Builder preemptible(Boolean preemptible)
Sets the value ofContainerClusterNodeConfig.getPreemptible()- Parameters:
preemptible- Whether the nodes are created as preemptible VM instances. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#preemptible ContainerCluster#preemptible}- Returns:
this
-
preemptible
@Stability(Stable) public ContainerClusterNodeConfig.Builder preemptible(com.hashicorp.cdktf.IResolvable preemptible)
Sets the value ofContainerClusterNodeConfig.getPreemptible()- Parameters:
preemptible- Whether the nodes are created as preemptible VM instances. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#preemptible ContainerCluster#preemptible}- Returns:
this
-
reservationAffinity
@Stability(Stable) public ContainerClusterNodeConfig.Builder reservationAffinity(ContainerClusterNodeConfigReservationAffinity reservationAffinity)
Sets the value ofContainerClusterNodeConfig.getReservationAffinity()- Parameters:
reservationAffinity- reservation_affinity block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#reservation_affinity ContainerCluster#reservation_affinity}- Returns:
this
-
resourceLabels
@Stability(Stable) public ContainerClusterNodeConfig.Builder resourceLabels(Map<String,String> resourceLabels)
Sets the value ofContainerClusterNodeConfig.getResourceLabels()- Parameters:
resourceLabels- The GCE resource labels (a map of key/value pairs) to be applied to the node pool. 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
-
resourceManagerTags
@Stability(Stable) public ContainerClusterNodeConfig.Builder resourceManagerTags(Map<String,String> resourceManagerTags)
Sets the value ofContainerClusterNodeConfig.getResourceManagerTags()- Parameters:
resourceManagerTags- 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/5.43.1/docs/resources/container_cluster#resource_manager_tags ContainerCluster#resource_manager_tags}- Returns:
this
-
secondaryBootDisks
@Stability(Stable) public ContainerClusterNodeConfig.Builder secondaryBootDisks(com.hashicorp.cdktf.IResolvable secondaryBootDisks)
Sets the value ofContainerClusterNodeConfig.getSecondaryBootDisks()- Parameters:
secondaryBootDisks- secondary_boot_disks block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#secondary_boot_disks ContainerCluster#secondary_boot_disks}- Returns:
this
-
secondaryBootDisks
@Stability(Stable) public ContainerClusterNodeConfig.Builder secondaryBootDisks(List<? extends ContainerClusterNodeConfigSecondaryBootDisks> secondaryBootDisks)
Sets the value ofContainerClusterNodeConfig.getSecondaryBootDisks()- Parameters:
secondaryBootDisks- secondary_boot_disks block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#secondary_boot_disks ContainerCluster#secondary_boot_disks}- Returns:
this
-
serviceAccount
@Stability(Stable) public ContainerClusterNodeConfig.Builder serviceAccount(String serviceAccount)
Sets the value ofContainerClusterNodeConfig.getServiceAccount()- Parameters:
serviceAccount- The Google Cloud Platform Service Account to be used by the node VMs. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#service_account ContainerCluster#service_account}- Returns:
this
-
shieldedInstanceConfig
@Stability(Stable) public ContainerClusterNodeConfig.Builder shieldedInstanceConfig(ContainerClusterNodeConfigShieldedInstanceConfig shieldedInstanceConfig)
Sets the value ofContainerClusterNodeConfig.getShieldedInstanceConfig()- Parameters:
shieldedInstanceConfig- shielded_instance_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#shielded_instance_config ContainerCluster#shielded_instance_config}- Returns:
this
-
soleTenantConfig
@Stability(Stable) public ContainerClusterNodeConfig.Builder soleTenantConfig(ContainerClusterNodeConfigSoleTenantConfig soleTenantConfig)
Sets the value ofContainerClusterNodeConfig.getSoleTenantConfig()- Parameters:
soleTenantConfig- sole_tenant_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#sole_tenant_config ContainerCluster#sole_tenant_config}- Returns:
this
-
spot
@Stability(Stable) public ContainerClusterNodeConfig.Builder spot(Boolean spot)
Sets the value ofContainerClusterNodeConfig.getSpot()- Parameters:
spot- Whether the nodes are created as spot VM instances. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#spot ContainerCluster#spot}- Returns:
this
-
spot
@Stability(Stable) public ContainerClusterNodeConfig.Builder spot(com.hashicorp.cdktf.IResolvable spot)
Sets the value ofContainerClusterNodeConfig.getSpot()- Parameters:
spot- Whether the nodes are created as spot VM instances. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#spot ContainerCluster#spot}- Returns:
this
-
tags
@Stability(Stable) public ContainerClusterNodeConfig.Builder tags(List<String> tags)
Sets the value ofContainerClusterNodeConfig.getTags()- Parameters:
tags- The list of instance tags applied to all nodes. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#tags ContainerCluster#tags}- Returns:
this
-
taint
@Stability(Stable) public ContainerClusterNodeConfig.Builder taint(com.hashicorp.cdktf.IResolvable taint)
Sets the value ofContainerClusterNodeConfig.getTaint()- Parameters:
taint- taint block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#taint ContainerCluster#taint}- Returns:
this
-
taint
@Stability(Stable) public ContainerClusterNodeConfig.Builder taint(List<? extends ContainerClusterNodeConfigTaint> taint)
Sets the value ofContainerClusterNodeConfig.getTaint()- Parameters:
taint- taint block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#taint ContainerCluster#taint}- Returns:
this
-
workloadMetadataConfig
@Stability(Stable) public ContainerClusterNodeConfig.Builder workloadMetadataConfig(ContainerClusterNodeConfigWorkloadMetadataConfig workloadMetadataConfig)
Sets the value ofContainerClusterNodeConfig.getWorkloadMetadataConfig()- Parameters:
workloadMetadataConfig- workload_metadata_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_cluster#workload_metadata_config ContainerCluster#workload_metadata_config}- Returns:
this
-
build
@Stability(Stable) public ContainerClusterNodeConfig build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<ContainerClusterNodeConfig>- Returns:
- a new instance of
ContainerClusterNodeConfig - Throws:
NullPointerException- if any required attribute was not provided
-
-