Package com.pulumi.gcp.container.inputs
Class ClusterNodeConfigArgs.Builder
- java.lang.Object
-
- com.pulumi.gcp.container.inputs.ClusterNodeConfigArgs.Builder
-
- Enclosing class:
- ClusterNodeConfigArgs
public static final class ClusterNodeConfigArgs.Builder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Builder()
Builder(ClusterNodeConfigArgs defaults)
-
Method Summary
-
-
-
Constructor Detail
-
Builder
public Builder()
-
Builder
public Builder(ClusterNodeConfigArgs defaults)
-
-
Method Detail
-
advancedMachineFeatures
public ClusterNodeConfigArgs.Builder advancedMachineFeatures(@Nullable com.pulumi.core.Output<ClusterNodeConfigAdvancedMachineFeaturesArgs> advancedMachineFeatures)
- Parameters:
advancedMachineFeatures
- Specifies options for controlling advanced machine features. Structure is documented below.- Returns:
- builder
-
advancedMachineFeatures
public ClusterNodeConfigArgs.Builder advancedMachineFeatures(ClusterNodeConfigAdvancedMachineFeaturesArgs advancedMachineFeatures)
- Parameters:
advancedMachineFeatures
- Specifies options for controlling advanced machine features. Structure is documented below.- Returns:
- builder
-
bootDiskKmsKey
public ClusterNodeConfigArgs.Builder bootDiskKmsKey(@Nullable com.pulumi.core.Output<java.lang.String> bootDiskKmsKey)
- Parameters:
bootDiskKmsKey
- The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: <https://cloud.google.com/compute/docs/disks/customer-managed-encryption>- Returns:
- builder
-
bootDiskKmsKey
public ClusterNodeConfigArgs.Builder bootDiskKmsKey(java.lang.String bootDiskKmsKey)
- Parameters:
bootDiskKmsKey
- The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: <https://cloud.google.com/compute/docs/disks/customer-managed-encryption>- Returns:
- builder
-
confidentialNodes
public ClusterNodeConfigArgs.Builder confidentialNodes(@Nullable com.pulumi.core.Output<ClusterNodeConfigConfidentialNodesArgs> confidentialNodes)
- Parameters:
confidentialNodes
- Configuration for [Confidential Nodes](https://cloud.google.com/kubernetes-engine/docs/how-to/confidential-gke-nodes) feature. Structure is documented below documented below.- Returns:
- builder
-
confidentialNodes
public ClusterNodeConfigArgs.Builder confidentialNodes(ClusterNodeConfigConfidentialNodesArgs confidentialNodes)
- Parameters:
confidentialNodes
- Configuration for [Confidential Nodes](https://cloud.google.com/kubernetes-engine/docs/how-to/confidential-gke-nodes) feature. Structure is documented below documented below.- Returns:
- builder
-
diskSizeGb
public ClusterNodeConfigArgs.Builder diskSizeGb(@Nullable com.pulumi.core.Output<java.lang.Integer> diskSizeGb)
- Parameters:
diskSizeGb
- Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.- Returns:
- builder
-
diskSizeGb
public ClusterNodeConfigArgs.Builder diskSizeGb(java.lang.Integer diskSizeGb)
- Parameters:
diskSizeGb
- Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.- Returns:
- builder
-
diskType
public ClusterNodeConfigArgs.Builder diskType(@Nullable com.pulumi.core.Output<java.lang.String> diskType)
- Parameters:
diskType
- Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'- Returns:
- builder
-
diskType
public ClusterNodeConfigArgs.Builder diskType(java.lang.String diskType)
- Parameters:
diskType
- Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'- Returns:
- builder
-
effectiveTaints
public ClusterNodeConfigArgs.Builder effectiveTaints(@Nullable com.pulumi.core.Output<java.util.List<ClusterNodeConfigEffectiveTaintArgs>> effectiveTaints)
-
effectiveTaints
public ClusterNodeConfigArgs.Builder effectiveTaints(java.util.List<ClusterNodeConfigEffectiveTaintArgs> effectiveTaints)
-
effectiveTaints
public ClusterNodeConfigArgs.Builder effectiveTaints(ClusterNodeConfigEffectiveTaintArgs... effectiveTaints)
-
enableConfidentialStorage
public ClusterNodeConfigArgs.Builder enableConfidentialStorage(@Nullable com.pulumi.core.Output<java.lang.Boolean> enableConfidentialStorage)
- Parameters:
enableConfidentialStorage
- ) Enabling Confidential Storage will create boot disk with confidential mode. It is disabled by default.- Returns:
- builder
-
enableConfidentialStorage
public ClusterNodeConfigArgs.Builder enableConfidentialStorage(java.lang.Boolean enableConfidentialStorage)
- Parameters:
enableConfidentialStorage
- ) Enabling Confidential Storage will create boot disk with confidential mode. It is disabled by default.- Returns:
- builder
-
ephemeralStorageConfig
public ClusterNodeConfigArgs.Builder ephemeralStorageConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigEphemeralStorageConfigArgs> ephemeralStorageConfig)
- Parameters:
ephemeralStorageConfig
- ) Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
ephemeralStorageConfig
public ClusterNodeConfigArgs.Builder ephemeralStorageConfig(ClusterNodeConfigEphemeralStorageConfigArgs ephemeralStorageConfig)
- Parameters:
ephemeralStorageConfig
- ) Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
ephemeralStorageLocalSsdConfig
public ClusterNodeConfigArgs.Builder ephemeralStorageLocalSsdConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigEphemeralStorageLocalSsdConfigArgs> ephemeralStorageLocalSsdConfig)
- Parameters:
ephemeralStorageLocalSsdConfig
- Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
ephemeralStorageLocalSsdConfig
public ClusterNodeConfigArgs.Builder ephemeralStorageLocalSsdConfig(ClusterNodeConfigEphemeralStorageLocalSsdConfigArgs ephemeralStorageLocalSsdConfig)
- Parameters:
ephemeralStorageLocalSsdConfig
- Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
fastSocket
public ClusterNodeConfigArgs.Builder fastSocket(@Nullable com.pulumi.core.Output<ClusterNodeConfigFastSocketArgs> fastSocket)
- Parameters:
fastSocket
- Parameters for the NCCL Fast Socket feature. If unspecified, NCCL Fast Socket will not be enabled on the node pool. Node Pool must enable gvnic. GKE version 1.25.2-gke.1700 or later. Structure is documented below.- Returns:
- builder
-
fastSocket
public ClusterNodeConfigArgs.Builder fastSocket(ClusterNodeConfigFastSocketArgs fastSocket)
- Parameters:
fastSocket
- Parameters for the NCCL Fast Socket feature. If unspecified, NCCL Fast Socket will not be enabled on the node pool. Node Pool must enable gvnic. GKE version 1.25.2-gke.1700 or later. Structure is documented below.- Returns:
- builder
-
gcfsConfig
public ClusterNodeConfigArgs.Builder gcfsConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigGcfsConfigArgs> gcfsConfig)
- Parameters:
gcfsConfig
- Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify `image_type = "COS_CONTAINERD"` and `node_version` from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimum `node_version` would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. A `machine_type` that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use [image streaming](https://cloud.google.com/kubernetes-engine/docs/how-to/image-streaming). Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
gcfsConfig
public ClusterNodeConfigArgs.Builder gcfsConfig(ClusterNodeConfigGcfsConfigArgs gcfsConfig)
- Parameters:
gcfsConfig
- Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify `image_type = "COS_CONTAINERD"` and `node_version` from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimum `node_version` would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. A `machine_type` that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use [image streaming](https://cloud.google.com/kubernetes-engine/docs/how-to/image-streaming). Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
guestAccelerators
public ClusterNodeConfigArgs.Builder guestAccelerators(@Nullable com.pulumi.core.Output<java.util.List<ClusterNodeConfigGuestAcceleratorArgs>> guestAccelerators)
- Parameters:
guestAccelerators
- List of the type and count of accelerator cards attached to the instance. Structure documented below.- Returns:
- builder
-
guestAccelerators
public ClusterNodeConfigArgs.Builder guestAccelerators(java.util.List<ClusterNodeConfigGuestAcceleratorArgs> guestAccelerators)
- Parameters:
guestAccelerators
- List of the type and count of accelerator cards attached to the instance. Structure documented below.- Returns:
- builder
-
guestAccelerators
public ClusterNodeConfigArgs.Builder guestAccelerators(ClusterNodeConfigGuestAcceleratorArgs... guestAccelerators)
- Parameters:
guestAccelerators
- List of the type and count of accelerator cards attached to the instance. Structure documented below.- Returns:
- builder
-
gvnic
public ClusterNodeConfigArgs.Builder gvnic(@Nullable com.pulumi.core.Output<ClusterNodeConfigGvnicArgs> gvnic)
- Parameters:
gvnic
- Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
gvnic
public ClusterNodeConfigArgs.Builder gvnic(ClusterNodeConfigGvnicArgs gvnic)
- Parameters:
gvnic
- Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
hostMaintenancePolicy
public ClusterNodeConfigArgs.Builder hostMaintenancePolicy(@Nullable com.pulumi.core.Output<ClusterNodeConfigHostMaintenancePolicyArgs> hostMaintenancePolicy)
-
hostMaintenancePolicy
public ClusterNodeConfigArgs.Builder hostMaintenancePolicy(ClusterNodeConfigHostMaintenancePolicyArgs hostMaintenancePolicy)
-
imageType
public ClusterNodeConfigArgs.Builder imageType(@Nullable com.pulumi.core.Output<java.lang.String> imageType)
- Parameters:
imageType
- The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.- Returns:
- builder
-
imageType
public ClusterNodeConfigArgs.Builder imageType(java.lang.String imageType)
- Parameters:
imageType
- The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.- Returns:
- builder
-
kubeletConfig
public ClusterNodeConfigArgs.Builder kubeletConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigKubeletConfigArgs> kubeletConfig)
- Parameters:
kubeletConfig
- Kubelet configuration, currently supported attributes can be found [here](https://cloud.google.com/sdk/gcloud/reference/beta/container/node-pools/create#--system-config-from-file). Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
kubeletConfig
public ClusterNodeConfigArgs.Builder kubeletConfig(ClusterNodeConfigKubeletConfigArgs kubeletConfig)
- Parameters:
kubeletConfig
- Kubelet configuration, currently supported attributes can be found [here](https://cloud.google.com/sdk/gcloud/reference/beta/container/node-pools/create#--system-config-from-file). Structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
labels
public ClusterNodeConfigArgs.Builder labels(@Nullable com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> labels)
- Parameters:
labels
- The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.- Returns:
- builder
-
labels
public ClusterNodeConfigArgs.Builder labels(java.util.Map<java.lang.String,java.lang.String> labels)
- Parameters:
labels
- The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.- Returns:
- builder
-
linuxNodeConfig
public ClusterNodeConfigArgs.Builder linuxNodeConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigLinuxNodeConfigArgs> linuxNodeConfig)
- Parameters:
linuxNodeConfig
- Parameters that can be configured on Linux nodes. Structure is documented below.- Returns:
- builder
-
linuxNodeConfig
public ClusterNodeConfigArgs.Builder linuxNodeConfig(ClusterNodeConfigLinuxNodeConfigArgs linuxNodeConfig)
- Parameters:
linuxNodeConfig
- Parameters that can be configured on Linux nodes. Structure is documented below.- Returns:
- builder
-
localNvmeSsdBlockConfig
public ClusterNodeConfigArgs.Builder localNvmeSsdBlockConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigLocalNvmeSsdBlockConfigArgs> localNvmeSsdBlockConfig)
- Parameters:
localNvmeSsdBlockConfig
- Parameters for the local NVMe SSDs. Structure is documented below.- Returns:
- builder
-
localNvmeSsdBlockConfig
public ClusterNodeConfigArgs.Builder localNvmeSsdBlockConfig(ClusterNodeConfigLocalNvmeSsdBlockConfigArgs localNvmeSsdBlockConfig)
- Parameters:
localNvmeSsdBlockConfig
- Parameters for the local NVMe SSDs. Structure is documented below.- Returns:
- builder
-
localSsdCount
public ClusterNodeConfigArgs.Builder localSsdCount(@Nullable com.pulumi.core.Output<java.lang.Integer> localSsdCount)
- Parameters:
localSsdCount
- The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.- Returns:
- builder
-
localSsdCount
public ClusterNodeConfigArgs.Builder localSsdCount(java.lang.Integer localSsdCount)
- Parameters:
localSsdCount
- The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.- Returns:
- builder
-
loggingVariant
public ClusterNodeConfigArgs.Builder loggingVariant(@Nullable com.pulumi.core.Output<java.lang.String> loggingVariant)
- Parameters:
loggingVariant
- Parameter for specifying the type of logging agent used in a node pool. This will override any cluster-wide default value. Valid values include DEFAULT and MAX_THROUGHPUT. See [Increasing logging agent throughput](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-logs#throughput) for more information.- Returns:
- builder
-
loggingVariant
public ClusterNodeConfigArgs.Builder loggingVariant(java.lang.String loggingVariant)
- Parameters:
loggingVariant
- Parameter for specifying the type of logging agent used in a node pool. This will override any cluster-wide default value. Valid values include DEFAULT and MAX_THROUGHPUT. See [Increasing logging agent throughput](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-logs#throughput) for more information.- Returns:
- builder
-
machineType
public ClusterNodeConfigArgs.Builder machineType(@Nullable com.pulumi.core.Output<java.lang.String> machineType)
- Parameters:
machineType
- The name of a Google Compute Engine machine type. Defaults to `e2-medium`. To create a custom machine type, value should be set as specified [here](https://cloud.google.com/compute/docs/reference/latest/instances#machineType).- Returns:
- builder
-
machineType
public ClusterNodeConfigArgs.Builder machineType(java.lang.String machineType)
- Parameters:
machineType
- The name of a Google Compute Engine machine type. Defaults to `e2-medium`. To create a custom machine type, value should be set as specified [here](https://cloud.google.com/compute/docs/reference/latest/instances#machineType).- Returns:
- builder
-
metadata
public ClusterNodeConfigArgs.Builder metadata(@Nullable com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> metadata)
- Parameters:
metadata
- The metadata key/value pairs assigned to instances in the cluster. From GKE `1.12` onwards, `disable-legacy-endpoints` is set to `true` by the API; if `metadata` is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Returns:
- builder
-
metadata
public ClusterNodeConfigArgs.Builder metadata(java.util.Map<java.lang.String,java.lang.String> metadata)
- Parameters:
metadata
- The metadata key/value pairs assigned to instances in the cluster. From GKE `1.12` onwards, `disable-legacy-endpoints` is set to `true` by the API; if `metadata` is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Returns:
- builder
-
minCpuPlatform
public ClusterNodeConfigArgs.Builder minCpuPlatform(@Nullable com.pulumi.core.Output<java.lang.String> minCpuPlatform)
- Parameters:
minCpuPlatform
- Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `Intel Haswell`. See the [official documentation](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) for more information.- Returns:
- builder
-
minCpuPlatform
public ClusterNodeConfigArgs.Builder minCpuPlatform(java.lang.String minCpuPlatform)
- Parameters:
minCpuPlatform
- Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `Intel Haswell`. See the [official documentation](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) for more information.- Returns:
- builder
-
nodeGroup
public ClusterNodeConfigArgs.Builder nodeGroup(@Nullable com.pulumi.core.Output<java.lang.String> nodeGroup)
- 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](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).- Returns:
- builder
-
nodeGroup
public ClusterNodeConfigArgs.Builder nodeGroup(java.lang.String nodeGroup)
- 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](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).- Returns:
- builder
-
oauthScopes
public ClusterNodeConfigArgs.Builder oauthScopes(@Nullable com.pulumi.core.Output<java.util.List<java.lang.String>> oauthScopes)
- Parameters:
oauthScopes
- The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set `service_account` to a non-default service account and grant IAM roles to that service account for only the resources that it needs. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/access-scopes) for information on migrating off of legacy access scopes.- Returns:
- builder
-
oauthScopes
public ClusterNodeConfigArgs.Builder oauthScopes(java.util.List<java.lang.String> oauthScopes)
- Parameters:
oauthScopes
- The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set `service_account` to a non-default service account and grant IAM roles to that service account for only the resources that it needs. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/access-scopes) for information on migrating off of legacy access scopes.- Returns:
- builder
-
oauthScopes
public ClusterNodeConfigArgs.Builder oauthScopes(java.lang.String... oauthScopes)
- Parameters:
oauthScopes
- The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set `service_account` to a non-default service account and grant IAM roles to that service account for only the resources that it needs. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/access-scopes) for information on migrating off of legacy access scopes.- Returns:
- builder
-
preemptible
public ClusterNodeConfigArgs.Builder preemptible(@Nullable com.pulumi.core.Output<java.lang.Boolean> preemptible)
- Parameters:
preemptible
- A boolean that represents whether or not the underlying node VMs are preemptible. See the [official documentation](https://cloud.google.com/container-engine/docs/preemptible-vm) for more information. Defaults to false.- Returns:
- builder
-
preemptible
public ClusterNodeConfigArgs.Builder preemptible(java.lang.Boolean preemptible)
- Parameters:
preemptible
- A boolean that represents whether or not the underlying node VMs are preemptible. See the [official documentation](https://cloud.google.com/container-engine/docs/preemptible-vm) for more information. Defaults to false.- Returns:
- builder
-
reservationAffinity
public ClusterNodeConfigArgs.Builder reservationAffinity(@Nullable com.pulumi.core.Output<ClusterNodeConfigReservationAffinityArgs> reservationAffinity)
- Parameters:
reservationAffinity
- The configuration of the desired reservation which instances could take capacity from. Structure is documented below.- Returns:
- builder
-
reservationAffinity
public ClusterNodeConfigArgs.Builder reservationAffinity(ClusterNodeConfigReservationAffinityArgs reservationAffinity)
- Parameters:
reservationAffinity
- The configuration of the desired reservation which instances could take capacity from. Structure is documented below.- Returns:
- builder
-
resourceLabels
public ClusterNodeConfigArgs.Builder resourceLabels(@Nullable com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> resourceLabels)
- Parameters:
resourceLabels
- The GCP labels (key/value pairs) to be applied to each node. Refer [here](https://cloud.google.com/kubernetes-engine/docs/how-to/creating-managing-labels) for how these labels are applied to clusters, node pools and nodes.- Returns:
- builder
-
resourceLabels
public ClusterNodeConfigArgs.Builder resourceLabels(java.util.Map<java.lang.String,java.lang.String> resourceLabels)
- Parameters:
resourceLabels
- The GCP labels (key/value pairs) to be applied to each node. Refer [here](https://cloud.google.com/kubernetes-engine/docs/how-to/creating-managing-labels) for how these labels are applied to clusters, node pools and nodes.- Returns:
- builder
-
sandboxConfig
public ClusterNodeConfigArgs.Builder sandboxConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigSandboxConfigArgs> sandboxConfig)
-
sandboxConfig
public ClusterNodeConfigArgs.Builder sandboxConfig(ClusterNodeConfigSandboxConfigArgs sandboxConfig)
-
serviceAccount
public ClusterNodeConfigArgs.Builder serviceAccount(@Nullable com.pulumi.core.Output<java.lang.String> serviceAccount)
- Parameters:
serviceAccount
- The service account to be used by the Node VMs. If not specified, the "default" service account is used.- Returns:
- builder
-
serviceAccount
public ClusterNodeConfigArgs.Builder serviceAccount(java.lang.String serviceAccount)
- Parameters:
serviceAccount
- The service account to be used by the Node VMs. If not specified, the "default" service account is used.- Returns:
- builder
-
shieldedInstanceConfig
public ClusterNodeConfigArgs.Builder shieldedInstanceConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigShieldedInstanceConfigArgs> shieldedInstanceConfig)
- Parameters:
shieldedInstanceConfig
- Shielded Instance options. Structure is documented below.- Returns:
- builder
-
shieldedInstanceConfig
public ClusterNodeConfigArgs.Builder shieldedInstanceConfig(ClusterNodeConfigShieldedInstanceConfigArgs shieldedInstanceConfig)
- Parameters:
shieldedInstanceConfig
- Shielded Instance options. Structure is documented below.- Returns:
- builder
-
soleTenantConfig
public ClusterNodeConfigArgs.Builder soleTenantConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigSoleTenantConfigArgs> soleTenantConfig)
- Parameters:
soleTenantConfig
- Allows specifying multiple [node affinities](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity) useful for running workloads on [sole tenant nodes](https://cloud.google.com/kubernetes-engine/docs/how-to/sole-tenancy). `node_affinity` structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
soleTenantConfig
public ClusterNodeConfigArgs.Builder soleTenantConfig(ClusterNodeConfigSoleTenantConfigArgs soleTenantConfig)
- Parameters:
soleTenantConfig
- Allows specifying multiple [node affinities](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity) useful for running workloads on [sole tenant nodes](https://cloud.google.com/kubernetes-engine/docs/how-to/sole-tenancy). `node_affinity` structure is documented below. ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { } } ```- Returns:
- builder
-
spot
public ClusterNodeConfigArgs.Builder spot(@Nullable com.pulumi.core.Output<java.lang.Boolean> spot)
- Parameters:
spot
- A boolean that represents whether the underlying node VMs are spot. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms) for more information. Defaults to false.- Returns:
- builder
-
spot
public ClusterNodeConfigArgs.Builder spot(java.lang.Boolean spot)
- Parameters:
spot
- A boolean that represents whether the underlying node VMs are spot. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms) for more information. Defaults to false.- Returns:
- builder
-
tags
public ClusterNodeConfigArgs.Builder tags(@Nullable com.pulumi.core.Output<java.util.List<java.lang.String>> tags)
- Parameters:
tags
- The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.- Returns:
- builder
-
tags
public ClusterNodeConfigArgs.Builder tags(java.util.List<java.lang.String> tags)
- Parameters:
tags
- The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.- Returns:
- builder
-
tags
public ClusterNodeConfigArgs.Builder tags(java.lang.String... tags)
- Parameters:
tags
- The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.- Returns:
- builder
-
taints
public ClusterNodeConfigArgs.Builder taints(@Nullable com.pulumi.core.Output<java.util.List<ClusterNodeConfigTaintArgs>> taints)
- Parameters:
taints
- A list of [Kubernetes taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through `kubectl`), and it's recommended that you do not use this field to manage taints. If you do, `lifecycle.ignore_changes` is recommended. Structure is documented below.- Returns:
- builder
-
taints
public ClusterNodeConfigArgs.Builder taints(java.util.List<ClusterNodeConfigTaintArgs> taints)
- Parameters:
taints
- A list of [Kubernetes taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through `kubectl`), and it's recommended that you do not use this field to manage taints. If you do, `lifecycle.ignore_changes` is recommended. Structure is documented below.- Returns:
- builder
-
taints
public ClusterNodeConfigArgs.Builder taints(ClusterNodeConfigTaintArgs... taints)
- Parameters:
taints
- A list of [Kubernetes taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/) to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through `kubectl`), and it's recommended that you do not use this field to manage taints. If you do, `lifecycle.ignore_changes` is recommended. Structure is documented below.- Returns:
- builder
-
workloadMetadataConfig
public ClusterNodeConfigArgs.Builder workloadMetadataConfig(@Nullable com.pulumi.core.Output<ClusterNodeConfigWorkloadMetadataConfigArgs> workloadMetadataConfig)
- Parameters:
workloadMetadataConfig
- Metadata configuration to expose to workloads on the node pool. Structure is documented below.- Returns:
- builder
-
workloadMetadataConfig
public ClusterNodeConfigArgs.Builder workloadMetadataConfig(ClusterNodeConfigWorkloadMetadataConfigArgs workloadMetadataConfig)
- Parameters:
workloadMetadataConfig
- Metadata configuration to expose to workloads on the node pool. Structure is documented below.- Returns:
- builder
-
build
public ClusterNodeConfigArgs build()
-
-