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.



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

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



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

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)


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

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)


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

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


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

def network_tags
  @network_tags
end

#network_uriString

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

Returns:

  • (String)


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

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


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

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)


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

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)


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

def staging_bucket
  @staging_bucket
end

#subnetwork_uriString

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

Returns:

  • (String)


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

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)


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

def ttl
  @ttl
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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