google-apis-dataproc_v1 0.17.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: