Class: Google::Apis::DataprocV1::GceClusterConfig
- Inherits:
-
Object
- Object
- Google::Apis::DataprocV1::GceClusterConfig
- 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
-
#auto_zone_exclude_zone_uris ⇒ Array<String>
Optional.
-
#confidential_instance_config ⇒ Google::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. -
#internal_ip_only ⇒ Boolean
(also: #internal_ip_only?)
Optional.
-
#metadata ⇒ Hash<String,String>
Optional.
-
#network_uri ⇒ String
Optional.
-
#node_group_affinity ⇒ Google::Apis::DataprocV1::NodeGroupAffinity
Node Group Affinity for clusters using sole-tenant node groups.
-
#private_ipv6_google_access ⇒ String
Optional.
-
#reservation_affinity ⇒ Google::Apis::DataprocV1::ReservationAffinity
Reservation Affinity for consuming Zonal reservation.
-
#resource_manager_tags ⇒ Hash<String,String>
Optional.
-
#service_account ⇒ String
Optional.
-
#service_account_scopes ⇒ Array<String>
Optional.
-
#shielded_instance_config ⇒ Google::Apis::DataprocV1::ShieldedInstanceConfig
Shielded Instance Config for clusters using Compute Engine Shielded VMs (https: //cloud.google.com/security/shielded-cloud/shielded-vm).
-
#subnetwork_uri ⇒ String
Optional.
-
#tags ⇒ Array<String>
The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)).
-
#zone_uri ⇒ String
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GceClusterConfig
constructor
A new instance of GceClusterConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
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_uris ⇒ Array<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
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_config ⇒ Google::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_only ⇒ Boolean 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
3003 3004 3005 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3003 def internal_ip_only @internal_ip_only end |
#metadata ⇒ Hash<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
3011 3012 3013 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3011 def @metadata end |
#network_uri ⇒ String
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
3023 3024 3025 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3023 def network_uri @network_uri end |
#node_group_affinity ⇒ Google::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_access ⇒ String
Optional. The type of IPv6 access for a cluster.
Corresponds to the JSON property privateIpv6GoogleAccess
3034 3035 3036 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3034 def private_ipv6_google_access @private_ipv6_google_access end |
#reservation_affinity ⇒ Google::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_tags ⇒ Hash<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
3047 3048 3049 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3047 def @resource_manager_tags end |
#service_account ⇒ String
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
3059 3060 3061 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3059 def service_account @service_account end |
#service_account_scopes ⇒ Array<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
3071 3072 3073 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3071 def service_account_scopes @service_account_scopes end |
#shielded_instance_config ⇒ Google::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_uri ⇒ String
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
3086 3087 3088 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3086 def subnetwork_uri @subnetwork_uri end |
#tags ⇒ Array<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
3092 3093 3094 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3092 def @tags end |
#zone_uri ⇒ String
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
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 |