google-apis-dataproc_v1 0.17.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -245,6 +245,131 @@ module Google
245
245
  end
246
246
  end
247
247
 
248
+ # A representation of a batch workload in the service.
249
+ class Batch
250
+ include Google::Apis::Core::Hashable
251
+
252
+ # Output only. The time when the batch was created.
253
+ # Corresponds to the JSON property `createTime`
254
+ # @return [String]
255
+ attr_accessor :create_time
256
+
257
+ # Output only. The email address of the user who created the batch.
258
+ # Corresponds to the JSON property `creator`
259
+ # @return [String]
260
+ attr_accessor :creator
261
+
262
+ # Environment configuration for a workload.
263
+ # Corresponds to the JSON property `environmentConfig`
264
+ # @return [Google::Apis::DataprocV1::EnvironmentConfig]
265
+ attr_accessor :environment_config
266
+
267
+ # Optional. The labels to associate with this batch. Label keys must contain 1
268
+ # to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/
269
+ # rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63
270
+ # characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt)
271
+ # . No more than 32 labels can be associated with a batch.
272
+ # Corresponds to the JSON property `labels`
273
+ # @return [Hash<String,String>]
274
+ attr_accessor :labels
275
+
276
+ # Output only. The resource name of the batch.
277
+ # Corresponds to the JSON property `name`
278
+ # @return [String]
279
+ attr_accessor :name
280
+
281
+ # Output only. The resource name of the operation associated with this batch.
282
+ # Corresponds to the JSON property `operation`
283
+ # @return [String]
284
+ attr_accessor :operation
285
+
286
+ # A configuration for running an Apache PySpark (https://spark.apache.org/docs/
287
+ # latest/api/python/getting_started/quickstart.html) batch workload.
288
+ # Corresponds to the JSON property `pysparkBatch`
289
+ # @return [Google::Apis::DataprocV1::PySparkBatch]
290
+ attr_accessor :pyspark_batch
291
+
292
+ # Runtime configuration for a workload.
293
+ # Corresponds to the JSON property `runtimeConfig`
294
+ # @return [Google::Apis::DataprocV1::RuntimeConfig]
295
+ attr_accessor :runtime_config
296
+
297
+ # Runtime information about workload execution.
298
+ # Corresponds to the JSON property `runtimeInfo`
299
+ # @return [Google::Apis::DataprocV1::RuntimeInfo]
300
+ attr_accessor :runtime_info
301
+
302
+ # A configuration for running an Apache Spark (https://spark.apache.org/) batch
303
+ # workload.
304
+ # Corresponds to the JSON property `sparkBatch`
305
+ # @return [Google::Apis::DataprocV1::SparkBatch]
306
+ attr_accessor :spark_batch
307
+
308
+ # A configuration for running an Apache SparkR (https://spark.apache.org/docs/
309
+ # latest/sparkr.html) batch workload.
310
+ # Corresponds to the JSON property `sparkRBatch`
311
+ # @return [Google::Apis::DataprocV1::SparkRBatch]
312
+ attr_accessor :spark_r_batch
313
+
314
+ # A configuration for running Apache Spark SQL (https://spark.apache.org/sql/)
315
+ # queries as a batch workload.
316
+ # Corresponds to the JSON property `sparkSqlBatch`
317
+ # @return [Google::Apis::DataprocV1::SparkSqlBatch]
318
+ attr_accessor :spark_sql_batch
319
+
320
+ # Output only. The state of the batch.
321
+ # Corresponds to the JSON property `state`
322
+ # @return [String]
323
+ attr_accessor :state
324
+
325
+ # Output only. Historical state information for the batch.
326
+ # Corresponds to the JSON property `stateHistory`
327
+ # @return [Array<Google::Apis::DataprocV1::StateHistory>]
328
+ attr_accessor :state_history
329
+
330
+ # Output only. Batch state details, such as a failure description if the state
331
+ # is FAILED.
332
+ # Corresponds to the JSON property `stateMessage`
333
+ # @return [String]
334
+ attr_accessor :state_message
335
+
336
+ # Output only. The time when the batch entered a current state.
337
+ # Corresponds to the JSON property `stateTime`
338
+ # @return [String]
339
+ attr_accessor :state_time
340
+
341
+ # Output only. A batch UUID (Unique Universal Identifier). The service generates
342
+ # this value when it creates the batch.
343
+ # Corresponds to the JSON property `uuid`
344
+ # @return [String]
345
+ attr_accessor :uuid
346
+
347
+ def initialize(**args)
348
+ update!(**args)
349
+ end
350
+
351
+ # Update properties of this object
352
+ def update!(**args)
353
+ @create_time = args[:create_time] if args.key?(:create_time)
354
+ @creator = args[:creator] if args.key?(:creator)
355
+ @environment_config = args[:environment_config] if args.key?(:environment_config)
356
+ @labels = args[:labels] if args.key?(:labels)
357
+ @name = args[:name] if args.key?(:name)
358
+ @operation = args[:operation] if args.key?(:operation)
359
+ @pyspark_batch = args[:pyspark_batch] if args.key?(:pyspark_batch)
360
+ @runtime_config = args[:runtime_config] if args.key?(:runtime_config)
361
+ @runtime_info = args[:runtime_info] if args.key?(:runtime_info)
362
+ @spark_batch = args[:spark_batch] if args.key?(:spark_batch)
363
+ @spark_r_batch = args[:spark_r_batch] if args.key?(:spark_r_batch)
364
+ @spark_sql_batch = args[:spark_sql_batch] if args.key?(:spark_sql_batch)
365
+ @state = args[:state] if args.key?(:state)
366
+ @state_history = args[:state_history] if args.key?(:state_history)
367
+ @state_message = args[:state_message] if args.key?(:state_message)
368
+ @state_time = args[:state_time] if args.key?(:state_time)
369
+ @uuid = args[:uuid] if args.key?(:uuid)
370
+ end
371
+ end
372
+
248
373
  # Metadata describing the Batch operation.
