Class ContainerNodePoolNodeConfig.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.container_node_pool.ContainerNodePoolNodeConfig.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<ContainerNodePoolNodeConfig>
- Enclosing interface:
- ContainerNodePoolNodeConfig
@Stability(Stable) public static final class ContainerNodePoolNodeConfig.Builder extends Object implements software.amazon.jsii.Builder<ContainerNodePoolNodeConfig>
A builder forContainerNodePoolNodeConfig
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
advancedMachineFeatures
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder advancedMachineFeatures(ContainerNodePoolNodeConfigAdvancedMachineFeatures advancedMachineFeatures)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#advanced_machine_features ContainerNodePool#advanced_machine_features}- Returns:
this
-
bootDiskKmsKey
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder bootDiskKmsKey(String bootDiskKmsKey)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#boot_disk_kms_key ContainerNodePool#boot_disk_kms_key}- Returns:
this
-
confidentialNodes
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder confidentialNodes(ContainerNodePoolNodeConfigConfidentialNodes confidentialNodes)
Sets the value ofContainerNodePoolNodeConfig.getConfidentialNodes()- Parameters:
confidentialNodes- confidential_nodes block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#confidential_nodes ContainerNodePool#confidential_nodes}- Returns:
this
-
containerdConfig
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder containerdConfig(ContainerNodePoolNodeConfigContainerdConfig containerdConfig)
Sets the value ofContainerNodePoolNodeConfig.getContainerdConfig()- Parameters:
containerdConfig- containerd_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#containerd_config ContainerNodePool#containerd_config}- Returns:
this
-
diskSizeGb
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder diskSizeGb(Number diskSizeGb)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#disk_size_gb ContainerNodePool#disk_size_gb}- Returns:
this
-
diskType
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder diskType(String diskType)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#disk_type ContainerNodePool#disk_type}- Returns:
this
-
enableConfidentialStorage
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder enableConfidentialStorage(Boolean enableConfidentialStorage)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#enable_confidential_storage ContainerNodePool#enable_confidential_storage}- Returns:
this
-
enableConfidentialStorage
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder enableConfidentialStorage(com.hashicorp.cdktf.IResolvable enableConfidentialStorage)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#enable_confidential_storage ContainerNodePool#enable_confidential_storage}- Returns:
this
-
ephemeralStorageLocalSsdConfig
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder ephemeralStorageLocalSsdConfig(ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfig ephemeralStorageLocalSsdConfig)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#ephemeral_storage_local_ssd_config ContainerNodePool#ephemeral_storage_local_ssd_config}- Returns:
this
-
fastSocket
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder fastSocket(ContainerNodePoolNodeConfigFastSocket fastSocket)
Sets the value ofContainerNodePoolNodeConfig.getFastSocket()- Parameters:
fastSocket- fast_socket block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#fast_socket ContainerNodePool#fast_socket}- Returns:
this
-
gcfsConfig
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder gcfsConfig(ContainerNodePoolNodeConfigGcfsConfig gcfsConfig)
Sets the value ofContainerNodePoolNodeConfig.getGcfsConfig()- Parameters:
gcfsConfig- gcfs_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#gcfs_config ContainerNodePool#gcfs_config}- Returns:
this
-
guestAccelerator
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder guestAccelerator(com.hashicorp.cdktf.IResolvable guestAccelerator)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#guest_accelerator ContainerNodePool#guest_accelerator}- Returns:
this
-
guestAccelerator
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder guestAccelerator(List<? extends ContainerNodePoolNodeConfigGuestAccelerator> guestAccelerator)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#guest_accelerator ContainerNodePool#guest_accelerator}- Returns:
this
-
gvnic
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder gvnic(ContainerNodePoolNodeConfigGvnic gvnic)
Sets the value ofContainerNodePoolNodeConfig.getGvnic()- Parameters:
gvnic- gvnic block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#gvnic ContainerNodePool#gvnic}- Returns:
this
-
hostMaintenancePolicy
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder hostMaintenancePolicy(ContainerNodePoolNodeConfigHostMaintenancePolicy hostMaintenancePolicy)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#host_maintenance_policy ContainerNodePool#host_maintenance_policy}- Returns:
this
-
imageType
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder imageType(String imageType)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#image_type ContainerNodePool#image_type}- Returns:
this
-
kubeletConfig
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder kubeletConfig(ContainerNodePoolNodeConfigKubeletConfig kubeletConfig)
Sets the value ofContainerNodePoolNodeConfig.getKubeletConfig()- Parameters:
kubeletConfig- kubelet_config block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#kubelet_config ContainerNodePool#kubelet_config}- Returns:
this
-
labels
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder labels(Map<String,String> labels)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#labels ContainerNodePool#labels}- Returns:
this
-
linuxNodeConfig
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder linuxNodeConfig(ContainerNodePoolNodeConfigLinuxNodeConfig linuxNodeConfig)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#linux_node_config ContainerNodePool#linux_node_config}- Returns:
this
-
localNvmeSsdBlockConfig
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder localNvmeSsdBlockConfig(ContainerNodePoolNodeConfigLocalNvmeSsdBlockConfig localNvmeSsdBlockConfig)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#local_nvme_ssd_block_config ContainerNodePool#local_nvme_ssd_block_config}- Returns:
this
-
localSsdCount
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder localSsdCount(Number localSsdCount)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#local_ssd_count ContainerNodePool#local_ssd_count}- Returns:
this
-
loggingVariant
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder loggingVariant(String loggingVariant)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#logging_variant ContainerNodePool#logging_variant}- Returns:
this
-
machineType
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder machineType(String machineType)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#machine_type ContainerNodePool#machine_type}- Returns:
this
-
metadata
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder metadata(Map<String,String> metadata)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#metadata ContainerNodePool#metadata}- Returns:
this
-
minCpuPlatform
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder minCpuPlatform(String minCpuPlatform)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#min_cpu_platform ContainerNodePool#min_cpu_platform}- Returns:
this
-
nodeGroup
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder nodeGroup(String nodeGroup)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#node_group ContainerNodePool#node_group}- Returns:
this
-
oauthScopes
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder oauthScopes(List<String> oauthScopes)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#oauth_scopes ContainerNodePool#oauth_scopes}- Returns:
this
-
preemptible
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder preemptible(Boolean preemptible)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#preemptible ContainerNodePool#preemptible}- Returns:
this
-
preemptible
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder preemptible(com.hashicorp.cdktf.IResolvable preemptible)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#preemptible ContainerNodePool#preemptible}- Returns:
this
-
reservationAffinity
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder reservationAffinity(ContainerNodePoolNodeConfigReservationAffinity reservationAffinity)
Sets the value ofContainerNodePoolNodeConfig.getReservationAffinity()- Parameters:
reservationAffinity- reservation_affinity block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#reservation_affinity ContainerNodePool#reservation_affinity}- Returns:
this
-
resourceLabels
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder resourceLabels(Map<String,String> resourceLabels)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#resource_labels ContainerNodePool#resource_labels}- Returns:
this
-
resourceManagerTags
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder resourceManagerTags(Map<String,String> resourceManagerTags)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#resource_manager_tags ContainerNodePool#resource_manager_tags}- Returns:
this
-
secondaryBootDisks
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder secondaryBootDisks(com.hashicorp.cdktf.IResolvable secondaryBootDisks)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#secondary_boot_disks ContainerNodePool#secondary_boot_disks}- Returns:
this
-
secondaryBootDisks
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder secondaryBootDisks(List<? extends ContainerNodePoolNodeConfigSecondaryBootDisks> secondaryBootDisks)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#secondary_boot_disks ContainerNodePool#secondary_boot_disks}- Returns:
this
-
serviceAccount
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder serviceAccount(String serviceAccount)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#service_account ContainerNodePool#service_account}- Returns:
this
-
shieldedInstanceConfig
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder shieldedInstanceConfig(ContainerNodePoolNodeConfigShieldedInstanceConfig shieldedInstanceConfig)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#shielded_instance_config ContainerNodePool#shielded_instance_config}- Returns:
this
-
soleTenantConfig
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder soleTenantConfig(ContainerNodePoolNodeConfigSoleTenantConfig soleTenantConfig)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#sole_tenant_config ContainerNodePool#sole_tenant_config}- Returns:
this
-
spot
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder spot(Boolean spot)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#spot ContainerNodePool#spot}- Returns:
this
-
spot
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder spot(com.hashicorp.cdktf.IResolvable spot)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#spot ContainerNodePool#spot}- Returns:
this
-
tags
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder tags(List<String> tags)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#tags ContainerNodePool#tags}- Returns:
this
-
taint
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder taint(com.hashicorp.cdktf.IResolvable taint)
Sets the value ofContainerNodePoolNodeConfig.getTaint()- Parameters:
taint- taint block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#taint ContainerNodePool#taint}- Returns:
this
-
taint
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder taint(List<? extends ContainerNodePoolNodeConfigTaint> taint)
Sets the value ofContainerNodePoolNodeConfig.getTaint()- Parameters:
taint- taint block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#taint ContainerNodePool#taint}- Returns:
this
-
workloadMetadataConfig
@Stability(Stable) public ContainerNodePoolNodeConfig.Builder workloadMetadataConfig(ContainerNodePoolNodeConfigWorkloadMetadataConfig workloadMetadataConfig)
Sets the value ofContainerNodePoolNodeConfig.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_node_pool#workload_metadata_config ContainerNodePool#workload_metadata_config}- Returns:
this
-
build
@Stability(Stable) public ContainerNodePoolNodeConfig build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<ContainerNodePoolNodeConfig>- Returns:
- a new instance of
ContainerNodePoolNodeConfig - Throws:
NullPointerException- if any required attribute was not provided
-
-