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.



3187
3188
3189
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3187

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


3069
3070
3071
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3069

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



3075
3076
3077
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3075

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)


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

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


3095
3096
3097
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3095

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)


3107
3108
3109
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3107

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



3113
3114
3115
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3113

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)


3118
3119
3120
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3118

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



3123
3124
3125
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3123

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


3131
3132
3133
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3131

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)


3143
3144
3145
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3143

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


3155
3156
3157
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3155

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



3161
3162
3163
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3161

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)


3170
3171
3172
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3170

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


3176
3177
3178
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3176

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)


3185
3186
3187
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3185

def zone_uri
  @zone_uri
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3192

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