249
374
  class BatchOperationMetadata
250
375
  include Google::Apis::Core::Hashable
@@ -481,6 +606,11 @@ module Google
481
606
  # @return [String]
482
607
  attr_accessor :config_bucket
483
608
 
609
+ # Contains dataproc metric config.
610
+ # Corresponds to the JSON property `dataprocMetricConfig`
611
+ # @return [Google::Apis::DataprocV1::DataprocMetricConfig]
612
+ attr_accessor :dataproc_metric_config
613
+
484
614
  # Encryption settings for the cluster.
485
615
  # Corresponds to the JSON property `encryptionConfig`
486
616
  # @return [Google::Apis::DataprocV1::EncryptionConfig]
@@ -573,6 +703,7 @@ module Google
573
703
  def update!(**args)
574
704
  @autoscaling_config = args[:autoscaling_config] if args.key?(:autoscaling_config)
575
705
  @config_bucket = args[:config_bucket] if args.key?(:config_bucket)
706
+ @dataproc_metric_config = args[:dataproc_metric_config] if args.key?(:dataproc_metric_config)
576
707
  @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
577
708
  @endpoint_config = args[:endpoint_config] if args.key?(:endpoint_config)
578
709
  @gce_cluster_config = args[:gce_cluster_config] if args.key?(:gce_cluster_config)
@@ -834,6 +965,25 @@ module Google
834
965
  end
835
966
  end
836
967
 
968
+ # Contains dataproc metric config.
969
+ class DataprocMetricConfig
970
+ include Google::Apis::Core::Hashable
971
+
972
+ # Required. Metrics to be enabled.
973
+ # Corresponds to the JSON property `metrics`
974
+ # @return [Array<Google::Apis::DataprocV1::Metric>]
975
+ attr_accessor :metrics
976
+
977
+ def initialize(**args)
978
+ update!(**args)
979
+ end
980
+
981
+ # Update properties of this object
982
+ def update!(**args)
983
+ @metrics = args[:metrics] if args.key?(:metrics)
984
+ end
985
+ end
986
+
837
987
  # A request to collect cluster diagnostic information.
838
988
  class DiagnoseClusterRequest
839
989
  include Google::Apis::Core::Hashable
@@ -884,6 +1034,14 @@ module Google
884
1034
  # @return [String]
885
1035
  attr_accessor :boot_disk_type
886
1036
 
1037
+ # Optional. Interface type of local SSDs (default is "scsi"). Valid values: "
1038
+ # scsi" (Small Computer System Interface), "nvme" (Non-Volatile Memory Express).
1039
+ # See local SSD performance (https://cloud.google.com/compute/docs/disks/local-
1040
+ # ssd#performance).
1041
+ # Corresponds to the JSON property `localSsdInterface`
1042
+ # @return [String]
1043
+ attr_accessor :local_ssd_interface
1044
+
887
1045
  # Optional. Number of attached SSDs, from 0 to 4 (default is 0). If SSDs are not
888
1046
  # attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.
889
1047
  # apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are
