Class: Google::Apis::DataprocV1beta2::GceClusterConfig

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/dataproc_v1beta2/classes.rb,
generated/google/apis/dataproc_v1beta2/representations.rb,
generated/google/apis/dataproc_v1beta2/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

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ GceClusterConfig

Returns a new instance of GceClusterConfig



776
777
778
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 776

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

Instance Attribute Details

#allocation_affinityGoogle::Apis::DataprocV1beta2::AllocationAffinity

Allocation Affinity for consuming Zonal allocation. Corresponds to the JSON property allocationAffinity



690
691
692
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 690

def allocation_affinity
  @allocation_affinity
end

#internal_ip_onlyBoolean Also known as: internal_ip_only?

Optional. If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This internal_ip_only restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses. Corresponds to the JSON property internalIpOnly

Returns:

  • (Boolean)


700
701
702
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 700

def internal_ip_only
  @internal_ip_only
end

#metadataHash<String,String>

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


708
709
710
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 708

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 for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/ default projects/[project_id]/regions/global/default default Corresponds to the JSON property networkUri

Returns:

  • (String)


721
722
723
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 721

def network_uri
  @network_uri
end

#service_accountString

Optional. The service account of the instances. Defaults to the default Compute Engine service account. Custom service accounts need permissions equivalent to the following IAM roles: roles/logging.logWriter roles/storage.objectAdmin(see https://cloud.google.com/compute/docs/access/ service-accounts#custom_service_accounts for more information). Example: [ account_id]@[project_id].iam.gserviceaccount.com Corresponds to the JSON property serviceAccount

Returns:

  • (String)


732
733
734
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 732

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


746
747
748
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 746

def 
  @service_account_scopes
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/us-east1/ sub0 projects/[project_id]/regions/us-east1/sub0 sub0 Corresponds to the JSON property subnetworkUri

Returns:

  • (String)


757
758
759
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 757

def subnetwork_uri
  @subnetwork_uri
end

#tagsArray<String>

The Compute Engine tags to add to all instances (see Tagging instances). Corresponds to the JSON property tags

Returns:

  • (Array<String>)


762
763
764
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 762

def tags
  @tags
end

#zone_uriString

Optional. The zone where the Compute Engine cluster will be located. On a create request, it is required in the "global" region. If omitted in a non- global Cloud Dataproc region, the service will pick a zone in the corresponding 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] us-central1-f Corresponds to the JSON property zoneUri

Returns:

  • (String)


774
775
776
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 774

def zone_uri
  @zone_uri
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



781
782
783
784
785
786
787
788
789
790
791
# File 'generated/google/apis/dataproc_v1beta2/classes.rb', line 781

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