NodeConfigArgs

data class NodeConfigArgs(val diskSizeGb: Output<Int>? = null, val enableIpMasqAgent: Output<Boolean>? = null, val ipAllocationPolicy: Output<IPAllocationPolicyArgs>? = null, val location: Output<String>? = null, val machineType: Output<String>? = null, val network: Output<String>? = null, val oauthScopes: Output<List<String>>? = null, val serviceAccount: Output<String>? = null, val subnetwork: Output<String>? = null, val tags: Output<List<String>>? = null) : ConvertibleToJava<NodeConfigArgs>

The configuration information for the Kubernetes Engine nodes running the Apache Airflow software.

Constructors

Link copied to clipboard
constructor(diskSizeGb: Output<Int>? = null, enableIpMasqAgent: Output<Boolean>? = null, ipAllocationPolicy: Output<IPAllocationPolicyArgs>? = null, location: Output<String>? = null, machineType: Output<String>? = null, network: Output<String>? = null, oauthScopes: Output<List<String>>? = null, serviceAccount: Output<String>? = null, subnetwork: Output<String>? = null, tags: Output<List<String>>? = null)

Properties

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

Optional. The disk size in GB used for node VMs. Minimum size is 30GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1..-airflow-..*.

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

Optional. Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent

Link copied to clipboard

Optional. The configuration for controlling how IPs are allocated in the GKE cluster.

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

Optional. The Compute Engine /compute/docs/regions-zones in which to deploy the VMs used to run the Apache Airflow software, specified as a /apis/design/resource_names#relative_resource_name. For example: "projects/{projectId}/zones/{zoneId}". This location must belong to the enclosing environment's project and location. If both this field and nodeConfig.machineType are specified, nodeConfig.machineType must belong to this location; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If only one field (location or nodeConfig.machineType) is specified, the location information from the specified field will be propagated to the unspecified field. This field is supported for Cloud Composer environments in versions composer-1..-airflow-..*.

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

Optional. The Compute Engine /compute/docs/machine-types used for cluster instances, specified as a /apis/design/resource_names#relative_resource_name. For example: "projects/{projectId}/zones/{zoneId}/machineTypes/{machineTypeId}". The machineType must belong to the enclosing environment's project and location. If both this field and nodeConfig&#46;location are specified, this machineType must belong to the nodeConfig&#46;location; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If exactly one of this field and nodeConfig&#46;location is specified, the location information from the specified field will be propagated to the unspecified field. The machineTypeId must not be a /compute/docs/machine-types#sharedcore. If this field is unspecified, the machineTypeId defaults to "n1-standard-1". This field is supported for Cloud Composer environments in versions composer-1..-airflow-..*.

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

Optional. The Compute Engine network to be used for machine communications, specified as a /apis/design/resource_names#relative_resource_name. For example: "projects/{projectId}/global/networks/{networkId}". If unspecified, the "default" network ID in the environment's project is used. If a /vpc/docs/vpc#vpc_networks_and_subnets is provided, nodeConfig&#46;subnetwork must also be provided. For /vpc/docs/shared-vpc subnetwork requirements, see nodeConfig.subnetwork.

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

Optional. The set of Google API scopes to be made available on all node VMs. If oauth_scopes is empty, defaults to "https://www.googleapis.com/auth/cloud-platform". Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1..-airflow-..*.

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

Optional. The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated.

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

Optional. The Compute Engine subnetwork to be used for machine communications, specified as a /apis/design/resource_names#relative_resource_name. For example: "projects/{projectId}/regions/{regionId}/subnetworks/{subnetworkId}" If a subnetwork is provided, nodeConfig.network must also be provided, and the subnetwork must belong to the enclosing environment's project and location.

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

Optional. The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.

Functions

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