@@ -901,6 +1059,7 @@ module Google
901
1059
  def update!(**args)
902
1060
  @boot_disk_size_gb = args[:boot_disk_size_gb] if args.key?(:boot_disk_size_gb)
903
1061
  @boot_disk_type = args[:boot_disk_type] if args.key?(:boot_disk_type)
1062
+ @local_ssd_interface = args[:local_ssd_interface] if args.key?(:local_ssd_interface)
904
1063
  @num_local_ssds = args[:num_local_ssds] if args.key?(:num_local_ssds)
905
1064
  end
906
1065
  end
@@ -970,6 +1129,74 @@ module Google
970
1129
  end
971
1130
  end
972
1131
 
1132
+ # Environment configuration for a workload.
1133
+ class EnvironmentConfig
1134
+ include Google::Apis::Core::Hashable
1135
+
1136
+ # Execution configuration for a workload.
1137
+ # Corresponds to the JSON property `executionConfig`
1138
+ # @return [Google::Apis::DataprocV1::ExecutionConfig]
1139
+ attr_accessor :execution_config
1140
+
1141
+ # Auxiliary services configuration for a workload.
1142
+ # Corresponds to the JSON property `peripheralsConfig`
1143
+ # @return [Google::Apis::DataprocV1::PeripheralsConfig]
1144
+ attr_accessor :peripherals_config
1145
+
1146
+ def initialize(**args)
1147
+ update!(**args)
1148
+ end
1149
+
1150
+ # Update properties of this object
1151
+ def update!(**args)
1152
+ @execution_config = args[:execution_config] if args.key?(:execution_config)
1153
+ @peripherals_config = args[:peripherals_config] if args.key?(:peripherals_config)
1154
+ end
1155
+ end
1156
+
1157
+ # Execution configuration for a workload.
1158
+ class ExecutionConfig
1159
+ include Google::Apis::Core::Hashable
1160
+
1161
+ # Optional. The Cloud KMS key to use for encryption.
1162
+ # Corresponds to the JSON property `kmsKey`
1163
+ # @return [String]
1164
+ attr_accessor :kms_key
1165
+
1166
+ # Optional. Tags used for network traffic control.
1167
+ # Corresponds to the JSON property `networkTags`
1168
+ # @return [Array<String>]
1169
+ attr_accessor :network_tags
1170
+
1171
+ # Optional. Network URI to connect workload to.
1172
+ # Corresponds to the JSON property `networkUri`
1173
+ # @return [String]
1174
+ attr_accessor :network_uri
1175
+
1176
+ # Optional. Service account that used to execute workload.
1177
+ # Corresponds to the JSON property `serviceAccount`
1178
+ # @return [String]
1179
+ attr_accessor :service_account
1180
+
1181
+ # Optional. Subnetwork URI to connect workload to.
1182
+ # Corresponds to the JSON property `subnetworkUri`
1183
+ # @return [String]
1184
+ attr_accessor :subnetwork_uri
1185
+
1186
+ def initialize(**args)
1187
+ update!(**args)
1188
+ end
1189
+
1190
+ # Update properties of this object
1191
+ def update!(**args)
1192
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
1193
+ @network_tags = args[:network_tags] if args.key?(:network_tags)
1194
+ @network_uri = args[:network_uri] if args.key?(:network_uri)
1195
+ @service_account = args[:service_account] if args.key?(:service_account)
1196
+ @subnetwork_uri = args[:subnetwork_uri] if args.key?(:subnetwork_uri)
1197
+ end
1198
+ end
1199
+
973
1200
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
974
1201
  # CEL is a C-like expression language. The syntax and semantics of CEL are
975
1202
  # documented at https://github.com/google/cel-spec.Example (Comparison): title: "
@@ -1729,7 +1956,7 @@ module Google
1729
1956
  # @return [Google::Apis::DataprocV1::JobScheduling]
1730
1957
  attr_accessor :scheduling
1731
1958
 
1732
- # A Dataproc job for running Apache Spark (http://spark.apache.org/)
1959
+ # A Dataproc job for running Apache Spark (https://spark.apache.org/)
1733
1960
  # applications on YARN.
1734
1961
  # Corresponds to the JSON property `sparkJob`
1735
1962
  # @return [Google::Apis::DataprocV1::SparkJob]
@@ -1741,7 +1968,7 @@ module Google
1741
1968
  # @return [Google::Apis::DataprocV1::SparkRJob]
1742
1969
  attr_accessor :spark_r_job
1743
1970
 
