ClusterNodePoolNodeConfigArgs

data class ClusterNodePoolNodeConfigArgs(val bootDiskKmsKey: Output<String>? = null, val diskSizeGb: Output<Int>? = null, val diskType: Output<String>? = null, val ephemeralStorageConfig: Output<ClusterNodePoolNodeConfigEphemeralStorageConfigArgs>? = null, val gcfsConfig: Output<ClusterNodePoolNodeConfigGcfsConfigArgs>? = null, val guestAccelerators: Output<List<ClusterNodePoolNodeConfigGuestAcceleratorArgs>>? = null, val gvnic: Output<ClusterNodePoolNodeConfigGvnicArgs>? = null, val imageType: Output<String>? = null, val kubeletConfig: Output<ClusterNodePoolNodeConfigKubeletConfigArgs>? = null, val labels: Output<Map<String, String>>? = null, val linuxNodeConfig: Output<ClusterNodePoolNodeConfigLinuxNodeConfigArgs>? = null, val localSsdCount: Output<Int>? = null, val loggingVariant: Output<String>? = null, val machineType: Output<String>? = null, val metadata: Output<Map<String, String>>? = null, val minCpuPlatform: Output<String>? = null, val nodeGroup: Output<String>? = null, val oauthScopes: Output<List<String>>? = null, val preemptible: Output<Boolean>? = null, val reservationAffinity: Output<ClusterNodePoolNodeConfigReservationAffinityArgs>? = null, val resourceLabels: Output<Map<String, String>>? = null, val sandboxConfig: Output<ClusterNodePoolNodeConfigSandboxConfigArgs>? = null, val serviceAccount: Output<String>? = null, val shieldedInstanceConfig: Output<ClusterNodePoolNodeConfigShieldedInstanceConfigArgs>? = null, val spot: Output<Boolean>? = null, val tags: Output<List<String>>? = null, val taints: Output<List<ClusterNodePoolNodeConfigTaintArgs>>? = null, val workloadMetadataConfig: Output<ClusterNodePoolNodeConfigWorkloadMetadataConfigArgs>? = null) : ConvertibleToJava<ClusterNodePoolNodeConfigArgs>

Constructors

Link copied to clipboard
fun ClusterNodePoolNodeConfigArgs(bootDiskKmsKey: Output<String>? = null, diskSizeGb: Output<Int>? = null, diskType: Output<String>? = null, ephemeralStorageConfig: Output<ClusterNodePoolNodeConfigEphemeralStorageConfigArgs>? = null, gcfsConfig: Output<ClusterNodePoolNodeConfigGcfsConfigArgs>? = null, guestAccelerators: Output<List<ClusterNodePoolNodeConfigGuestAcceleratorArgs>>? = null, gvnic: Output<ClusterNodePoolNodeConfigGvnicArgs>? = null, imageType: Output<String>? = null, kubeletConfig: Output<ClusterNodePoolNodeConfigKubeletConfigArgs>? = null, labels: Output<Map<String, String>>? = null, linuxNodeConfig: Output<ClusterNodePoolNodeConfigLinuxNodeConfigArgs>? = null, localSsdCount: Output<Int>? = null, loggingVariant: Output<String>? = null, machineType: Output<String>? = null, metadata: Output<Map<String, String>>? = null, minCpuPlatform: Output<String>? = null, nodeGroup: Output<String>? = null, oauthScopes: Output<List<String>>? = null, preemptible: Output<Boolean>? = null, reservationAffinity: Output<ClusterNodePoolNodeConfigReservationAffinityArgs>? = null, resourceLabels: Output<Map<String, String>>? = null, sandboxConfig: Output<ClusterNodePoolNodeConfigSandboxConfigArgs>? = null, serviceAccount: Output<String>? = null, shieldedInstanceConfig: Output<ClusterNodePoolNodeConfigShieldedInstanceConfigArgs>? = null, spot: Output<Boolean>? = null, tags: Output<List<String>>? = null, taints: Output<List<ClusterNodePoolNodeConfigTaintArgs>>? = null, workloadMetadataConfig: Output<ClusterNodePoolNodeConfigWorkloadMetadataConfigArgs>? = null)

Functions

Link copied to clipboard
open override fun toJava(): ClusterNodePoolNodeConfigArgs

Properties

Link copied to clipboard
val bootDiskKmsKey: Output<String>? = null

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

Link copied to clipboard
val diskSizeGb: Output<Int>? = null

Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.

Link copied to clipboard
val diskType: Output<String>? = null

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'

Link copied to clipboard

Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.

Link copied to clipboard

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. Structure is documented below.

Link copied to clipboard

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.

Link copied to clipboard
val imageType: Output<String>? = null

The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.

Link copied to clipboard

Kubelet configuration, currently supported attributes can be found here. Structure is documented below.

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

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.

Link copied to clipboard

Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.

Link copied to clipboard
val localSsdCount: Output<Int>? = null

The amount of local SSD disks that will be attached to each cluster node. Defaults to 0.

Link copied to clipboard
val loggingVariant: Output<String>? = null

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 for more information.

Link copied to clipboard
val machineType: Output<String>? = null

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.

Link copied to clipboard
val metadata: Output<Map<String, String>>? = null
Link copied to clipboard
val minCpuPlatform: Output<String>? = null

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 for more information.

Link copied to clipboard
val nodeGroup: Output<String>? = null

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.

Link copied to clipboard
val oauthScopes: Output<List<String>>? = null

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.

Link copied to clipboard
val preemptible: Output<Boolean>? = null

A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.

Link copied to clipboard

The configuration of the desired reservation which instances could take capacity from. Structure is documented below.

Link copied to clipboard
val resourceLabels: Output<Map<String, String>>? = null

The GCP labels (key/value pairs) to be applied to each node. Refer here for how these labels are applied to clusters, node pools and nodes.

Link copied to clipboard

) GKE Sandbox configuration. When enabling this feature you must specify image_type = "COS_CONTAINERD" and node_version = "1.12.7-gke.17" or later to use it. Structure is documented below.

Link copied to clipboard
val serviceAccount: Output<String>? = null

The service account to be used by the Node VMs. If not specified, the "default" service account is used.

Link copied to clipboard

Shielded Instance options. Structure is documented below.

Link copied to clipboard
val spot: Output<Boolean>? = null

A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.

Link copied to clipboard
val tags: Output<List<String>>? = null

The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.

Link copied to clipboard
Link copied to clipboard

Metadata configuration to expose to workloads on the node pool. Structure is documented below.