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
- 
  
    
      #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.
| 800 801 802 | # File 'lib/google/apis/composer_v1/classes.rb', line 800 def initialize(**args) update!(**args) end | 
Instance Attribute Details
#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
| 701 702 703 | # File 'lib/google/apis/composer_v1/classes.rb', line 701 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
| 709 710 711 | # File 'lib/google/apis/composer_v1/classes.rb', line 709 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
| 716 717 718 | # File 'lib/google/apis/composer_v1/classes.rb', line 716 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
| 733 734 735 | # File 'lib/google/apis/composer_v1/classes.rb', line 733 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
| 752 753 754 | # File 'lib/google/apis/composer_v1/classes.rb', line 752 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
| 764 765 766 | # File 'lib/google/apis/composer_v1/classes.rb', line 764 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
| 772 773 774 | # File 'lib/google/apis/composer_v1/classes.rb', line 772 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
| 779 780 781 | # File 'lib/google/apis/composer_v1/classes.rb', line 779 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
| 789 790 791 | # File 'lib/google/apis/composer_v1/classes.rb', line 789 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. This field is supported for Cloud Composer environments in
versions composer-1..-airflow-..*.
Corresponds to the JSON property tags
| 798 799 800 | # File 'lib/google/apis/composer_v1/classes.rb', line 798 def @tags end | 
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
| 805 806 807 808 809 810 811 812 813 814 815 816 | # File 'lib/google/apis/composer_v1/classes.rb', line 805 def update!(**args) @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 |