1744
- # A Dataproc job for running Apache Spark SQL (http://spark.apache.org/sql/)
1971
+ # A Dataproc job for running Apache Spark SQL (https://spark.apache.org/sql/)
1745
1972
  # queries.
1746
1973
  # Corresponds to the JSON property `sparkSqlJob`
1747
1974
  # @return [Google::Apis::DataprocV1::SparkSqlJob]
@@ -1897,14 +2124,19 @@ module Google
1897
2124
  # Optional. Maximum number of times per hour a driver may be restarted as a
1898
2125
  # result of driver exiting with non-zero code before job is reported failed.A
1899
2126
  # job may be reported as thrashing if driver exits with non-zero code 4 times
1900
- # within 10 minute window.Maximum value is 10.
2127
+ # within 10 minute window.Maximum value is 10.Note: Currently, this restartable
2128
+ # job option is not supported in Dataproc workflow template (https://cloud.
2129
+ # google.com/dataproc/docs/concepts/workflows/using-workflows#
2130
+ # adding_jobs_to_a_template) jobs.
1901
2131
  # Corresponds to the JSON property `maxFailuresPerHour`
1902
2132
  # @return [Fixnum]
1903
2133
  attr_accessor :max_failures_per_hour
1904
2134
 
1905
2135
  # Optional. Maximum number of times in total a driver may be restarted as a
1906
2136
  # result of driver exiting with non-zero code before job is reported failed.
1907
- # Maximum value is 240.
2137
+ # Maximum value is 240.Note: Currently, this restartable job option is not
2138
+ # supported in Dataproc workflow template (https://cloud.google.com/dataproc/
2139
+ # docs/concepts/workflows/using-workflows#adding_jobs_to_a_template) jobs.
1908
2140
  # Corresponds to the JSON property `maxFailuresTotal`
1909
2141
  # @return [Fixnum]
1910
2142
  attr_accessor :max_failures_total
@@ -2154,6 +2386,32 @@ module Google
2154
2386
  end
2155
2387
  end
2156
2388
 
2389
+ # A list of batch workloads.
2390
+ class ListBatchesResponse
2391
+ include Google::Apis::Core::Hashable
2392
+
2393
+ # The batches from the specified collection.
2394
+ # Corresponds to the JSON property `batches`
2395
+ # @return [Array<Google::Apis::DataprocV1::Batch>]
2396
+ attr_accessor :batches
2397
+
2398
+ # A token, which can be sent as page_token to retrieve the next page. If this
2399
+ # field is omitted, there are no subsequent pages.
2400
+ # Corresponds to the JSON property `nextPageToken`
2401
+ # @return [String]
2402
+ attr_accessor :next_page_token
2403
+
2404
+ def initialize(**args)
2405
+ update!(**args)
2406
+ end
2407
+
2408
+ # Update properties of this object
2409
+ def update!(**args)
2410
+ @batches = args[:batches] if args.key?(:batches)
2411
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2412
+ end
2413
+ end
2414
+
2157
2415
  # The list of all clusters in a project.
2158
2416
  class ListClustersResponse
2159
2417
  include Google::Apis::Core::Hashable
@@ -2365,6 +2623,33 @@ module Google
2365
2623
  end
2366
2624
  end
2367
2625
 
2626
+ # Metric source to enable along with any optional metrics for this source that
2627
+ # override the dataproc defaults
2628
+ class Metric
2629
+ include Google::Apis::Core::Hashable
2630
+
2631
+ # Optional. Optional Metrics to override the dataproc default metrics configured
2632
+ # for the metric source
2633
+ # Corresponds to the JSON property `metricOverrides`
2634
+ # @return [Array<String>]
2635
+ attr_accessor :metric_overrides
2636
+
2637
+ # Required. MetricSource that should be enabled
2638
+ # Corresponds to the JSON property `metricSource`
2639
+ # @return [String]
2640
+ attr_accessor :metric_source
2641
+
2642
+ def initialize(**args)
2643
+ update!(**args)
2644
+ end
2645
+
2646
+ # Update properties of this object
2647
+ def update!(**args)
2648
+ @metric_overrides = args[:metric_overrides] if args.key?(:metric_overrides)
2649
+ @metric_source = args[:metric_source] if args.key?(:metric_source)
2650
+ end
2651
+ end
2652
+
2368
2653
  # A full, namespace-isolated deployment target for an existing GKE cluster.
2369
2654
  class NamespacedGkeDeploymentTarget
2370
2655
  include Google::Apis::Core::Hashable
