pub struct NodeConfig {
Show 13 fields pub location: String, pub machine_type: String, pub network: String, pub subnetwork: String, pub disk_size_gb: i32, pub oauth_scopes: Vec<String>, pub service_account: String, pub tags: Vec<String>, pub ip_allocation_policy: Option<IpAllocationPolicy>, pub max_pods_per_node: i32, pub enable_ip_masq_agent: bool, pub composer_network_attachment: String, pub composer_internal_ipv4_cidr_block: String,
}
Expand description

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

Fields§

§location: String

Optional. The Compute Engine zone in which to deploy the VMs used to run the Apache Airflow software, specified as a 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-..*.

§machine_type: String

Optional. The Compute Engine machine type used for cluster instances, specified as a 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.location are specified, this machineType must belong to the nodeConfig.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.location is specified, the location information from the specified field will be propagated to the unspecified field.

The machineTypeId must not be a shared-core machine type.

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-..*.

§network: String

Optional. The Compute Engine network to be used for machine communications, specified as a relative resource name. For example: “projects/{projectId}/global/networks/{networkId}”.

If unspecified, the default network in the environment’s project is used. If a Custom Subnet Network is provided, nodeConfig.subnetwork must also be provided. For Shared VPC subnetwork requirements, see nodeConfig.subnetwork.

§subnetwork: String

Optional. The Compute Engine subnetwork to be used for machine communications, specified as a 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.

§disk_size_gb: i32

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-..*.

§oauth_scopes: Vec<String>

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-..*.

§service_account: String

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

§tags: Vec<String>

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.

§ip_allocation_policy: Option<IpAllocationPolicy>

Optional. The IPAllocationPolicy fields for the GKE cluster.

§max_pods_per_node: i32

Optional. The maximum number of pods per node in the Cloud Composer GKE cluster. The value must be between 8 and 110 and it can be set only if the environment is VPC-native. The default value is 32. Values of this field will be propagated both to the default-pool node pool of the newly created GKE cluster, and to the default “Maximum Pods per Node” value which is used for newly created node pools if their value is not explicitly set during node pool creation. For more information, see [Optimizing IP address allocation] (https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr). Cannot be updated.

This field is supported for Cloud Composer environments in versions composer-1..-airflow-..*.

§enable_ip_masq_agent: bool

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

§composer_network_attachment: String

Optional. Network Attachment that Cloud Composer environment is connected to, which provides connectivity with a user’s VPC network. Takes precedence over network and subnetwork settings. If not provided, but network and subnetwork are defined during environment, it will be provisioned. If not provided and network and subnetwork are also empty, then connectivity to user’s VPC network is disabled. Network attachment must be provided in format projects/{project}/regions/{region}/networkAttachments/{networkAttachment}.

This field is supported for Cloud Composer environments in versions composer-3..-airflow-..* and newer.

§composer_internal_ipv4_cidr_block: String

Optional. The IP range in CIDR notation to use internally by Cloud Composer. IP addresses are not reserved - and the same range can be used by multiple Cloud Composer environments. In case of overlap, IPs from this range will not be accessible in the user’s VPC network. Cannot be updated. If not specified, the default value of ‘100.64.128.0/20’ is used.

This field is supported for Cloud Composer environments in versions composer-3..-airflow-..* and newer.

Trait Implementations§

source§

impl Clone for NodeConfig

source§

fn clone(&self) -> NodeConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for NodeConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for NodeConfig

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for NodeConfig

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for NodeConfig

source§

fn eq(&self, other: &NodeConfig) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for NodeConfig

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more