Class: Google::Apis::ComposerV1::NodeConfig
- Inherits:
-
Object
- Object
- Google::Apis::ComposerV1::NodeConfig
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/composer_v1/classes.rb,
lib/google/apis/composer_v1/representations.rb,
lib/google/apis/composer_v1/representations.rb
Overview
The configuration information for the Kubernetes Engine nodes running the Apache Airflow software.
Instance Attribute Summary collapse
-
#composer_internal_ipv4_cidr_block ⇒ String
Optional.
-
#composer_network_attachment ⇒ String
Optional.
-
#disk_size_gb ⇒ Fixnum
Optional.
-
#enable_ip_masq_agent ⇒ Boolean
(also: #enable_ip_masq_agent?)
Optional.
-
#ip_allocation_policy ⇒ Google::Apis::ComposerV1::IpAllocationPolicy
Configuration for controlling how IPs are allocated in the GKE cluster running the Apache Airflow software.
-
#location ⇒ String
Optional.
-
#machine_type ⇒ String
Optional.
-
#network ⇒ String
Optional.
-
#oauth_scopes ⇒ Array<String>
Optional.
-
#service_account ⇒ String
Optional.
-
#subnetwork ⇒ String
Optional.
-
#tags ⇒ Array<String>
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ NodeConfig
constructor
A new instance of NodeConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ NodeConfig
Returns a new instance of NodeConfig.
1434 1435 1436 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1434 def initialize(**args) update!(**args) end |
Instance Attribute Details
#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.
Corresponds to the JSON property composerInternalIpv4CidrBlock
1316 1317 1318 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1316 def composer_internal_ipv4_cidr_block @composer_internal_ipv4_cidr_block end |
#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.
Corresponds to the JSON property composerNetworkAttachment
1329 1330 1331 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1329 def @composer_network_attachment end |
#disk_size_gb ⇒ Fixnum
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-..*.
Corresponds to the JSON property diskSizeGb
1336 1337 1338 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1336 def disk_size_gb @disk_size_gb end |
#enable_ip_masq_agent ⇒ Boolean Also known as: enable_ip_masq_agent?
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
Corresponds to the JSON property enableIpMasqAgent
1344 1345 1346 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1344 def enable_ip_masq_agent @enable_ip_masq_agent end |
#ip_allocation_policy ⇒ Google::Apis::ComposerV1::IpAllocationPolicy
Configuration for controlling how IPs are allocated in the GKE cluster running
the Apache Airflow software.
Corresponds to the JSON property ipAllocationPolicy
1351 1352 1353 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1351 def ip_allocation_policy @ip_allocation_policy end |
#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-.
*..
Corresponds to the JSON property location
1368 1369 1370 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1368 def location @location end |
#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-..*.
Corresponds to the JSON property machineType
1387 1388 1389 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1387 def machine_type @machine_type end |
#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 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
.
Corresponds to the JSON property network
1399 1400 1401 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1399 def network @network end |
#oauth_scopes ⇒ Array<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-..*.
Corresponds to the JSON property oauthScopes
1407 1408 1409 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1407 def oauth_scopes @oauth_scopes end |
#service_account ⇒ 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.
Corresponds to the JSON property serviceAccount
1414 1415 1416 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1414 def service_account @service_account end |
#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.
Corresponds to the JSON property subnetwork
1424 1425 1426 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1424 def subnetwork @subnetwork end |
#tags ⇒ Array<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.
Corresponds to the JSON property tags
1432 1433 1434 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1432 def @tags end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 |
# File 'lib/google/apis/composer_v1/classes.rb', line 1439 def update!(**args) @composer_internal_ipv4_cidr_block = args[:composer_internal_ipv4_cidr_block] if args.key?(:composer_internal_ipv4_cidr_block) @composer_network_attachment = args[:composer_network_attachment] if args.key?(:composer_network_attachment) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @enable_ip_masq_agent = args[:enable_ip_masq_agent] if args.key?(:enable_ip_masq_agent) @ip_allocation_policy = args[:ip_allocation_policy] if args.key?(:ip_allocation_policy) @location = args[:location] if args.key?(:location) @machine_type = args[:machine_type] if args.key?(:machine_type) @network = args[:network] if args.key?(:network) @oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes) @service_account = args[:service_account] if args.key?(:service_account) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) @tags = args[:tags] if args.key?(:tags) end |