Class: Google::Apis::ComposerV1beta1::NodeConfig

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/composer_v1beta1/classes.rb,
generated/google/apis/composer_v1beta1/representations.rb,
generated/google/apis/composer_v1beta1/representations.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ NodeConfig

Returns a new instance of NodeConfig



313
314
315
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 313

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

Instance Attribute Details

#disk_size_gbFixnum

Optional. The disk size in GB used for node VMs. Minimum is 10GB. If unspecified, defaults to 100GB. Cannot be updated. Corresponds to the JSON property diskSizeGb

Returns:

  • (Fixnum)


227
228
229
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 227

def disk_size_gb
  @disk_size_gb
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](https://cloud.google.com/apis/design/resource_names# relative_resource_name). For example: projects/projectId/zones/zoneId`. Thislocationmust belong to the enclosing environment's project and location. If both this field andnodeConfig.machineTypeare specified, nodeConfig.machineTypemust belong to thislocation; 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 andnodeConfig.machineTypeis specified, the location information from the specified field will be propagated to the unspecified field. Corresponds to the JSON propertylocation`

Returns:

  • (String)


244
245
246
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 244

def location
  @location
end

#machine_typeString

Optional. The Google Compute Engine machine type used for cluster instances, specified as a relative resource name. For example: projects/projectId/zones/zoneId/machineTypes/machineTypeId`. ThemachineTypemust belong to the enclosing environment's project and location. If both this field andnodeConfig.locationare specified, thismachineTypemust belong to thenodeConfig.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 andnodeConfig.locationis specified, the location information from the specified field will be propagated to the unspecified field. Furthermore, if this field is unspecified, themachineTypeIddefaults ton1-standard-1. Corresponds to the JSON propertymachineType`

Returns:

  • (String)


264
265
266
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 264

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`. [Shared VPC](/vpc/docs/shared-vpc) is not currently supported. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a "Custom Subnet Network" (see [Using Subnetworks](/compute/docs/subnetworks) for more information) is provided,nodeConfig.subnetworkmust also be provided. Corresponds to the JSON propertynetwork`

Returns:

  • (String)


277
278
279
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 277

def network
  @network
end

#oauth_scopesArray<String>

Optional. The set of Google API scopes to be made available on all of the node VMs. If oauth_scopes is empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated. Corresponds to the JSON property oauthScopes

Returns:

  • (Array<String>)


284
285
286
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 284

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)


291
292
293
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 291

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.networkmust also be provided, and the subnetwork must belong to the enclosing environment's project and location. Corresponds to the JSON propertysubnetwork`

Returns:

  • (String)


303
304
305
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 303

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. Corresponds to the JSON property tags

Returns:

  • (Array<String>)


311
312
313
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 311

def tags
  @tags
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



318
319
320
321
322
323
324
325
326
327
# File 'generated/google/apis/composer_v1beta1/classes.rb', line 318

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