@@ -2566,7 +2851,7 @@ module Google
2566
2851
  # @return [Google::Apis::DataprocV1::JobScheduling]
2567
2852
  attr_accessor :scheduling
2568
2853
 
2569
- # A Dataproc job for running Apache Spark (http://spark.apache.org/)
2854
+ # A Dataproc job for running Apache Spark (https://spark.apache.org/)
2570
2855
  # applications on YARN.
2571
2856
  # Corresponds to the JSON property `sparkJob`
2572
2857
  # @return [Google::Apis::DataprocV1::SparkJob]
@@ -2578,7 +2863,7 @@ module Google
2578
2863
  # @return [Google::Apis::DataprocV1::SparkRJob]
2579
2864
  attr_accessor :spark_r_job
2580
2865
 
2581
- # A Dataproc job for running Apache Spark SQL (http://spark.apache.org/sql/)
2866
+ # A Dataproc job for running Apache Spark SQL (https://spark.apache.org/sql/)
2582
2867
  # queries.
2583
2868
  # Corresponds to the JSON property `sparkSqlJob`
2584
2869
  # @return [Google::Apis::DataprocV1::SparkSqlJob]
@@ -2640,6 +2925,32 @@ module Google
2640
2925
  end
2641
2926
  end
2642
2927
 
2928
+ # Auxiliary services configuration for a workload.
2929
+ class PeripheralsConfig
2930
+ include Google::Apis::Core::Hashable
2931
+
2932
+ # Optional. Resource name of an existing Dataproc Metastore service.Example:
2933
+ # projects/[project_id]/locations/[region]/services/[service_id]
2934
+ # Corresponds to the JSON property `metastoreService`
2935
+ # @return [String]
2936
+ attr_accessor :metastore_service
2937
+
2938
+ # Spark History Server configuration for the workload.
2939
+ # Corresponds to the JSON property `sparkHistoryServerConfig`
2940
+ # @return [Google::Apis::DataprocV1::SparkHistoryServerConfig]
2941
+ attr_accessor :spark_history_server_config
2942
+
2943
+ def initialize(**args)
2944
+ update!(**args)
2945
+ end
2946
+
2947
+ # Update properties of this object
2948
+ def update!(**args)
2949
+ @metastore_service = args[:metastore_service] if args.key?(:metastore_service)
2950
+ @spark_history_server_config = args[:spark_history_server_config] if args.key?(:spark_history_server_config)
2951
+ end
2952
+ end
2953
+
2643
2954
  # A Dataproc job for running Apache Pig (https://pig.apache.org/) queries on
2644
2955
  # YARN.
2645
2956
  class PigJob
@@ -2855,6 +3166,63 @@ module Google
2855
3166
  end
2856
3167
  end
2857
3168
 
3169
+ # A configuration for running an Apache PySpark (https://spark.apache.org/docs/
3170
+ # latest/api/python/getting_started/quickstart.html) batch workload.
3171
+ class PySparkBatch
3172
+ include Google::Apis::Core::Hashable
3173
+
3174
+ # Optional. HCFS URIs of archives to be extracted into the working directory of
3175
+ # each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.
3176
+ # Corresponds to the JSON property `archiveUris`
3177
+ # @return [Array<String>]
3178
+ attr_accessor :archive_uris
3179
+
3180
+ # Optional. The arguments to pass to the driver. Do not include arguments that
3181
+ # can be set as batch properties, such as --conf, since a collision can occur
3182
+ # that causes an incorrect batch submission.
3183
+ # Corresponds to the JSON property `args`
3184
+ # @return [Array<String>]
3185
+ attr_accessor :args
3186
+
3187
+ # Optional. HCFS URIs of files to be placed in the working directory of each
3188
+ # executor.
3189
+ # Corresponds to the JSON property `fileUris`
3190
+ # @return [Array<String>]
3191
+ attr_accessor :file_uris
3192
+
3193
+ # Optional. HCFS URIs of jar files to add to the classpath of the Spark driver
3194
+ # and tasks.
3195
+ # Corresponds to the JSON property `jarFileUris`
3196
+ # @return [Array<String>]
3197
+ attr_accessor :jar_file_uris
3198
+
3199
+ # Required. The HCFS URI of the main Python file to use as the Spark driver.
3200
+ # Must be a .py file.
3201
+ # Corresponds to the JSON property `mainPythonFileUri`
3202
+ # @return [String]
3203
+ attr_accessor :main_python_file_uri
3204
+
3205
+ # Optional. HCFS file URIs of Python files to pass to the PySpark framework.
3206
+ # Supported file types: .py, .egg, and .zip.
3207
+ # Corresponds to the JSON property `pythonFileUris`
3208
+ # @return [Array<String>]
3209
+ attr_accessor :python_file_uris
3210
+
3211
+ def initialize(**args)
3212
+ update!(**args)
3213
+ end
3214
+
3215
+ # Update properties of this object
3216
+ def update!(**args)
3217
+ @archive_uris = args[:archive_uris] if args.key?(:archive_uris)
3218
+ @args = args[:args] if args.key?(:args)
3219
+ @file_uris = args[:file_uris] if args.key?(:file_uris)
3220
+ @jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
3221
+ @main_python_file_uri = args[:main_python_file_uri] if args.key?(:main_python_file_uri)
3222
+ @python_file_uris = args[:python_file_uris] if args.key?(:python_file_uris)
3223
+ end
3224
+ end
3225
+
2858
3226
  # A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/
