pub struct NodeConfig {
pub composer_internal_ipv4_cidr_block: Option<String>,
pub composer_network_attachment: Option<String>,
pub disk_size_gb: Option<i32>,
pub enable_ip_masq_agent: Option<bool>,
pub ip_allocation_policy: Option<IPAllocationPolicy>,
pub location: Option<String>,
pub machine_type: Option<String>,
pub network: Option<String>,
pub oauth_scopes: Option<Vec<String>>,
pub service_account: Option<String>,
pub subnetwork: Option<String>,
pub tags: Option<Vec<String>>,
}
Expand description
The configuration information for the Kubernetes Engine nodes running the Apache Airflow software.
This type is not used in any activity, and only used as part of another schema.
Fields§
§composer_internal_ipv4_cidr_block: Option<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.
composer_network_attachment: Option<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.
disk_size_gb: Option<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-..*.
enable_ip_masq_agent: Option<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
ip_allocation_policy: Option<IPAllocationPolicy>
Optional. The configuration for controlling how IPs are allocated in the GKE cluster.
location: Option<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: Option<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: Option<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 ID 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
.
oauth_scopes: Option<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: Option<String>
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.
subnetwork: Option<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.
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.
Trait Implementations§
Source§impl Clone for NodeConfig
impl Clone for NodeConfig
Source§fn clone(&self) -> NodeConfig
fn clone(&self) -> NodeConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for NodeConfig
impl Debug for NodeConfig
Source§impl Default for NodeConfig
impl Default for NodeConfig
Source§fn default() -> NodeConfig
fn default() -> NodeConfig
Source§impl<'de> Deserialize<'de> for NodeConfig
impl<'de> Deserialize<'de> for NodeConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for NodeConfig
impl Serialize for NodeConfig
impl Part for NodeConfig
Auto Trait Implementations§
impl Freeze for NodeConfig
impl RefUnwindSafe for NodeConfig
impl Send for NodeConfig
impl Sync for NodeConfig
impl Unpin for NodeConfig
impl UnwindSafe for NodeConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more