Class: Google::Apis::ComposerV1::NodeConfig

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ NodeConfig

Returns a new instance of NodeConfig.



681
682
683
# File 'lib/google/apis/composer_v1/classes.rb', line 681

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#disk_size_gbFixnum

Optional. The disk size in GB used for node VMs. Minimum size is 20GB. 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

Returns:

  • (Fixnum)


591
592
593
# File 'lib/google/apis/composer_v1/classes.rb', line 591

def disk_size_gb
  @disk_size_gb
end

#ip_allocation_policyGoogle::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



597
598
599
# File 'lib/google/apis/composer_v1/classes.rb', line 597

def ip_allocation_policy
  @ip_allocation_policy
end

#locationString

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

Returns:

  • (String)


614
615
616
# File 'lib/google/apis/composer_v1/classes.rb', line 614

def location
  @location
end

#machine_typeString

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

Returns:

  • (String)


633
634
635
# File 'lib/google/apis/composer_v1/classes.rb', line 633

def machine_type
  @machine_type
end

#networkString

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

Returns:

  • (String)


645
646
647
# File 'lib/google/apis/composer_v1/classes.rb', line 645

def network
  @network
end

#oauth_scopesArray<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

Returns:

  • (Array<String>)


653
654
655
# File 'lib/google/apis/composer_v1/classes.rb', line 653

def oauth_scopes
  @oauth_scopes
end

#service_accountString

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

Returns:

  • (String)


660
661
662
# File 'lib/google/apis/composer_v1/classes.rb', line 660

def 
  @service_account
end

#subnetworkString

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

Returns:

  • (String)


670
671
672
# File 'lib/google/apis/composer_v1/classes.rb', line 670

def subnetwork
  @subnetwork
end

#tagsArray<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. This field is supported for Cloud Composer environments in versions composer-1..-airflow-..*. Corresponds to the JSON property tags

Returns:

  • (Array<String>)


679
680
681
# File 'lib/google/apis/composer_v1/classes.rb', line 679

def tags
  @tags
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



686
687
688
689
690
691
692
693
694
695
696
# File 'lib/google/apis/composer_v1/classes.rb', line 686

def update!(**args)
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
  @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