2859
3227
  # python-programming-guide.html) applications on YARN.
2860
3228
  class PySparkJob
@@ -3034,6 +3402,72 @@ module Google
3034
3402
  end
3035
3403
  end
3036
3404
 
3405
+ # Runtime configuration for a workload.
3406
+ class RuntimeConfig
3407
+ include Google::Apis::Core::Hashable
3408
+
3409
+ # Optional. Optional custom container image for the job runtime environment. If
3410
+ # not specified, a default container image will be used.
3411
+ # Corresponds to the JSON property `containerImage`
3412
+ # @return [String]
3413
+ attr_accessor :container_image
3414
+
3415
+ # Optional. A mapping of property names to values, which are used to configure
3416
+ # workload execution.
3417
+ # Corresponds to the JSON property `properties`
3418
+ # @return [Hash<String,String>]
3419
+ attr_accessor :properties
3420
+
3421
+ # Optional. Version of the batch runtime.
3422
+ # Corresponds to the JSON property `version`
3423
+ # @return [String]
3424
+ attr_accessor :version
3425
+
3426
+ def initialize(**args)
3427
+ update!(**args)
3428
+ end
3429
+
3430
+ # Update properties of this object
3431
+ def update!(**args)
3432
+ @container_image = args[:container_image] if args.key?(:container_image)
3433
+ @properties = args[:properties] if args.key?(:properties)
3434
+ @version = args[:version] if args.key?(:version)
3435
+ end
3436
+ end
3437
+
3438
+ # Runtime information about workload execution.
3439
+ class RuntimeInfo
3440
+ include Google::Apis::Core::Hashable
3441
+
3442
+ # Output only. A URI pointing to the location of the diagnostics tarball.
3443
+ # Corresponds to the JSON property `diagnosticOutputUri`
3444
+ # @return [String]
3445
+ attr_accessor :diagnostic_output_uri
3446
+
3447
+ # Output only. Map of remote access endpoints (such as web interfaces and APIs)
3448
+ # to their URIs.
3449
+ # Corresponds to the JSON property `endpoints`
3450
+ # @return [Hash<String,String>]
3451
+ attr_accessor :endpoints
3452
+
3453
+ # Output only. A URI pointing to the location of the stdout and stderr of the
3454
+ # workload.
3455
+ # Corresponds to the JSON property `outputUri`
3456
+ # @return [String]
3457
+ attr_accessor :output_uri
3458
+
3459
+ def initialize(**args)
3460
+ update!(**args)
3461
+ end
3462
+
3463
+ # Update properties of this object
3464
+ def update!(**args)
3465
+ @diagnostic_output_uri = args[:diagnostic_output_uri] if args.key?(:diagnostic_output_uri)
3466
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
3467
+ @output_uri = args[:output_uri] if args.key?(:output_uri)
3468
+ end
3469
+ end
3470
+
3037
3471
  # Security related configuration, including encryption, Kerberos, etc.
3038
3472
  class SecurityConfig
3039
3473
  include Google::Apis::Core::Hashable
@@ -3244,7 +3678,84 @@ module Google
3244
3678
  end
3245
3679
  end
3246
3680
 
