Class: Google::Apis::DataprocV1::GceClusterConfig

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/dataproc_v1/classes.rb,
lib/google/apis/dataproc_v1/representations.rb,
lib/google/apis/dataproc_v1/representations.rb

Overview

Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GceClusterConfig

Returns a new instance of GceClusterConfig.



1421
1422
1423
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1421

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

Instance Attribute Details

#confidential_instance_configGoogle::Apis::DataprocV1::ConfidentialInstanceConfig

Confidential Instance Config for clusters using Confidential VMs (https:// cloud.google.com/compute/confidential-vm/docs) Corresponds to the JSON property confidentialInstanceConfig



1318
1319
1320
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1318

def confidential_instance_config
  @confidential_instance_config
end

#internal_ip_onlyBoolean Also known as: internal_ip_only?

Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses. Corresponds to the JSON property internalIpOnly

Returns:

  • (Boolean)


1328
1329
1330
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1328

def internal_ip_only
  @internal_ip_only
end

#metadataHash<String,String>

The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving- metadata#project_and_instance_metadata)). Corresponds to the JSON property metadata

Returns:

  • (Hash<String,String>)


1336
1337
1338
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1336

def 
  @metadata
end

#network_uriString

Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see Using Subnetworks (https:// cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/ compute/v1/projects/[project_id]/regions/global/default projects/[project_id]/ regions/global/default default Corresponds to the JSON property networkUri

Returns:

  • (String)


1348
1349
1350
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1348

def network_uri
  @network_uri
end

#node_group_affinityGoogle::Apis::DataprocV1::NodeGroupAffinity

Node Group Affinity for clusters using sole-tenant node groups. Corresponds to the JSON property nodeGroupAffinity



1353
1354
1355
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1353

def node_group_affinity
  @node_group_affinity
end

#private_ipv6_google_accessString

Optional. The type of IPv6 access for a cluster. Corresponds to the JSON property privateIpv6GoogleAccess

Returns:

  • (String)


1358
1359
1360
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1358

def private_ipv6_google_access
  @private_ipv6_google_access
end

#reservation_affinityGoogle::Apis::DataprocV1::ReservationAffinity

Reservation Affinity for consuming Zonal reservation. Corresponds to the JSON property reservationAffinity



1363
1364
1365
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1363

def reservation_affinity
  @reservation_affinity
end

#service_accountString

Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/ concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) ( also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/ concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud. google.com/compute/docs/access/service-accounts#default_service_account) is used. Corresponds to the JSON property serviceAccount

Returns:

  • (String)


1375
1376
1377
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1375

def 
  @service_account
end

#service_account_scopesArray<String>

Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www. googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/ auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www. googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin. table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/ auth/devstorage.full_control Corresponds to the JSON property serviceAccountScopes

Returns:

  • (Array<String>)


1387
1388
1389
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1387

def 
  @service_account_scopes
end

#shielded_instance_configGoogle::Apis::DataprocV1::ShieldedInstanceConfig

Shielded Instance Config for clusters using Compute Engine Shielded VMs (https: //cloud.google.com/security/shielded-cloud/shielded-vm). Corresponds to the JSON property shieldedInstanceConfig



1393
1394
1395
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1393

def shielded_instance_config
  @shielded_instance_config
end

#subnetwork_uriString

Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[ project_id]/regions/us-east1/subnetworks/sub0 projects/[project_id]/regions/us- east1/subnetworks/sub0 sub0 Corresponds to the JSON property subnetworkUri

Returns:

  • (String)


1402
1403
1404
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1402

def subnetwork_uri
  @subnetwork_uri
end

#tagsArray<String>

The Compute Engine tags to add to all instances (see Tagging instances (https:/ /cloud.google.com/compute/docs/label-or-tag-resources#tags)). Corresponds to the JSON property tags

Returns:

  • (Array<String>)


1408
1409
1410
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1408

def tags
  @tags
end

#zone_uriString

Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the "global" region. If omitted in a non- global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis. com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[ zone] us-central1-f Corresponds to the JSON property zoneUri

Returns:

  • (String)


1419
1420
1421
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1419

def zone_uri
  @zone_uri
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1426

def update!(**args)
  @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
  @internal_ip_only = args[:internal_ip_only] if args.key?(:internal_ip_only)
  @metadata = args[:metadata] if args.key?(:metadata)
  @network_uri = args[:network_uri] if args.key?(:network_uri)
  @node_group_affinity = args[:node_group_affinity] if args.key?(:node_group_affinity)
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
  @service_account = args[:service_account] if args.key?(:service_account)
  @service_account_scopes = args[:service_account_scopes] if args.key?(:service_account_scopes)
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
  @subnetwork_uri = args[:subnetwork_uri] if args.key?(:subnetwork_uri)
  @tags = args[:tags] if args.key?(:tags)
  @zone_uri = args[:zone_uri] if args.key?(:zone_uri)
end