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.



1806
1807
1808
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1806

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



1702
1703
1704
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1702

def confidential_instance_config
  @confidential_instance_config
end

#internal_ip_onlyBoolean Also known as: internal_ip_only?

Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https:// cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. Corresponds to the JSON property internalIpOnly

Returns:

  • (Boolean)


1714
1715
1716
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1714

def internal_ip_only
  @internal_ip_only
end

#metadataHash<String,String>

Optional. 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>)


1722
1723
1724
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1722

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]/global/networks/default projects/[project_id]/ global/networks/default default Corresponds to the JSON property networkUri

Returns:

  • (String)


1734
1735
1736
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1734

def network_uri
  @network_uri
end

#node_group_affinityGoogle::Apis::DataprocV1::NodeGroupAffinity

Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. Corresponds to the JSON property nodeGroupAffinity



1740
1741
1742
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1740

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)


1745
1746
1747
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1745

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



1750
1751
1752
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1750

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)


1762
1763
1764
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1762

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>)


1774
1775
1776
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1774

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



1780
1781
1782
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1780

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/[region]/subnetworks/sub0 projects/[project_id]/regions/[ region]/subnetworks/sub0 sub0 Corresponds to the JSON property subnetworkUri

Returns:

  • (String)


1789
1790
1791
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1789

def subnetwork_uri
  @subnetwork_uri
end

#tagsArray<String>

The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). Corresponds to the JSON property tags

Returns:

  • (Array<String>)


1795
1796
1797
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1795

def tags
  @tags
end

#zone_uriString

Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's 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] [zone] Corresponds to the JSON property zoneUri

Returns:

  • (String)


1804
1805
1806
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1804

def zone_uri
  @zone_uri
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
# File 'lib/google/apis/dataproc_v1/classes.rb', line 1811

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