3247
- # A Dataproc job for running Apache Spark (http://spark.apache.org/)
3681
+ # A configuration for running an Apache Spark (https://spark.apache.org/) batch
3682
+ # workload.
3683
+ class SparkBatch
3684
+ include Google::Apis::Core::Hashable
3685
+
3686
+ # Optional. HCFS URIs of archives to be extracted into the working directory of
3687
+ # each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.
3688
+ # Corresponds to the JSON property `archiveUris`
3689
+ # @return [Array<String>]
3690
+ attr_accessor :archive_uris
3691
+
3692
+ # Optional. The arguments to pass to the driver. Do not include arguments that
3693
+ # can be set as batch properties, such as --conf, since a collision can occur
3694
+ # that causes an incorrect batch submission.
3695
+ # Corresponds to the JSON property `args`
3696
+ # @return [Array<String>]
3697
+ attr_accessor :args
3698
+
3699
+ # Optional. HCFS URIs of files to be placed in the working directory of each
3700
+ # executor.
3701
+ # Corresponds to the JSON property `fileUris`
3702
+ # @return [Array<String>]
3703
+ attr_accessor :file_uris
3704
+
3705
+ # Optional. HCFS URIs of jar files to add to the classpath of the Spark driver
3706
+ # and tasks.
3707
+ # Corresponds to the JSON property `jarFileUris`
3708
+ # @return [Array<String>]
3709
+ attr_accessor :jar_file_uris
3710
+
3711
+ # Optional. The name of the driver main class. The jar file that contains the
3712
+ # class must be in the classpath or specified in jar_file_uris.
3713
+ # Corresponds to the JSON property `mainClass`
3714
+ # @return [String]
3715
+ attr_accessor :main_class
3716
+
3717
+ # Optional. The HCFS URI of the jar file that contains the main class.
3718
+ # Corresponds to the JSON property `mainJarFileUri`
3719
+ # @return [String]
3720
+ attr_accessor :main_jar_file_uri
3721
+
3722
+ def initialize(**args)
3723
+ update!(**args)
3724
+ end
3725
+
3726
+ # Update properties of this object
3727
+ def update!(**args)
3728
+ @archive_uris = args[:archive_uris] if args.key?(:archive_uris)
3729
+ @args = args[:args] if args.key?(:args)
3730
+ @file_uris = args[:file_uris] if args.key?(:file_uris)
3731
+ @jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
3732
+ @main_class = args[:main_class] if args.key?(:main_class)
3733
+ @main_jar_file_uri = args[:main_jar_file_uri] if args.key?(:main_jar_file_uri)
3734
+ end
3735
+ end
3736
+
3737
+ # Spark History Server configuration for the workload.
3738
+ class SparkHistoryServerConfig
3739
+ include Google::Apis::Core::Hashable
3740
+
3741
+ # Optional. Resource name of an existing Dataproc Cluster to act as a Spark
3742
+ # History Server for the workload.Example: projects/[project_id]/regions/[region]
3743
+ # /clusters/[cluster_name]
3744
+ # Corresponds to the JSON property `dataprocCluster`
3745
+ # @return [String]
3746
+ attr_accessor :dataproc_cluster
3747
+
3748
+ def initialize(**args)
3749
+ update!(**args)
3750
+ end
3751
+
3752
+ # Update properties of this object
3753
+ def update!(**args)
3754
+ @dataproc_cluster = args[:dataproc_cluster] if args.key?(:dataproc_cluster)
3755
+ end
3756
+ end
3757
+
3758
+ # A Dataproc job for running Apache Spark (https://spark.apache.org/)
3248
3759
  # applications on YARN.
3249
3760
  class SparkJob
3250
3761
  include Google::Apis::Core::Hashable
@@ -3315,6 +3826,49 @@ module Google
3315
3826
  end
3316
3827
  end
3317
3828
 
3829
+ # A configuration for running an Apache SparkR (https://spark.apache.org/docs/
3830
+ # latest/sparkr.html) batch workload.
3831
+ class SparkRBatch
3832
+ include Google::Apis::Core::Hashable
3833
+
3834
+ # Optional. HCFS URIs of archives to be extracted into the working directory of
3835
+ # each executor. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip.
3836
+ # Corresponds to the JSON property `archiveUris`
3837
+ # @return [Array<String>]
3838
+ attr_accessor :archive_uris
3839
+
3840
+ # Optional. The arguments to pass to the Spark driver. Do not include arguments
3841
+ # that can be set as batch properties, such as --conf, since a collision can
3842
+ # occur that causes an incorrect batch submission.
3843
+ # Corresponds to the JSON property `args`
3844
+ # @return [Array<String>]
3845
+ attr_accessor :args
3846
+
3847
+ # Optional. HCFS URIs of files to be placed in the working directory of each
3848
+ # executor.
3849
+ # Corresponds to the JSON property `fileUris`
3850
+ # @return [Array<String>]
3851
+ attr_accessor :file_uris
3852
+
3853
+ # Required. The HCFS URI of the main R file to use as the driver. Must be a .R
3854
+ # or .r file.
3855
+ # Corresponds to the JSON property `mainRFileUri`
3856
+ # @return [String]
3857
+ attr_accessor :main_r_file_uri
3858
+
3859
+ def initialize(**args)
3860
+ update!(**args)
3861
+ end
3862
+
3863
+ # Update properties of this object
3864
+ def update!(**args)
3865
+ @archive_uris = args[:archive_uris] if args.key?(:archive_uris)
3866
+ @args = args[:args] if args.key?(:args)
3867
+ @file_uris = args[:file_uris] if args.key?(:file_uris)
3868
+ @main_r_file_uri = args[:main_r_file_uri] if args.key?(:main_r_file_uri)
3869
+ end
3870
+ end
3871
+
3318
3872
  # A Dataproc job for running Apache SparkR (https://spark.apache.org/docs/latest/
