Class: Google::Apis::DataprocV1::ExecutionConfig

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

Execution configuration for a workload.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ExecutionConfig

Returns a new instance of ExecutionConfig.



2392
2393
2394
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2392

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

Instance Attribute Details

#authentication_configGoogle::Apis::DataprocV1::AuthenticationConfig

Authentication configuration for a workload is used to set the default identity for the workload execution. The config specifies the type of identity (service account or user) that will be used by workloads to access resources on the project(s). Corresponds to the JSON property authenticationConfig



2317
2318
2319
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2317

def authentication_config
  @authentication_config
end

#idle_ttlString

Optional. Applies to sessions only. The duration to keep the session alive while it's idling. Exceeding this threshold causes the session to terminate. This field cannot be set on a batch workload. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of Duration (https:// developers.google.com/protocol-buffers/docs/proto3#json)). Defaults to 1 hour if not set. If both ttl and idle_ttl are specified for an interactive session, the conditions are treated as OR conditions: the workload will be terminated when it has been idle for idle_ttl or when ttl has been exceeded, whichever occurs first. Corresponds to the JSON property idleTtl

Returns:

  • (String)


2330
2331
2332
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2330

def idle_ttl
  @idle_ttl
end

#kms_keyString

Optional. The Cloud KMS key to use for encryption. Corresponds to the JSON property kmsKey

Returns:

  • (String)


2335
2336
2337
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2335

def kms_key
  @kms_key
end

#network_tagsArray<String>

Optional. Tags used for network traffic control. Corresponds to the JSON property networkTags

Returns:

  • (Array<String>)


2340
2341
2342
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2340

def network_tags
  @network_tags
end

#network_uriString

Optional. Network URI to connect workload to. Corresponds to the JSON property networkUri

Returns:

  • (String)


2345
2346
2347
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2345

def network_uri
  @network_uri
end

#resource_manager_tagsHash<String,String>

Optional. Associates Resource Manager tags with the workload nodes. There is a max limit of 30 tags. Keys and values can be either in numeric format, such as tagKeys/tag_key_id and tagValues/tag_value_id, or in namespaced format, such as org_id|project_id/tag_key_short_name and tag_value_short_name. Corresponds to the JSON property resourceManagerTags

Returns:

  • (Hash<String,String>)


2353
2354
2355
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2353

def resource_manager_tags
  @resource_manager_tags
end

#service_accountString

Optional. Service account that used to execute workload. Corresponds to the JSON property serviceAccount

Returns:

  • (String)


2358
2359
2360
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2358

def 
  @service_account
end

#staging_bucketString

Optional. A Cloud Storage bucket used to stage workload dependencies, config files, and store workload output and other ephemeral data, such as Spark history files. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location according to the region where your workload is running, and then create and manage project-level, per-location staging and temporary buckets. This field requires a Cloud Storage bucket name, not a gs:// ... URI to a Cloud Storage bucket. Corresponds to the JSON property stagingBucket

Returns:

  • (String)


2369
2370
2371
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2369

def staging_bucket
  @staging_bucket
end

#subnetwork_uriString

Optional. Subnetwork URI to connect workload to. Corresponds to the JSON property subnetworkUri

Returns:

  • (String)


2374
2375
2376
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2374

def subnetwork_uri
  @subnetwork_uri
end

#ttlString

Optional. The duration after which the workload will be terminated, specified as the JSON representation for Duration (https://protobuf.dev/programming- guides/proto3/#json). When the workload exceeds this duration, it will be unconditionally terminated without waiting for ongoing work to finish. If ttl is not specified for a batch workload, the workload will be allowed to run until it exits naturally (or run forever without exiting). If ttl is not specified for an interactive session, it defaults to 24 hours. If ttl is not specified for a batch that uses 2.1+ runtime version, it defaults to 4 hours. Minimum value is 10 minutes; maximum value is 14 days. If both ttl and idle_ttl are specified (for an interactive session), the conditions are treated as OR conditions: the workload will be terminated when it has been idle for idle_ttl or when ttl has been exceeded, whichever occurs first. Corresponds to the JSON property ttl

Returns:

  • (String)


2390
2391
2392
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2390

def ttl
  @ttl
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
# File 'lib/google/apis/dataproc_v1/classes.rb', line 2397

def update!(**args)
  @authentication_config = args[:authentication_config] if args.key?(:authentication_config)
  @idle_ttl = args[:idle_ttl] if args.key?(:idle_ttl)
  @kms_key = args[:kms_key] if args.key?(:kms_key)
  @network_tags = args[:network_tags] if args.key?(:network_tags)
  @network_uri = args[:network_uri] if args.key?(:network_uri)
  @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
  @service_account = args[:service_account] if args.key?(:service_account)
  @staging_bucket = args[:staging_bucket] if args.key?(:staging_bucket)
  @subnetwork_uri = args[:subnetwork_uri] if args.key?(:subnetwork_uri)
  @ttl = args[:ttl] if args.key?(:ttl)
end