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.



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

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



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

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)


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

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)


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

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


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

def network_tags
  @network_tags
end

#network_uriString

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

Returns:

  • (String)


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

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


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

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)


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

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)


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

def staging_bucket
  @staging_bucket
end

#subnetwork_uriString

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

Returns:

  • (String)


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

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)


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

def ttl
  @ttl
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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