3319
3873
  # sparkr.html) applications on YARN.
3320
3874
  class SparkRJob
@@ -3373,7 +3927,41 @@ module Google
3373
3927
  end
3374
3928
  end
3375
3929
 
3376
- # A Dataproc job for running Apache Spark SQL (http://spark.apache.org/sql/)
3930
+ # A configuration for running Apache Spark SQL (https://spark.apache.org/sql/)
3931
+ # queries as a batch workload.
3932
+ class SparkSqlBatch
3933
+ include Google::Apis::Core::Hashable
3934
+
3935
+ # Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.
3936
+ # Corresponds to the JSON property `jarFileUris`
3937
+ # @return [Array<String>]
3938
+ attr_accessor :jar_file_uris
3939
+
3940
+ # Required. The HCFS URI of the script that contains Spark SQL queries to
3941
+ # execute.
3942
+ # Corresponds to the JSON property `queryFileUri`
3943
+ # @return [String]
3944
+ attr_accessor :query_file_uri
3945
+
3946
+ # Optional. Mapping of query variable names to values (equivalent to the Spark
3947
+ # SQL command: SET name="value";).
3948
+ # Corresponds to the JSON property `queryVariables`
3949
+ # @return [Hash<String,String>]
3950
+ attr_accessor :query_variables
3951
+
3952
+ def initialize(**args)
3953
+ update!(**args)
3954
+ end
3955
+
3956
+ # Update properties of this object
3957
+ def update!(**args)
3958
+ @jar_file_uris = args[:jar_file_uris] if args.key?(:jar_file_uris)
3959
+ @query_file_uri = args[:query_file_uri] if args.key?(:query_file_uri)
3960
+ @query_variables = args[:query_variables] if args.key?(:query_variables)
3961
+ end
3962
+ end
3963
+
3964
+ # A Dataproc job for running Apache Spark SQL (https://spark.apache.org/sql/)
3377
3965
  # queries.
3378
3966
  class SparkSqlJob
3379
3967
  include Google::Apis::Core::Hashable
@@ -3522,6 +4110,37 @@ module Google
3522
4110
  end
3523
4111
  end
3524
4112
 
4113
+ # Historical state information.
4114
+ class StateHistory
4115
+ include Google::Apis::Core::Hashable
4116
+
4117
+ # Output only. The state of the batch at this point in history.
4118
+ # Corresponds to the JSON property `state`
4119
+ # @return [String]
4120
+ attr_accessor :state
4121
+
4122
+ # Output only. Details about the state at this point in history.
4123
+ # Corresponds to the JSON property `stateMessage`
4124
+ # @return [String]
4125
+ attr_accessor :state_message
4126
+
4127
+ # Output only. The time when the batch entered the historical state.
4128
+ # Corresponds to the JSON property `stateStartTime`
4129
+ # @return [String]
4130
+ attr_accessor :state_start_time
4131
+
4132
+ def initialize(**args)
4133
+ update!(**args)
4134
+ end
4135
+
4136
+ # Update properties of this object
4137
+ def update!(**args)
4138
+ @state = args[:state] if args.key?(:state)
4139
+ @state_message = args[:state_message] if args.key?(:state_message)
4140
+ @state_start_time = args[:state_start_time] if args.key?(:state_start_time)
4141
+ end
4142
+ end
4143
+
3525
4144
  # The Status type defines a logical error model that is suitable for different
3526
4145
  # programming environments, including REST APIs and RPC APIs. It is used by gRPC
3527
4146
  # (https://github.com/grpc). Each Status message contains three pieces of data: