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.
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_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
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_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
3075 3076 3077 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3075 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
3087 3088 3089 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3087 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
3095 3096 3097 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3095 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
3107 3108 3109 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3107 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
3113 3114 3115 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3113 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
3118 3119 3120 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3118 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
3123 3124 3125 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3123 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
3131 3132 3133 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3131 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
3143 3144 3145 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3143 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
3155 3156 3157 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3155 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
3161 3162 3163 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3161 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
3170 3171 3172 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3170 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
3176 3177 3178 |
# File 'lib/google/apis/dataproc_v1/classes.rb', line 3176 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
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 |