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.



3103
3104
3105
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3103

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

Instance Attribute Details

#auto_zone_exclude_zone_urisArray<String>

Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.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 autoZoneExcludeZoneUris

Returns:

  • (Array<String>)


2985
2986
2987
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2985

def auto_zone_exclude_zone_uris
  @auto_zone_exclude_zone_uris
end

#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



2991
2992
2993
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2991

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)


3003
3004
3005
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3003

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


3011
3012
3013
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3011

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)


3023
3024
3025
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3023

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



3029
3030
3031
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3029

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)


3034
3035
3036
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3034

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



3039
3040
3041
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3039

def reservation_affinity
  @reservation_affinity
end

#resource_manager_tagsHash<String,String>

Optional. Resource manager tags (https://cloud.google.com/resource-manager/ docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure- tags)). Corresponds to the JSON property resourceManagerTags

Returns:

  • (Hash<String,String>)


3047
3048
3049
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3047

def resource_manager_tags
  @resource_manager_tags
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)


3059
3060
3061
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3059

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


3071
3072
3073
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3071

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



3077
3078
3079
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3077

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)


3086
3087
3088
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3086

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


3092
3093
3094
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3092

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)


3101
3102
3103
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3101

def zone_uri
  @zone_uri
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3108

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