google-api-client 0.9.8 → 0.9.20
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +37 -0
- data/Gemfile +9 -1
- data/README.md +10 -2
- data/api_names.yaml +63 -110
- data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
- data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +298 -0
- data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +122 -0
- data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +458 -0
- data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
- data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +260 -13
- data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +81 -0
- data/generated/google/apis/adexchangebuyer_v1_4/service.rb +60 -8
- data/generated/google/apis/adexchangeseller_v2_0.rb +2 -3
- data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -2
- data/generated/google/apis/admin_directory_v1.rb +1 -1
- data/generated/google/apis/admin_directory_v1/classes.rb +86 -0
- data/generated/google/apis/admin_directory_v1/representations.rb +24 -0
- data/generated/google/apis/admin_directory_v1/service.rb +41 -2
- data/generated/google/apis/admin_reports_v1.rb +3 -3
- data/generated/google/apis/admin_reports_v1/service.rb +2 -2
- data/generated/google/apis/adsense_v1_4.rb +1 -1
- data/generated/google/apis/adsense_v1_4/classes.rb +1 -1
- data/generated/google/apis/adsensehost_v4_1.rb +1 -1
- data/generated/google/apis/adsensehost_v4_1/classes.rb +1 -2
- data/generated/google/apis/analytics_v3.rb +1 -1
- data/generated/google/apis/analytics_v3/classes.rb +379 -3
- data/generated/google/apis/analytics_v3/representations.rb +136 -0
- data/generated/google/apis/analytics_v3/service.rb +217 -0
- data/generated/google/apis/analyticsreporting_v4.rb +1 -1
- data/generated/google/apis/analyticsreporting_v4/classes.rb +50 -22
- data/generated/google/apis/androidenterprise_v1.rb +1 -1
- data/generated/google/apis/androidenterprise_v1/classes.rb +813 -49
- data/generated/google/apis/androidenterprise_v1/representations.rb +336 -0
- data/generated/google/apis/androidenterprise_v1/service.rb +1234 -145
- data/generated/google/apis/androidpublisher_v2.rb +1 -1
- data/generated/google/apis/androidpublisher_v2/classes.rb +47 -8
- data/generated/google/apis/androidpublisher_v2/representations.rb +27 -0
- data/generated/google/apis/androidpublisher_v2/service.rb +55 -0
- data/generated/google/apis/appengine_v1beta5.rb +7 -1
- data/generated/google/apis/appengine_v1beta5/classes.rb +516 -313
- data/generated/google/apis/appengine_v1beta5/representations.rb +115 -22
- data/generated/google/apis/appengine_v1beta5/service.rb +329 -33
- data/generated/google/apis/appsactivity_v1.rb +1 -1
- data/generated/google/apis/appsactivity_v1/classes.rb +7 -0
- data/generated/google/apis/appsactivity_v1/representations.rb +1 -0
- data/generated/google/apis/appstate_v1.rb +1 -1
- data/generated/google/apis/bigquery_v2.rb +1 -1
- data/generated/google/apis/bigquery_v2/classes.rb +277 -20
- data/generated/google/apis/bigquery_v2/representations.rb +86 -0
- data/generated/google/apis/bigquery_v2/service.rb +8 -2
- data/generated/google/apis/books_v1.rb +2 -2
- data/generated/google/apis/books_v1/classes.rb +79 -1
- data/generated/google/apis/books_v1/representations.rb +34 -0
- data/generated/google/apis/books_v1/service.rb +7 -3
- data/generated/google/apis/calendar_v3.rb +1 -1
- data/generated/google/apis/civicinfo_v2.rb +3 -2
- data/generated/google/apis/civicinfo_v2/classes.rb +377 -5
- data/generated/google/apis/civicinfo_v2/representations.rb +149 -0
- data/generated/google/apis/civicinfo_v2/service.rb +27 -6
- data/generated/google/apis/classroom_v1.rb +1 -1
- data/generated/google/apis/classroom_v1/classes.rb +183 -37
- data/generated/google/apis/classroom_v1/representations.rb +74 -9
- data/generated/google/apis/classroom_v1/service.rb +403 -38
- data/generated/google/apis/cloudbuild_v1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1/classes.rb +381 -17
- data/generated/google/apis/cloudbuild_v1/representations.rb +137 -2
- data/generated/google/apis/cloudbuild_v1/service.rb +174 -1
- data/generated/google/apis/clouddebugger_v2.rb +3 -6
- data/generated/google/apis/clouddebugger_v2/service.rb +4 -4
- data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1/classes.rb +502 -111
- data/generated/google/apis/cloudresourcemanager_v1/representations.rb +162 -24
- data/generated/google/apis/cloudresourcemanager_v1/service.rb +274 -30
- data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +121 -9
- data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +46 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +71 -58
- data/generated/google/apis/compute_beta.rb +1 -1
- data/generated/google/apis/compute_beta/classes.rb +2299 -434
- data/generated/google/apis/compute_beta/representations.rb +752 -33
- data/generated/google/apis/compute_beta/service.rb +6067 -3153
- data/generated/google/apis/compute_v1.rb +1 -1
- data/generated/google/apis/compute_v1/classes.rb +1681 -207
- data/generated/google/apis/compute_v1/representations.rb +552 -0
- data/generated/google/apis/compute_v1/service.rb +2797 -1171
- data/generated/google/apis/content_v2.rb +1 -1
- data/generated/google/apis/content_v2/classes.rb +757 -1
- data/generated/google/apis/content_v2/representations.rb +337 -0
- data/generated/google/apis/content_v2/service.rb +244 -0
- data/generated/google/apis/dataflow_v1b3.rb +38 -0
- data/generated/google/apis/dataflow_v1b3/classes.rb +4053 -0
- data/generated/google/apis/dataflow_v1b3/representations.rb +1736 -0
- data/generated/google/apis/dataflow_v1b3/service.rb +875 -0
- data/generated/google/apis/dataproc_v1.rb +2 -2
- data/generated/google/apis/dataproc_v1/classes.rb +213 -68
- data/generated/google/apis/dataproc_v1/representations.rb +38 -0
- data/generated/google/apis/dataproc_v1/service.rb +78 -48
- data/generated/google/apis/datastore_v1.rb +38 -0
- data/generated/google/apis/datastore_v1/classes.rb +1284 -0
- data/generated/google/apis/datastore_v1/representations.rb +572 -0
- data/generated/google/apis/datastore_v1/service.rb +259 -0
- data/generated/google/apis/datastore_v1beta3.rb +38 -0
- data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
- data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
- data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
- data/generated/google/apis/deploymentmanager_v2.rb +1 -1
- data/generated/google/apis/deploymentmanager_v2/classes.rb +384 -2
- data/generated/google/apis/deploymentmanager_v2/representations.rb +161 -0
- data/generated/google/apis/deploymentmanager_v2/service.rb +217 -55
- data/generated/google/apis/dfareporting_v2_5.rb +40 -0
- data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
- data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
- data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
- data/generated/google/apis/dfareporting_v2_6.rb +40 -0
- data/generated/google/apis/dfareporting_v2_6/classes.rb +11586 -0
- data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
- data/generated/google/apis/dfareporting_v2_6/service.rb +9025 -0
- data/generated/google/apis/dns_v1.rb +1 -1
- data/generated/google/apis/dns_v1/classes.rb +1 -1
- data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
- data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +79 -86
- data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +25 -28
- data/generated/google/apis/doubleclickbidmanager_v1/service.rb +10 -8
- data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
- data/generated/google/apis/drive_v2.rb +1 -1
- data/generated/google/apis/drive_v2/classes.rb +27 -3
- data/generated/google/apis/drive_v2/representations.rb +4 -0
- data/generated/google/apis/drive_v2/service.rb +16 -3
- data/generated/google/apis/drive_v3.rb +1 -1
- data/generated/google/apis/drive_v3/classes.rb +50 -16
- data/generated/google/apis/drive_v3/representations.rb +4 -0
- data/generated/google/apis/drive_v3/service.rb +12 -2
- data/generated/google/apis/fitness_v1.rb +8 -2
- data/generated/google/apis/fitness_v1/classes.rb +64 -6
- data/generated/google/apis/fitness_v1/representations.rb +20 -0
- data/generated/google/apis/fitness_v1/service.rb +17 -18
- data/generated/google/apis/fusiontables_v2.rb +1 -1
- data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
- data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
- data/generated/google/apis/games_management_v1management.rb +1 -1
- data/generated/google/apis/games_v1.rb +1 -1
- data/generated/google/apis/genomics_v1.rb +2 -4
- data/generated/google/apis/genomics_v1/classes.rb +143 -34
- data/generated/google/apis/genomics_v1/representations.rb +48 -11
- data/generated/google/apis/genomics_v1/service.rb +35 -37
- data/generated/google/apis/gmail_v1.rb +10 -1
- data/generated/google/apis/gmail_v1/classes.rb +542 -4
- data/generated/google/apis/gmail_v1/representations.rb +213 -0
- data/generated/google/apis/gmail_v1/service.rb +898 -1
- data/generated/google/apis/groupssettings_v1.rb +1 -1
- data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
- data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
- data/generated/google/apis/iam_v1.rb +2 -2
- data/generated/google/apis/iam_v1/classes.rb +181 -206
- data/generated/google/apis/iam_v1/representations.rb +36 -45
- data/generated/google/apis/iam_v1/service.rb +101 -67
- data/generated/google/apis/identitytoolkit_v3.rb +4 -1
- data/generated/google/apis/identitytoolkit_v3/classes.rb +171 -1
- data/generated/google/apis/identitytoolkit_v3/representations.rb +26 -0
- data/generated/google/apis/language_v1beta1.rb +36 -0
- data/generated/google/apis/language_v1beta1/classes.rb +599 -0
- data/generated/google/apis/language_v1beta1/representations.rb +289 -0
- data/generated/google/apis/language_v1beta1/service.rb +152 -0
- data/generated/google/apis/logging_v2beta1.rb +6 -6
- data/generated/google/apis/logging_v2beta1/classes.rb +760 -731
- data/generated/google/apis/logging_v2beta1/representations.rb +136 -147
- data/generated/google/apis/logging_v2beta1/service.rb +290 -209
- data/generated/google/apis/mirror_v1.rb +2 -2
- data/generated/google/apis/mirror_v1/service.rb +1 -1
- data/generated/google/apis/monitoring_v3.rb +45 -0
- data/generated/google/apis/monitoring_v3/classes.rb +1337 -0
- data/generated/google/apis/monitoring_v3/representations.rb +516 -0
- data/generated/google/apis/monitoring_v3/service.rb +711 -0
- data/generated/google/apis/oauth2_v2.rb +1 -1
- data/generated/google/apis/pagespeedonline_v2.rb +1 -1
- data/generated/google/apis/plus_domains_v1.rb +1 -1
- data/generated/google/apis/plus_v1.rb +1 -1
- data/generated/google/apis/pubsub_v1.rb +1 -1
- data/generated/google/apis/pubsub_v1/classes.rb +10 -9
- data/generated/google/apis/pubsub_v1/service.rb +128 -27
- data/generated/google/apis/qpx_express_v1.rb +1 -1
- data/generated/google/apis/qpx_express_v1/classes.rb +6 -0
- data/generated/google/apis/qpx_express_v1/representations.rb +1 -0
- data/generated/google/apis/replicapool_v1beta2.rb +1 -1
- data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -2
- data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +3 -1
- data/generated/google/apis/script_v1.rb +1 -1
- data/generated/google/apis/script_v1/classes.rb +6 -0
- data/generated/google/apis/script_v1/representations.rb +1 -0
- data/generated/google/apis/sheets_v4.rb +1 -1
- data/generated/google/apis/sheets_v4/classes.rb +910 -89
- data/generated/google/apis/sheets_v4/representations.rb +194 -10
- data/generated/google/apis/sheets_v4/service.rb +216 -49
- data/generated/google/apis/slides_v1.rb +49 -0
- data/generated/google/apis/slides_v1/classes.rb +3926 -0
- data/generated/google/apis/slides_v1/representations.rb +1722 -0
- data/generated/google/apis/slides_v1/service.rb +202 -0
- data/generated/google/apis/speech_v1beta1.rb +34 -0
- data/generated/google/apis/speech_v1beta1/classes.rb +511 -0
- data/generated/google/apis/speech_v1beta1/representations.rb +218 -0
- data/generated/google/apis/speech_v1beta1/service.rb +271 -0
- data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
- data/generated/google/apis/sqladmin_v1beta4/classes.rb +32 -8
- data/generated/google/apis/sqladmin_v1beta4/representations.rb +3 -0
- data/generated/google/apis/sqladmin_v1beta4/service.rb +42 -0
- data/generated/google/apis/storage_v1.rb +1 -1
- data/generated/google/apis/storage_v1/classes.rb +43 -18
- data/generated/google/apis/storage_v1/representations.rb +4 -1
- data/generated/google/apis/storage_v1/service.rb +5 -2
- data/generated/google/apis/translate_v2.rb +2 -2
- data/generated/google/apis/translate_v2/service.rb +1 -1
- data/generated/google/apis/vision_v1.rb +1 -1
- data/generated/google/apis/vision_v1/classes.rb +12 -11
- data/generated/google/apis/youtube_analytics_v1.rb +1 -1
- data/generated/google/apis/youtube_partner_v1.rb +1 -1
- data/generated/google/apis/youtube_partner_v1/classes.rb +6 -0
- data/generated/google/apis/youtube_partner_v1/representations.rb +2 -0
- data/generated/google/apis/youtube_partner_v1/service.rb +15 -3
- data/generated/google/apis/youtube_v3.rb +1 -1
- data/generated/google/apis/youtube_v3/classes.rb +183 -21
- data/generated/google/apis/youtube_v3/representations.rb +85 -4
- data/generated/google/apis/youtube_v3/service.rb +41 -5
- data/generated/google/apis/youtubereporting_v1.rb +1 -1
- data/google-api-client.gemspec +2 -1
- data/lib/google/apis/core/api_command.rb +4 -0
- data/lib/google/apis/core/base_service.rb +10 -4
- data/lib/google/apis/core/download.rb +7 -2
- data/lib/google/apis/core/http_command.rb +5 -1
- data/lib/google/apis/core/upload.rb +7 -1
- data/lib/google/apis/errors.rb +2 -2
- data/lib/google/apis/generator/annotator.rb +6 -0
- data/lib/google/apis/version.rb +1 -1
- data/samples/cli/lib/samples/bigquery.rb +101 -0
- data/samples/cli/lib/samples/sheets.rb +61 -0
- data/sync.rb +71 -0
- metadata +55 -13
|
@@ -2324,6 +2324,250 @@ module Google
|
|
|
2324
2324
|
command.query['userIp'] = user_ip unless user_ip.nil?
|
|
2325
2325
|
execute_or_queue_command(command, &block)
|
|
2326
2326
|
end
|
|
2327
|
+
|
|
2328
|
+
# Retrieves and updates the shipping settings of multiple accounts in a single
|
|
2329
|
+
# request.
|
|
2330
|
+
# @param [Google::Apis::ContentV2::ShippingsettingsCustomBatchRequest] shippingsettings_custom_batch_request_object
|
|
2331
|
+
# @param [Boolean] dry_run
|
|
2332
|
+
# Flag to run the request in dry-run mode.
|
|
2333
|
+
# @param [String] fields
|
|
2334
|
+
# Selector specifying which fields to include in a partial response.
|
|
2335
|
+
# @param [String] quota_user
|
|
2336
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
|
2337
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
2338
|
+
# Overrides userIp if both are provided.
|
|
2339
|
+
# @param [String] user_ip
|
|
2340
|
+
# IP address of the site where the request originates. Use this if you want to
|
|
2341
|
+
# enforce per-user limits.
|
|
2342
|
+
# @param [Google::Apis::RequestOptions] options
|
|
2343
|
+
# Request-specific options
|
|
2344
|
+
#
|
|
2345
|
+
# @yield [result, err] Result & error if block supplied
|
|
2346
|
+
# @yieldparam result [Google::Apis::ContentV2::ShippingsettingsCustomBatchResponse] parsed result object
|
|
2347
|
+
# @yieldparam err [StandardError] error object if request failed
|
|
2348
|
+
#
|
|
2349
|
+
# @return [Google::Apis::ContentV2::ShippingsettingsCustomBatchResponse]
|
|
2350
|
+
#
|
|
2351
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
2352
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
2353
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
2354
|
+
def custombatch_shippingsetting(shippingsettings_custom_batch_request_object = nil, dry_run: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
|
|
2355
|
+
command = make_simple_command(:post, 'shippingsettings/batch', options)
|
|
2356
|
+
command.request_representation = Google::Apis::ContentV2::ShippingsettingsCustomBatchRequest::Representation
|
|
2357
|
+
command.request_object = shippingsettings_custom_batch_request_object
|
|
2358
|
+
command.response_representation = Google::Apis::ContentV2::ShippingsettingsCustomBatchResponse::Representation
|
|
2359
|
+
command.response_class = Google::Apis::ContentV2::ShippingsettingsCustomBatchResponse
|
|
2360
|
+
command.query['dryRun'] = dry_run unless dry_run.nil?
|
|
2361
|
+
command.query['fields'] = fields unless fields.nil?
|
|
2362
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
2363
|
+
command.query['userIp'] = user_ip unless user_ip.nil?
|
|
2364
|
+
execute_or_queue_command(command, &block)
|
|
2365
|
+
end
|
|
2366
|
+
|
|
2367
|
+
# Retrieves the shipping settings of the account.
|
|
2368
|
+
# @param [String] merchant_id
|
|
2369
|
+
# The ID of the managing account.
|
|
2370
|
+
# @param [String] account_id
|
|
2371
|
+
# The ID of the account for which to get/update shipping settings.
|
|
2372
|
+
# @param [String] fields
|
|
2373
|
+
# Selector specifying which fields to include in a partial response.
|
|
2374
|
+
# @param [String] quota_user
|
|
2375
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
|
2376
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
2377
|
+
# Overrides userIp if both are provided.
|
|
2378
|
+
# @param [String] user_ip
|
|
2379
|
+
# IP address of the site where the request originates. Use this if you want to
|
|
2380
|
+
# enforce per-user limits.
|
|
2381
|
+
# @param [Google::Apis::RequestOptions] options
|
|
2382
|
+
# Request-specific options
|
|
2383
|
+
#
|
|
2384
|
+
# @yield [result, err] Result & error if block supplied
|
|
2385
|
+
# @yieldparam result [Google::Apis::ContentV2::ShippingSettings] parsed result object
|
|
2386
|
+
# @yieldparam err [StandardError] error object if request failed
|
|
2387
|
+
#
|
|
2388
|
+
# @return [Google::Apis::ContentV2::ShippingSettings]
|
|
2389
|
+
#
|
|
2390
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
2391
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
2392
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
2393
|
+
def get_shippingsetting(merchant_id, account_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
|
|
2394
|
+
command = make_simple_command(:get, '{merchantId}/shippingsettings/{accountId}', options)
|
|
2395
|
+
command.response_representation = Google::Apis::ContentV2::ShippingSettings::Representation
|
|
2396
|
+
command.response_class = Google::Apis::ContentV2::ShippingSettings
|
|
2397
|
+
command.params['merchantId'] = merchant_id unless merchant_id.nil?
|
|
2398
|
+
command.params['accountId'] = account_id unless account_id.nil?
|
|
2399
|
+
command.query['fields'] = fields unless fields.nil?
|
|
2400
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
2401
|
+
command.query['userIp'] = user_ip unless user_ip.nil?
|
|
2402
|
+
execute_or_queue_command(command, &block)
|
|
2403
|
+
end
|
|
2404
|
+
|
|
2405
|
+
# Retrieves supported carriers and carrier services for an account.
|
|
2406
|
+
# @param [String] merchant_id
|
|
2407
|
+
# The ID of the account for which to retrieve the supported carriers.
|
|
2408
|
+
# @param [String] fields
|
|
2409
|
+
# Selector specifying which fields to include in a partial response.
|
|
2410
|
+
# @param [String] quota_user
|
|
2411
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
|
2412
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
2413
|
+
# Overrides userIp if both are provided.
|
|
2414
|
+
# @param [String] user_ip
|
|
2415
|
+
# IP address of the site where the request originates. Use this if you want to
|
|
2416
|
+
# enforce per-user limits.
|
|
2417
|
+
# @param [Google::Apis::RequestOptions] options
|
|
2418
|
+
# Request-specific options
|
|
2419
|
+
#
|
|
2420
|
+
# @yield [result, err] Result & error if block supplied
|
|
2421
|
+
# @yieldparam result [Google::Apis::ContentV2::ShippingsettingsGetSupportedCarriersResponse] parsed result object
|
|
2422
|
+
# @yieldparam err [StandardError] error object if request failed
|
|
2423
|
+
#
|
|
2424
|
+
# @return [Google::Apis::ContentV2::ShippingsettingsGetSupportedCarriersResponse]
|
|
2425
|
+
#
|
|
2426
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
2427
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
2428
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
2429
|
+
def getsupportedcarriers_shippingsetting(merchant_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
|
|
2430
|
+
command = make_simple_command(:get, '{merchantId}/supportedCarriers', options)
|
|
2431
|
+
command.response_representation = Google::Apis::ContentV2::ShippingsettingsGetSupportedCarriersResponse::Representation
|
|
2432
|
+
command.response_class = Google::Apis::ContentV2::ShippingsettingsGetSupportedCarriersResponse
|
|
2433
|
+
command.params['merchantId'] = merchant_id unless merchant_id.nil?
|
|
2434
|
+
command.query['fields'] = fields unless fields.nil?
|
|
2435
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
2436
|
+
command.query['userIp'] = user_ip unless user_ip.nil?
|
|
2437
|
+
execute_or_queue_command(command, &block)
|
|
2438
|
+
end
|
|
2439
|
+
|
|
2440
|
+
# Lists the shipping settings of the sub-accounts in your Merchant Center
|
|
2441
|
+
# account.
|
|
2442
|
+
# @param [String] merchant_id
|
|
2443
|
+
# The ID of the managing account.
|
|
2444
|
+
# @param [Fixnum] max_results
|
|
2445
|
+
# The maximum number of shipping settings to return in the response, used for
|
|
2446
|
+
# paging.
|
|
2447
|
+
# @param [String] page_token
|
|
2448
|
+
# The token returned by the previous request.
|
|
2449
|
+
# @param [String] fields
|
|
2450
|
+
# Selector specifying which fields to include in a partial response.
|
|
2451
|
+
# @param [String] quota_user
|
|
2452
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
|
2453
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
2454
|
+
# Overrides userIp if both are provided.
|
|
2455
|
+
# @param [String] user_ip
|
|
2456
|
+
# IP address of the site where the request originates. Use this if you want to
|
|
2457
|
+
# enforce per-user limits.
|
|
2458
|
+
# @param [Google::Apis::RequestOptions] options
|
|
2459
|
+
# Request-specific options
|
|
2460
|
+
#
|
|
2461
|
+
# @yield [result, err] Result & error if block supplied
|
|
2462
|
+
# @yieldparam result [Google::Apis::ContentV2::ShippingsettingsListResponse] parsed result object
|
|
2463
|
+
# @yieldparam err [StandardError] error object if request failed
|
|
2464
|
+
#
|
|
2465
|
+
# @return [Google::Apis::ContentV2::ShippingsettingsListResponse]
|
|
2466
|
+
#
|
|
2467
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
2468
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
2469
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
2470
|
+
def list_shippingsettings(merchant_id, max_results: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
|
|
2471
|
+
command = make_simple_command(:get, '{merchantId}/shippingsettings', options)
|
|
2472
|
+
command.response_representation = Google::Apis::ContentV2::ShippingsettingsListResponse::Representation
|
|
2473
|
+
command.response_class = Google::Apis::ContentV2::ShippingsettingsListResponse
|
|
2474
|
+
command.params['merchantId'] = merchant_id unless merchant_id.nil?
|
|
2475
|
+
command.query['maxResults'] = max_results unless max_results.nil?
|
|
2476
|
+
command.query['pageToken'] = page_token unless page_token.nil?
|
|
2477
|
+
command.query['fields'] = fields unless fields.nil?
|
|
2478
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
2479
|
+
command.query['userIp'] = user_ip unless user_ip.nil?
|
|
2480
|
+
execute_or_queue_command(command, &block)
|
|
2481
|
+
end
|
|
2482
|
+
|
|
2483
|
+
# Updates the shipping settings of the account. This method supports patch
|
|
2484
|
+
# semantics.
|
|
2485
|
+
# @param [String] merchant_id
|
|
2486
|
+
# The ID of the managing account.
|
|
2487
|
+
# @param [String] account_id
|
|
2488
|
+
# The ID of the account for which to get/update shipping settings.
|
|
2489
|
+
# @param [Google::Apis::ContentV2::ShippingSettings] shipping_settings_object
|
|
2490
|
+
# @param [Boolean] dry_run
|
|
2491
|
+
# Flag to run the request in dry-run mode.
|
|
2492
|
+
# @param [String] fields
|
|
2493
|
+
# Selector specifying which fields to include in a partial response.
|
|
2494
|
+
# @param [String] quota_user
|
|
2495
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
|
2496
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
2497
|
+
# Overrides userIp if both are provided.
|
|
2498
|
+
# @param [String] user_ip
|
|
2499
|
+
# IP address of the site where the request originates. Use this if you want to
|
|
2500
|
+
# enforce per-user limits.
|
|
2501
|
+
# @param [Google::Apis::RequestOptions] options
|
|
2502
|
+
# Request-specific options
|
|
2503
|
+
#
|
|
2504
|
+
# @yield [result, err] Result & error if block supplied
|
|
2505
|
+
# @yieldparam result [Google::Apis::ContentV2::ShippingSettings] parsed result object
|
|
2506
|
+
# @yieldparam err [StandardError] error object if request failed
|
|
2507
|
+
#
|
|
2508
|
+
# @return [Google::Apis::ContentV2::ShippingSettings]
|
|
2509
|
+
#
|
|
2510
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
2511
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
2512
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
2513
|
+
def patch_shippingsetting(merchant_id, account_id, shipping_settings_object = nil, dry_run: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
|
|
2514
|
+
command = make_simple_command(:patch, '{merchantId}/shippingsettings/{accountId}', options)
|
|
2515
|
+
command.request_representation = Google::Apis::ContentV2::ShippingSettings::Representation
|
|
2516
|
+
command.request_object = shipping_settings_object
|
|
2517
|
+
command.response_representation = Google::Apis::ContentV2::ShippingSettings::Representation
|
|
2518
|
+
command.response_class = Google::Apis::ContentV2::ShippingSettings
|
|
2519
|
+
command.params['merchantId'] = merchant_id unless merchant_id.nil?
|
|
2520
|
+
command.params['accountId'] = account_id unless account_id.nil?
|
|
2521
|
+
command.query['dryRun'] = dry_run unless dry_run.nil?
|
|
2522
|
+
command.query['fields'] = fields unless fields.nil?
|
|
2523
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
2524
|
+
command.query['userIp'] = user_ip unless user_ip.nil?
|
|
2525
|
+
execute_or_queue_command(command, &block)
|
|
2526
|
+
end
|
|
2527
|
+
|
|
2528
|
+
# Updates the shipping settings of the account.
|
|
2529
|
+
# @param [String] merchant_id
|
|
2530
|
+
# The ID of the managing account.
|
|
2531
|
+
# @param [String] account_id
|
|
2532
|
+
# The ID of the account for which to get/update shipping settings.
|
|
2533
|
+
# @param [Google::Apis::ContentV2::ShippingSettings] shipping_settings_object
|
|
2534
|
+
# @param [Boolean] dry_run
|
|
2535
|
+
# Flag to run the request in dry-run mode.
|
|
2536
|
+
# @param [String] fields
|
|
2537
|
+
# Selector specifying which fields to include in a partial response.
|
|
2538
|
+
# @param [String] quota_user
|
|
2539
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
|
2540
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
2541
|
+
# Overrides userIp if both are provided.
|
|
2542
|
+
# @param [String] user_ip
|
|
2543
|
+
# IP address of the site where the request originates. Use this if you want to
|
|
2544
|
+
# enforce per-user limits.
|
|
2545
|
+
# @param [Google::Apis::RequestOptions] options
|
|
2546
|
+
# Request-specific options
|
|
2547
|
+
#
|
|
2548
|
+
# @yield [result, err] Result & error if block supplied
|
|
2549
|
+
# @yieldparam result [Google::Apis::ContentV2::ShippingSettings] parsed result object
|
|
2550
|
+
# @yieldparam err [StandardError] error object if request failed
|
|
2551
|
+
#
|
|
2552
|
+
# @return [Google::Apis::ContentV2::ShippingSettings]
|
|
2553
|
+
#
|
|
2554
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
2555
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
2556
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
2557
|
+
def update_shippingsetting(merchant_id, account_id, shipping_settings_object = nil, dry_run: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
|
|
2558
|
+
command = make_simple_command(:put, '{merchantId}/shippingsettings/{accountId}', options)
|
|
2559
|
+
command.request_representation = Google::Apis::ContentV2::ShippingSettings::Representation
|
|
2560
|
+
command.request_object = shipping_settings_object
|
|
2561
|
+
command.response_representation = Google::Apis::ContentV2::ShippingSettings::Representation
|
|
2562
|
+
command.response_class = Google::Apis::ContentV2::ShippingSettings
|
|
2563
|
+
command.params['merchantId'] = merchant_id unless merchant_id.nil?
|
|
2564
|
+
command.params['accountId'] = account_id unless account_id.nil?
|
|
2565
|
+
command.query['dryRun'] = dry_run unless dry_run.nil?
|
|
2566
|
+
command.query['fields'] = fields unless fields.nil?
|
|
2567
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
2568
|
+
command.query['userIp'] = user_ip unless user_ip.nil?
|
|
2569
|
+
execute_or_queue_command(command, &block)
|
|
2570
|
+
end
|
|
2327
2571
|
|
|
2328
2572
|
protected
|
|
2329
2573
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Copyright 2015 Google Inc.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
require 'google/apis/dataflow_v1b3/service.rb'
|
|
16
|
+
require 'google/apis/dataflow_v1b3/classes.rb'
|
|
17
|
+
require 'google/apis/dataflow_v1b3/representations.rb'
|
|
18
|
+
|
|
19
|
+
module Google
|
|
20
|
+
module Apis
|
|
21
|
+
# Google Dataflow API
|
|
22
|
+
#
|
|
23
|
+
# Develops and executes data processing patterns like ETL, batch computation,
|
|
24
|
+
# and continuous computation.
|
|
25
|
+
#
|
|
26
|
+
# @see https://cloud.google.com/dataflow
|
|
27
|
+
module DataflowV1b3
|
|
28
|
+
VERSION = 'V1b3'
|
|
29
|
+
REVISION = '20160928'
|
|
30
|
+
|
|
31
|
+
# View and manage your data across Google Cloud Platform services
|
|
32
|
+
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
|
|
33
|
+
|
|
34
|
+
# View your email address
|
|
35
|
+
AUTH_USERINFO_EMAIL = 'https://www.googleapis.com/auth/userinfo.email'
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,4053 @@
|
|
|
1
|
+
# Copyright 2015 Google Inc.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
require 'date'
|
|
16
|
+
require 'google/apis/core/base_service'
|
|
17
|
+
require 'google/apis/core/json_representation'
|
|
18
|
+
require 'google/apis/core/hashable'
|
|
19
|
+
require 'google/apis/errors'
|
|
20
|
+
|
|
21
|
+
module Google
|
|
22
|
+
module Apis
|
|
23
|
+
module DataflowV1b3
|
|
24
|
+
|
|
25
|
+
# Request to get updated debug configuration for component.
|
|
26
|
+
class GetDebugConfigRequest
|
|
27
|
+
include Google::Apis::Core::Hashable
|
|
28
|
+
|
|
29
|
+
# The worker id, i.e., VM hostname.
|
|
30
|
+
# Corresponds to the JSON property `workerId`
|
|
31
|
+
# @return [String]
|
|
32
|
+
attr_accessor :worker_id
|
|
33
|
+
|
|
34
|
+
# The internal component id for which debug configuration is requested.
|
|
35
|
+
# Corresponds to the JSON property `componentId`
|
|
36
|
+
# @return [String]
|
|
37
|
+
attr_accessor :component_id
|
|
38
|
+
|
|
39
|
+
def initialize(**args)
|
|
40
|
+
update!(**args)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Update properties of this object
|
|
44
|
+
def update!(**args)
|
|
45
|
+
@worker_id = args[:worker_id] if args.key?(:worker_id)
|
|
46
|
+
@component_id = args[:component_id] if args.key?(:component_id)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Response to a get debug configuration request.
|
|
51
|
+
class GetDebugConfigResponse
|
|
52
|
+
include Google::Apis::Core::Hashable
|
|
53
|
+
|
|
54
|
+
# The encoded debug configuration for the requested component.
|
|
55
|
+
# Corresponds to the JSON property `config`
|
|
56
|
+
# @return [String]
|
|
57
|
+
attr_accessor :config
|
|
58
|
+
|
|
59
|
+
def initialize(**args)
|
|
60
|
+
update!(**args)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Update properties of this object
|
|
64
|
+
def update!(**args)
|
|
65
|
+
@config = args[:config] if args.key?(:config)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# Request to send encoded debug information.
|
|
70
|
+
class SendDebugCaptureRequest
|
|
71
|
+
include Google::Apis::Core::Hashable
|
|
72
|
+
|
|
73
|
+
# The worker id, i.e., VM hostname.
|
|
74
|
+
# Corresponds to the JSON property `workerId`
|
|
75
|
+
# @return [String]
|
|
76
|
+
attr_accessor :worker_id
|
|
77
|
+
|
|
78
|
+
# The internal component id for which debug information is sent.
|
|
79
|
+
# Corresponds to the JSON property `componentId`
|
|
80
|
+
# @return [String]
|
|
81
|
+
attr_accessor :component_id
|
|
82
|
+
|
|
83
|
+
# The encoded debug information.
|
|
84
|
+
# Corresponds to the JSON property `data`
|
|
85
|
+
# @return [String]
|
|
86
|
+
attr_accessor :data
|
|
87
|
+
|
|
88
|
+
def initialize(**args)
|
|
89
|
+
update!(**args)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Update properties of this object
|
|
93
|
+
def update!(**args)
|
|
94
|
+
@worker_id = args[:worker_id] if args.key?(:worker_id)
|
|
95
|
+
@component_id = args[:component_id] if args.key?(:component_id)
|
|
96
|
+
@data = args[:data] if args.key?(:data)
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# Response to a send capture request. nothing
|
|
101
|
+
class SendDebugCaptureResponse
|
|
102
|
+
include Google::Apis::Core::Hashable
|
|
103
|
+
|
|
104
|
+
def initialize(**args)
|
|
105
|
+
update!(**args)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Update properties of this object
|
|
109
|
+
def update!(**args)
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Defines a job to be run by the Dataflow service.
|
|
114
|
+
class Job
|
|
115
|
+
include Google::Apis::Core::Hashable
|
|
116
|
+
|
|
117
|
+
# The unique ID of this job. This field is set by the Dataflow service when the
|
|
118
|
+
# Job is created, and is immutable for the life of the Job.
|
|
119
|
+
# Corresponds to the JSON property `id`
|
|
120
|
+
# @return [String]
|
|
121
|
+
attr_accessor :id
|
|
122
|
+
|
|
123
|
+
# The project which owns the job.
|
|
124
|
+
# Corresponds to the JSON property `projectId`
|
|
125
|
+
# @return [String]
|
|
126
|
+
attr_accessor :project_id
|
|
127
|
+
|
|
128
|
+
# The user-specified Dataflow job name. Only one Job with a given name may exist
|
|
129
|
+
# in a project at any given time. If a caller attempts to create a Job with the
|
|
130
|
+
# same name as an already-existing Job, the attempt will return the existing Job.
|
|
131
|
+
# The name must match the regular expression [a-z]([-a-z0-9]`0,38`[a-z0-9])?
|
|
132
|
+
# Corresponds to the JSON property `name`
|
|
133
|
+
# @return [String]
|
|
134
|
+
attr_accessor :name
|
|
135
|
+
|
|
136
|
+
# The type of dataflow job.
|
|
137
|
+
# Corresponds to the JSON property `type`
|
|
138
|
+
# @return [String]
|
|
139
|
+
attr_accessor :type
|
|
140
|
+
|
|
141
|
+
# Describes the environment in which a Dataflow Job runs.
|
|
142
|
+
# Corresponds to the JSON property `environment`
|
|
143
|
+
# @return [Google::Apis::DataflowV1b3::Environment]
|
|
144
|
+
attr_accessor :environment
|
|
145
|
+
|
|
146
|
+
# The top-level steps that constitute the entire job.
|
|
147
|
+
# Corresponds to the JSON property `steps`
|
|
148
|
+
# @return [Array<Google::Apis::DataflowV1b3::Step>]
|
|
149
|
+
attr_accessor :steps
|
|
150
|
+
|
|
151
|
+
# The current state of the job. Jobs are created in the JOB_STATE_STOPPED state
|
|
152
|
+
# unless otherwise specified. A job in the JOB_STATE_RUNNING state may
|
|
153
|
+
# asynchronously enter a terminal state. Once a job has reached a terminal state,
|
|
154
|
+
# no further state updates may be made. This field may be mutated by the
|
|
155
|
+
# Dataflow service; callers cannot mutate it.
|
|
156
|
+
# Corresponds to the JSON property `currentState`
|
|
157
|
+
# @return [String]
|
|
158
|
+
attr_accessor :current_state
|
|
159
|
+
|
|
160
|
+
# The timestamp associated with the current state.
|
|
161
|
+
# Corresponds to the JSON property `currentStateTime`
|
|
162
|
+
# @return [String]
|
|
163
|
+
attr_accessor :current_state_time
|
|
164
|
+
|
|
165
|
+
# The job's requested state. UpdateJob may be used to switch between the
|
|
166
|
+
# JOB_STATE_STOPPED and JOB_STATE_RUNNING states, by setting requested_state.
|
|
167
|
+
# UpdateJob may also be used to directly set a job's requested state to
|
|
168
|
+
# JOB_STATE_CANCELLED or JOB_STATE_DONE, irrevocably terminating the job if it
|
|
169
|
+
# has not already reached a terminal state.
|
|
170
|
+
# Corresponds to the JSON property `requestedState`
|
|
171
|
+
# @return [String]
|
|
172
|
+
attr_accessor :requested_state
|
|
173
|
+
|
|
174
|
+
# Additional information about how a Dataflow job will be executed which isn’t
|
|
175
|
+
# contained in the submitted job.
|
|
176
|
+
# Corresponds to the JSON property `executionInfo`
|
|
177
|
+
# @return [Google::Apis::DataflowV1b3::JobExecutionInfo]
|
|
178
|
+
attr_accessor :execution_info
|
|
179
|
+
|
|
180
|
+
# Timestamp when job was initially created. Immutable, set by the Dataflow
|
|
181
|
+
# service.
|
|
182
|
+
# Corresponds to the JSON property `createTime`
|
|
183
|
+
# @return [String]
|
|
184
|
+
attr_accessor :create_time
|
|
185
|
+
|
|
186
|
+
# If this job is an update of an existing job, this field will be the ID of the
|
|
187
|
+
# job it replaced. When sending a CreateJobRequest, you can update a job by
|
|
188
|
+
# specifying it here. The job named here will be stopped, and its intermediate
|
|
189
|
+
# state transferred to this job.
|
|
190
|
+
# Corresponds to the JSON property `replaceJobId`
|
|
191
|
+
# @return [String]
|
|
192
|
+
attr_accessor :replace_job_id
|
|
193
|
+
|
|
194
|
+
# Map of transform name prefixes of the job to be replaced to the corresponding
|
|
195
|
+
# name prefixes of the new job.
|
|
196
|
+
# Corresponds to the JSON property `transformNameMapping`
|
|
197
|
+
# @return [Hash<String,String>]
|
|
198
|
+
attr_accessor :transform_name_mapping
|
|
199
|
+
|
|
200
|
+
# Client's unique identifier of the job, re-used by SDK across retried attempts.
|
|
201
|
+
# If this field is set, the service will ensure its uniqueness. That is, the
|
|
202
|
+
# request to create a job will fail if the service has knowledge of a previously
|
|
203
|
+
# submitted job with the same client's id and job name. The caller may, for
|
|
204
|
+
# example, use this field to ensure idempotence of job creation across retried
|
|
205
|
+
# attempts to create a job. By default, the field is empty and, in that case,
|
|
206
|
+
# the service ignores it.
|
|
207
|
+
# Corresponds to the JSON property `clientRequestId`
|
|
208
|
+
# @return [String]
|
|
209
|
+
attr_accessor :client_request_id
|
|
210
|
+
|
|
211
|
+
# If another job is an update of this job (and thus, this job is in
|
|
212
|
+
# JOB_STATE_UPDATED), this field will contain the ID of that job.
|
|
213
|
+
# Corresponds to the JSON property `replacedByJobId`
|
|
214
|
+
# @return [String]
|
|
215
|
+
attr_accessor :replaced_by_job_id
|
|
216
|
+
|
|
217
|
+
# A set of files the system should be aware of that are used for temporary
|
|
218
|
+
# storage. These temporary files will be removed on job completion. No
|
|
219
|
+
# duplicates are allowed. No file patterns are supported. The supported files
|
|
220
|
+
# are: Google Cloud Storage: storage.googleapis.com/`bucket`/`object` bucket.
|
|
221
|
+
# storage.googleapis.com/`object`
|
|
222
|
+
# Corresponds to the JSON property `tempFiles`
|
|
223
|
+
# @return [Array<String>]
|
|
224
|
+
attr_accessor :temp_files
|
|
225
|
+
|
|
226
|
+
# User-defined labels for this job. The labels map can contain no more than 64
|
|
227
|
+
# entries. Entries of the labels map are UTF8 strings that comply with the
|
|
228
|
+
# following restrictions: * Keys must conform to regexp: \p`Ll`\p`Lo``0,62` *
|
|
229
|
+
# Values must conform to regexp: [\p`Ll`\p`Lo`\p`N`_-]`0,63` * Both keys and
|
|
230
|
+
# values are additionally constrained to be <= 128 bytes in size.
|
|
231
|
+
# Corresponds to the JSON property `labels`
|
|
232
|
+
# @return [Hash<String,String>]
|
|
233
|
+
attr_accessor :labels
|
|
234
|
+
|
|
235
|
+
# The location which contains this job.
|
|
236
|
+
# Corresponds to the JSON property `location`
|
|
237
|
+
# @return [String]
|
|
238
|
+
attr_accessor :location
|
|
239
|
+
|
|
240
|
+
def initialize(**args)
|
|
241
|
+
update!(**args)
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
# Update properties of this object
|
|
245
|
+
def update!(**args)
|
|
246
|
+
@id = args[:id] if args.key?(:id)
|
|
247
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
|
248
|
+
@name = args[:name] if args.key?(:name)
|
|
249
|
+
@type = args[:type] if args.key?(:type)
|
|
250
|
+
@environment = args[:environment] if args.key?(:environment)
|
|
251
|
+
@steps = args[:steps] if args.key?(:steps)
|
|
252
|
+
@current_state = args[:current_state] if args.key?(:current_state)
|
|
253
|
+
@current_state_time = args[:current_state_time] if args.key?(:current_state_time)
|
|
254
|
+
@requested_state = args[:requested_state] if args.key?(:requested_state)
|
|
255
|
+
@execution_info = args[:execution_info] if args.key?(:execution_info)
|
|
256
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
|
257
|
+
@replace_job_id = args[:replace_job_id] if args.key?(:replace_job_id)
|
|
258
|
+
@transform_name_mapping = args[:transform_name_mapping] if args.key?(:transform_name_mapping)
|
|
259
|
+
@client_request_id = args[:client_request_id] if args.key?(:client_request_id)
|
|
260
|
+
@replaced_by_job_id = args[:replaced_by_job_id] if args.key?(:replaced_by_job_id)
|
|
261
|
+
@temp_files = args[:temp_files] if args.key?(:temp_files)
|
|
262
|
+
@labels = args[:labels] if args.key?(:labels)
|
|
263
|
+
@location = args[:location] if args.key?(:location)
|
|
264
|
+
end
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
# Describes the environment in which a Dataflow Job runs.
|
|
268
|
+
class Environment
|
|
269
|
+
include Google::Apis::Core::Hashable
|
|
270
|
+
|
|
271
|
+
# The prefix of the resources the system should use for temporary storage. The
|
|
272
|
+
# system will append the suffix "/temp-`JOBNAME` to this resource prefix, where `
|
|
273
|
+
# JOBNAME` is the value of the job_name field. The resulting bucket and object
|
|
274
|
+
# prefix is used as the prefix of the resources used to store temporary data
|
|
275
|
+
# needed during the job execution. NOTE: This will override the value in
|
|
276
|
+
# taskrunner_settings. The supported resource type is: Google Cloud Storage:
|
|
277
|
+
# storage.googleapis.com/`bucket`/`object` bucket.storage.googleapis.com/`object`
|
|
278
|
+
# Corresponds to the JSON property `tempStoragePrefix`
|
|
279
|
+
# @return [String]
|
|
280
|
+
attr_accessor :temp_storage_prefix
|
|
281
|
+
|
|
282
|
+
# The type of cluster manager API to use. If unknown or unspecified, the service
|
|
283
|
+
# will attempt to choose a reasonable default. This should be in the form of the
|
|
284
|
+
# API service name, e.g. "compute.googleapis.com".
|
|
285
|
+
# Corresponds to the JSON property `clusterManagerApiService`
|
|
286
|
+
# @return [String]
|
|
287
|
+
attr_accessor :cluster_manager_api_service
|
|
288
|
+
|
|
289
|
+
# The list of experiments to enable.
|
|
290
|
+
# Corresponds to the JSON property `experiments`
|
|
291
|
+
# @return [Array<String>]
|
|
292
|
+
attr_accessor :experiments
|
|
293
|
+
|
|
294
|
+
# Worker pools. At least one "harness" worker pool must be specified in order
|
|
295
|
+
# for the job to have workers.
|
|
296
|
+
# Corresponds to the JSON property `workerPools`
|
|
297
|
+
# @return [Array<Google::Apis::DataflowV1b3::WorkerPool>]
|
|
298
|
+
attr_accessor :worker_pools
|
|
299
|
+
|
|
300
|
+
# A description of the process that generated the request.
|
|
301
|
+
# Corresponds to the JSON property `userAgent`
|
|
302
|
+
# @return [Hash<String,Object>]
|
|
303
|
+
attr_accessor :user_agent
|
|
304
|
+
|
|
305
|
+
# A structure describing which components and their versions of the service are
|
|
306
|
+
# required in order to run the job.
|
|
307
|
+
# Corresponds to the JSON property `version`
|
|
308
|
+
# @return [Hash<String,Object>]
|
|
309
|
+
attr_accessor :version
|
|
310
|
+
|
|
311
|
+
# The dataset for the current project where various workflow related tables are
|
|
312
|
+
# stored. The supported resource type is: Google BigQuery: bigquery.googleapis.
|
|
313
|
+
# com/`dataset`
|
|
314
|
+
# Corresponds to the JSON property `dataset`
|
|
315
|
+
# @return [String]
|
|
316
|
+
attr_accessor :dataset
|
|
317
|
+
|
|
318
|
+
# The Dataflow SDK pipeline options specified by the user. These options are
|
|
319
|
+
# passed through the service and are used to recreate the SDK pipeline options
|
|
320
|
+
# on the worker in a language agnostic and platform independent way.
|
|
321
|
+
# Corresponds to the JSON property `sdkPipelineOptions`
|
|
322
|
+
# @return [Hash<String,Object>]
|
|
323
|
+
attr_accessor :sdk_pipeline_options
|
|
324
|
+
|
|
325
|
+
# Experimental settings.
|
|
326
|
+
# Corresponds to the JSON property `internalExperiments`
|
|
327
|
+
# @return [Hash<String,Object>]
|
|
328
|
+
attr_accessor :internal_experiments
|
|
329
|
+
|
|
330
|
+
# Identity to run virtual machines as. Defaults to the default account.
|
|
331
|
+
# Corresponds to the JSON property `serviceAccountEmail`
|
|
332
|
+
# @return [String]
|
|
333
|
+
attr_accessor :service_account_email
|
|
334
|
+
|
|
335
|
+
def initialize(**args)
|
|
336
|
+
update!(**args)
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
# Update properties of this object
|
|
340
|
+
def update!(**args)
|
|
341
|
+
@temp_storage_prefix = args[:temp_storage_prefix] if args.key?(:temp_storage_prefix)
|
|
342
|
+
@cluster_manager_api_service = args[:cluster_manager_api_service] if args.key?(:cluster_manager_api_service)
|
|
343
|
+
@experiments = args[:experiments] if args.key?(:experiments)
|
|
344
|
+
@worker_pools = args[:worker_pools] if args.key?(:worker_pools)
|
|
345
|
+
@user_agent = args[:user_agent] if args.key?(:user_agent)
|
|
346
|
+
@version = args[:version] if args.key?(:version)
|
|
347
|
+
@dataset = args[:dataset] if args.key?(:dataset)
|
|
348
|
+
@sdk_pipeline_options = args[:sdk_pipeline_options] if args.key?(:sdk_pipeline_options)
|
|
349
|
+
@internal_experiments = args[:internal_experiments] if args.key?(:internal_experiments)
|
|
350
|
+
@service_account_email = args[:service_account_email] if args.key?(:service_account_email)
|
|
351
|
+
end
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
# Describes one particular pool of Dataflow workers to be instantiated by the
|
|
355
|
+
# Dataflow service in order to perform the computations required by a job. Note
|
|
356
|
+
# that a workflow job may use multiple pools, in order to match the various
|
|
357
|
+
# computational requirements of the various stages of the job.
|
|
358
|
+
class WorkerPool
|
|
359
|
+
include Google::Apis::Core::Hashable
|
|
360
|
+
|
|
361
|
+
# The kind of the worker pool; currently only 'harness' and 'shuffle' are
|
|
362
|
+
# supported.
|
|
363
|
+
# Corresponds to the JSON property `kind`
|
|
364
|
+
# @return [String]
|
|
365
|
+
attr_accessor :kind
|
|
366
|
+
|
|
367
|
+
# Number of Google Compute Engine workers in this pool needed to execute the job.
|
|
368
|
+
# If zero or unspecified, the service will attempt to choose a reasonable
|
|
369
|
+
# default.
|
|
370
|
+
# Corresponds to the JSON property `numWorkers`
|
|
371
|
+
# @return [Fixnum]
|
|
372
|
+
attr_accessor :num_workers
|
|
373
|
+
|
|
374
|
+
# Packages to be installed on workers.
|
|
375
|
+
# Corresponds to the JSON property `packages`
|
|
376
|
+
# @return [Array<Google::Apis::DataflowV1b3::Package>]
|
|
377
|
+
attr_accessor :packages
|
|
378
|
+
|
|
379
|
+
# The default package set to install. This allows the service to select a
|
|
380
|
+
# default set of packages which are useful to worker harnesses written in a
|
|
381
|
+
# particular language.
|
|
382
|
+
# Corresponds to the JSON property `defaultPackageSet`
|
|
383
|
+
# @return [String]
|
|
384
|
+
attr_accessor :default_package_set
|
|
385
|
+
|
|
386
|
+
# Machine type (e.g. "n1-standard-1"). If empty or unspecified, the service will
|
|
387
|
+
# attempt to choose a reasonable default.
|
|
388
|
+
# Corresponds to the JSON property `machineType`
|
|
389
|
+
# @return [String]
|
|
390
|
+
attr_accessor :machine_type
|
|
391
|
+
|
|
392
|
+
# Sets the policy for determining when to turndown worker pool. Allowed values
|
|
393
|
+
# are: TEARDOWN_ALWAYS, TEARDOWN_ON_SUCCESS, and TEARDOWN_NEVER. TEARDOWN_ALWAYS
|
|
394
|
+
# means workers are always torn down regardless of whether the job succeeds.
|
|
395
|
+
# TEARDOWN_ON_SUCCESS means workers are torn down if the job succeeds.
|
|
396
|
+
# TEARDOWN_NEVER means the workers are never torn down. If the workers are not
|
|
397
|
+
# torn down by the service, they will continue to run and use Google Compute
|
|
398
|
+
# Engine VM resources in the user's project until they are explicitly terminated
|
|
399
|
+
# by the user. Because of this, Google recommends using the TEARDOWN_ALWAYS
|
|
400
|
+
# policy except for small, manually supervised test jobs. If unknown or
|
|
401
|
+
# unspecified, the service will attempt to choose a reasonable default.
|
|
402
|
+
# Corresponds to the JSON property `teardownPolicy`
|
|
403
|
+
# @return [String]
|
|
404
|
+
attr_accessor :teardown_policy
|
|
405
|
+
|
|
406
|
+
# Size of root disk for VMs, in GB. If zero or unspecified, the service will
|
|
407
|
+
# attempt to choose a reasonable default.
|
|
408
|
+
# Corresponds to the JSON property `diskSizeGb`
|
|
409
|
+
# @return [Fixnum]
|
|
410
|
+
attr_accessor :disk_size_gb
|
|
411
|
+
|
|
412
|
+
# Type of root disk for VMs. If empty or unspecified, the service will attempt
|
|
413
|
+
# to choose a reasonable default.
|
|
414
|
+
# Corresponds to the JSON property `diskType`
|
|
415
|
+
# @return [String]
|
|
416
|
+
attr_accessor :disk_type
|
|
417
|
+
|
|
418
|
+
# Fully qualified source image for disks.
|
|
419
|
+
# Corresponds to the JSON property `diskSourceImage`
|
|
420
|
+
# @return [String]
|
|
421
|
+
attr_accessor :disk_source_image
|
|
422
|
+
|
|
423
|
+
# Zone to run the worker pools in. If empty or unspecified, the service will
|
|
424
|
+
# attempt to choose a reasonable default.
|
|
425
|
+
# Corresponds to the JSON property `zone`
|
|
426
|
+
# @return [String]
|
|
427
|
+
attr_accessor :zone
|
|
428
|
+
|
|
429
|
+
# Taskrunner configuration settings.
|
|
430
|
+
# Corresponds to the JSON property `taskrunnerSettings`
|
|
431
|
+
# @return [Google::Apis::DataflowV1b3::TaskRunnerSettings]
|
|
432
|
+
attr_accessor :taskrunner_settings
|
|
433
|
+
|
|
434
|
+
# The action to take on host maintenance, as defined by the Google Compute
|
|
435
|
+
# Engine API.
|
|
436
|
+
# Corresponds to the JSON property `onHostMaintenance`
|
|
437
|
+
# @return [String]
|
|
438
|
+
attr_accessor :on_host_maintenance
|
|
439
|
+
|
|
440
|
+
# Data disks that are used by a VM in this workflow.
|
|
441
|
+
# Corresponds to the JSON property `dataDisks`
|
|
442
|
+
# @return [Array<Google::Apis::DataflowV1b3::Disk>]
|
|
443
|
+
attr_accessor :data_disks
|
|
444
|
+
|
|
445
|
+
# Metadata to set on the Google Compute Engine VMs.
|
|
446
|
+
# Corresponds to the JSON property `metadata`
|
|
447
|
+
# @return [Hash<String,String>]
|
|
448
|
+
attr_accessor :metadata
|
|
449
|
+
|
|
450
|
+
# Settings for WorkerPool autoscaling.
|
|
451
|
+
# Corresponds to the JSON property `autoscalingSettings`
|
|
452
|
+
# @return [Google::Apis::DataflowV1b3::AutoscalingSettings]
|
|
453
|
+
attr_accessor :autoscaling_settings
|
|
454
|
+
|
|
455
|
+
# Extra arguments for this worker pool.
|
|
456
|
+
# Corresponds to the JSON property `poolArgs`
|
|
457
|
+
# @return [Hash<String,Object>]
|
|
458
|
+
attr_accessor :pool_args
|
|
459
|
+
|
|
460
|
+
# Network to which VMs will be assigned. If empty or unspecified, the service
|
|
461
|
+
# will use the network "default".
|
|
462
|
+
# Corresponds to the JSON property `network`
|
|
463
|
+
# @return [String]
|
|
464
|
+
attr_accessor :network
|
|
465
|
+
|
|
466
|
+
# Subnetwork to which VMs will be assigned, if desired. Expected to be of the
|
|
467
|
+
# form "regions/REGION/subnetworks/SUBNETWORK".
|
|
468
|
+
# Corresponds to the JSON property `subnetwork`
|
|
469
|
+
# @return [String]
|
|
470
|
+
attr_accessor :subnetwork
|
|
471
|
+
|
|
472
|
+
# Docker container image that executes Dataflow worker harness, residing in
|
|
473
|
+
# Google Container Registry. Required.
|
|
474
|
+
# Corresponds to the JSON property `workerHarnessContainerImage`
|
|
475
|
+
# @return [String]
|
|
476
|
+
attr_accessor :worker_harness_container_image
|
|
477
|
+
|
|
478
|
+
# The number of threads per worker harness. If empty or unspecified, the service
|
|
479
|
+
# will choose a number of threads (according to the number of cores on the
|
|
480
|
+
# selected machine type for batch, or 1 by convention for streaming).
|
|
481
|
+
# Corresponds to the JSON property `numThreadsPerWorker`
|
|
482
|
+
# @return [Fixnum]
|
|
483
|
+
attr_accessor :num_threads_per_worker
|
|
484
|
+
|
|
485
|
+
# Configuration for VM IPs.
|
|
486
|
+
# Corresponds to the JSON property `ipConfiguration`
|
|
487
|
+
# @return [String]
|
|
488
|
+
attr_accessor :ip_configuration
|
|
489
|
+
|
|
490
|
+
def initialize(**args)
|
|
491
|
+
update!(**args)
|
|
492
|
+
end
|
|
493
|
+
|
|
494
|
+
# Update properties of this object
|
|
495
|
+
def update!(**args)
|
|
496
|
+
@kind = args[:kind] if args.key?(:kind)
|
|
497
|
+
@num_workers = args[:num_workers] if args.key?(:num_workers)
|
|
498
|
+
@packages = args[:packages] if args.key?(:packages)
|
|
499
|
+
@default_package_set = args[:default_package_set] if args.key?(:default_package_set)
|
|
500
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
|
501
|
+
@teardown_policy = args[:teardown_policy] if args.key?(:teardown_policy)
|
|
502
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
503
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
|
504
|
+
@disk_source_image = args[:disk_source_image] if args.key?(:disk_source_image)
|
|
505
|
+
@zone = args[:zone] if args.key?(:zone)
|
|
506
|
+
@taskrunner_settings = args[:taskrunner_settings] if args.key?(:taskrunner_settings)
|
|
507
|
+
@on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
|
|
508
|
+
@data_disks = args[:data_disks] if args.key?(:data_disks)
|
|
509
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
|
510
|
+
@autoscaling_settings = args[:autoscaling_settings] if args.key?(:autoscaling_settings)
|
|
511
|
+
@pool_args = args[:pool_args] if args.key?(:pool_args)
|
|
512
|
+
@network = args[:network] if args.key?(:network)
|
|
513
|
+
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
514
|
+
@worker_harness_container_image = args[:worker_harness_container_image] if args.key?(:worker_harness_container_image)
|
|
515
|
+
@num_threads_per_worker = args[:num_threads_per_worker] if args.key?(:num_threads_per_worker)
|
|
516
|
+
@ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
|
|
517
|
+
end
|
|
518
|
+
end
|
|
519
|
+
|
|
520
|
+
# Packages that need to be installed in order for a worker to run the steps of
|
|
521
|
+
# the Dataflow job which will be assigned to its worker pool. This is the
|
|
522
|
+
# mechanism by which the SDK causes code to be loaded onto the workers. For
|
|
523
|
+
# example, the Dataflow Java SDK might use this to install jars containing the
|
|
524
|
+
# user's code and all of the various dependencies (libraries, data files, etc)
|
|
525
|
+
# required in order for that code to run.
|
|
526
|
+
class Package
|
|
527
|
+
include Google::Apis::Core::Hashable
|
|
528
|
+
|
|
529
|
+
# The name of the package.
|
|
530
|
+
# Corresponds to the JSON property `name`
|
|
531
|
+
# @return [String]
|
|
532
|
+
attr_accessor :name
|
|
533
|
+
|
|
534
|
+
# The resource to read the package from. The supported resource type is: Google
|
|
535
|
+
# Cloud Storage: storage.googleapis.com/`bucket` bucket.storage.googleapis.com/
|
|
536
|
+
# Corresponds to the JSON property `location`
|
|
537
|
+
# @return [String]
|
|
538
|
+
attr_accessor :location
|
|
539
|
+
|
|
540
|
+
def initialize(**args)
|
|
541
|
+
update!(**args)
|
|
542
|
+
end
|
|
543
|
+
|
|
544
|
+
# Update properties of this object
|
|
545
|
+
def update!(**args)
|
|
546
|
+
@name = args[:name] if args.key?(:name)
|
|
547
|
+
@location = args[:location] if args.key?(:location)
|
|
548
|
+
end
|
|
549
|
+
end
|
|
550
|
+
|
|
551
|
+
# Taskrunner configuration settings.
|
|
552
|
+
class TaskRunnerSettings
|
|
553
|
+
include Google::Apis::Core::Hashable
|
|
554
|
+
|
|
555
|
+
# The UNIX user ID on the worker VM to use for tasks launched by taskrunner; e.g.
|
|
556
|
+
# "root".
|
|
557
|
+
# Corresponds to the JSON property `taskUser`
|
|
558
|
+
# @return [String]
|
|
559
|
+
attr_accessor :task_user
|
|
560
|
+
|
|
561
|
+
# The UNIX group ID on the worker VM to use for tasks launched by taskrunner; e.
|
|
562
|
+
# g. "wheel".
|
|
563
|
+
# Corresponds to the JSON property `taskGroup`
|
|
564
|
+
# @return [String]
|
|
565
|
+
attr_accessor :task_group
|
|
566
|
+
|
|
567
|
+
# OAuth2 scopes to be requested by the taskrunner in order to access the
|
|
568
|
+
# dataflow API.
|
|
569
|
+
# Corresponds to the JSON property `oauthScopes`
|
|
570
|
+
# @return [Array<String>]
|
|
571
|
+
attr_accessor :oauth_scopes
|
|
572
|
+
|
|
573
|
+
# The base URL for the taskrunner to use when accessing Google Cloud APIs. When
|
|
574
|
+
# workers access Google Cloud APIs, they logically do so via relative URLs. If
|
|
575
|
+
# this field is specified, it supplies the base URL to use for resolving these
|
|
576
|
+
# relative URLs. The normative algorithm used is defined by RFC 1808, "Relative
|
|
577
|
+
# Uniform Resource Locators". If not specified, the default value is "http://www.
|
|
578
|
+
# googleapis.com/"
|
|
579
|
+
# Corresponds to the JSON property `baseUrl`
|
|
580
|
+
# @return [String]
|
|
581
|
+
attr_accessor :base_url
|
|
582
|
+
|
|
583
|
+
# API version of endpoint, e.g. "v1b3"
|
|
584
|
+
# Corresponds to the JSON property `dataflowApiVersion`
|
|
585
|
+
# @return [String]
|
|
586
|
+
attr_accessor :dataflow_api_version
|
|
587
|
+
|
|
588
|
+
# Provides data to pass through to the worker harness.
|
|
589
|
+
# Corresponds to the JSON property `parallelWorkerSettings`
|
|
590
|
+
# @return [Google::Apis::DataflowV1b3::WorkerSettings]
|
|
591
|
+
attr_accessor :parallel_worker_settings
|
|
592
|
+
|
|
593
|
+
# Location on the worker for task-specific subdirectories.
|
|
594
|
+
# Corresponds to the JSON property `baseTaskDir`
|
|
595
|
+
# @return [String]
|
|
596
|
+
attr_accessor :base_task_dir
|
|
597
|
+
|
|
598
|
+
# Do we continue taskrunner if an exception is hit?
|
|
599
|
+
# Corresponds to the JSON property `continueOnException`
|
|
600
|
+
# @return [Boolean]
|
|
601
|
+
attr_accessor :continue_on_exception
|
|
602
|
+
alias_method :continue_on_exception?, :continue_on_exception
|
|
603
|
+
|
|
604
|
+
# Send taskrunner log into to Google Compute Engine VM serial console?
|
|
605
|
+
# Corresponds to the JSON property `logToSerialconsole`
|
|
606
|
+
# @return [Boolean]
|
|
607
|
+
attr_accessor :log_to_serialconsole
|
|
608
|
+
alias_method :log_to_serialconsole?, :log_to_serialconsole
|
|
609
|
+
|
|
610
|
+
# Also send taskrunner log info to stderr?
|
|
611
|
+
# Corresponds to the JSON property `alsologtostderr`
|
|
612
|
+
# @return [Boolean]
|
|
613
|
+
attr_accessor :alsologtostderr
|
|
614
|
+
alias_method :alsologtostderr?, :alsologtostderr
|
|
615
|
+
|
|
616
|
+
# Indicates where to put logs. If this is not specified, the logs will not be
|
|
617
|
+
# uploaded. The supported resource type is: Google Cloud Storage: storage.
|
|
618
|
+
# googleapis.com/`bucket`/`object` bucket.storage.googleapis.com/`object`
|
|
619
|
+
# Corresponds to the JSON property `logUploadLocation`
|
|
620
|
+
# @return [String]
|
|
621
|
+
attr_accessor :log_upload_location
|
|
622
|
+
|
|
623
|
+
# Directory on the VM to store logs.
|
|
624
|
+
# Corresponds to the JSON property `logDir`
|
|
625
|
+
# @return [String]
|
|
626
|
+
attr_accessor :log_dir
|
|
627
|
+
|
|
628
|
+
# The prefix of the resources the taskrunner should use for temporary storage.
|
|
629
|
+
# The supported resource type is: Google Cloud Storage: storage.googleapis.com/`
|
|
630
|
+
# bucket`/`object` bucket.storage.googleapis.com/`object`
|
|
631
|
+
# Corresponds to the JSON property `tempStoragePrefix`
|
|
632
|
+
# @return [String]
|
|
633
|
+
attr_accessor :temp_storage_prefix
|
|
634
|
+
|
|
635
|
+
# Command to launch the worker harness.
|
|
636
|
+
# Corresponds to the JSON property `harnessCommand`
|
|
637
|
+
# @return [String]
|
|
638
|
+
attr_accessor :harness_command
|
|
639
|
+
|
|
640
|
+
# Store the workflow in this file.
|
|
641
|
+
# Corresponds to the JSON property `workflowFileName`
|
|
642
|
+
# @return [String]
|
|
643
|
+
attr_accessor :workflow_file_name
|
|
644
|
+
|
|
645
|
+
# Store preprocessing commands in this file.
|
|
646
|
+
# Corresponds to the JSON property `commandlinesFileName`
|
|
647
|
+
# @return [String]
|
|
648
|
+
attr_accessor :commandlines_file_name
|
|
649
|
+
|
|
650
|
+
# ID string of VM.
|
|
651
|
+
# Corresponds to the JSON property `vmId`
|
|
652
|
+
# @return [String]
|
|
653
|
+
attr_accessor :vm_id
|
|
654
|
+
|
|
655
|
+
# Suggested backend language.
|
|
656
|
+
# Corresponds to the JSON property `languageHint`
|
|
657
|
+
# @return [String]
|
|
658
|
+
attr_accessor :language_hint
|
|
659
|
+
|
|
660
|
+
# Streaming worker main class name.
|
|
661
|
+
# Corresponds to the JSON property `streamingWorkerMainClass`
|
|
662
|
+
# @return [String]
|
|
663
|
+
attr_accessor :streaming_worker_main_class
|
|
664
|
+
|
|
665
|
+
def initialize(**args)
|
|
666
|
+
update!(**args)
|
|
667
|
+
end
|
|
668
|
+
|
|
669
|
+
# Update properties of this object
|
|
670
|
+
def update!(**args)
|
|
671
|
+
@task_user = args[:task_user] if args.key?(:task_user)
|
|
672
|
+
@task_group = args[:task_group] if args.key?(:task_group)
|
|
673
|
+
@oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
|
|
674
|
+
@base_url = args[:base_url] if args.key?(:base_url)
|
|
675
|
+
@dataflow_api_version = args[:dataflow_api_version] if args.key?(:dataflow_api_version)
|
|
676
|
+
@parallel_worker_settings = args[:parallel_worker_settings] if args.key?(:parallel_worker_settings)
|
|
677
|
+
@base_task_dir = args[:base_task_dir] if args.key?(:base_task_dir)
|
|
678
|
+
@continue_on_exception = args[:continue_on_exception] if args.key?(:continue_on_exception)
|
|
679
|
+
@log_to_serialconsole = args[:log_to_serialconsole] if args.key?(:log_to_serialconsole)
|
|
680
|
+
@alsologtostderr = args[:alsologtostderr] if args.key?(:alsologtostderr)
|
|
681
|
+
@log_upload_location = args[:log_upload_location] if args.key?(:log_upload_location)
|
|
682
|
+
@log_dir = args[:log_dir] if args.key?(:log_dir)
|
|
683
|
+
@temp_storage_prefix = args[:temp_storage_prefix] if args.key?(:temp_storage_prefix)
|
|
684
|
+
@harness_command = args[:harness_command] if args.key?(:harness_command)
|
|
685
|
+
@workflow_file_name = args[:workflow_file_name] if args.key?(:workflow_file_name)
|
|
686
|
+
@commandlines_file_name = args[:commandlines_file_name] if args.key?(:commandlines_file_name)
|
|
687
|
+
@vm_id = args[:vm_id] if args.key?(:vm_id)
|
|
688
|
+
@language_hint = args[:language_hint] if args.key?(:language_hint)
|
|
689
|
+
@streaming_worker_main_class = args[:streaming_worker_main_class] if args.key?(:streaming_worker_main_class)
|
|
690
|
+
end
|
|
691
|
+
end
|
|
692
|
+
|
|
693
|
+
# Provides data to pass through to the worker harness.
|
|
694
|
+
class WorkerSettings
|
|
695
|
+
include Google::Apis::Core::Hashable
|
|
696
|
+
|
|
697
|
+
# The base URL for accessing Google Cloud APIs. When workers access Google Cloud
|
|
698
|
+
# APIs, they logically do so via relative URLs. If this field is specified, it
|
|
699
|
+
# supplies the base URL to use for resolving these relative URLs. The normative
|
|
700
|
+
# algorithm used is defined by RFC 1808, "Relative Uniform Resource Locators".
|
|
701
|
+
# If not specified, the default value is "http://www.googleapis.com/"
|
|
702
|
+
# Corresponds to the JSON property `baseUrl`
|
|
703
|
+
# @return [String]
|
|
704
|
+
attr_accessor :base_url
|
|
705
|
+
|
|
706
|
+
# Send work progress updates to service.
|
|
707
|
+
# Corresponds to the JSON property `reportingEnabled`
|
|
708
|
+
# @return [Boolean]
|
|
709
|
+
attr_accessor :reporting_enabled
|
|
710
|
+
alias_method :reporting_enabled?, :reporting_enabled
|
|
711
|
+
|
|
712
|
+
# The Dataflow service path relative to the root URL, for example, "dataflow/
|
|
713
|
+
# v1b3/projects".
|
|
714
|
+
# Corresponds to the JSON property `servicePath`
|
|
715
|
+
# @return [String]
|
|
716
|
+
attr_accessor :service_path
|
|
717
|
+
|
|
718
|
+
# The Shuffle service path relative to the root URL, for example, "shuffle/
|
|
719
|
+
# v1beta1".
|
|
720
|
+
# Corresponds to the JSON property `shuffleServicePath`
|
|
721
|
+
# @return [String]
|
|
722
|
+
attr_accessor :shuffle_service_path
|
|
723
|
+
|
|
724
|
+
# ID of the worker running this pipeline.
|
|
725
|
+
# Corresponds to the JSON property `workerId`
|
|
726
|
+
# @return [String]
|
|
727
|
+
attr_accessor :worker_id
|
|
728
|
+
|
|
729
|
+
# The prefix of the resources the system should use for temporary storage. The
|
|
730
|
+
# supported resource type is: Google Cloud Storage: storage.googleapis.com/`
|
|
731
|
+
# bucket`/`object` bucket.storage.googleapis.com/`object`
|
|
732
|
+
# Corresponds to the JSON property `tempStoragePrefix`
|
|
733
|
+
# @return [String]
|
|
734
|
+
attr_accessor :temp_storage_prefix
|
|
735
|
+
|
|
736
|
+
def initialize(**args)
|
|
737
|
+
update!(**args)
|
|
738
|
+
end
|
|
739
|
+
|
|
740
|
+
# Update properties of this object
|
|
741
|
+
def update!(**args)
|
|
742
|
+
@base_url = args[:base_url] if args.key?(:base_url)
|
|
743
|
+
@reporting_enabled = args[:reporting_enabled] if args.key?(:reporting_enabled)
|
|
744
|
+
@service_path = args[:service_path] if args.key?(:service_path)
|
|
745
|
+
@shuffle_service_path = args[:shuffle_service_path] if args.key?(:shuffle_service_path)
|
|
746
|
+
@worker_id = args[:worker_id] if args.key?(:worker_id)
|
|
747
|
+
@temp_storage_prefix = args[:temp_storage_prefix] if args.key?(:temp_storage_prefix)
|
|
748
|
+
end
|
|
749
|
+
end
|
|
750
|
+
|
|
751
|
+
# Describes the data disk used by a workflow job.
|
|
752
|
+
class Disk
|
|
753
|
+
include Google::Apis::Core::Hashable
|
|
754
|
+
|
|
755
|
+
# Size of disk in GB. If zero or unspecified, the service will attempt to choose
|
|
756
|
+
# a reasonable default.
|
|
757
|
+
# Corresponds to the JSON property `sizeGb`
|
|
758
|
+
# @return [Fixnum]
|
|
759
|
+
attr_accessor :size_gb
|
|
760
|
+
|
|
761
|
+
# Disk storage type, as defined by Google Compute Engine. This must be a disk
|
|
762
|
+
# type appropriate to the project and zone in which the workers will run. If
|
|
763
|
+
# unknown or unspecified, the service will attempt to choose a reasonable
|
|
764
|
+
# default. For example, the standard persistent disk type is a resource name
|
|
765
|
+
# typically ending in "pd-standard". If SSD persistent disks are available, the
|
|
766
|
+
# resource name typically ends with "pd-ssd". The actual valid values are
|
|
767
|
+
# defined the Google Compute Engine API, not by the Dataflow API; consult the
|
|
768
|
+
# Google Compute Engine documentation for more information about determining the
|
|
769
|
+
# set of available disk types for a particular project and zone. Google Compute
|
|
770
|
+
# Engine Disk types are local to a particular project in a particular zone, and
|
|
771
|
+
# so the resource name will typically look something like this: compute.
|
|
772
|
+
# googleapis.com/projects/
|
|
773
|
+
# /zones//diskTypes/pd-standard
|
|
774
|
+
# Corresponds to the JSON property `diskType`
|
|
775
|
+
# @return [String]
|
|
776
|
+
attr_accessor :disk_type
|
|
777
|
+
|
|
778
|
+
# Directory in a VM where disk is mounted.
|
|
779
|
+
# Corresponds to the JSON property `mountPoint`
|
|
780
|
+
# @return [String]
|
|
781
|
+
attr_accessor :mount_point
|
|
782
|
+
|
|
783
|
+
def initialize(**args)
|
|
784
|
+
update!(**args)
|
|
785
|
+
end
|
|
786
|
+
|
|
787
|
+
# Update properties of this object
|
|
788
|
+
def update!(**args)
|
|
789
|
+
@size_gb = args[:size_gb] if args.key?(:size_gb)
|
|
790
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
|
791
|
+
@mount_point = args[:mount_point] if args.key?(:mount_point)
|
|
792
|
+
end
|
|
793
|
+
end
|
|
794
|
+
|
|
795
|
+
# Settings for WorkerPool autoscaling.
|
|
796
|
+
class AutoscalingSettings
|
|
797
|
+
include Google::Apis::Core::Hashable
|
|
798
|
+
|
|
799
|
+
# The algorithm to use for autoscaling.
|
|
800
|
+
# Corresponds to the JSON property `algorithm`
|
|
801
|
+
# @return [String]
|
|
802
|
+
attr_accessor :algorithm
|
|
803
|
+
|
|
804
|
+
# The maximum number of workers to cap scaling at.
|
|
805
|
+
# Corresponds to the JSON property `maxNumWorkers`
|
|
806
|
+
# @return [Fixnum]
|
|
807
|
+
attr_accessor :max_num_workers
|
|
808
|
+
|
|
809
|
+
def initialize(**args)
|
|
810
|
+
update!(**args)
|
|
811
|
+
end
|
|
812
|
+
|
|
813
|
+
# Update properties of this object
|
|
814
|
+
def update!(**args)
|
|
815
|
+
@algorithm = args[:algorithm] if args.key?(:algorithm)
|
|
816
|
+
@max_num_workers = args[:max_num_workers] if args.key?(:max_num_workers)
|
|
817
|
+
end
|
|
818
|
+
end
|
|
819
|
+
|
|
820
|
+
# Defines a particular step within a Dataflow job. A job consists of multiple
|
|
821
|
+
# steps, each of which performs some specific operation as part of the overall
|
|
822
|
+
# job. Data is typically passed from one step to another as part of the job.
|
|
823
|
+
# Here's an example of a sequence of steps which together implement a Map-Reduce
|
|
824
|
+
# job: * Read a collection of data from some source, parsing the collection's
|
|
825
|
+
# elements. * Validate the elements. * Apply a user-defined function to map each
|
|
826
|
+
# element to some value and extract an element-specific key value. * Group
|
|
827
|
+
# elements with the same key into a single element with that key, transforming a
|
|
828
|
+
# multiply-keyed collection into a uniquely-keyed collection. * Write the
|
|
829
|
+
# elements out to some data sink. (Note that the Dataflow service may be used to
|
|
830
|
+
# run many different types of jobs, not just Map-Reduce).
|
|
831
|
+
class Step
|
|
832
|
+
include Google::Apis::Core::Hashable
|
|
833
|
+
|
|
834
|
+
# The kind of step in the dataflow Job.
|
|
835
|
+
# Corresponds to the JSON property `kind`
|
|
836
|
+
# @return [String]
|
|
837
|
+
attr_accessor :kind
|
|
838
|
+
|
|
839
|
+
# Name identifying the step. This must be unique for each step with respect to
|
|
840
|
+
# all other steps in the dataflow Job.
|
|
841
|
+
# Corresponds to the JSON property `name`
|
|
842
|
+
# @return [String]
|
|
843
|
+
attr_accessor :name
|
|
844
|
+
|
|
845
|
+
# Named properties associated with the step. Each kind of predefined step has
|
|
846
|
+
# its own required set of properties.
|
|
847
|
+
# Corresponds to the JSON property `properties`
|
|
848
|
+
# @return [Hash<String,Object>]
|
|
849
|
+
attr_accessor :properties
|
|
850
|
+
|
|
851
|
+
def initialize(**args)
|
|
852
|
+
update!(**args)
|
|
853
|
+
end
|
|
854
|
+
|
|
855
|
+
# Update properties of this object
|
|
856
|
+
def update!(**args)
|
|
857
|
+
@kind = args[:kind] if args.key?(:kind)
|
|
858
|
+
@name = args[:name] if args.key?(:name)
|
|
859
|
+
@properties = args[:properties] if args.key?(:properties)
|
|
860
|
+
end
|
|
861
|
+
end
|
|
862
|
+
|
|
863
|
+
# Additional information about how a Dataflow job will be executed which isn’t
|
|
864
|
+
# contained in the submitted job.
|
|
865
|
+
class JobExecutionInfo
|
|
866
|
+
include Google::Apis::Core::Hashable
|
|
867
|
+
|
|
868
|
+
# A mapping from each stage to the information about that stage.
|
|
869
|
+
# Corresponds to the JSON property `stages`
|
|
870
|
+
# @return [Hash<String,Google::Apis::DataflowV1b3::JobExecutionStageInfo>]
|
|
871
|
+
attr_accessor :stages
|
|
872
|
+
|
|
873
|
+
def initialize(**args)
|
|
874
|
+
update!(**args)
|
|
875
|
+
end
|
|
876
|
+
|
|
877
|
+
# Update properties of this object
|
|
878
|
+
def update!(**args)
|
|
879
|
+
@stages = args[:stages] if args.key?(:stages)
|
|
880
|
+
end
|
|
881
|
+
end
|
|
882
|
+
|
|
883
|
+
# Contains information about how a particular google.dataflow.v1beta3.Step will
|
|
884
|
+
# be executed.
|
|
885
|
+
class JobExecutionStageInfo
|
|
886
|
+
include Google::Apis::Core::Hashable
|
|
887
|
+
|
|
888
|
+
# The steps associated with the execution stage. Note that stages may have
|
|
889
|
+
# several steps, and that a given step might be run by more than one stage.
|
|
890
|
+
# Corresponds to the JSON property `stepName`
|
|
891
|
+
# @return [Array<String>]
|
|
892
|
+
attr_accessor :step_name
|
|
893
|
+
|
|
894
|
+
def initialize(**args)
|
|
895
|
+
update!(**args)
|
|
896
|
+
end
|
|
897
|
+
|
|
898
|
+
# Update properties of this object
|
|
899
|
+
def update!(**args)
|
|
900
|
+
@step_name = args[:step_name] if args.key?(:step_name)
|
|
901
|
+
end
|
|
902
|
+
end
|
|
903
|
+
|
|
904
|
+
# Response to a request to list Dataflow jobs. This may be a partial response,
|
|
905
|
+
# depending on the page size in the ListJobsRequest.
|
|
906
|
+
class ListJobsResponse
|
|
907
|
+
include Google::Apis::Core::Hashable
|
|
908
|
+
|
|
909
|
+
# A subset of the requested job information.
|
|
910
|
+
# Corresponds to the JSON property `jobs`
|
|
911
|
+
# @return [Array<Google::Apis::DataflowV1b3::Job>]
|
|
912
|
+
attr_accessor :jobs
|
|
913
|
+
|
|
914
|
+
# Set if there may be more results than fit in this response.
|
|
915
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
916
|
+
# @return [String]
|
|
917
|
+
attr_accessor :next_page_token
|
|
918
|
+
|
|
919
|
+
# Zero or more messages describing locations that failed to respond.
|
|
920
|
+
# Corresponds to the JSON property `failedLocation`
|
|
921
|
+
# @return [Array<Google::Apis::DataflowV1b3::FailedLocation>]
|
|
922
|
+
attr_accessor :failed_location
|
|
923
|
+
|
|
924
|
+
def initialize(**args)
|
|
925
|
+
update!(**args)
|
|
926
|
+
end
|
|
927
|
+
|
|
928
|
+
# Update properties of this object
|
|
929
|
+
def update!(**args)
|
|
930
|
+
@jobs = args[:jobs] if args.key?(:jobs)
|
|
931
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
932
|
+
@failed_location = args[:failed_location] if args.key?(:failed_location)
|
|
933
|
+
end
|
|
934
|
+
end
|
|
935
|
+
|
|
936
|
+
# FailedLocation indicates which location failed to respond to a request for
|
|
937
|
+
# data.
|
|
938
|
+
class FailedLocation
|
|
939
|
+
include Google::Apis::Core::Hashable
|
|
940
|
+
|
|
941
|
+
# The name of the failed location.
|
|
942
|
+
# Corresponds to the JSON property `name`
|
|
943
|
+
# @return [String]
|
|
944
|
+
attr_accessor :name
|
|
945
|
+
|
|
946
|
+
def initialize(**args)
|
|
947
|
+
update!(**args)
|
|
948
|
+
end
|
|
949
|
+
|
|
950
|
+
# Update properties of this object
|
|
951
|
+
def update!(**args)
|
|
952
|
+
@name = args[:name] if args.key?(:name)
|
|
953
|
+
end
|
|
954
|
+
end
|
|
955
|
+
|
|
956
|
+
# Response to a request to list job messages.
|
|
957
|
+
class ListJobMessagesResponse
|
|
958
|
+
include Google::Apis::Core::Hashable
|
|
959
|
+
|
|
960
|
+
# Messages in ascending timestamp order.
|
|
961
|
+
# Corresponds to the JSON property `jobMessages`
|
|
962
|
+
# @return [Array<Google::Apis::DataflowV1b3::JobMessage>]
|
|
963
|
+
attr_accessor :job_messages
|
|
964
|
+
|
|
965
|
+
# The token to obtain the next page of results if there are more.
|
|
966
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
967
|
+
# @return [String]
|
|
968
|
+
attr_accessor :next_page_token
|
|
969
|
+
|
|
970
|
+
def initialize(**args)
|
|
971
|
+
update!(**args)
|
|
972
|
+
end
|
|
973
|
+
|
|
974
|
+
# Update properties of this object
|
|
975
|
+
def update!(**args)
|
|
976
|
+
@job_messages = args[:job_messages] if args.key?(:job_messages)
|
|
977
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
978
|
+
end
|
|
979
|
+
end
|
|
980
|
+
|
|
981
|
+
# A particular message pertaining to a Dataflow job.
|
|
982
|
+
class JobMessage
|
|
983
|
+
include Google::Apis::Core::Hashable
|
|
984
|
+
|
|
985
|
+
# Identifies the message. This is automatically generated by the service; the
|
|
986
|
+
# caller should treat it as an opaque string.
|
|
987
|
+
# Corresponds to the JSON property `id`
|
|
988
|
+
# @return [String]
|
|
989
|
+
attr_accessor :id
|
|
990
|
+
|
|
991
|
+
# The timestamp of the message.
|
|
992
|
+
# Corresponds to the JSON property `time`
|
|
993
|
+
# @return [String]
|
|
994
|
+
attr_accessor :time
|
|
995
|
+
|
|
996
|
+
# The text of the message.
|
|
997
|
+
# Corresponds to the JSON property `messageText`
|
|
998
|
+
# @return [String]
|
|
999
|
+
attr_accessor :message_text
|
|
1000
|
+
|
|
1001
|
+
# Importance level of the message.
|
|
1002
|
+
# Corresponds to the JSON property `messageImportance`
|
|
1003
|
+
# @return [String]
|
|
1004
|
+
attr_accessor :message_importance
|
|
1005
|
+
|
|
1006
|
+
def initialize(**args)
|
|
1007
|
+
update!(**args)
|
|
1008
|
+
end
|
|
1009
|
+
|
|
1010
|
+
# Update properties of this object
|
|
1011
|
+
def update!(**args)
|
|
1012
|
+
@id = args[:id] if args.key?(:id)
|
|
1013
|
+
@time = args[:time] if args.key?(:time)
|
|
1014
|
+
@message_text = args[:message_text] if args.key?(:message_text)
|
|
1015
|
+
@message_importance = args[:message_importance] if args.key?(:message_importance)
|
|
1016
|
+
end
|
|
1017
|
+
end
|
|
1018
|
+
|
|
1019
|
+
# JobMetrics contains a collection of metrics descibing the detailed progress of
|
|
1020
|
+
# a Dataflow job. Metrics correspond to user-defined and system-defined metrics
|
|
1021
|
+
# in the job. This resource captures only the most recent values of each metric;
|
|
1022
|
+
# time-series data can be queried for them (under the same metric names) from
|
|
1023
|
+
# Cloud Monitoring.
|
|
1024
|
+
class JobMetrics
|
|
1025
|
+
include Google::Apis::Core::Hashable
|
|
1026
|
+
|
|
1027
|
+
# Timestamp as of which metric values are current.
|
|
1028
|
+
# Corresponds to the JSON property `metricTime`
|
|
1029
|
+
# @return [String]
|
|
1030
|
+
attr_accessor :metric_time
|
|
1031
|
+
|
|
1032
|
+
# All metrics for this job.
|
|
1033
|
+
# Corresponds to the JSON property `metrics`
|
|
1034
|
+
# @return [Array<Google::Apis::DataflowV1b3::MetricUpdate>]
|
|
1035
|
+
attr_accessor :metrics
|
|
1036
|
+
|
|
1037
|
+
def initialize(**args)
|
|
1038
|
+
update!(**args)
|
|
1039
|
+
end
|
|
1040
|
+
|
|
1041
|
+
# Update properties of this object
|
|
1042
|
+
def update!(**args)
|
|
1043
|
+
@metric_time = args[:metric_time] if args.key?(:metric_time)
|
|
1044
|
+
@metrics = args[:metrics] if args.key?(:metrics)
|
|
1045
|
+
end
|
|
1046
|
+
end
|
|
1047
|
+
|
|
1048
|
+
# Describes the state of a metric.
|
|
1049
|
+
class MetricUpdate
|
|
1050
|
+
include Google::Apis::Core::Hashable
|
|
1051
|
+
|
|
1052
|
+
# Identifies a metric, by describing the source which generated the metric.
|
|
1053
|
+
# Corresponds to the JSON property `name`
|
|
1054
|
+
# @return [Google::Apis::DataflowV1b3::MetricStructuredName]
|
|
1055
|
+
attr_accessor :name
|
|
1056
|
+
|
|
1057
|
+
# Metric aggregation kind. The possible metric aggregation kinds are "Sum", "Max"
|
|
1058
|
+
# , "Min", "Mean", "Set", "And", and "Or". The specified aggregation kind is
|
|
1059
|
+
# case-insensitive. If omitted, this is not an aggregated value but instead a
|
|
1060
|
+
# single metric sample value.
|
|
1061
|
+
# Corresponds to the JSON property `kind`
|
|
1062
|
+
# @return [String]
|
|
1063
|
+
attr_accessor :kind
|
|
1064
|
+
|
|
1065
|
+
# True if this metric is reported as the total cumulative aggregate value
|
|
1066
|
+
# accumulated since the worker started working on this WorkItem. By default this
|
|
1067
|
+
# is false, indicating that this metric is reported as a delta that is not
|
|
1068
|
+
# associated with any WorkItem.
|
|
1069
|
+
# Corresponds to the JSON property `cumulative`
|
|
1070
|
+
# @return [Boolean]
|
|
1071
|
+
attr_accessor :cumulative
|
|
1072
|
+
alias_method :cumulative?, :cumulative
|
|
1073
|
+
|
|
1074
|
+
# Worker-computed aggregate value for aggregation kinds "Sum", "Max", "Min", "
|
|
1075
|
+
# And", and "Or". The possible value types are Long, Double, and Boolean.
|
|
1076
|
+
# Corresponds to the JSON property `scalar`
|
|
1077
|
+
# @return [Object]
|
|
1078
|
+
attr_accessor :scalar
|
|
1079
|
+
|
|
1080
|
+
# Worker-computed aggregate value for the "Mean" aggregation kind. This holds
|
|
1081
|
+
# the sum of the aggregated values and is used in combination with mean_count
|
|
1082
|
+
# below to obtain the actual mean aggregate value. The only possible value types
|
|
1083
|
+
# are Long and Double.
|
|
1084
|
+
# Corresponds to the JSON property `meanSum`
|
|
1085
|
+
# @return [Object]
|
|
1086
|
+
attr_accessor :mean_sum
|
|
1087
|
+
|
|
1088
|
+
# Worker-computed aggregate value for the "Mean" aggregation kind. This holds
|
|
1089
|
+
# the count of the aggregated values and is used in combination with mean_sum
|
|
1090
|
+
# above to obtain the actual mean aggregate value. The only possible value type
|
|
1091
|
+
# is Long.
|
|
1092
|
+
# Corresponds to the JSON property `meanCount`
|
|
1093
|
+
# @return [Object]
|
|
1094
|
+
attr_accessor :mean_count
|
|
1095
|
+
|
|
1096
|
+
# Worker-computed aggregate value for the "Set" aggregation kind. The only
|
|
1097
|
+
# possible value type is a list of Values whose type can be Long, Double, or
|
|
1098
|
+
# String, according to the metric's type. All Values in the list must be of the
|
|
1099
|
+
# same type.
|
|
1100
|
+
# Corresponds to the JSON property `set`
|
|
1101
|
+
# @return [Object]
|
|
1102
|
+
attr_accessor :set
|
|
1103
|
+
|
|
1104
|
+
# Worker-computed aggregate value for internal use by the Dataflow service.
|
|
1105
|
+
# Corresponds to the JSON property `internal`
|
|
1106
|
+
# @return [Object]
|
|
1107
|
+
attr_accessor :internal
|
|
1108
|
+
|
|
1109
|
+
# Timestamp associated with the metric value. Optional when workers are
|
|
1110
|
+
# reporting work progress; it will be filled in responses from the metrics API.
|
|
1111
|
+
# Corresponds to the JSON property `updateTime`
|
|
1112
|
+
# @return [String]
|
|
1113
|
+
attr_accessor :update_time
|
|
1114
|
+
|
|
1115
|
+
def initialize(**args)
|
|
1116
|
+
update!(**args)
|
|
1117
|
+
end
|
|
1118
|
+
|
|
1119
|
+
# Update properties of this object
|
|
1120
|
+
def update!(**args)
|
|
1121
|
+
@name = args[:name] if args.key?(:name)
|
|
1122
|
+
@kind = args[:kind] if args.key?(:kind)
|
|
1123
|
+
@cumulative = args[:cumulative] if args.key?(:cumulative)
|
|
1124
|
+
@scalar = args[:scalar] if args.key?(:scalar)
|
|
1125
|
+
@mean_sum = args[:mean_sum] if args.key?(:mean_sum)
|
|
1126
|
+
@mean_count = args[:mean_count] if args.key?(:mean_count)
|
|
1127
|
+
@set = args[:set] if args.key?(:set)
|
|
1128
|
+
@internal = args[:internal] if args.key?(:internal)
|
|
1129
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
|
1130
|
+
end
|
|
1131
|
+
end
|
|
1132
|
+
|
|
1133
|
+
# Identifies a metric, by describing the source which generated the metric.
|
|
1134
|
+
class MetricStructuredName
|
|
1135
|
+
include Google::Apis::Core::Hashable
|
|
1136
|
+
|
|
1137
|
+
# Origin (namespace) of metric name. May be blank for user-define metrics; will
|
|
1138
|
+
# be "dataflow" for metrics defined by the Dataflow service or SDK.
|
|
1139
|
+
# Corresponds to the JSON property `origin`
|
|
1140
|
+
# @return [String]
|
|
1141
|
+
attr_accessor :origin
|
|
1142
|
+
|
|
1143
|
+
# Worker-defined metric name.
|
|
1144
|
+
# Corresponds to the JSON property `name`
|
|
1145
|
+
# @return [String]
|
|
1146
|
+
attr_accessor :name
|
|
1147
|
+
|
|
1148
|
+
# Zero or more labeled fields which identify the part of the job this metric is
|
|
1149
|
+
# associated with, such as the name of a step or collection. For example, built-
|
|
1150
|
+
# in counters associated with steps will have context['step'] = . Counters
|
|
1151
|
+
# associated with PCollections in the SDK will have context['pcollection'] =
|
|
1152
|
+
# .
|
|
1153
|
+
# Corresponds to the JSON property `context`
|
|
1154
|
+
# @return [Hash<String,String>]
|
|
1155
|
+
attr_accessor :context
|
|
1156
|
+
|
|
1157
|
+
def initialize(**args)
|
|
1158
|
+
update!(**args)
|
|
1159
|
+
end
|
|
1160
|
+
|
|
1161
|
+
# Update properties of this object
|
|
1162
|
+
def update!(**args)
|
|
1163
|
+
@origin = args[:origin] if args.key?(:origin)
|
|
1164
|
+
@name = args[:name] if args.key?(:name)
|
|
1165
|
+
@context = args[:context] if args.key?(:context)
|
|
1166
|
+
end
|
|
1167
|
+
end
|
|
1168
|
+
|
|
1169
|
+
# Request to create a Dataflow job.
|
|
1170
|
+
class CreateJobFromTemplateRequest
|
|
1171
|
+
include Google::Apis::Core::Hashable
|
|
1172
|
+
|
|
1173
|
+
# A path to the serialized JSON representation of the job.
|
|
1174
|
+
# Corresponds to the JSON property `gcsPath`
|
|
1175
|
+
# @return [String]
|
|
1176
|
+
attr_accessor :gcs_path
|
|
1177
|
+
|
|
1178
|
+
# Dynamic parameterization of the job's runtime environment.
|
|
1179
|
+
# Corresponds to the JSON property `parameters`
|
|
1180
|
+
# @return [Hash<String,String>]
|
|
1181
|
+
attr_accessor :parameters
|
|
1182
|
+
|
|
1183
|
+
def initialize(**args)
|
|
1184
|
+
update!(**args)
|
|
1185
|
+
end
|
|
1186
|
+
|
|
1187
|
+
# Update properties of this object
|
|
1188
|
+
def update!(**args)
|
|
1189
|
+
@gcs_path = args[:gcs_path] if args.key?(:gcs_path)
|
|
1190
|
+
@parameters = args[:parameters] if args.key?(:parameters)
|
|
1191
|
+
end
|
|
1192
|
+
end
|
|
1193
|
+
|
|
1194
|
+
# Request to report the status of WorkItems.
|
|
1195
|
+
class ReportWorkItemStatusRequest
|
|
1196
|
+
include Google::Apis::Core::Hashable
|
|
1197
|
+
|
|
1198
|
+
# The ID of the worker reporting the WorkItem status. If this does not match the
|
|
1199
|
+
# ID of the worker which the Dataflow service believes currently has the lease
|
|
1200
|
+
# on the WorkItem, the report will be dropped (with an error response).
|
|
1201
|
+
# Corresponds to the JSON property `workerId`
|
|
1202
|
+
# @return [String]
|
|
1203
|
+
attr_accessor :worker_id
|
|
1204
|
+
|
|
1205
|
+
# The order is unimportant, except that the order of the WorkItemServiceState
|
|
1206
|
+
# messages in the ReportWorkItemStatusResponse corresponds to the order of
|
|
1207
|
+
# WorkItemStatus messages here.
|
|
1208
|
+
# Corresponds to the JSON property `workItemStatuses`
|
|
1209
|
+
# @return [Array<Google::Apis::DataflowV1b3::WorkItemStatus>]
|
|
1210
|
+
attr_accessor :work_item_statuses
|
|
1211
|
+
|
|
1212
|
+
# The current timestamp at the worker.
|
|
1213
|
+
# Corresponds to the JSON property `currentWorkerTime`
|
|
1214
|
+
# @return [String]
|
|
1215
|
+
attr_accessor :current_worker_time
|
|
1216
|
+
|
|
1217
|
+
# The location which contains the WorkItem's job.
|
|
1218
|
+
# Corresponds to the JSON property `location`
|
|
1219
|
+
# @return [String]
|
|
1220
|
+
attr_accessor :location
|
|
1221
|
+
|
|
1222
|
+
def initialize(**args)
|
|
1223
|
+
update!(**args)
|
|
1224
|
+
end
|
|
1225
|
+
|
|
1226
|
+
# Update properties of this object
|
|
1227
|
+
def update!(**args)
|
|
1228
|
+
@worker_id = args[:worker_id] if args.key?(:worker_id)
|
|
1229
|
+
@work_item_statuses = args[:work_item_statuses] if args.key?(:work_item_statuses)
|
|
1230
|
+
@current_worker_time = args[:current_worker_time] if args.key?(:current_worker_time)
|
|
1231
|
+
@location = args[:location] if args.key?(:location)
|
|
1232
|
+
end
|
|
1233
|
+
end
|
|
1234
|
+
|
|
1235
|
+
# Conveys a worker's progress through the work described by a WorkItem.
|
|
1236
|
+
class WorkItemStatus
|
|
1237
|
+
include Google::Apis::Core::Hashable
|
|
1238
|
+
|
|
1239
|
+
# Identifies the WorkItem.
|
|
1240
|
+
# Corresponds to the JSON property `workItemId`
|
|
1241
|
+
# @return [String]
|
|
1242
|
+
attr_accessor :work_item_id
|
|
1243
|
+
|
|
1244
|
+
# The report index. When a WorkItem is leased, the lease will contain an initial
|
|
1245
|
+
# report index. When a WorkItem's status is reported to the system, the report
|
|
1246
|
+
# should be sent with that report index, and the response will contain the index
|
|
1247
|
+
# the worker should use for the next report. Reports received with unexpected
|
|
1248
|
+
# index values will be rejected by the service. In order to preserve idempotency,
|
|
1249
|
+
# the worker should not alter the contents of a report, even if the worker must
|
|
1250
|
+
# submit the same report multiple times before getting back a response. The
|
|
1251
|
+
# worker should not submit a subsequent report until the response for the
|
|
1252
|
+
# previous report had been received from the service.
|
|
1253
|
+
# Corresponds to the JSON property `reportIndex`
|
|
1254
|
+
# @return [String]
|
|
1255
|
+
attr_accessor :report_index
|
|
1256
|
+
|
|
1257
|
+
# Amount of time the worker requests for its lease.
|
|
1258
|
+
# Corresponds to the JSON property `requestedLeaseDuration`
|
|
1259
|
+
# @return [String]
|
|
1260
|
+
attr_accessor :requested_lease_duration
|
|
1261
|
+
|
|
1262
|
+
# True if the WorkItem was completed (successfully or unsuccessfully).
|
|
1263
|
+
# Corresponds to the JSON property `completed`
|
|
1264
|
+
# @return [Boolean]
|
|
1265
|
+
attr_accessor :completed
|
|
1266
|
+
alias_method :completed?, :completed
|
|
1267
|
+
|
|
1268
|
+
# Specifies errors which occurred during processing. If errors are provided, and
|
|
1269
|
+
# completed = true, then the WorkItem is considered to have failed.
|
|
1270
|
+
# Corresponds to the JSON property `errors`
|
|
1271
|
+
# @return [Array<Google::Apis::DataflowV1b3::Status>]
|
|
1272
|
+
attr_accessor :errors
|
|
1273
|
+
|
|
1274
|
+
# Worker output counters for this WorkItem.
|
|
1275
|
+
# Corresponds to the JSON property `counterUpdates`
|
|
1276
|
+
# @return [Array<Google::Apis::DataflowV1b3::CounterUpdate>]
|
|
1277
|
+
attr_accessor :counter_updates
|
|
1278
|
+
|
|
1279
|
+
# DEPRECATED in favor of counter_updates.
|
|
1280
|
+
# Corresponds to the JSON property `metricUpdates`
|
|
1281
|
+
# @return [Array<Google::Apis::DataflowV1b3::MetricUpdate>]
|
|
1282
|
+
attr_accessor :metric_updates
|
|
1283
|
+
|
|
1284
|
+
# A progress measurement of a WorkItem by a worker.
|
|
1285
|
+
# Corresponds to the JSON property `reportedProgress`
|
|
1286
|
+
# @return [Google::Apis::DataflowV1b3::ApproximateReportedProgress]
|
|
1287
|
+
attr_accessor :reported_progress
|
|
1288
|
+
|
|
1289
|
+
# Position defines a position within a collection of data. The value can be
|
|
1290
|
+
# either the end position, a key (used with ordered collections), a byte offset,
|
|
1291
|
+
# or a record index.
|
|
1292
|
+
# Corresponds to the JSON property `stopPosition`
|
|
1293
|
+
# @return [Google::Apis::DataflowV1b3::Position]
|
|
1294
|
+
attr_accessor :stop_position
|
|
1295
|
+
|
|
1296
|
+
# When a task splits using WorkItemStatus.dynamic_source_split, this message
|
|
1297
|
+
# describes the two parts of the split relative to the description of the
|
|
1298
|
+
# current task's input.
|
|
1299
|
+
# Corresponds to the JSON property `dynamicSourceSplit`
|
|
1300
|
+
# @return [Google::Apis::DataflowV1b3::DynamicSourceSplit]
|
|
1301
|
+
attr_accessor :dynamic_source_split
|
|
1302
|
+
|
|
1303
|
+
# The result of a SourceOperationRequest, specified in
|
|
1304
|
+
# ReportWorkItemStatusRequest.source_operation when the work item is completed.
|
|
1305
|
+
# Corresponds to the JSON property `sourceOperationResponse`
|
|
1306
|
+
# @return [Google::Apis::DataflowV1b3::SourceOperationResponse]
|
|
1307
|
+
attr_accessor :source_operation_response
|
|
1308
|
+
|
|
1309
|
+
# DEPRECATED in favor of DynamicSourceSplit.
|
|
1310
|
+
# Corresponds to the JSON property `sourceFork`
|
|
1311
|
+
# @return [Google::Apis::DataflowV1b3::SourceFork]
|
|
1312
|
+
attr_accessor :source_fork
|
|
1313
|
+
|
|
1314
|
+
# Obsolete in favor of ApproximateReportedProgress and ApproximateSplitRequest.
|
|
1315
|
+
# Corresponds to the JSON property `progress`
|
|
1316
|
+
# @return [Google::Apis::DataflowV1b3::ApproximateProgress]
|
|
1317
|
+
attr_accessor :progress
|
|
1318
|
+
|
|
1319
|
+
def initialize(**args)
|
|
1320
|
+
update!(**args)
|
|
1321
|
+
end
|
|
1322
|
+
|
|
1323
|
+
# Update properties of this object
|
|
1324
|
+
def update!(**args)
|
|
1325
|
+
@work_item_id = args[:work_item_id] if args.key?(:work_item_id)
|
|
1326
|
+
@report_index = args[:report_index] if args.key?(:report_index)
|
|
1327
|
+
@requested_lease_duration = args[:requested_lease_duration] if args.key?(:requested_lease_duration)
|
|
1328
|
+
@completed = args[:completed] if args.key?(:completed)
|
|
1329
|
+
@errors = args[:errors] if args.key?(:errors)
|
|
1330
|
+
@counter_updates = args[:counter_updates] if args.key?(:counter_updates)
|
|
1331
|
+
@metric_updates = args[:metric_updates] if args.key?(:metric_updates)
|
|
1332
|
+
@reported_progress = args[:reported_progress] if args.key?(:reported_progress)
|
|
1333
|
+
@stop_position = args[:stop_position] if args.key?(:stop_position)
|
|
1334
|
+
@dynamic_source_split = args[:dynamic_source_split] if args.key?(:dynamic_source_split)
|
|
1335
|
+
@source_operation_response = args[:source_operation_response] if args.key?(:source_operation_response)
|
|
1336
|
+
@source_fork = args[:source_fork] if args.key?(:source_fork)
|
|
1337
|
+
@progress = args[:progress] if args.key?(:progress)
|
|
1338
|
+
end
|
|
1339
|
+
end
|
|
1340
|
+
|
|
1341
|
+
# The `Status` type defines a logical error model that is suitable for different
|
|
1342
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
|
1343
|
+
# gRPC](https://github.com/grpc). The error model is designed to be: - Simple to
|
|
1344
|
+
# use and understand for most users - Flexible enough to meet unexpected needs #
|
|
1345
|
+
# Overview The `Status` message contains three pieces of data: error code, error
|
|
1346
|
+
# message, and error details. The error code should be an enum value of google.
|
|
1347
|
+
# rpc.Code, but it may accept additional error codes if needed. The error
|
|
1348
|
+
# message should be a developer-facing English message that helps developers *
|
|
1349
|
+
# understand* and *resolve* the error. If a localized user-facing error message
|
|
1350
|
+
# is needed, put the localized message in the error details or localize it in
|
|
1351
|
+
# the client. The optional error details may contain arbitrary information about
|
|
1352
|
+
# the error. There is a predefined set of error detail types in the package `
|
|
1353
|
+
# google.rpc` which can be used for common error conditions. # Language mapping
|
|
1354
|
+
# The `Status` message is the logical representation of the error model, but it
|
|
1355
|
+
# is not necessarily the actual wire format. When the `Status` message is
|
|
1356
|
+
# exposed in different client libraries and different wire protocols, it can be
|
|
1357
|
+
# mapped differently. For example, it will likely be mapped to some exceptions
|
|
1358
|
+
# in Java, but more likely mapped to some error codes in C. # Other uses The
|
|
1359
|
+
# error model and the `Status` message can be used in a variety of environments,
|
|
1360
|
+
# either with or without APIs, to provide a consistent developer experience
|
|
1361
|
+
# across different environments. Example uses of this error model include: -
|
|
1362
|
+
# Partial errors. If a service needs to return partial errors to the client, it
|
|
1363
|
+
# may embed the `Status` in the normal response to indicate the partial errors. -
|
|
1364
|
+
# Workflow errors. A typical workflow has multiple steps. Each step may have a `
|
|
1365
|
+
# Status` message for error reporting purpose. - Batch operations. If a client
|
|
1366
|
+
# uses batch request and batch response, the `Status` message should be used
|
|
1367
|
+
# directly inside batch response, one for each error sub-response. -
|
|
1368
|
+
# Asynchronous operations. If an API call embeds asynchronous operation results
|
|
1369
|
+
# in its response, the status of those operations should be represented directly
|
|
1370
|
+
# using the `Status` message. - Logging. If some API errors are stored in logs,
|
|
1371
|
+
# the message `Status` could be used directly after any stripping needed for
|
|
1372
|
+
# security/privacy reasons.
|
|
1373
|
+
class Status
|
|
1374
|
+
include Google::Apis::Core::Hashable
|
|
1375
|
+
|
|
1376
|
+
# The status code, which should be an enum value of google.rpc.Code.
|
|
1377
|
+
# Corresponds to the JSON property `code`
|
|
1378
|
+
# @return [Fixnum]
|
|
1379
|
+
attr_accessor :code
|
|
1380
|
+
|
|
1381
|
+
# A developer-facing error message, which should be in English. Any user-facing
|
|
1382
|
+
# error message should be localized and sent in the google.rpc.Status.details
|
|
1383
|
+
# field, or localized by the client.
|
|
1384
|
+
# Corresponds to the JSON property `message`
|
|
1385
|
+
# @return [String]
|
|
1386
|
+
attr_accessor :message
|
|
1387
|
+
|
|
1388
|
+
# A list of messages that carry the error details. There will be a common set of
|
|
1389
|
+
# message types for APIs to use.
|
|
1390
|
+
# Corresponds to the JSON property `details`
|
|
1391
|
+
# @return [Array<Hash<String,Object>>]
|
|
1392
|
+
attr_accessor :details
|
|
1393
|
+
|
|
1394
|
+
def initialize(**args)
|
|
1395
|
+
update!(**args)
|
|
1396
|
+
end
|
|
1397
|
+
|
|
1398
|
+
# Update properties of this object
|
|
1399
|
+
def update!(**args)
|
|
1400
|
+
@code = args[:code] if args.key?(:code)
|
|
1401
|
+
@message = args[:message] if args.key?(:message)
|
|
1402
|
+
@details = args[:details] if args.key?(:details)
|
|
1403
|
+
end
|
|
1404
|
+
end
|
|
1405
|
+
|
|
1406
|
+
# An update to a Counter sent from a worker.
|
|
1407
|
+
class CounterUpdate
|
|
1408
|
+
include Google::Apis::Core::Hashable
|
|
1409
|
+
|
|
1410
|
+
# Basic metadata about a counter.
|
|
1411
|
+
# Corresponds to the JSON property `nameAndKind`
|
|
1412
|
+
# @return [Google::Apis::DataflowV1b3::NameAndKind]
|
|
1413
|
+
attr_accessor :name_and_kind
|
|
1414
|
+
|
|
1415
|
+
# The service-generated short identifier for this counter. The short_id -> (name,
|
|
1416
|
+
# metadata) mapping is constant for the lifetime of a job.
|
|
1417
|
+
# Corresponds to the JSON property `shortId`
|
|
1418
|
+
# @return [String]
|
|
1419
|
+
attr_accessor :short_id
|
|
1420
|
+
|
|
1421
|
+
# A single message which encapsulates structured name and metadata for a given
|
|
1422
|
+
# counter.
|
|
1423
|
+
# Corresponds to the JSON property `structuredNameAndMetadata`
|
|
1424
|
+
# @return [Google::Apis::DataflowV1b3::CounterStructuredNameAndMetadata]
|
|
1425
|
+
attr_accessor :structured_name_and_metadata
|
|
1426
|
+
|
|
1427
|
+
# True if this counter is reported as the total cumulative aggregate value
|
|
1428
|
+
# accumulated since the worker started working on this WorkItem. By default this
|
|
1429
|
+
# is false, indicating that this counter is reported as a delta.
|
|
1430
|
+
# Corresponds to the JSON property `cumulative`
|
|
1431
|
+
# @return [Boolean]
|
|
1432
|
+
attr_accessor :cumulative
|
|
1433
|
+
alias_method :cumulative?, :cumulative
|
|
1434
|
+
|
|
1435
|
+
# A representation of an int64, n, that is immune to precision loss when encoded
|
|
1436
|
+
# in JSON.
|
|
1437
|
+
# Corresponds to the JSON property `integer`
|
|
1438
|
+
# @return [Google::Apis::DataflowV1b3::SplitInt64]
|
|
1439
|
+
attr_accessor :integer
|
|
1440
|
+
|
|
1441
|
+
# Floating point value for Sum, Max, Min.
|
|
1442
|
+
# Corresponds to the JSON property `floatingPoint`
|
|
1443
|
+
# @return [Float]
|
|
1444
|
+
attr_accessor :floating_point
|
|
1445
|
+
|
|
1446
|
+
# Boolean value for And, Or.
|
|
1447
|
+
# Corresponds to the JSON property `boolean`
|
|
1448
|
+
# @return [Boolean]
|
|
1449
|
+
attr_accessor :boolean
|
|
1450
|
+
alias_method :boolean?, :boolean
|
|
1451
|
+
|
|
1452
|
+
# A representation of an integer mean metric contribution.
|
|
1453
|
+
# Corresponds to the JSON property `integerMean`
|
|
1454
|
+
# @return [Google::Apis::DataflowV1b3::IntegerMean]
|
|
1455
|
+
attr_accessor :integer_mean
|
|
1456
|
+
|
|
1457
|
+
# A representation of a floating point mean metric contribution.
|
|
1458
|
+
# Corresponds to the JSON property `floatingPointMean`
|
|
1459
|
+
# @return [Google::Apis::DataflowV1b3::FloatingPointMean]
|
|
1460
|
+
attr_accessor :floating_point_mean
|
|
1461
|
+
|
|
1462
|
+
# A metric value representing a list of integers.
|
|
1463
|
+
# Corresponds to the JSON property `integerList`
|
|
1464
|
+
# @return [Google::Apis::DataflowV1b3::IntegerList]
|
|
1465
|
+
attr_accessor :integer_list
|
|
1466
|
+
|
|
1467
|
+
# A metric value representing a list of floating point numbers.
|
|
1468
|
+
# Corresponds to the JSON property `floatingPointList`
|
|
1469
|
+
# @return [Google::Apis::DataflowV1b3::FloatingPointList]
|
|
1470
|
+
attr_accessor :floating_point_list
|
|
1471
|
+
|
|
1472
|
+
# A metric value representing a list of strings.
|
|
1473
|
+
# Corresponds to the JSON property `stringList`
|
|
1474
|
+
# @return [Google::Apis::DataflowV1b3::StringList]
|
|
1475
|
+
attr_accessor :string_list
|
|
1476
|
+
|
|
1477
|
+
# Value for internally-defined counters used by the Dataflow service.
|
|
1478
|
+
# Corresponds to the JSON property `internal`
|
|
1479
|
+
# @return [Object]
|
|
1480
|
+
attr_accessor :internal
|
|
1481
|
+
|
|
1482
|
+
def initialize(**args)
|
|
1483
|
+
update!(**args)
|
|
1484
|
+
end
|
|
1485
|
+
|
|
1486
|
+
# Update properties of this object
|
|
1487
|
+
def update!(**args)
|
|
1488
|
+
@name_and_kind = args[:name_and_kind] if args.key?(:name_and_kind)
|
|
1489
|
+
@short_id = args[:short_id] if args.key?(:short_id)
|
|
1490
|
+
@structured_name_and_metadata = args[:structured_name_and_metadata] if args.key?(:structured_name_and_metadata)
|
|
1491
|
+
@cumulative = args[:cumulative] if args.key?(:cumulative)
|
|
1492
|
+
@integer = args[:integer] if args.key?(:integer)
|
|
1493
|
+
@floating_point = args[:floating_point] if args.key?(:floating_point)
|
|
1494
|
+
@boolean = args[:boolean] if args.key?(:boolean)
|
|
1495
|
+
@integer_mean = args[:integer_mean] if args.key?(:integer_mean)
|
|
1496
|
+
@floating_point_mean = args[:floating_point_mean] if args.key?(:floating_point_mean)
|
|
1497
|
+
@integer_list = args[:integer_list] if args.key?(:integer_list)
|
|
1498
|
+
@floating_point_list = args[:floating_point_list] if args.key?(:floating_point_list)
|
|
1499
|
+
@string_list = args[:string_list] if args.key?(:string_list)
|
|
1500
|
+
@internal = args[:internal] if args.key?(:internal)
|
|
1501
|
+
end
|
|
1502
|
+
end
|
|
1503
|
+
|
|
1504
|
+
# Basic metadata about a counter.
|
|
1505
|
+
class NameAndKind
|
|
1506
|
+
include Google::Apis::Core::Hashable
|
|
1507
|
+
|
|
1508
|
+
# Name of the counter.
|
|
1509
|
+
# Corresponds to the JSON property `name`
|
|
1510
|
+
# @return [String]
|
|
1511
|
+
attr_accessor :name
|
|
1512
|
+
|
|
1513
|
+
# Counter aggregation kind.
|
|
1514
|
+
# Corresponds to the JSON property `kind`
|
|
1515
|
+
# @return [String]
|
|
1516
|
+
attr_accessor :kind
|
|
1517
|
+
|
|
1518
|
+
def initialize(**args)
|
|
1519
|
+
update!(**args)
|
|
1520
|
+
end
|
|
1521
|
+
|
|
1522
|
+
# Update properties of this object
|
|
1523
|
+
def update!(**args)
|
|
1524
|
+
@name = args[:name] if args.key?(:name)
|
|
1525
|
+
@kind = args[:kind] if args.key?(:kind)
|
|
1526
|
+
end
|
|
1527
|
+
end
|
|
1528
|
+
|
|
1529
|
+
# A single message which encapsulates structured name and metadata for a given
|
|
1530
|
+
# counter.
|
|
1531
|
+
class CounterStructuredNameAndMetadata
|
|
1532
|
+
include Google::Apis::Core::Hashable
|
|
1533
|
+
|
|
1534
|
+
# Identifies a counter within a per-job namespace. Counters whose structured
|
|
1535
|
+
# names are the same get merged into a single value for the job.
|
|
1536
|
+
# Corresponds to the JSON property `name`
|
|
1537
|
+
# @return [Google::Apis::DataflowV1b3::CounterStructuredName]
|
|
1538
|
+
attr_accessor :name
|
|
1539
|
+
|
|
1540
|
+
# CounterMetadata includes all static non-name non-value counter attributes.
|
|
1541
|
+
# Corresponds to the JSON property `metadata`
|
|
1542
|
+
# @return [Google::Apis::DataflowV1b3::CounterMetadata]
|
|
1543
|
+
attr_accessor :metadata
|
|
1544
|
+
|
|
1545
|
+
def initialize(**args)
|
|
1546
|
+
update!(**args)
|
|
1547
|
+
end
|
|
1548
|
+
|
|
1549
|
+
# Update properties of this object
|
|
1550
|
+
def update!(**args)
|
|
1551
|
+
@name = args[:name] if args.key?(:name)
|
|
1552
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
|
1553
|
+
end
|
|
1554
|
+
end
|
|
1555
|
+
|
|
1556
|
+
# Identifies a counter within a per-job namespace. Counters whose structured
|
|
1557
|
+
# names are the same get merged into a single value for the job.
|
|
1558
|
+
class CounterStructuredName
|
|
1559
|
+
include Google::Apis::Core::Hashable
|
|
1560
|
+
|
|
1561
|
+
# Counter name. Not necessarily globally-unique, but unique within the context
|
|
1562
|
+
# of the other fields. Required.
|
|
1563
|
+
# Corresponds to the JSON property `name`
|
|
1564
|
+
# @return [String]
|
|
1565
|
+
attr_accessor :name
|
|
1566
|
+
|
|
1567
|
+
# One of the standard Origins defined above.
|
|
1568
|
+
# Corresponds to the JSON property `standardOrigin`
|
|
1569
|
+
# @return [String]
|
|
1570
|
+
attr_accessor :standard_origin
|
|
1571
|
+
|
|
1572
|
+
# A string containing the origin of the counter.
|
|
1573
|
+
# Corresponds to the JSON property `otherOrigin`
|
|
1574
|
+
# @return [String]
|
|
1575
|
+
attr_accessor :other_origin
|
|
1576
|
+
|
|
1577
|
+
# System generated name of the original step in the user's graph, before
|
|
1578
|
+
# optimization.
|
|
1579
|
+
# Corresponds to the JSON property `originalStepName`
|
|
1580
|
+
# @return [String]
|
|
1581
|
+
attr_accessor :original_step_name
|
|
1582
|
+
|
|
1583
|
+
# Name of the optimized step being executed by the workers.
|
|
1584
|
+
# Corresponds to the JSON property `componentStepName`
|
|
1585
|
+
# @return [String]
|
|
1586
|
+
attr_accessor :component_step_name
|
|
1587
|
+
|
|
1588
|
+
# Name of the stage. An execution step contains multiple component steps.
|
|
1589
|
+
# Corresponds to the JSON property `executionStepName`
|
|
1590
|
+
# @return [String]
|
|
1591
|
+
attr_accessor :execution_step_name
|
|
1592
|
+
|
|
1593
|
+
# ID of a particular worker.
|
|
1594
|
+
# Corresponds to the JSON property `workerId`
|
|
1595
|
+
# @return [String]
|
|
1596
|
+
attr_accessor :worker_id
|
|
1597
|
+
|
|
1598
|
+
# Portion of this counter, either key or value.
|
|
1599
|
+
# Corresponds to the JSON property `portion`
|
|
1600
|
+
# @return [String]
|
|
1601
|
+
attr_accessor :portion
|
|
1602
|
+
|
|
1603
|
+
def initialize(**args)
|
|
1604
|
+
update!(**args)
|
|
1605
|
+
end
|
|
1606
|
+
|
|
1607
|
+
# Update properties of this object
|
|
1608
|
+
def update!(**args)
|
|
1609
|
+
@name = args[:name] if args.key?(:name)
|
|
1610
|
+
@standard_origin = args[:standard_origin] if args.key?(:standard_origin)
|
|
1611
|
+
@other_origin = args[:other_origin] if args.key?(:other_origin)
|
|
1612
|
+
@original_step_name = args[:original_step_name] if args.key?(:original_step_name)
|
|
1613
|
+
@component_step_name = args[:component_step_name] if args.key?(:component_step_name)
|
|
1614
|
+
@execution_step_name = args[:execution_step_name] if args.key?(:execution_step_name)
|
|
1615
|
+
@worker_id = args[:worker_id] if args.key?(:worker_id)
|
|
1616
|
+
@portion = args[:portion] if args.key?(:portion)
|
|
1617
|
+
end
|
|
1618
|
+
end
|
|
1619
|
+
|
|
1620
|
+
# CounterMetadata includes all static non-name non-value counter attributes.
|
|
1621
|
+
class CounterMetadata
|
|
1622
|
+
include Google::Apis::Core::Hashable
|
|
1623
|
+
|
|
1624
|
+
# Counter aggregation kind.
|
|
1625
|
+
# Corresponds to the JSON property `kind`
|
|
1626
|
+
# @return [String]
|
|
1627
|
+
attr_accessor :kind
|
|
1628
|
+
|
|
1629
|
+
# Human-readable description of the counter semantics.
|
|
1630
|
+
# Corresponds to the JSON property `description`
|
|
1631
|
+
# @return [String]
|
|
1632
|
+
attr_accessor :description
|
|
1633
|
+
|
|
1634
|
+
# System defined Units, see above enum.
|
|
1635
|
+
# Corresponds to the JSON property `standardUnits`
|
|
1636
|
+
# @return [String]
|
|
1637
|
+
attr_accessor :standard_units
|
|
1638
|
+
|
|
1639
|
+
# A string referring to the unit type.
|
|
1640
|
+
# Corresponds to the JSON property `otherUnits`
|
|
1641
|
+
# @return [String]
|
|
1642
|
+
attr_accessor :other_units
|
|
1643
|
+
|
|
1644
|
+
def initialize(**args)
|
|
1645
|
+
update!(**args)
|
|
1646
|
+
end
|
|
1647
|
+
|
|
1648
|
+
# Update properties of this object
|
|
1649
|
+
def update!(**args)
|
|
1650
|
+
@kind = args[:kind] if args.key?(:kind)
|
|
1651
|
+
@description = args[:description] if args.key?(:description)
|
|
1652
|
+
@standard_units = args[:standard_units] if args.key?(:standard_units)
|
|
1653
|
+
@other_units = args[:other_units] if args.key?(:other_units)
|
|
1654
|
+
end
|
|
1655
|
+
end
|
|
1656
|
+
|
|
1657
|
+
# A representation of an int64, n, that is immune to precision loss when encoded
|
|
1658
|
+
# in JSON.
|
|
1659
|
+
class SplitInt64
|
|
1660
|
+
include Google::Apis::Core::Hashable
|
|
1661
|
+
|
|
1662
|
+
# The low order bits: n & 0xffffffff.
|
|
1663
|
+
# Corresponds to the JSON property `lowBits`
|
|
1664
|
+
# @return [Fixnum]
|
|
1665
|
+
attr_accessor :low_bits
|
|
1666
|
+
|
|
1667
|
+
# The high order bits, including the sign: n >> 32.
|
|
1668
|
+
# Corresponds to the JSON property `highBits`
|
|
1669
|
+
# @return [Fixnum]
|
|
1670
|
+
attr_accessor :high_bits
|
|
1671
|
+
|
|
1672
|
+
def initialize(**args)
|
|
1673
|
+
update!(**args)
|
|
1674
|
+
end
|
|
1675
|
+
|
|
1676
|
+
# Update properties of this object
|
|
1677
|
+
def update!(**args)
|
|
1678
|
+
@low_bits = args[:low_bits] if args.key?(:low_bits)
|
|
1679
|
+
@high_bits = args[:high_bits] if args.key?(:high_bits)
|
|
1680
|
+
end
|
|
1681
|
+
end
|
|
1682
|
+
|
|
1683
|
+
# A representation of an integer mean metric contribution.
|
|
1684
|
+
class IntegerMean
|
|
1685
|
+
include Google::Apis::Core::Hashable
|
|
1686
|
+
|
|
1687
|
+
# A representation of an int64, n, that is immune to precision loss when encoded
|
|
1688
|
+
# in JSON.
|
|
1689
|
+
# Corresponds to the JSON property `sum`
|
|
1690
|
+
# @return [Google::Apis::DataflowV1b3::SplitInt64]
|
|
1691
|
+
attr_accessor :sum
|
|
1692
|
+
|
|
1693
|
+
# A representation of an int64, n, that is immune to precision loss when encoded
|
|
1694
|
+
# in JSON.
|
|
1695
|
+
# Corresponds to the JSON property `count`
|
|
1696
|
+
# @return [Google::Apis::DataflowV1b3::SplitInt64]
|
|
1697
|
+
attr_accessor :count
|
|
1698
|
+
|
|
1699
|
+
def initialize(**args)
|
|
1700
|
+
update!(**args)
|
|
1701
|
+
end
|
|
1702
|
+
|
|
1703
|
+
# Update properties of this object
|
|
1704
|
+
def update!(**args)
|
|
1705
|
+
@sum = args[:sum] if args.key?(:sum)
|
|
1706
|
+
@count = args[:count] if args.key?(:count)
|
|
1707
|
+
end
|
|
1708
|
+
end
|
|
1709
|
+
|
|
1710
|
+
# A representation of a floating point mean metric contribution.
|
|
1711
|
+
class FloatingPointMean
|
|
1712
|
+
include Google::Apis::Core::Hashable
|
|
1713
|
+
|
|
1714
|
+
# The sum of all values being aggregated.
|
|
1715
|
+
# Corresponds to the JSON property `sum`
|
|
1716
|
+
# @return [Float]
|
|
1717
|
+
attr_accessor :sum
|
|
1718
|
+
|
|
1719
|
+
# A representation of an int64, n, that is immune to precision loss when encoded
|
|
1720
|
+
# in JSON.
|
|
1721
|
+
# Corresponds to the JSON property `count`
|
|
1722
|
+
# @return [Google::Apis::DataflowV1b3::SplitInt64]
|
|
1723
|
+
attr_accessor :count
|
|
1724
|
+
|
|
1725
|
+
def initialize(**args)
|
|
1726
|
+
update!(**args)
|
|
1727
|
+
end
|
|
1728
|
+
|
|
1729
|
+
# Update properties of this object
|
|
1730
|
+
def update!(**args)
|
|
1731
|
+
@sum = args[:sum] if args.key?(:sum)
|
|
1732
|
+
@count = args[:count] if args.key?(:count)
|
|
1733
|
+
end
|
|
1734
|
+
end
|
|
1735
|
+
|
|
1736
|
+
# A metric value representing a list of integers.
|
|
1737
|
+
class IntegerList
|
|
1738
|
+
include Google::Apis::Core::Hashable
|
|
1739
|
+
|
|
1740
|
+
# Elements of the list.
|
|
1741
|
+
# Corresponds to the JSON property `elements`
|
|
1742
|
+
# @return [Array<Google::Apis::DataflowV1b3::SplitInt64>]
|
|
1743
|
+
attr_accessor :elements
|
|
1744
|
+
|
|
1745
|
+
def initialize(**args)
|
|
1746
|
+
update!(**args)
|
|
1747
|
+
end
|
|
1748
|
+
|
|
1749
|
+
# Update properties of this object
|
|
1750
|
+
def update!(**args)
|
|
1751
|
+
@elements = args[:elements] if args.key?(:elements)
|
|
1752
|
+
end
|
|
1753
|
+
end
|
|
1754
|
+
|
|
1755
|
+
# A metric value representing a list of floating point numbers.
|
|
1756
|
+
class FloatingPointList
|
|
1757
|
+
include Google::Apis::Core::Hashable
|
|
1758
|
+
|
|
1759
|
+
# Elements of the list.
|
|
1760
|
+
# Corresponds to the JSON property `elements`
|
|
1761
|
+
# @return [Array<Float>]
|
|
1762
|
+
attr_accessor :elements
|
|
1763
|
+
|
|
1764
|
+
def initialize(**args)
|
|
1765
|
+
update!(**args)
|
|
1766
|
+
end
|
|
1767
|
+
|
|
1768
|
+
# Update properties of this object
|
|
1769
|
+
def update!(**args)
|
|
1770
|
+
@elements = args[:elements] if args.key?(:elements)
|
|
1771
|
+
end
|
|
1772
|
+
end
|
|
1773
|
+
|
|
1774
|
+
# A metric value representing a list of strings.
|
|
1775
|
+
class StringList
|
|
1776
|
+
include Google::Apis::Core::Hashable
|
|
1777
|
+
|
|
1778
|
+
# Elements of the list.
|
|
1779
|
+
# Corresponds to the JSON property `elements`
|
|
1780
|
+
# @return [Array<String>]
|
|
1781
|
+
attr_accessor :elements
|
|
1782
|
+
|
|
1783
|
+
def initialize(**args)
|
|
1784
|
+
update!(**args)
|
|
1785
|
+
end
|
|
1786
|
+
|
|
1787
|
+
# Update properties of this object
|
|
1788
|
+
def update!(**args)
|
|
1789
|
+
@elements = args[:elements] if args.key?(:elements)
|
|
1790
|
+
end
|
|
1791
|
+
end
|
|
1792
|
+
|
|
1793
|
+
# A progress measurement of a WorkItem by a worker.
|
|
1794
|
+
class ApproximateReportedProgress
|
|
1795
|
+
include Google::Apis::Core::Hashable
|
|
1796
|
+
|
|
1797
|
+
# Position defines a position within a collection of data. The value can be
|
|
1798
|
+
# either the end position, a key (used with ordered collections), a byte offset,
|
|
1799
|
+
# or a record index.
|
|
1800
|
+
# Corresponds to the JSON property `position`
|
|
1801
|
+
# @return [Google::Apis::DataflowV1b3::Position]
|
|
1802
|
+
attr_accessor :position
|
|
1803
|
+
|
|
1804
|
+
# Completion as fraction of the input consumed, from 0.0 (beginning, nothing
|
|
1805
|
+
# consumed), to 1.0 (end of the input, entire input consumed).
|
|
1806
|
+
# Corresponds to the JSON property `fractionConsumed`
|
|
1807
|
+
# @return [Float]
|
|
1808
|
+
attr_accessor :fraction_consumed
|
|
1809
|
+
|
|
1810
|
+
# Represents the level of parallelism in a WorkItem's input, reported by the
|
|
1811
|
+
# worker.
|
|
1812
|
+
# Corresponds to the JSON property `remainingParallelism`
|
|
1813
|
+
# @return [Google::Apis::DataflowV1b3::ReportedParallelism]
|
|
1814
|
+
attr_accessor :remaining_parallelism
|
|
1815
|
+
|
|
1816
|
+
# Represents the level of parallelism in a WorkItem's input, reported by the
|
|
1817
|
+
# worker.
|
|
1818
|
+
# Corresponds to the JSON property `consumedParallelism`
|
|
1819
|
+
# @return [Google::Apis::DataflowV1b3::ReportedParallelism]
|
|
1820
|
+
attr_accessor :consumed_parallelism
|
|
1821
|
+
|
|
1822
|
+
def initialize(**args)
|
|
1823
|
+
update!(**args)
|
|
1824
|
+
end
|
|
1825
|
+
|
|
1826
|
+
# Update properties of this object
|
|
1827
|
+
def update!(**args)
|
|
1828
|
+
@position = args[:position] if args.key?(:position)
|
|
1829
|
+
@fraction_consumed = args[:fraction_consumed] if args.key?(:fraction_consumed)
|
|
1830
|
+
@remaining_parallelism = args[:remaining_parallelism] if args.key?(:remaining_parallelism)
|
|
1831
|
+
@consumed_parallelism = args[:consumed_parallelism] if args.key?(:consumed_parallelism)
|
|
1832
|
+
end
|
|
1833
|
+
end
|
|
1834
|
+
|
|
1835
|
+
# Position defines a position within a collection of data. The value can be
|
|
1836
|
+
# either the end position, a key (used with ordered collections), a byte offset,
|
|
1837
|
+
# or a record index.
|
|
1838
|
+
class Position
|
|
1839
|
+
include Google::Apis::Core::Hashable
|
|
1840
|
+
|
|
1841
|
+
# Position is past all other positions. Also useful for the end position of an
|
|
1842
|
+
# unbounded range.
|
|
1843
|
+
# Corresponds to the JSON property `end`
|
|
1844
|
+
# @return [Boolean]
|
|
1845
|
+
attr_accessor :end
|
|
1846
|
+
alias_method :end?, :end
|
|
1847
|
+
|
|
1848
|
+
# Position is a string key, ordered lexicographically.
|
|
1849
|
+
# Corresponds to the JSON property `key`
|
|
1850
|
+
# @return [String]
|
|
1851
|
+
attr_accessor :key
|
|
1852
|
+
|
|
1853
|
+
# Position is a byte offset.
|
|
1854
|
+
# Corresponds to the JSON property `byteOffset`
|
|
1855
|
+
# @return [String]
|
|
1856
|
+
attr_accessor :byte_offset
|
|
1857
|
+
|
|
1858
|
+
# Position is a record index.
|
|
1859
|
+
# Corresponds to the JSON property `recordIndex`
|
|
1860
|
+
# @return [String]
|
|
1861
|
+
attr_accessor :record_index
|
|
1862
|
+
|
|
1863
|
+
# CloudPosition is a base64 encoded BatchShufflePosition (with FIXED sharding).
|
|
1864
|
+
# Corresponds to the JSON property `shufflePosition`
|
|
1865
|
+
# @return [String]
|
|
1866
|
+
attr_accessor :shuffle_position
|
|
1867
|
+
|
|
1868
|
+
# A position that encapsulates an inner position and an index for the inner
|
|
1869
|
+
# position. A ConcatPosition can be used by a reader of a source that
|
|
1870
|
+
# encapsulates a set of other sources.
|
|
1871
|
+
# Corresponds to the JSON property `concatPosition`
|
|
1872
|
+
# @return [Google::Apis::DataflowV1b3::ConcatPosition]
|
|
1873
|
+
attr_accessor :concat_position
|
|
1874
|
+
|
|
1875
|
+
def initialize(**args)
|
|
1876
|
+
update!(**args)
|
|
1877
|
+
end
|
|
1878
|
+
|
|
1879
|
+
# Update properties of this object
|
|
1880
|
+
def update!(**args)
|
|
1881
|
+
@end = args[:end] if args.key?(:end)
|
|
1882
|
+
@key = args[:key] if args.key?(:key)
|
|
1883
|
+
@byte_offset = args[:byte_offset] if args.key?(:byte_offset)
|
|
1884
|
+
@record_index = args[:record_index] if args.key?(:record_index)
|
|
1885
|
+
@shuffle_position = args[:shuffle_position] if args.key?(:shuffle_position)
|
|
1886
|
+
@concat_position = args[:concat_position] if args.key?(:concat_position)
|
|
1887
|
+
end
|
|
1888
|
+
end
|
|
1889
|
+
|
|
1890
|
+
# A position that encapsulates an inner position and an index for the inner
|
|
1891
|
+
# position. A ConcatPosition can be used by a reader of a source that
|
|
1892
|
+
# encapsulates a set of other sources.
|
|
1893
|
+
class ConcatPosition
|
|
1894
|
+
include Google::Apis::Core::Hashable
|
|
1895
|
+
|
|
1896
|
+
# Index of the inner source.
|
|
1897
|
+
# Corresponds to the JSON property `index`
|
|
1898
|
+
# @return [Fixnum]
|
|
1899
|
+
attr_accessor :index
|
|
1900
|
+
|
|
1901
|
+
# Position defines a position within a collection of data. The value can be
|
|
1902
|
+
# either the end position, a key (used with ordered collections), a byte offset,
|
|
1903
|
+
# or a record index.
|
|
1904
|
+
# Corresponds to the JSON property `position`
|
|
1905
|
+
# @return [Google::Apis::DataflowV1b3::Position]
|
|
1906
|
+
attr_accessor :position
|
|
1907
|
+
|
|
1908
|
+
def initialize(**args)
|
|
1909
|
+
update!(**args)
|
|
1910
|
+
end
|
|
1911
|
+
|
|
1912
|
+
# Update properties of this object
|
|
1913
|
+
def update!(**args)
|
|
1914
|
+
@index = args[:index] if args.key?(:index)
|
|
1915
|
+
@position = args[:position] if args.key?(:position)
|
|
1916
|
+
end
|
|
1917
|
+
end
|
|
1918
|
+
|
|
1919
|
+
# Represents the level of parallelism in a WorkItem's input, reported by the
|
|
1920
|
+
# worker.
|
|
1921
|
+
class ReportedParallelism
|
|
1922
|
+
include Google::Apis::Core::Hashable
|
|
1923
|
+
|
|
1924
|
+
# Specifies whether the parallelism is infinite. If true, "value" is ignored.
|
|
1925
|
+
# Infinite parallelism means the service will assume that the work item can
|
|
1926
|
+
# always be split into more non-empty work items by dynamic splitting. This is a
|
|
1927
|
+
# work-around for lack of support for infinity by the current JSON-based Java
|
|
1928
|
+
# RPC stack.
|
|
1929
|
+
# Corresponds to the JSON property `isInfinite`
|
|
1930
|
+
# @return [Boolean]
|
|
1931
|
+
attr_accessor :is_infinite
|
|
1932
|
+
alias_method :is_infinite?, :is_infinite
|
|
1933
|
+
|
|
1934
|
+
# Specifies the level of parallelism in case it is finite.
|
|
1935
|
+
# Corresponds to the JSON property `value`
|
|
1936
|
+
# @return [Float]
|
|
1937
|
+
attr_accessor :value
|
|
1938
|
+
|
|
1939
|
+
def initialize(**args)
|
|
1940
|
+
update!(**args)
|
|
1941
|
+
end
|
|
1942
|
+
|
|
1943
|
+
# Update properties of this object
|
|
1944
|
+
def update!(**args)
|
|
1945
|
+
@is_infinite = args[:is_infinite] if args.key?(:is_infinite)
|
|
1946
|
+
@value = args[:value] if args.key?(:value)
|
|
1947
|
+
end
|
|
1948
|
+
end
|
|
1949
|
+
|
|
1950
|
+
# When a task splits using WorkItemStatus.dynamic_source_split, this message
|
|
1951
|
+
# describes the two parts of the split relative to the description of the
|
|
1952
|
+
# current task's input.
|
|
1953
|
+
class DynamicSourceSplit
|
|
1954
|
+
include Google::Apis::Core::Hashable
|
|
1955
|
+
|
|
1956
|
+
# Specification of one of the bundles produced as a result of splitting a Source
|
|
1957
|
+
# (e.g. when executing a SourceSplitRequest, or when splitting an active task
|
|
1958
|
+
# using WorkItemStatus.dynamic_source_split), relative to the source being split.
|
|
1959
|
+
# Corresponds to the JSON property `primary`
|
|
1960
|
+
# @return [Google::Apis::DataflowV1b3::DerivedSource]
|
|
1961
|
+
attr_accessor :primary
|
|
1962
|
+
|
|
1963
|
+
# Specification of one of the bundles produced as a result of splitting a Source
|
|
1964
|
+
# (e.g. when executing a SourceSplitRequest, or when splitting an active task
|
|
1965
|
+
# using WorkItemStatus.dynamic_source_split), relative to the source being split.
|
|
1966
|
+
# Corresponds to the JSON property `residual`
|
|
1967
|
+
# @return [Google::Apis::DataflowV1b3::DerivedSource]
|
|
1968
|
+
attr_accessor :residual
|
|
1969
|
+
|
|
1970
|
+
def initialize(**args)
|
|
1971
|
+
update!(**args)
|
|
1972
|
+
end
|
|
1973
|
+
|
|
1974
|
+
# Update properties of this object
|
|
1975
|
+
def update!(**args)
|
|
1976
|
+
@primary = args[:primary] if args.key?(:primary)
|
|
1977
|
+
@residual = args[:residual] if args.key?(:residual)
|
|
1978
|
+
end
|
|
1979
|
+
end
|
|
1980
|
+
|
|
1981
|
+
# Specification of one of the bundles produced as a result of splitting a Source
|
|
1982
|
+
# (e.g. when executing a SourceSplitRequest, or when splitting an active task
|
|
1983
|
+
# using WorkItemStatus.dynamic_source_split), relative to the source being split.
|
|
1984
|
+
class DerivedSource
|
|
1985
|
+
include Google::Apis::Core::Hashable
|
|
1986
|
+
|
|
1987
|
+
# A source that records can be read and decoded from.
|
|
1988
|
+
# Corresponds to the JSON property `source`
|
|
1989
|
+
# @return [Google::Apis::DataflowV1b3::Source]
|
|
1990
|
+
attr_accessor :source
|
|
1991
|
+
|
|
1992
|
+
# What source to base the produced source on (if any).
|
|
1993
|
+
# Corresponds to the JSON property `derivationMode`
|
|
1994
|
+
# @return [String]
|
|
1995
|
+
attr_accessor :derivation_mode
|
|
1996
|
+
|
|
1997
|
+
def initialize(**args)
|
|
1998
|
+
update!(**args)
|
|
1999
|
+
end
|
|
2000
|
+
|
|
2001
|
+
# Update properties of this object
|
|
2002
|
+
def update!(**args)
|
|
2003
|
+
@source = args[:source] if args.key?(:source)
|
|
2004
|
+
@derivation_mode = args[:derivation_mode] if args.key?(:derivation_mode)
|
|
2005
|
+
end
|
|
2006
|
+
end
|
|
2007
|
+
|
|
2008
|
+
# A source that records can be read and decoded from.
|
|
2009
|
+
class Source
|
|
2010
|
+
include Google::Apis::Core::Hashable
|
|
2011
|
+
|
|
2012
|
+
# The source to read from, plus its parameters.
|
|
2013
|
+
# Corresponds to the JSON property `spec`
|
|
2014
|
+
# @return [Hash<String,Object>]
|
|
2015
|
+
attr_accessor :spec
|
|
2016
|
+
|
|
2017
|
+
# The codec to use to decode data read from the source.
|
|
2018
|
+
# Corresponds to the JSON property `codec`
|
|
2019
|
+
# @return [Hash<String,Object>]
|
|
2020
|
+
attr_accessor :codec
|
|
2021
|
+
|
|
2022
|
+
# While splitting, sources may specify the produced bundles as differences
|
|
2023
|
+
# against another source, in order to save backend-side memory and allow bigger
|
|
2024
|
+
# jobs. For details, see SourceSplitRequest. To support this use case, the full
|
|
2025
|
+
# set of parameters of the source is logically obtained by taking the latest
|
|
2026
|
+
# explicitly specified value of each parameter in the order: base_specs (later
|
|
2027
|
+
# items win), spec (overrides anything in base_specs).
|
|
2028
|
+
# Corresponds to the JSON property `baseSpecs`
|
|
2029
|
+
# @return [Array<Hash<String,Object>>]
|
|
2030
|
+
attr_accessor :base_specs
|
|
2031
|
+
|
|
2032
|
+
# Metadata about a Source useful for automatically optimizing and tuning the
|
|
2033
|
+
# pipeline, etc.
|
|
2034
|
+
# Corresponds to the JSON property `metadata`
|
|
2035
|
+
# @return [Google::Apis::DataflowV1b3::SourceMetadata]
|
|
2036
|
+
attr_accessor :metadata
|
|
2037
|
+
|
|
2038
|
+
# Setting this value to true hints to the framework that the source doesn't need
|
|
2039
|
+
# splitting, and using SourceSplitRequest on it would yield
|
|
2040
|
+
# SOURCE_SPLIT_OUTCOME_USE_CURRENT. E.g. a file splitter may set this to true
|
|
2041
|
+
# when splitting a single file into a set of byte ranges of appropriate size,
|
|
2042
|
+
# and set this to false when splitting a filepattern into individual files.
|
|
2043
|
+
# However, for efficiency, a file splitter may decide to produce file subranges
|
|
2044
|
+
# directly from the filepattern to avoid a splitting round-trip. See
|
|
2045
|
+
# SourceSplitRequest for an overview of the splitting process. This field is
|
|
2046
|
+
# meaningful only in the Source objects populated by the user (e.g. when filling
|
|
2047
|
+
# in a DerivedSource). Source objects supplied by the framework to the user don'
|
|
2048
|
+
# t have this field populated.
|
|
2049
|
+
# Corresponds to the JSON property `doesNotNeedSplitting`
|
|
2050
|
+
# @return [Boolean]
|
|
2051
|
+
attr_accessor :does_not_need_splitting
|
|
2052
|
+
alias_method :does_not_need_splitting?, :does_not_need_splitting
|
|
2053
|
+
|
|
2054
|
+
def initialize(**args)
|
|
2055
|
+
update!(**args)
|
|
2056
|
+
end
|
|
2057
|
+
|
|
2058
|
+
# Update properties of this object
|
|
2059
|
+
def update!(**args)
|
|
2060
|
+
@spec = args[:spec] if args.key?(:spec)
|
|
2061
|
+
@codec = args[:codec] if args.key?(:codec)
|
|
2062
|
+
@base_specs = args[:base_specs] if args.key?(:base_specs)
|
|
2063
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
|
2064
|
+
@does_not_need_splitting = args[:does_not_need_splitting] if args.key?(:does_not_need_splitting)
|
|
2065
|
+
end
|
|
2066
|
+
end
|
|
2067
|
+
|
|
2068
|
+
# Metadata about a Source useful for automatically optimizing and tuning the
|
|
2069
|
+
# pipeline, etc.
|
|
2070
|
+
class SourceMetadata
|
|
2071
|
+
include Google::Apis::Core::Hashable
|
|
2072
|
+
|
|
2073
|
+
# Whether this source is known to produce key/value pairs with the (encoded)
|
|
2074
|
+
# keys in lexicographically sorted order.
|
|
2075
|
+
# Corresponds to the JSON property `producesSortedKeys`
|
|
2076
|
+
# @return [Boolean]
|
|
2077
|
+
attr_accessor :produces_sorted_keys
|
|
2078
|
+
alias_method :produces_sorted_keys?, :produces_sorted_keys
|
|
2079
|
+
|
|
2080
|
+
# Specifies that the size of this source is known to be infinite (this is a
|
|
2081
|
+
# streaming source).
|
|
2082
|
+
# Corresponds to the JSON property `infinite`
|
|
2083
|
+
# @return [Boolean]
|
|
2084
|
+
attr_accessor :infinite
|
|
2085
|
+
alias_method :infinite?, :infinite
|
|
2086
|
+
|
|
2087
|
+
# An estimate of the total size (in bytes) of the data that would be read from
|
|
2088
|
+
# this source. This estimate is in terms of external storage size, before any
|
|
2089
|
+
# decompression or other processing done by the reader.
|
|
2090
|
+
# Corresponds to the JSON property `estimatedSizeBytes`
|
|
2091
|
+
# @return [String]
|
|
2092
|
+
attr_accessor :estimated_size_bytes
|
|
2093
|
+
|
|
2094
|
+
def initialize(**args)
|
|
2095
|
+
update!(**args)
|
|
2096
|
+
end
|
|
2097
|
+
|
|
2098
|
+
# Update properties of this object
|
|
2099
|
+
def update!(**args)
|
|
2100
|
+
@produces_sorted_keys = args[:produces_sorted_keys] if args.key?(:produces_sorted_keys)
|
|
2101
|
+
@infinite = args[:infinite] if args.key?(:infinite)
|
|
2102
|
+
@estimated_size_bytes = args[:estimated_size_bytes] if args.key?(:estimated_size_bytes)
|
|
2103
|
+
end
|
|
2104
|
+
end
|
|
2105
|
+
|
|
2106
|
+
# The result of a SourceOperationRequest, specified in
|
|
2107
|
+
# ReportWorkItemStatusRequest.source_operation when the work item is completed.
|
|
2108
|
+
class SourceOperationResponse
|
|
2109
|
+
include Google::Apis::Core::Hashable
|
|
2110
|
+
|
|
2111
|
+
# The response to a SourceSplitRequest.
|
|
2112
|
+
# Corresponds to the JSON property `split`
|
|
2113
|
+
# @return [Google::Apis::DataflowV1b3::SourceSplitResponse]
|
|
2114
|
+
attr_accessor :split
|
|
2115
|
+
|
|
2116
|
+
# The result of a SourceGetMetadataOperation.
|
|
2117
|
+
# Corresponds to the JSON property `getMetadata`
|
|
2118
|
+
# @return [Google::Apis::DataflowV1b3::SourceGetMetadataResponse]
|
|
2119
|
+
attr_accessor :get_metadata
|
|
2120
|
+
|
|
2121
|
+
def initialize(**args)
|
|
2122
|
+
update!(**args)
|
|
2123
|
+
end
|
|
2124
|
+
|
|
2125
|
+
# Update properties of this object
|
|
2126
|
+
def update!(**args)
|
|
2127
|
+
@split = args[:split] if args.key?(:split)
|
|
2128
|
+
@get_metadata = args[:get_metadata] if args.key?(:get_metadata)
|
|
2129
|
+
end
|
|
2130
|
+
end
|
|
2131
|
+
|
|
2132
|
+
# The response to a SourceSplitRequest.
|
|
2133
|
+
class SourceSplitResponse
|
|
2134
|
+
include Google::Apis::Core::Hashable
|
|
2135
|
+
|
|
2136
|
+
# Indicates whether splitting happened and produced a list of bundles. If this
|
|
2137
|
+
# is USE_CURRENT_SOURCE_AS_IS, the current source should be processed "as is"
|
|
2138
|
+
# without splitting. "bundles" is ignored in this case. If this is
|
|
2139
|
+
# SPLITTING_HAPPENED, then "bundles" contains a list of bundles into which the
|
|
2140
|
+
# source was split.
|
|
2141
|
+
# Corresponds to the JSON property `outcome`
|
|
2142
|
+
# @return [String]
|
|
2143
|
+
attr_accessor :outcome
|
|
2144
|
+
|
|
2145
|
+
# If outcome is SPLITTING_HAPPENED, then this is a list of bundles into which
|
|
2146
|
+
# the source was split. Otherwise this field is ignored. This list can be empty,
|
|
2147
|
+
# which means the source represents an empty input.
|
|
2148
|
+
# Corresponds to the JSON property `bundles`
|
|
2149
|
+
# @return [Array<Google::Apis::DataflowV1b3::DerivedSource>]
|
|
2150
|
+
attr_accessor :bundles
|
|
2151
|
+
|
|
2152
|
+
# DEPRECATED in favor of bundles.
|
|
2153
|
+
# Corresponds to the JSON property `shards`
|
|
2154
|
+
# @return [Array<Google::Apis::DataflowV1b3::SourceSplitShard>]
|
|
2155
|
+
attr_accessor :shards
|
|
2156
|
+
|
|
2157
|
+
def initialize(**args)
|
|
2158
|
+
update!(**args)
|
|
2159
|
+
end
|
|
2160
|
+
|
|
2161
|
+
# Update properties of this object
|
|
2162
|
+
def update!(**args)
|
|
2163
|
+
@outcome = args[:outcome] if args.key?(:outcome)
|
|
2164
|
+
@bundles = args[:bundles] if args.key?(:bundles)
|
|
2165
|
+
@shards = args[:shards] if args.key?(:shards)
|
|
2166
|
+
end
|
|
2167
|
+
end
|
|
2168
|
+
|
|
2169
|
+
# DEPRECATED in favor of DerivedSource.
|
|
2170
|
+
class SourceSplitShard
|
|
2171
|
+
include Google::Apis::Core::Hashable
|
|
2172
|
+
|
|
2173
|
+
# A source that records can be read and decoded from.
|
|
2174
|
+
# Corresponds to the JSON property `source`
|
|
2175
|
+
# @return [Google::Apis::DataflowV1b3::Source]
|
|
2176
|
+
attr_accessor :source
|
|
2177
|
+
|
|
2178
|
+
# DEPRECATED
|
|
2179
|
+
# Corresponds to the JSON property `derivationMode`
|
|
2180
|
+
# @return [String]
|
|
2181
|
+
attr_accessor :derivation_mode
|
|
2182
|
+
|
|
2183
|
+
def initialize(**args)
|
|
2184
|
+
update!(**args)
|
|
2185
|
+
end
|
|
2186
|
+
|
|
2187
|
+
# Update properties of this object
|
|
2188
|
+
def update!(**args)
|
|
2189
|
+
@source = args[:source] if args.key?(:source)
|
|
2190
|
+
@derivation_mode = args[:derivation_mode] if args.key?(:derivation_mode)
|
|
2191
|
+
end
|
|
2192
|
+
end
|
|
2193
|
+
|
|
2194
|
+
# The result of a SourceGetMetadataOperation.
|
|
2195
|
+
class SourceGetMetadataResponse
|
|
2196
|
+
include Google::Apis::Core::Hashable
|
|
2197
|
+
|
|
2198
|
+
# Metadata about a Source useful for automatically optimizing and tuning the
|
|
2199
|
+
# pipeline, etc.
|
|
2200
|
+
# Corresponds to the JSON property `metadata`
|
|
2201
|
+
# @return [Google::Apis::DataflowV1b3::SourceMetadata]
|
|
2202
|
+
attr_accessor :metadata
|
|
2203
|
+
|
|
2204
|
+
def initialize(**args)
|
|
2205
|
+
update!(**args)
|
|
2206
|
+
end
|
|
2207
|
+
|
|
2208
|
+
# Update properties of this object
|
|
2209
|
+
def update!(**args)
|
|
2210
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
|
2211
|
+
end
|
|
2212
|
+
end
|
|
2213
|
+
|
|
2214
|
+
# DEPRECATED in favor of DynamicSourceSplit.
|
|
2215
|
+
class SourceFork
|
|
2216
|
+
include Google::Apis::Core::Hashable
|
|
2217
|
+
|
|
2218
|
+
# DEPRECATED in favor of DerivedSource.
|
|
2219
|
+
# Corresponds to the JSON property `primary`
|
|
2220
|
+
# @return [Google::Apis::DataflowV1b3::SourceSplitShard]
|
|
2221
|
+
attr_accessor :primary
|
|
2222
|
+
|
|
2223
|
+
# DEPRECATED in favor of DerivedSource.
|
|
2224
|
+
# Corresponds to the JSON property `residual`
|
|
2225
|
+
# @return [Google::Apis::DataflowV1b3::SourceSplitShard]
|
|
2226
|
+
attr_accessor :residual
|
|
2227
|
+
|
|
2228
|
+
# Specification of one of the bundles produced as a result of splitting a Source
|
|
2229
|
+
# (e.g. when executing a SourceSplitRequest, or when splitting an active task
|
|
2230
|
+
# using WorkItemStatus.dynamic_source_split), relative to the source being split.
|
|
2231
|
+
# Corresponds to the JSON property `primarySource`
|
|
2232
|
+
# @return [Google::Apis::DataflowV1b3::DerivedSource]
|
|
2233
|
+
attr_accessor :primary_source
|
|
2234
|
+
|
|
2235
|
+
# Specification of one of the bundles produced as a result of splitting a Source
|
|
2236
|
+
# (e.g. when executing a SourceSplitRequest, or when splitting an active task
|
|
2237
|
+
# using WorkItemStatus.dynamic_source_split), relative to the source being split.
|
|
2238
|
+
# Corresponds to the JSON property `residualSource`
|
|
2239
|
+
# @return [Google::Apis::DataflowV1b3::DerivedSource]
|
|
2240
|
+
attr_accessor :residual_source
|
|
2241
|
+
|
|
2242
|
+
def initialize(**args)
|
|
2243
|
+
update!(**args)
|
|
2244
|
+
end
|
|
2245
|
+
|
|
2246
|
+
# Update properties of this object
|
|
2247
|
+
def update!(**args)
|
|
2248
|
+
@primary = args[:primary] if args.key?(:primary)
|
|
2249
|
+
@residual = args[:residual] if args.key?(:residual)
|
|
2250
|
+
@primary_source = args[:primary_source] if args.key?(:primary_source)
|
|
2251
|
+
@residual_source = args[:residual_source] if args.key?(:residual_source)
|
|
2252
|
+
end
|
|
2253
|
+
end
|
|
2254
|
+
|
|
2255
|
+
# Obsolete in favor of ApproximateReportedProgress and ApproximateSplitRequest.
|
|
2256
|
+
class ApproximateProgress
|
|
2257
|
+
include Google::Apis::Core::Hashable
|
|
2258
|
+
|
|
2259
|
+
# Position defines a position within a collection of data. The value can be
|
|
2260
|
+
# either the end position, a key (used with ordered collections), a byte offset,
|
|
2261
|
+
# or a record index.
|
|
2262
|
+
# Corresponds to the JSON property `position`
|
|
2263
|
+
# @return [Google::Apis::DataflowV1b3::Position]
|
|
2264
|
+
attr_accessor :position
|
|
2265
|
+
|
|
2266
|
+
# Obsolete.
|
|
2267
|
+
# Corresponds to the JSON property `percentComplete`
|
|
2268
|
+
# @return [Float]
|
|
2269
|
+
attr_accessor :percent_complete
|
|
2270
|
+
|
|
2271
|
+
# Obsolete.
|
|
2272
|
+
# Corresponds to the JSON property `remainingTime`
|
|
2273
|
+
# @return [String]
|
|
2274
|
+
attr_accessor :remaining_time
|
|
2275
|
+
|
|
2276
|
+
def initialize(**args)
|
|
2277
|
+
update!(**args)
|
|
2278
|
+
end
|
|
2279
|
+
|
|
2280
|
+
# Update properties of this object
|
|
2281
|
+
def update!(**args)
|
|
2282
|
+
@position = args[:position] if args.key?(:position)
|
|
2283
|
+
@percent_complete = args[:percent_complete] if args.key?(:percent_complete)
|
|
2284
|
+
@remaining_time = args[:remaining_time] if args.key?(:remaining_time)
|
|
2285
|
+
end
|
|
2286
|
+
end
|
|
2287
|
+
|
|
2288
|
+
# Response from a request to report the status of WorkItems.
|
|
2289
|
+
class ReportWorkItemStatusResponse
|
|
2290
|
+
include Google::Apis::Core::Hashable
|
|
2291
|
+
|
|
2292
|
+
# A set of messages indicating the service-side state for each WorkItem whose
|
|
2293
|
+
# status was reported, in the same order as the WorkItemStatus messages in the
|
|
2294
|
+
# ReportWorkItemStatusRequest which resulting in this response.
|
|
2295
|
+
# Corresponds to the JSON property `workItemServiceStates`
|
|
2296
|
+
# @return [Array<Google::Apis::DataflowV1b3::WorkItemServiceState>]
|
|
2297
|
+
attr_accessor :work_item_service_states
|
|
2298
|
+
|
|
2299
|
+
def initialize(**args)
|
|
2300
|
+
update!(**args)
|
|
2301
|
+
end
|
|
2302
|
+
|
|
2303
|
+
# Update properties of this object
|
|
2304
|
+
def update!(**args)
|
|
2305
|
+
@work_item_service_states = args[:work_item_service_states] if args.key?(:work_item_service_states)
|
|
2306
|
+
end
|
|
2307
|
+
end
|
|
2308
|
+
|
|
2309
|
+
# The Dataflow service's idea of the current state of a WorkItem being processed
|
|
2310
|
+
# by a worker.
|
|
2311
|
+
class WorkItemServiceState
|
|
2312
|
+
include Google::Apis::Core::Hashable
|
|
2313
|
+
|
|
2314
|
+
# A suggestion by the service to the worker to dynamically split the WorkItem.
|
|
2315
|
+
# Corresponds to the JSON property `splitRequest`
|
|
2316
|
+
# @return [Google::Apis::DataflowV1b3::ApproximateSplitRequest]
|
|
2317
|
+
attr_accessor :split_request
|
|
2318
|
+
|
|
2319
|
+
# Time at which the current lease will expire.
|
|
2320
|
+
# Corresponds to the JSON property `leaseExpireTime`
|
|
2321
|
+
# @return [String]
|
|
2322
|
+
attr_accessor :lease_expire_time
|
|
2323
|
+
|
|
2324
|
+
# New recommended reporting interval.
|
|
2325
|
+
# Corresponds to the JSON property `reportStatusInterval`
|
|
2326
|
+
# @return [String]
|
|
2327
|
+
attr_accessor :report_status_interval
|
|
2328
|
+
|
|
2329
|
+
# Other data returned by the service, specific to the particular worker harness.
|
|
2330
|
+
# Corresponds to the JSON property `harnessData`
|
|
2331
|
+
# @return [Hash<String,Object>]
|
|
2332
|
+
attr_accessor :harness_data
|
|
2333
|
+
|
|
2334
|
+
# The index value to use for the next report sent by the worker. Note: If the
|
|
2335
|
+
# report call fails for whatever reason, the worker should reuse this index for
|
|
2336
|
+
# subsequent report attempts.
|
|
2337
|
+
# Corresponds to the JSON property `nextReportIndex`
|
|
2338
|
+
# @return [String]
|
|
2339
|
+
attr_accessor :next_report_index
|
|
2340
|
+
|
|
2341
|
+
# The short ids that workers should use in subsequent metric updates. Workers
|
|
2342
|
+
# should strive to use short ids whenever possible, but it is ok to request the
|
|
2343
|
+
# short_id again if a worker lost track of it (e.g. if the worker is recovering
|
|
2344
|
+
# from a crash). NOTE: it is possible that the response may have short ids for a
|
|
2345
|
+
# subset of the metrics.
|
|
2346
|
+
# Corresponds to the JSON property `metricShortId`
|
|
2347
|
+
# @return [Array<Google::Apis::DataflowV1b3::MetricShortId>]
|
|
2348
|
+
attr_accessor :metric_short_id
|
|
2349
|
+
|
|
2350
|
+
# Position defines a position within a collection of data. The value can be
|
|
2351
|
+
# either the end position, a key (used with ordered collections), a byte offset,
|
|
2352
|
+
# or a record index.
|
|
2353
|
+
# Corresponds to the JSON property `suggestedStopPosition`
|
|
2354
|
+
# @return [Google::Apis::DataflowV1b3::Position]
|
|
2355
|
+
attr_accessor :suggested_stop_position
|
|
2356
|
+
|
|
2357
|
+
# Obsolete in favor of ApproximateReportedProgress and ApproximateSplitRequest.
|
|
2358
|
+
# Corresponds to the JSON property `suggestedStopPoint`
|
|
2359
|
+
# @return [Google::Apis::DataflowV1b3::ApproximateProgress]
|
|
2360
|
+
attr_accessor :suggested_stop_point
|
|
2361
|
+
|
|
2362
|
+
def initialize(**args)
|
|
2363
|
+
update!(**args)
|
|
2364
|
+
end
|
|
2365
|
+
|
|
2366
|
+
# Update properties of this object
|
|
2367
|
+
def update!(**args)
|
|
2368
|
+
@split_request = args[:split_request] if args.key?(:split_request)
|
|
2369
|
+
@lease_expire_time = args[:lease_expire_time] if args.key?(:lease_expire_time)
|
|
2370
|
+
@report_status_interval = args[:report_status_interval] if args.key?(:report_status_interval)
|
|
2371
|
+
@harness_data = args[:harness_data] if args.key?(:harness_data)
|
|
2372
|
+
@next_report_index = args[:next_report_index] if args.key?(:next_report_index)
|
|
2373
|
+
@metric_short_id = args[:metric_short_id] if args.key?(:metric_short_id)
|
|
2374
|
+
@suggested_stop_position = args[:suggested_stop_position] if args.key?(:suggested_stop_position)
|
|
2375
|
+
@suggested_stop_point = args[:suggested_stop_point] if args.key?(:suggested_stop_point)
|
|
2376
|
+
end
|
|
2377
|
+
end
|
|
2378
|
+
|
|
2379
|
+
# A suggestion by the service to the worker to dynamically split the WorkItem.
|
|
2380
|
+
class ApproximateSplitRequest
|
|
2381
|
+
include Google::Apis::Core::Hashable
|
|
2382
|
+
|
|
2383
|
+
# Position defines a position within a collection of data. The value can be
|
|
2384
|
+
# either the end position, a key (used with ordered collections), a byte offset,
|
|
2385
|
+
# or a record index.
|
|
2386
|
+
# Corresponds to the JSON property `position`
|
|
2387
|
+
# @return [Google::Apis::DataflowV1b3::Position]
|
|
2388
|
+
attr_accessor :position
|
|
2389
|
+
|
|
2390
|
+
# A fraction at which to split the work item, from 0.0 (beginning of the input)
|
|
2391
|
+
# to 1.0 (end of the input).
|
|
2392
|
+
# Corresponds to the JSON property `fractionConsumed`
|
|
2393
|
+
# @return [Float]
|
|
2394
|
+
attr_accessor :fraction_consumed
|
|
2395
|
+
|
|
2396
|
+
def initialize(**args)
|
|
2397
|
+
update!(**args)
|
|
2398
|
+
end
|
|
2399
|
+
|
|
2400
|
+
# Update properties of this object
|
|
2401
|
+
def update!(**args)
|
|
2402
|
+
@position = args[:position] if args.key?(:position)
|
|
2403
|
+
@fraction_consumed = args[:fraction_consumed] if args.key?(:fraction_consumed)
|
|
2404
|
+
end
|
|
2405
|
+
end
|
|
2406
|
+
|
|
2407
|
+
# The metric short id is returned to the user alongside an offset into
|
|
2408
|
+
# ReportWorkItemStatusRequest
|
|
2409
|
+
class MetricShortId
|
|
2410
|
+
include Google::Apis::Core::Hashable
|
|
2411
|
+
|
|
2412
|
+
# The index of the corresponding metric in the ReportWorkItemStatusRequest.
|
|
2413
|
+
# Required.
|
|
2414
|
+
# Corresponds to the JSON property `metricIndex`
|
|
2415
|
+
# @return [Fixnum]
|
|
2416
|
+
attr_accessor :metric_index
|
|
2417
|
+
|
|
2418
|
+
# The service-generated short identifier for the metric.
|
|
2419
|
+
# Corresponds to the JSON property `shortId`
|
|
2420
|
+
# @return [String]
|
|
2421
|
+
attr_accessor :short_id
|
|
2422
|
+
|
|
2423
|
+
def initialize(**args)
|
|
2424
|
+
update!(**args)
|
|
2425
|
+
end
|
|
2426
|
+
|
|
2427
|
+
# Update properties of this object
|
|
2428
|
+
def update!(**args)
|
|
2429
|
+
@metric_index = args[:metric_index] if args.key?(:metric_index)
|
|
2430
|
+
@short_id = args[:short_id] if args.key?(:short_id)
|
|
2431
|
+
end
|
|
2432
|
+
end
|
|
2433
|
+
|
|
2434
|
+
# Request to lease WorkItems.
|
|
2435
|
+
class LeaseWorkItemRequest
|
|
2436
|
+
include Google::Apis::Core::Hashable
|
|
2437
|
+
|
|
2438
|
+
# Filter for WorkItem type.
|
|
2439
|
+
# Corresponds to the JSON property `workItemTypes`
|
|
2440
|
+
# @return [Array<String>]
|
|
2441
|
+
attr_accessor :work_item_types
|
|
2442
|
+
|
|
2443
|
+
# Worker capabilities. WorkItems might be limited to workers with specific
|
|
2444
|
+
# capabilities.
|
|
2445
|
+
# Corresponds to the JSON property `workerCapabilities`
|
|
2446
|
+
# @return [Array<String>]
|
|
2447
|
+
attr_accessor :worker_capabilities
|
|
2448
|
+
|
|
2449
|
+
# The initial lease period.
|
|
2450
|
+
# Corresponds to the JSON property `requestedLeaseDuration`
|
|
2451
|
+
# @return [String]
|
|
2452
|
+
attr_accessor :requested_lease_duration
|
|
2453
|
+
|
|
2454
|
+
# The current timestamp at the worker.
|
|
2455
|
+
# Corresponds to the JSON property `currentWorkerTime`
|
|
2456
|
+
# @return [String]
|
|
2457
|
+
attr_accessor :current_worker_time
|
|
2458
|
+
|
|
2459
|
+
# Identifies the worker leasing work -- typically the ID of the virtual machine
|
|
2460
|
+
# running the worker.
|
|
2461
|
+
# Corresponds to the JSON property `workerId`
|
|
2462
|
+
# @return [String]
|
|
2463
|
+
attr_accessor :worker_id
|
|
2464
|
+
|
|
2465
|
+
# The location which contains the WorkItem's job.
|
|
2466
|
+
# Corresponds to the JSON property `location`
|
|
2467
|
+
# @return [String]
|
|
2468
|
+
attr_accessor :location
|
|
2469
|
+
|
|
2470
|
+
def initialize(**args)
|
|
2471
|
+
update!(**args)
|
|
2472
|
+
end
|
|
2473
|
+
|
|
2474
|
+
# Update properties of this object
|
|
2475
|
+
def update!(**args)
|
|
2476
|
+
@work_item_types = args[:work_item_types] if args.key?(:work_item_types)
|
|
2477
|
+
@worker_capabilities = args[:worker_capabilities] if args.key?(:worker_capabilities)
|
|
2478
|
+
@requested_lease_duration = args[:requested_lease_duration] if args.key?(:requested_lease_duration)
|
|
2479
|
+
@current_worker_time = args[:current_worker_time] if args.key?(:current_worker_time)
|
|
2480
|
+
@worker_id = args[:worker_id] if args.key?(:worker_id)
|
|
2481
|
+
@location = args[:location] if args.key?(:location)
|
|
2482
|
+
end
|
|
2483
|
+
end
|
|
2484
|
+
|
|
2485
|
+
# Response to a request to lease WorkItems.
|
|
2486
|
+
class LeaseWorkItemResponse
|
|
2487
|
+
include Google::Apis::Core::Hashable
|
|
2488
|
+
|
|
2489
|
+
# A list of the leased WorkItems.
|
|
2490
|
+
# Corresponds to the JSON property `workItems`
|
|
2491
|
+
# @return [Array<Google::Apis::DataflowV1b3::WorkItem>]
|
|
2492
|
+
attr_accessor :work_items
|
|
2493
|
+
|
|
2494
|
+
def initialize(**args)
|
|
2495
|
+
update!(**args)
|
|
2496
|
+
end
|
|
2497
|
+
|
|
2498
|
+
# Update properties of this object
|
|
2499
|
+
def update!(**args)
|
|
2500
|
+
@work_items = args[:work_items] if args.key?(:work_items)
|
|
2501
|
+
end
|
|
2502
|
+
end
|
|
2503
|
+
|
|
2504
|
+
# WorkItem represents basic information about a WorkItem to be executed in the
|
|
2505
|
+
# cloud.
|
|
2506
|
+
class WorkItem
|
|
2507
|
+
include Google::Apis::Core::Hashable
|
|
2508
|
+
|
|
2509
|
+
# Identifies this WorkItem.
|
|
2510
|
+
# Corresponds to the JSON property `id`
|
|
2511
|
+
# @return [String]
|
|
2512
|
+
attr_accessor :id
|
|
2513
|
+
|
|
2514
|
+
# Identifies the cloud project this WorkItem belongs to.
|
|
2515
|
+
# Corresponds to the JSON property `projectId`
|
|
2516
|
+
# @return [String]
|
|
2517
|
+
attr_accessor :project_id
|
|
2518
|
+
|
|
2519
|
+
# Identifies the workflow job this WorkItem belongs to.
|
|
2520
|
+
# Corresponds to the JSON property `jobId`
|
|
2521
|
+
# @return [String]
|
|
2522
|
+
attr_accessor :job_id
|
|
2523
|
+
|
|
2524
|
+
# Any required packages that need to be fetched in order to execute this
|
|
2525
|
+
# WorkItem.
|
|
2526
|
+
# Corresponds to the JSON property `packages`
|
|
2527
|
+
# @return [Array<Google::Apis::DataflowV1b3::Package>]
|
|
2528
|
+
attr_accessor :packages
|
|
2529
|
+
|
|
2530
|
+
# MapTask consists of an ordered set of instructions, each of which describes
|
|
2531
|
+
# one particular low-level operation for the worker to perform in order to
|
|
2532
|
+
# accomplish the MapTask's WorkItem. Each instruction must appear in the list
|
|
2533
|
+
# before any instructions which depends on its output.
|
|
2534
|
+
# Corresponds to the JSON property `mapTask`
|
|
2535
|
+
# @return [Google::Apis::DataflowV1b3::MapTask]
|
|
2536
|
+
attr_accessor :map_task
|
|
2537
|
+
|
|
2538
|
+
# Describes a particular function to invoke.
|
|
2539
|
+
# Corresponds to the JSON property `seqMapTask`
|
|
2540
|
+
# @return [Google::Apis::DataflowV1b3::SeqMapTask]
|
|
2541
|
+
attr_accessor :seq_map_task
|
|
2542
|
+
|
|
2543
|
+
# A task which consists of a shell command for the worker to execute.
|
|
2544
|
+
# Corresponds to the JSON property `shellTask`
|
|
2545
|
+
# @return [Google::Apis::DataflowV1b3::ShellTask]
|
|
2546
|
+
attr_accessor :shell_task
|
|
2547
|
+
|
|
2548
|
+
# A task which initializes part of a streaming Dataflow job.
|
|
2549
|
+
# Corresponds to the JSON property `streamingSetupTask`
|
|
2550
|
+
# @return [Google::Apis::DataflowV1b3::StreamingSetupTask]
|
|
2551
|
+
attr_accessor :streaming_setup_task
|
|
2552
|
+
|
|
2553
|
+
# A work item that represents the different operations that can be performed on
|
|
2554
|
+
# a user-defined Source specification.
|
|
2555
|
+
# Corresponds to the JSON property `sourceOperationTask`
|
|
2556
|
+
# @return [Google::Apis::DataflowV1b3::SourceOperationRequest]
|
|
2557
|
+
attr_accessor :source_operation_task
|
|
2558
|
+
|
|
2559
|
+
# A task which describes what action should be performed for the specified
|
|
2560
|
+
# streaming computation ranges.
|
|
2561
|
+
# Corresponds to the JSON property `streamingComputationTask`
|
|
2562
|
+
# @return [Google::Apis::DataflowV1b3::StreamingComputationTask]
|
|
2563
|
+
attr_accessor :streaming_computation_task
|
|
2564
|
+
|
|
2565
|
+
# A task that carries configuration information for streaming computations.
|
|
2566
|
+
# Corresponds to the JSON property `streamingConfigTask`
|
|
2567
|
+
# @return [Google::Apis::DataflowV1b3::StreamingConfigTask]
|
|
2568
|
+
attr_accessor :streaming_config_task
|
|
2569
|
+
|
|
2570
|
+
# Recommended reporting interval.
|
|
2571
|
+
# Corresponds to the JSON property `reportStatusInterval`
|
|
2572
|
+
# @return [String]
|
|
2573
|
+
attr_accessor :report_status_interval
|
|
2574
|
+
|
|
2575
|
+
# Time when the lease on this Work will expire.
|
|
2576
|
+
# Corresponds to the JSON property `leaseExpireTime`
|
|
2577
|
+
# @return [String]
|
|
2578
|
+
attr_accessor :lease_expire_time
|
|
2579
|
+
|
|
2580
|
+
# Work item-specific configuration as an opaque blob.
|
|
2581
|
+
# Corresponds to the JSON property `configuration`
|
|
2582
|
+
# @return [String]
|
|
2583
|
+
attr_accessor :configuration
|
|
2584
|
+
|
|
2585
|
+
# The initial index to use when reporting the status of the WorkItem.
|
|
2586
|
+
# Corresponds to the JSON property `initialReportIndex`
|
|
2587
|
+
# @return [String]
|
|
2588
|
+
attr_accessor :initial_report_index
|
|
2589
|
+
|
|
2590
|
+
def initialize(**args)
|
|
2591
|
+
update!(**args)
|
|
2592
|
+
end
|
|
2593
|
+
|
|
2594
|
+
# Update properties of this object
|
|
2595
|
+
def update!(**args)
|
|
2596
|
+
@id = args[:id] if args.key?(:id)
|
|
2597
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
|
2598
|
+
@job_id = args[:job_id] if args.key?(:job_id)
|
|
2599
|
+
@packages = args[:packages] if args.key?(:packages)
|
|
2600
|
+
@map_task = args[:map_task] if args.key?(:map_task)
|
|
2601
|
+
@seq_map_task = args[:seq_map_task] if args.key?(:seq_map_task)
|
|
2602
|
+
@shell_task = args[:shell_task] if args.key?(:shell_task)
|
|
2603
|
+
@streaming_setup_task = args[:streaming_setup_task] if args.key?(:streaming_setup_task)
|
|
2604
|
+
@source_operation_task = args[:source_operation_task] if args.key?(:source_operation_task)
|
|
2605
|
+
@streaming_computation_task = args[:streaming_computation_task] if args.key?(:streaming_computation_task)
|
|
2606
|
+
@streaming_config_task = args[:streaming_config_task] if args.key?(:streaming_config_task)
|
|
2607
|
+
@report_status_interval = args[:report_status_interval] if args.key?(:report_status_interval)
|
|
2608
|
+
@lease_expire_time = args[:lease_expire_time] if args.key?(:lease_expire_time)
|
|
2609
|
+
@configuration = args[:configuration] if args.key?(:configuration)
|
|
2610
|
+
@initial_report_index = args[:initial_report_index] if args.key?(:initial_report_index)
|
|
2611
|
+
end
|
|
2612
|
+
end
|
|
2613
|
+
|
|
2614
|
+
# MapTask consists of an ordered set of instructions, each of which describes
|
|
2615
|
+
# one particular low-level operation for the worker to perform in order to
|
|
2616
|
+
# accomplish the MapTask's WorkItem. Each instruction must appear in the list
|
|
2617
|
+
# before any instructions which depends on its output.
|
|
2618
|
+
class MapTask
|
|
2619
|
+
include Google::Apis::Core::Hashable
|
|
2620
|
+
|
|
2621
|
+
# The instructions in the MapTask.
|
|
2622
|
+
# Corresponds to the JSON property `instructions`
|
|
2623
|
+
# @return [Array<Google::Apis::DataflowV1b3::ParallelInstruction>]
|
|
2624
|
+
attr_accessor :instructions
|
|
2625
|
+
|
|
2626
|
+
# System-defined name of this MapTask. Unique across the workflow.
|
|
2627
|
+
# Corresponds to the JSON property `systemName`
|
|
2628
|
+
# @return [String]
|
|
2629
|
+
attr_accessor :system_name
|
|
2630
|
+
|
|
2631
|
+
# System-defined name of the stage containing this MapTask. Unique across the
|
|
2632
|
+
# workflow.
|
|
2633
|
+
# Corresponds to the JSON property `stageName`
|
|
2634
|
+
# @return [String]
|
|
2635
|
+
attr_accessor :stage_name
|
|
2636
|
+
|
|
2637
|
+
def initialize(**args)
|
|
2638
|
+
update!(**args)
|
|
2639
|
+
end
|
|
2640
|
+
|
|
2641
|
+
# Update properties of this object
|
|
2642
|
+
def update!(**args)
|
|
2643
|
+
@instructions = args[:instructions] if args.key?(:instructions)
|
|
2644
|
+
@system_name = args[:system_name] if args.key?(:system_name)
|
|
2645
|
+
@stage_name = args[:stage_name] if args.key?(:stage_name)
|
|
2646
|
+
end
|
|
2647
|
+
end
|
|
2648
|
+
|
|
2649
|
+
# Describes a particular operation comprising a MapTask.
|
|
2650
|
+
class ParallelInstruction
|
|
2651
|
+
include Google::Apis::Core::Hashable
|
|
2652
|
+
|
|
2653
|
+
# System-defined name of this operation. Unique across the workflow.
|
|
2654
|
+
# Corresponds to the JSON property `systemName`
|
|
2655
|
+
# @return [String]
|
|
2656
|
+
attr_accessor :system_name
|
|
2657
|
+
|
|
2658
|
+
# User-provided name of this operation.
|
|
2659
|
+
# Corresponds to the JSON property `name`
|
|
2660
|
+
# @return [String]
|
|
2661
|
+
attr_accessor :name
|
|
2662
|
+
|
|
2663
|
+
# System-defined name for the operation in the original workflow graph.
|
|
2664
|
+
# Corresponds to the JSON property `originalName`
|
|
2665
|
+
# @return [String]
|
|
2666
|
+
attr_accessor :original_name
|
|
2667
|
+
|
|
2668
|
+
# An instruction that reads records. Takes no inputs, produces one output.
|
|
2669
|
+
# Corresponds to the JSON property `read`
|
|
2670
|
+
# @return [Google::Apis::DataflowV1b3::ReadInstruction]
|
|
2671
|
+
attr_accessor :read
|
|
2672
|
+
|
|
2673
|
+
# An instruction that writes records. Takes one input, produces no outputs.
|
|
2674
|
+
# Corresponds to the JSON property `write`
|
|
2675
|
+
# @return [Google::Apis::DataflowV1b3::WriteInstruction]
|
|
2676
|
+
attr_accessor :write
|
|
2677
|
+
|
|
2678
|
+
# An instruction that does a ParDo operation. Takes one main input and zero or
|
|
2679
|
+
# more side inputs, and produces zero or more outputs. Runs user code.
|
|
2680
|
+
# Corresponds to the JSON property `parDo`
|
|
2681
|
+
# @return [Google::Apis::DataflowV1b3::ParDoInstruction]
|
|
2682
|
+
attr_accessor :par_do
|
|
2683
|
+
|
|
2684
|
+
# An instruction that does a partial group-by-key. One input and one output.
|
|
2685
|
+
# Corresponds to the JSON property `partialGroupByKey`
|
|
2686
|
+
# @return [Google::Apis::DataflowV1b3::PartialGroupByKeyInstruction]
|
|
2687
|
+
attr_accessor :partial_group_by_key
|
|
2688
|
+
|
|
2689
|
+
# An instruction that copies its inputs (zero or more) to its (single) output.
|
|
2690
|
+
# Corresponds to the JSON property `flatten`
|
|
2691
|
+
# @return [Google::Apis::DataflowV1b3::FlattenInstruction]
|
|
2692
|
+
attr_accessor :flatten
|
|
2693
|
+
|
|
2694
|
+
# Describes the outputs of the instruction.
|
|
2695
|
+
# Corresponds to the JSON property `outputs`
|
|
2696
|
+
# @return [Array<Google::Apis::DataflowV1b3::InstructionOutput>]
|
|
2697
|
+
attr_accessor :outputs
|
|
2698
|
+
|
|
2699
|
+
def initialize(**args)
|
|
2700
|
+
update!(**args)
|
|
2701
|
+
end
|
|
2702
|
+
|
|
2703
|
+
# Update properties of this object
|
|
2704
|
+
def update!(**args)
|
|
2705
|
+
@system_name = args[:system_name] if args.key?(:system_name)
|
|
2706
|
+
@name = args[:name] if args.key?(:name)
|
|
2707
|
+
@original_name = args[:original_name] if args.key?(:original_name)
|
|
2708
|
+
@read = args[:read] if args.key?(:read)
|
|
2709
|
+
@write = args[:write] if args.key?(:write)
|
|
2710
|
+
@par_do = args[:par_do] if args.key?(:par_do)
|
|
2711
|
+
@partial_group_by_key = args[:partial_group_by_key] if args.key?(:partial_group_by_key)
|
|
2712
|
+
@flatten = args[:flatten] if args.key?(:flatten)
|
|
2713
|
+
@outputs = args[:outputs] if args.key?(:outputs)
|
|
2714
|
+
end
|
|
2715
|
+
end
|
|
2716
|
+
|
|
2717
|
+
# An instruction that reads records. Takes no inputs, produces one output.
|
|
2718
|
+
class ReadInstruction
|
|
2719
|
+
include Google::Apis::Core::Hashable
|
|
2720
|
+
|
|
2721
|
+
# A source that records can be read and decoded from.
|
|
2722
|
+
# Corresponds to the JSON property `source`
|
|
2723
|
+
# @return [Google::Apis::DataflowV1b3::Source]
|
|
2724
|
+
attr_accessor :source
|
|
2725
|
+
|
|
2726
|
+
def initialize(**args)
|
|
2727
|
+
update!(**args)
|
|
2728
|
+
end
|
|
2729
|
+
|
|
2730
|
+
# Update properties of this object
|
|
2731
|
+
def update!(**args)
|
|
2732
|
+
@source = args[:source] if args.key?(:source)
|
|
2733
|
+
end
|
|
2734
|
+
end
|
|
2735
|
+
|
|
2736
|
+
# An instruction that writes records. Takes one input, produces no outputs.
|
|
2737
|
+
class WriteInstruction
|
|
2738
|
+
include Google::Apis::Core::Hashable
|
|
2739
|
+
|
|
2740
|
+
# An input of an instruction, as a reference to an output of a producer
|
|
2741
|
+
# instruction.
|
|
2742
|
+
# Corresponds to the JSON property `input`
|
|
2743
|
+
# @return [Google::Apis::DataflowV1b3::InstructionInput]
|
|
2744
|
+
attr_accessor :input
|
|
2745
|
+
|
|
2746
|
+
# A sink that records can be encoded and written to.
|
|
2747
|
+
# Corresponds to the JSON property `sink`
|
|
2748
|
+
# @return [Google::Apis::DataflowV1b3::Sink]
|
|
2749
|
+
attr_accessor :sink
|
|
2750
|
+
|
|
2751
|
+
def initialize(**args)
|
|
2752
|
+
update!(**args)
|
|
2753
|
+
end
|
|
2754
|
+
|
|
2755
|
+
# Update properties of this object
|
|
2756
|
+
def update!(**args)
|
|
2757
|
+
@input = args[:input] if args.key?(:input)
|
|
2758
|
+
@sink = args[:sink] if args.key?(:sink)
|
|
2759
|
+
end
|
|
2760
|
+
end
|
|
2761
|
+
|
|
2762
|
+
# An input of an instruction, as a reference to an output of a producer
|
|
2763
|
+
# instruction.
|
|
2764
|
+
class InstructionInput
|
|
2765
|
+
include Google::Apis::Core::Hashable
|
|
2766
|
+
|
|
2767
|
+
# The index (origin zero) of the parallel instruction that produces the output
|
|
2768
|
+
# to be consumed by this input. This index is relative to the list of
|
|
2769
|
+
# instructions in this input's instruction's containing MapTask.
|
|
2770
|
+
# Corresponds to the JSON property `producerInstructionIndex`
|
|
2771
|
+
# @return [Fixnum]
|
|
2772
|
+
attr_accessor :producer_instruction_index
|
|
2773
|
+
|
|
2774
|
+
# The output index (origin zero) within the producer.
|
|
2775
|
+
# Corresponds to the JSON property `outputNum`
|
|
2776
|
+
# @return [Fixnum]
|
|
2777
|
+
attr_accessor :output_num
|
|
2778
|
+
|
|
2779
|
+
def initialize(**args)
|
|
2780
|
+
update!(**args)
|
|
2781
|
+
end
|
|
2782
|
+
|
|
2783
|
+
# Update properties of this object
|
|
2784
|
+
def update!(**args)
|
|
2785
|
+
@producer_instruction_index = args[:producer_instruction_index] if args.key?(:producer_instruction_index)
|
|
2786
|
+
@output_num = args[:output_num] if args.key?(:output_num)
|
|
2787
|
+
end
|
|
2788
|
+
end
|
|
2789
|
+
|
|
2790
|
+
# A sink that records can be encoded and written to.
|
|
2791
|
+
class Sink
|
|
2792
|
+
include Google::Apis::Core::Hashable
|
|
2793
|
+
|
|
2794
|
+
# The sink to write to, plus its parameters.
|
|
2795
|
+
# Corresponds to the JSON property `spec`
|
|
2796
|
+
# @return [Hash<String,Object>]
|
|
2797
|
+
attr_accessor :spec
|
|
2798
|
+
|
|
2799
|
+
# The codec to use to encode data written to the sink.
|
|
2800
|
+
# Corresponds to the JSON property `codec`
|
|
2801
|
+
# @return [Hash<String,Object>]
|
|
2802
|
+
attr_accessor :codec
|
|
2803
|
+
|
|
2804
|
+
def initialize(**args)
|
|
2805
|
+
update!(**args)
|
|
2806
|
+
end
|
|
2807
|
+
|
|
2808
|
+
# Update properties of this object
|
|
2809
|
+
def update!(**args)
|
|
2810
|
+
@spec = args[:spec] if args.key?(:spec)
|
|
2811
|
+
@codec = args[:codec] if args.key?(:codec)
|
|
2812
|
+
end
|
|
2813
|
+
end
|
|
2814
|
+
|
|
2815
|
+
# An instruction that does a ParDo operation. Takes one main input and zero or
|
|
2816
|
+
# more side inputs, and produces zero or more outputs. Runs user code.
|
|
2817
|
+
class ParDoInstruction
|
|
2818
|
+
include Google::Apis::Core::Hashable
|
|
2819
|
+
|
|
2820
|
+
# An input of an instruction, as a reference to an output of a producer
|
|
2821
|
+
# instruction.
|
|
2822
|
+
# Corresponds to the JSON property `input`
|
|
2823
|
+
# @return [Google::Apis::DataflowV1b3::InstructionInput]
|
|
2824
|
+
attr_accessor :input
|
|
2825
|
+
|
|
2826
|
+
# Zero or more side inputs.
|
|
2827
|
+
# Corresponds to the JSON property `sideInputs`
|
|
2828
|
+
# @return [Array<Google::Apis::DataflowV1b3::SideInputInfo>]
|
|
2829
|
+
attr_accessor :side_inputs
|
|
2830
|
+
|
|
2831
|
+
# The user function to invoke.
|
|
2832
|
+
# Corresponds to the JSON property `userFn`
|
|
2833
|
+
# @return [Hash<String,Object>]
|
|
2834
|
+
attr_accessor :user_fn
|
|
2835
|
+
|
|
2836
|
+
# The number of outputs.
|
|
2837
|
+
# Corresponds to the JSON property `numOutputs`
|
|
2838
|
+
# @return [Fixnum]
|
|
2839
|
+
attr_accessor :num_outputs
|
|
2840
|
+
|
|
2841
|
+
# Information about each of the outputs, if user_fn is a MultiDoFn.
|
|
2842
|
+
# Corresponds to the JSON property `multiOutputInfos`
|
|
2843
|
+
# @return [Array<Google::Apis::DataflowV1b3::MultiOutputInfo>]
|
|
2844
|
+
attr_accessor :multi_output_infos
|
|
2845
|
+
|
|
2846
|
+
def initialize(**args)
|
|
2847
|
+
update!(**args)
|
|
2848
|
+
end
|
|
2849
|
+
|
|
2850
|
+
# Update properties of this object
|
|
2851
|
+
def update!(**args)
|
|
2852
|
+
@input = args[:input] if args.key?(:input)
|
|
2853
|
+
@side_inputs = args[:side_inputs] if args.key?(:side_inputs)
|
|
2854
|
+
@user_fn = args[:user_fn] if args.key?(:user_fn)
|
|
2855
|
+
@num_outputs = args[:num_outputs] if args.key?(:num_outputs)
|
|
2856
|
+
@multi_output_infos = args[:multi_output_infos] if args.key?(:multi_output_infos)
|
|
2857
|
+
end
|
|
2858
|
+
end
|
|
2859
|
+
|
|
2860
|
+
# Information about a side input of a DoFn or an input of a SeqDoFn.
|
|
2861
|
+
class SideInputInfo
|
|
2862
|
+
include Google::Apis::Core::Hashable
|
|
2863
|
+
|
|
2864
|
+
# The source(s) to read element(s) from to get the value of this side input. If
|
|
2865
|
+
# more than one source, then the elements are taken from the sources, in the
|
|
2866
|
+
# specified order if order matters. At least one source is required.
|
|
2867
|
+
# Corresponds to the JSON property `sources`
|
|
2868
|
+
# @return [Array<Google::Apis::DataflowV1b3::Source>]
|
|
2869
|
+
attr_accessor :sources
|
|
2870
|
+
|
|
2871
|
+
# How to interpret the source element(s) as a side input value.
|
|
2872
|
+
# Corresponds to the JSON property `kind`
|
|
2873
|
+
# @return [Hash<String,Object>]
|
|
2874
|
+
attr_accessor :kind
|
|
2875
|
+
|
|
2876
|
+
# The id of the tag the user code will access this side input by; this should
|
|
2877
|
+
# correspond to the tag of some MultiOutputInfo.
|
|
2878
|
+
# Corresponds to the JSON property `tag`
|
|
2879
|
+
# @return [String]
|
|
2880
|
+
attr_accessor :tag
|
|
2881
|
+
|
|
2882
|
+
def initialize(**args)
|
|
2883
|
+
update!(**args)
|
|
2884
|
+
end
|
|
2885
|
+
|
|
2886
|
+
# Update properties of this object
|
|
2887
|
+
def update!(**args)
|
|
2888
|
+
@sources = args[:sources] if args.key?(:sources)
|
|
2889
|
+
@kind = args[:kind] if args.key?(:kind)
|
|
2890
|
+
@tag = args[:tag] if args.key?(:tag)
|
|
2891
|
+
end
|
|
2892
|
+
end
|
|
2893
|
+
|
|
2894
|
+
# Information about an output of a multi-output DoFn.
|
|
2895
|
+
class MultiOutputInfo
|
|
2896
|
+
include Google::Apis::Core::Hashable
|
|
2897
|
+
|
|
2898
|
+
# The id of the tag the user code will emit to this output by; this should
|
|
2899
|
+
# correspond to the tag of some SideInputInfo.
|
|
2900
|
+
# Corresponds to the JSON property `tag`
|
|
2901
|
+
# @return [String]
|
|
2902
|
+
attr_accessor :tag
|
|
2903
|
+
|
|
2904
|
+
def initialize(**args)
|
|
2905
|
+
update!(**args)
|
|
2906
|
+
end
|
|
2907
|
+
|
|
2908
|
+
# Update properties of this object
|
|
2909
|
+
def update!(**args)
|
|
2910
|
+
@tag = args[:tag] if args.key?(:tag)
|
|
2911
|
+
end
|
|
2912
|
+
end
|
|
2913
|
+
|
|
2914
|
+
# An instruction that does a partial group-by-key. One input and one output.
|
|
2915
|
+
class PartialGroupByKeyInstruction
|
|
2916
|
+
include Google::Apis::Core::Hashable
|
|
2917
|
+
|
|
2918
|
+
# An input of an instruction, as a reference to an output of a producer
|
|
2919
|
+
# instruction.
|
|
2920
|
+
# Corresponds to the JSON property `input`
|
|
2921
|
+
# @return [Google::Apis::DataflowV1b3::InstructionInput]
|
|
2922
|
+
attr_accessor :input
|
|
2923
|
+
|
|
2924
|
+
# The codec to use for interpreting an element in the input PTable.
|
|
2925
|
+
# Corresponds to the JSON property `inputElementCodec`
|
|
2926
|
+
# @return [Hash<String,Object>]
|
|
2927
|
+
attr_accessor :input_element_codec
|
|
2928
|
+
|
|
2929
|
+
# The value combining function to invoke.
|
|
2930
|
+
# Corresponds to the JSON property `valueCombiningFn`
|
|
2931
|
+
# @return [Hash<String,Object>]
|
|
2932
|
+
attr_accessor :value_combining_fn
|
|
2933
|
+
|
|
2934
|
+
# Zero or more side inputs.
|
|
2935
|
+
# Corresponds to the JSON property `sideInputs`
|
|
2936
|
+
# @return [Array<Google::Apis::DataflowV1b3::SideInputInfo>]
|
|
2937
|
+
attr_accessor :side_inputs
|
|
2938
|
+
|
|
2939
|
+
# If this instruction includes a combining function, this is the name of the
|
|
2940
|
+
# CombineValues instruction lifted into this instruction.
|
|
2941
|
+
# Corresponds to the JSON property `originalCombineValuesStepName`
|
|
2942
|
+
# @return [String]
|
|
2943
|
+
attr_accessor :original_combine_values_step_name
|
|
2944
|
+
|
|
2945
|
+
# If this instruction includes a combining function this is the name of the
|
|
2946
|
+
# intermediate store between the GBK and the CombineValues.
|
|
2947
|
+
# Corresponds to the JSON property `originalCombineValuesInputStoreName`
|
|
2948
|
+
# @return [String]
|
|
2949
|
+
attr_accessor :original_combine_values_input_store_name
|
|
2950
|
+
|
|
2951
|
+
def initialize(**args)
|
|
2952
|
+
update!(**args)
|
|
2953
|
+
end
|
|
2954
|
+
|
|
2955
|
+
# Update properties of this object
|
|
2956
|
+
def update!(**args)
|
|
2957
|
+
@input = args[:input] if args.key?(:input)
|
|
2958
|
+
@input_element_codec = args[:input_element_codec] if args.key?(:input_element_codec)
|
|
2959
|
+
@value_combining_fn = args[:value_combining_fn] if args.key?(:value_combining_fn)
|
|
2960
|
+
@side_inputs = args[:side_inputs] if args.key?(:side_inputs)
|
|
2961
|
+
@original_combine_values_step_name = args[:original_combine_values_step_name] if args.key?(:original_combine_values_step_name)
|
|
2962
|
+
@original_combine_values_input_store_name = args[:original_combine_values_input_store_name] if args.key?(:original_combine_values_input_store_name)
|
|
2963
|
+
end
|
|
2964
|
+
end
|
|
2965
|
+
|
|
2966
|
+
# An instruction that copies its inputs (zero or more) to its (single) output.
|
|
2967
|
+
class FlattenInstruction
|
|
2968
|
+
include Google::Apis::Core::Hashable
|
|
2969
|
+
|
|
2970
|
+
# Describes the inputs to the flatten instruction.
|
|
2971
|
+
# Corresponds to the JSON property `inputs`
|
|
2972
|
+
# @return [Array<Google::Apis::DataflowV1b3::InstructionInput>]
|
|
2973
|
+
attr_accessor :inputs
|
|
2974
|
+
|
|
2975
|
+
def initialize(**args)
|
|
2976
|
+
update!(**args)
|
|
2977
|
+
end
|
|
2978
|
+
|
|
2979
|
+
# Update properties of this object
|
|
2980
|
+
def update!(**args)
|
|
2981
|
+
@inputs = args[:inputs] if args.key?(:inputs)
|
|
2982
|
+
end
|
|
2983
|
+
end
|
|
2984
|
+
|
|
2985
|
+
# An output of an instruction.
|
|
2986
|
+
class InstructionOutput
|
|
2987
|
+
include Google::Apis::Core::Hashable
|
|
2988
|
+
|
|
2989
|
+
# The user-provided name of this output.
|
|
2990
|
+
# Corresponds to the JSON property `name`
|
|
2991
|
+
# @return [String]
|
|
2992
|
+
attr_accessor :name
|
|
2993
|
+
|
|
2994
|
+
# System-defined name of this output. Unique across the workflow.
|
|
2995
|
+
# Corresponds to the JSON property `systemName`
|
|
2996
|
+
# @return [String]
|
|
2997
|
+
attr_accessor :system_name
|
|
2998
|
+
|
|
2999
|
+
# System-defined name for this output in the original workflow graph. Outputs
|
|
3000
|
+
# that do not contribute to an original instruction do not set this.
|
|
3001
|
+
# Corresponds to the JSON property `originalName`
|
|
3002
|
+
# @return [String]
|
|
3003
|
+
attr_accessor :original_name
|
|
3004
|
+
|
|
3005
|
+
# The codec to use to encode data being written via this output.
|
|
3006
|
+
# Corresponds to the JSON property `codec`
|
|
3007
|
+
# @return [Hash<String,Object>]
|
|
3008
|
+
attr_accessor :codec
|
|
3009
|
+
|
|
3010
|
+
# For system-generated byte and mean byte metrics, certain instructions should
|
|
3011
|
+
# only report the key size.
|
|
3012
|
+
# Corresponds to the JSON property `onlyCountKeyBytes`
|
|
3013
|
+
# @return [Boolean]
|
|
3014
|
+
attr_accessor :only_count_key_bytes
|
|
3015
|
+
alias_method :only_count_key_bytes?, :only_count_key_bytes
|
|
3016
|
+
|
|
3017
|
+
# For system-generated byte and mean byte metrics, certain instructions should
|
|
3018
|
+
# only report the value size.
|
|
3019
|
+
# Corresponds to the JSON property `onlyCountValueBytes`
|
|
3020
|
+
# @return [Boolean]
|
|
3021
|
+
attr_accessor :only_count_value_bytes
|
|
3022
|
+
alias_method :only_count_value_bytes?, :only_count_value_bytes
|
|
3023
|
+
|
|
3024
|
+
def initialize(**args)
|
|
3025
|
+
update!(**args)
|
|
3026
|
+
end
|
|
3027
|
+
|
|
3028
|
+
# Update properties of this object
|
|
3029
|
+
def update!(**args)
|
|
3030
|
+
@name = args[:name] if args.key?(:name)
|
|
3031
|
+
@system_name = args[:system_name] if args.key?(:system_name)
|
|
3032
|
+
@original_name = args[:original_name] if args.key?(:original_name)
|
|
3033
|
+
@codec = args[:codec] if args.key?(:codec)
|
|
3034
|
+
@only_count_key_bytes = args[:only_count_key_bytes] if args.key?(:only_count_key_bytes)
|
|
3035
|
+
@only_count_value_bytes = args[:only_count_value_bytes] if args.key?(:only_count_value_bytes)
|
|
3036
|
+
end
|
|
3037
|
+
end
|
|
3038
|
+
|
|
3039
|
+
# Describes a particular function to invoke.
|
|
3040
|
+
class SeqMapTask
|
|
3041
|
+
include Google::Apis::Core::Hashable
|
|
3042
|
+
|
|
3043
|
+
# Information about each of the inputs.
|
|
3044
|
+
# Corresponds to the JSON property `inputs`
|
|
3045
|
+
# @return [Array<Google::Apis::DataflowV1b3::SideInputInfo>]
|
|
3046
|
+
attr_accessor :inputs
|
|
3047
|
+
|
|
3048
|
+
# The user function to invoke.
|
|
3049
|
+
# Corresponds to the JSON property `userFn`
|
|
3050
|
+
# @return [Hash<String,Object>]
|
|
3051
|
+
attr_accessor :user_fn
|
|
3052
|
+
|
|
3053
|
+
# Information about each of the outputs.
|
|
3054
|
+
# Corresponds to the JSON property `outputInfos`
|
|
3055
|
+
# @return [Array<Google::Apis::DataflowV1b3::SeqMapTaskOutputInfo>]
|
|
3056
|
+
attr_accessor :output_infos
|
|
3057
|
+
|
|
3058
|
+
# The user-provided name of the SeqDo operation.
|
|
3059
|
+
# Corresponds to the JSON property `name`
|
|
3060
|
+
# @return [String]
|
|
3061
|
+
attr_accessor :name
|
|
3062
|
+
|
|
3063
|
+
# System-defined name of the SeqDo operation. Unique across the workflow.
|
|
3064
|
+
# Corresponds to the JSON property `systemName`
|
|
3065
|
+
# @return [String]
|
|
3066
|
+
attr_accessor :system_name
|
|
3067
|
+
|
|
3068
|
+
# System-defined name of the stage containing the SeqDo operation. Unique across
|
|
3069
|
+
# the workflow.
|
|
3070
|
+
# Corresponds to the JSON property `stageName`
|
|
3071
|
+
# @return [String]
|
|
3072
|
+
attr_accessor :stage_name
|
|
3073
|
+
|
|
3074
|
+
def initialize(**args)
|
|
3075
|
+
update!(**args)
|
|
3076
|
+
end
|
|
3077
|
+
|
|
3078
|
+
# Update properties of this object
|
|
3079
|
+
def update!(**args)
|
|
3080
|
+
@inputs = args[:inputs] if args.key?(:inputs)
|
|
3081
|
+
@user_fn = args[:user_fn] if args.key?(:user_fn)
|
|
3082
|
+
@output_infos = args[:output_infos] if args.key?(:output_infos)
|
|
3083
|
+
@name = args[:name] if args.key?(:name)
|
|
3084
|
+
@system_name = args[:system_name] if args.key?(:system_name)
|
|
3085
|
+
@stage_name = args[:stage_name] if args.key?(:stage_name)
|
|
3086
|
+
end
|
|
3087
|
+
end
|
|
3088
|
+
|
|
3089
|
+
# Information about an output of a SeqMapTask.
|
|
3090
|
+
class SeqMapTaskOutputInfo
|
|
3091
|
+
include Google::Apis::Core::Hashable
|
|
3092
|
+
|
|
3093
|
+
# The id of the TupleTag the user code will tag the output value by.
|
|
3094
|
+
# Corresponds to the JSON property `tag`
|
|
3095
|
+
# @return [String]
|
|
3096
|
+
attr_accessor :tag
|
|
3097
|
+
|
|
3098
|
+
# A sink that records can be encoded and written to.
|
|
3099
|
+
# Corresponds to the JSON property `sink`
|
|
3100
|
+
# @return [Google::Apis::DataflowV1b3::Sink]
|
|
3101
|
+
attr_accessor :sink
|
|
3102
|
+
|
|
3103
|
+
def initialize(**args)
|
|
3104
|
+
update!(**args)
|
|
3105
|
+
end
|
|
3106
|
+
|
|
3107
|
+
# Update properties of this object
|
|
3108
|
+
def update!(**args)
|
|
3109
|
+
@tag = args[:tag] if args.key?(:tag)
|
|
3110
|
+
@sink = args[:sink] if args.key?(:sink)
|
|
3111
|
+
end
|
|
3112
|
+
end
|
|
3113
|
+
|
|
3114
|
+
# A task which consists of a shell command for the worker to execute.
|
|
3115
|
+
class ShellTask
|
|
3116
|
+
include Google::Apis::Core::Hashable
|
|
3117
|
+
|
|
3118
|
+
# The shell command to run.
|
|
3119
|
+
# Corresponds to the JSON property `command`
|
|
3120
|
+
# @return [String]
|
|
3121
|
+
attr_accessor :command
|
|
3122
|
+
|
|
3123
|
+
# Exit code for the task.
|
|
3124
|
+
# Corresponds to the JSON property `exitCode`
|
|
3125
|
+
# @return [Fixnum]
|
|
3126
|
+
attr_accessor :exit_code
|
|
3127
|
+
|
|
3128
|
+
def initialize(**args)
|
|
3129
|
+
update!(**args)
|
|
3130
|
+
end
|
|
3131
|
+
|
|
3132
|
+
# Update properties of this object
|
|
3133
|
+
def update!(**args)
|
|
3134
|
+
@command = args[:command] if args.key?(:command)
|
|
3135
|
+
@exit_code = args[:exit_code] if args.key?(:exit_code)
|
|
3136
|
+
end
|
|
3137
|
+
end
|
|
3138
|
+
|
|
3139
|
+
# A task which initializes part of a streaming Dataflow job.
|
|
3140
|
+
class StreamingSetupTask
|
|
3141
|
+
include Google::Apis::Core::Hashable
|
|
3142
|
+
|
|
3143
|
+
# The TCP port on which the worker should listen for messages from other
|
|
3144
|
+
# streaming computation workers.
|
|
3145
|
+
# Corresponds to the JSON property `receiveWorkPort`
|
|
3146
|
+
# @return [Fixnum]
|
|
3147
|
+
attr_accessor :receive_work_port
|
|
3148
|
+
|
|
3149
|
+
# The TCP port used by the worker to communicate with the Dataflow worker
|
|
3150
|
+
# harness.
|
|
3151
|
+
# Corresponds to the JSON property `workerHarnessPort`
|
|
3152
|
+
# @return [Fixnum]
|
|
3153
|
+
attr_accessor :worker_harness_port
|
|
3154
|
+
|
|
3155
|
+
# Global topology of the streaming Dataflow job, including all computations and
|
|
3156
|
+
# their sharded locations.
|
|
3157
|
+
# Corresponds to the JSON property `streamingComputationTopology`
|
|
3158
|
+
# @return [Google::Apis::DataflowV1b3::TopologyConfig]
|
|
3159
|
+
attr_accessor :streaming_computation_topology
|
|
3160
|
+
|
|
3161
|
+
# The user has requested drain.
|
|
3162
|
+
# Corresponds to the JSON property `drain`
|
|
3163
|
+
# @return [Boolean]
|
|
3164
|
+
attr_accessor :drain
|
|
3165
|
+
alias_method :drain?, :drain
|
|
3166
|
+
|
|
3167
|
+
def initialize(**args)
|
|
3168
|
+
update!(**args)
|
|
3169
|
+
end
|
|
3170
|
+
|
|
3171
|
+
# Update properties of this object
|
|
3172
|
+
def update!(**args)
|
|
3173
|
+
@receive_work_port = args[:receive_work_port] if args.key?(:receive_work_port)
|
|
3174
|
+
@worker_harness_port = args[:worker_harness_port] if args.key?(:worker_harness_port)
|
|
3175
|
+
@streaming_computation_topology = args[:streaming_computation_topology] if args.key?(:streaming_computation_topology)
|
|
3176
|
+
@drain = args[:drain] if args.key?(:drain)
|
|
3177
|
+
end
|
|
3178
|
+
end
|
|
3179
|
+
|
|
3180
|
+
# Global topology of the streaming Dataflow job, including all computations and
|
|
3181
|
+
# their sharded locations.
|
|
3182
|
+
class TopologyConfig
|
|
3183
|
+
include Google::Apis::Core::Hashable
|
|
3184
|
+
|
|
3185
|
+
# The computations associated with a streaming Dataflow job.
|
|
3186
|
+
# Corresponds to the JSON property `computations`
|
|
3187
|
+
# @return [Array<Google::Apis::DataflowV1b3::ComputationTopology>]
|
|
3188
|
+
attr_accessor :computations
|
|
3189
|
+
|
|
3190
|
+
# The disks assigned to a streaming Dataflow job.
|
|
3191
|
+
# Corresponds to the JSON property `dataDiskAssignments`
|
|
3192
|
+
# @return [Array<Google::Apis::DataflowV1b3::DataDiskAssignment>]
|
|
3193
|
+
attr_accessor :data_disk_assignments
|
|
3194
|
+
|
|
3195
|
+
# Maps user stage names to stable computation names.
|
|
3196
|
+
# Corresponds to the JSON property `userStageToComputationNameMap`
|
|
3197
|
+
# @return [Hash<String,String>]
|
|
3198
|
+
attr_accessor :user_stage_to_computation_name_map
|
|
3199
|
+
|
|
3200
|
+
# The size (in bits) of keys that will be assigned to source messages.
|
|
3201
|
+
# Corresponds to the JSON property `forwardingKeyBits`
|
|
3202
|
+
# @return [Fixnum]
|
|
3203
|
+
attr_accessor :forwarding_key_bits
|
|
3204
|
+
|
|
3205
|
+
# Version number for persistent state.
|
|
3206
|
+
# Corresponds to the JSON property `persistentStateVersion`
|
|
3207
|
+
# @return [Fixnum]
|
|
3208
|
+
attr_accessor :persistent_state_version
|
|
3209
|
+
|
|
3210
|
+
def initialize(**args)
|
|
3211
|
+
update!(**args)
|
|
3212
|
+
end
|
|
3213
|
+
|
|
3214
|
+
# Update properties of this object
|
|
3215
|
+
def update!(**args)
|
|
3216
|
+
@computations = args[:computations] if args.key?(:computations)
|
|
3217
|
+
@data_disk_assignments = args[:data_disk_assignments] if args.key?(:data_disk_assignments)
|
|
3218
|
+
@user_stage_to_computation_name_map = args[:user_stage_to_computation_name_map] if args.key?(:user_stage_to_computation_name_map)
|
|
3219
|
+
@forwarding_key_bits = args[:forwarding_key_bits] if args.key?(:forwarding_key_bits)
|
|
3220
|
+
@persistent_state_version = args[:persistent_state_version] if args.key?(:persistent_state_version)
|
|
3221
|
+
end
|
|
3222
|
+
end
|
|
3223
|
+
|
|
3224
|
+
# All configuration data for a particular Computation.
|
|
3225
|
+
class ComputationTopology
|
|
3226
|
+
include Google::Apis::Core::Hashable
|
|
3227
|
+
|
|
3228
|
+
# The system stage name.
|
|
3229
|
+
# Corresponds to the JSON property `systemStageName`
|
|
3230
|
+
# @return [String]
|
|
3231
|
+
attr_accessor :system_stage_name
|
|
3232
|
+
|
|
3233
|
+
# The ID of the computation.
|
|
3234
|
+
# Corresponds to the JSON property `computationId`
|
|
3235
|
+
# @return [String]
|
|
3236
|
+
attr_accessor :computation_id
|
|
3237
|
+
|
|
3238
|
+
# The user stage name.
|
|
3239
|
+
# Corresponds to the JSON property `userStageName`
|
|
3240
|
+
# @return [String]
|
|
3241
|
+
attr_accessor :user_stage_name
|
|
3242
|
+
|
|
3243
|
+
# The key ranges processed by the computation.
|
|
3244
|
+
# Corresponds to the JSON property `keyRanges`
|
|
3245
|
+
# @return [Array<Google::Apis::DataflowV1b3::KeyRangeLocation>]
|
|
3246
|
+
attr_accessor :key_ranges
|
|
3247
|
+
|
|
3248
|
+
# The inputs to the computation.
|
|
3249
|
+
# Corresponds to the JSON property `inputs`
|
|
3250
|
+
# @return [Array<Google::Apis::DataflowV1b3::StreamLocation>]
|
|
3251
|
+
attr_accessor :inputs
|
|
3252
|
+
|
|
3253
|
+
# The outputs from the computation.
|
|
3254
|
+
# Corresponds to the JSON property `outputs`
|
|
3255
|
+
# @return [Array<Google::Apis::DataflowV1b3::StreamLocation>]
|
|
3256
|
+
attr_accessor :outputs
|
|
3257
|
+
|
|
3258
|
+
# The state family values.
|
|
3259
|
+
# Corresponds to the JSON property `stateFamilies`
|
|
3260
|
+
# @return [Array<Google::Apis::DataflowV1b3::StateFamilyConfig>]
|
|
3261
|
+
attr_accessor :state_families
|
|
3262
|
+
|
|
3263
|
+
def initialize(**args)
|
|
3264
|
+
update!(**args)
|
|
3265
|
+
end
|
|
3266
|
+
|
|
3267
|
+
# Update properties of this object
|
|
3268
|
+
def update!(**args)
|
|
3269
|
+
@system_stage_name = args[:system_stage_name] if args.key?(:system_stage_name)
|
|
3270
|
+
@computation_id = args[:computation_id] if args.key?(:computation_id)
|
|
3271
|
+
@user_stage_name = args[:user_stage_name] if args.key?(:user_stage_name)
|
|
3272
|
+
@key_ranges = args[:key_ranges] if args.key?(:key_ranges)
|
|
3273
|
+
@inputs = args[:inputs] if args.key?(:inputs)
|
|
3274
|
+
@outputs = args[:outputs] if args.key?(:outputs)
|
|
3275
|
+
@state_families = args[:state_families] if args.key?(:state_families)
|
|
3276
|
+
end
|
|
3277
|
+
end
|
|
3278
|
+
|
|
3279
|
+
# Location information for a specific key-range of a sharded computation.
|
|
3280
|
+
# Currently we only support UTF-8 character splits to simplify encoding into
|
|
3281
|
+
# JSON.
|
|
3282
|
+
class KeyRangeLocation
|
|
3283
|
+
include Google::Apis::Core::Hashable
|
|
3284
|
+
|
|
3285
|
+
# The start (inclusive) of the key range.
|
|
3286
|
+
# Corresponds to the JSON property `start`
|
|
3287
|
+
# @return [String]
|
|
3288
|
+
attr_accessor :start
|
|
3289
|
+
|
|
3290
|
+
# The end (exclusive) of the key range.
|
|
3291
|
+
# Corresponds to the JSON property `end`
|
|
3292
|
+
# @return [String]
|
|
3293
|
+
attr_accessor :end
|
|
3294
|
+
|
|
3295
|
+
# The physical location of this range assignment to be used for streaming
|
|
3296
|
+
# computation cross-worker message delivery.
|
|
3297
|
+
# Corresponds to the JSON property `deliveryEndpoint`
|
|
3298
|
+
# @return [String]
|
|
3299
|
+
attr_accessor :delivery_endpoint
|
|
3300
|
+
|
|
3301
|
+
# The location of the persistent state for this range, as a persistent directory
|
|
3302
|
+
# in the worker local filesystem.
|
|
3303
|
+
# Corresponds to the JSON property `persistentDirectory`
|
|
3304
|
+
# @return [String]
|
|
3305
|
+
attr_accessor :persistent_directory
|
|
3306
|
+
|
|
3307
|
+
# The name of the data disk where data for this range is stored. This name is
|
|
3308
|
+
# local to the Google Cloud Platform project and uniquely identifies the disk
|
|
3309
|
+
# within that project, for example "myproject-1014-104817-4c2-harness-0-disk-1".
|
|
3310
|
+
# Corresponds to the JSON property `dataDisk`
|
|
3311
|
+
# @return [String]
|
|
3312
|
+
attr_accessor :data_disk
|
|
3313
|
+
|
|
3314
|
+
def initialize(**args)
|
|
3315
|
+
update!(**args)
|
|
3316
|
+
end
|
|
3317
|
+
|
|
3318
|
+
# Update properties of this object
|
|
3319
|
+
def update!(**args)
|
|
3320
|
+
@start = args[:start] if args.key?(:start)
|
|
3321
|
+
@end = args[:end] if args.key?(:end)
|
|
3322
|
+
@delivery_endpoint = args[:delivery_endpoint] if args.key?(:delivery_endpoint)
|
|
3323
|
+
@persistent_directory = args[:persistent_directory] if args.key?(:persistent_directory)
|
|
3324
|
+
@data_disk = args[:data_disk] if args.key?(:data_disk)
|
|
3325
|
+
end
|
|
3326
|
+
end
|
|
3327
|
+
|
|
3328
|
+
# Describes a stream of data, either as input to be processed or as output of a
|
|
3329
|
+
# streaming Dataflow job.
|
|
3330
|
+
class StreamLocation
|
|
3331
|
+
include Google::Apis::Core::Hashable
|
|
3332
|
+
|
|
3333
|
+
# Identifies the location of a streaming computation stage, for stage-to-stage
|
|
3334
|
+
# communication.
|
|
3335
|
+
# Corresponds to the JSON property `streamingStageLocation`
|
|
3336
|
+
# @return [Google::Apis::DataflowV1b3::StreamingStageLocation]
|
|
3337
|
+
attr_accessor :streaming_stage_location
|
|
3338
|
+
|
|
3339
|
+
# Identifies a pubsub location to use for transferring data into or out of a
|
|
3340
|
+
# streaming Dataflow job.
|
|
3341
|
+
# Corresponds to the JSON property `pubsubLocation`
|
|
3342
|
+
# @return [Google::Apis::DataflowV1b3::PubsubLocation]
|
|
3343
|
+
attr_accessor :pubsub_location
|
|
3344
|
+
|
|
3345
|
+
# Identifies the location of a streaming side input.
|
|
3346
|
+
# Corresponds to the JSON property `sideInputLocation`
|
|
3347
|
+
# @return [Google::Apis::DataflowV1b3::StreamingSideInputLocation]
|
|
3348
|
+
attr_accessor :side_input_location
|
|
3349
|
+
|
|
3350
|
+
# Identifies the location of a custom souce.
|
|
3351
|
+
# Corresponds to the JSON property `customSourceLocation`
|
|
3352
|
+
# @return [Google::Apis::DataflowV1b3::CustomSourceLocation]
|
|
3353
|
+
attr_accessor :custom_source_location
|
|
3354
|
+
|
|
3355
|
+
def initialize(**args)
|
|
3356
|
+
update!(**args)
|
|
3357
|
+
end
|
|
3358
|
+
|
|
3359
|
+
# Update properties of this object
|
|
3360
|
+
def update!(**args)
|
|
3361
|
+
@streaming_stage_location = args[:streaming_stage_location] if args.key?(:streaming_stage_location)
|
|
3362
|
+
@pubsub_location = args[:pubsub_location] if args.key?(:pubsub_location)
|
|
3363
|
+
@side_input_location = args[:side_input_location] if args.key?(:side_input_location)
|
|
3364
|
+
@custom_source_location = args[:custom_source_location] if args.key?(:custom_source_location)
|
|
3365
|
+
end
|
|
3366
|
+
end
|
|
3367
|
+
|
|
3368
|
+
# Identifies the location of a streaming computation stage, for stage-to-stage
|
|
3369
|
+
# communication.
|
|
3370
|
+
class StreamingStageLocation
|
|
3371
|
+
include Google::Apis::Core::Hashable
|
|
3372
|
+
|
|
3373
|
+
# Identifies the particular stream within the streaming Dataflow job.
|
|
3374
|
+
# Corresponds to the JSON property `streamId`
|
|
3375
|
+
# @return [String]
|
|
3376
|
+
attr_accessor :stream_id
|
|
3377
|
+
|
|
3378
|
+
def initialize(**args)
|
|
3379
|
+
update!(**args)
|
|
3380
|
+
end
|
|
3381
|
+
|
|
3382
|
+
# Update properties of this object
|
|
3383
|
+
def update!(**args)
|
|
3384
|
+
@stream_id = args[:stream_id] if args.key?(:stream_id)
|
|
3385
|
+
end
|
|
3386
|
+
end
|
|
3387
|
+
|
|
3388
|
+
# Identifies a pubsub location to use for transferring data into or out of a
|
|
3389
|
+
# streaming Dataflow job.
|
|
3390
|
+
class PubsubLocation
|
|
3391
|
+
include Google::Apis::Core::Hashable
|
|
3392
|
+
|
|
3393
|
+
# A pubsub topic, in the form of "pubsub.googleapis.com/topics/
|
|
3394
|
+
# /"
|
|
3395
|
+
# Corresponds to the JSON property `topic`
|
|
3396
|
+
# @return [String]
|
|
3397
|
+
attr_accessor :topic
|
|
3398
|
+
|
|
3399
|
+
# A pubsub subscription, in the form of "pubsub.googleapis.com/subscriptions/
|
|
3400
|
+
# /"
|
|
3401
|
+
# Corresponds to the JSON property `subscription`
|
|
3402
|
+
# @return [String]
|
|
3403
|
+
attr_accessor :subscription
|
|
3404
|
+
|
|
3405
|
+
# If set, contains a pubsub label from which to extract record timestamps. If
|
|
3406
|
+
# left empty, record timestamps will be generated upon arrival.
|
|
3407
|
+
# Corresponds to the JSON property `timestampLabel`
|
|
3408
|
+
# @return [String]
|
|
3409
|
+
attr_accessor :timestamp_label
|
|
3410
|
+
|
|
3411
|
+
# If set, contains a pubsub label from which to extract record ids. If left
|
|
3412
|
+
# empty, record deduplication will be strictly best effort.
|
|
3413
|
+
# Corresponds to the JSON property `idLabel`
|
|
3414
|
+
# @return [String]
|
|
3415
|
+
attr_accessor :id_label
|
|
3416
|
+
|
|
3417
|
+
# Indicates whether the pipeline allows late-arriving data.
|
|
3418
|
+
# Corresponds to the JSON property `dropLateData`
|
|
3419
|
+
# @return [Boolean]
|
|
3420
|
+
attr_accessor :drop_late_data
|
|
3421
|
+
alias_method :drop_late_data?, :drop_late_data
|
|
3422
|
+
|
|
3423
|
+
# If set, specifies the pubsub subscription that will be used for tracking
|
|
3424
|
+
# custom time timestamps for watermark estimation.
|
|
3425
|
+
# Corresponds to the JSON property `trackingSubscription`
|
|
3426
|
+
# @return [String]
|
|
3427
|
+
attr_accessor :tracking_subscription
|
|
3428
|
+
|
|
3429
|
+
def initialize(**args)
|
|
3430
|
+
update!(**args)
|
|
3431
|
+
end
|
|
3432
|
+
|
|
3433
|
+
# Update properties of this object
|
|
3434
|
+
def update!(**args)
|
|
3435
|
+
@topic = args[:topic] if args.key?(:topic)
|
|
3436
|
+
@subscription = args[:subscription] if args.key?(:subscription)
|
|
3437
|
+
@timestamp_label = args[:timestamp_label] if args.key?(:timestamp_label)
|
|
3438
|
+
@id_label = args[:id_label] if args.key?(:id_label)
|
|
3439
|
+
@drop_late_data = args[:drop_late_data] if args.key?(:drop_late_data)
|
|
3440
|
+
@tracking_subscription = args[:tracking_subscription] if args.key?(:tracking_subscription)
|
|
3441
|
+
end
|
|
3442
|
+
end
|
|
3443
|
+
|
|
3444
|
+
# Identifies the location of a streaming side input.
|
|
3445
|
+
class StreamingSideInputLocation
|
|
3446
|
+
include Google::Apis::Core::Hashable
|
|
3447
|
+
|
|
3448
|
+
# Identifies the particular side input within the streaming Dataflow job.
|
|
3449
|
+
# Corresponds to the JSON property `tag`
|
|
3450
|
+
# @return [String]
|
|
3451
|
+
attr_accessor :tag
|
|
3452
|
+
|
|
3453
|
+
# Identifies the state family where this side input is stored.
|
|
3454
|
+
# Corresponds to the JSON property `stateFamily`
|
|
3455
|
+
# @return [String]
|
|
3456
|
+
attr_accessor :state_family
|
|
3457
|
+
|
|
3458
|
+
def initialize(**args)
|
|
3459
|
+
update!(**args)
|
|
3460
|
+
end
|
|
3461
|
+
|
|
3462
|
+
# Update properties of this object
|
|
3463
|
+
def update!(**args)
|
|
3464
|
+
@tag = args[:tag] if args.key?(:tag)
|
|
3465
|
+
@state_family = args[:state_family] if args.key?(:state_family)
|
|
3466
|
+
end
|
|
3467
|
+
end
|
|
3468
|
+
|
|
3469
|
+
# Identifies the location of a custom souce.
|
|
3470
|
+
class CustomSourceLocation
|
|
3471
|
+
include Google::Apis::Core::Hashable
|
|
3472
|
+
|
|
3473
|
+
# Whether this source is stateful.
|
|
3474
|
+
# Corresponds to the JSON property `stateful`
|
|
3475
|
+
# @return [Boolean]
|
|
3476
|
+
attr_accessor :stateful
|
|
3477
|
+
alias_method :stateful?, :stateful
|
|
3478
|
+
|
|
3479
|
+
def initialize(**args)
|
|
3480
|
+
update!(**args)
|
|
3481
|
+
end
|
|
3482
|
+
|
|
3483
|
+
# Update properties of this object
|
|
3484
|
+
def update!(**args)
|
|
3485
|
+
@stateful = args[:stateful] if args.key?(:stateful)
|
|
3486
|
+
end
|
|
3487
|
+
end
|
|
3488
|
+
|
|
3489
|
+
# State family configuration.
|
|
3490
|
+
class StateFamilyConfig
|
|
3491
|
+
include Google::Apis::Core::Hashable
|
|
3492
|
+
|
|
3493
|
+
# The state family value.
|
|
3494
|
+
# Corresponds to the JSON property `stateFamily`
|
|
3495
|
+
# @return [String]
|
|
3496
|
+
attr_accessor :state_family
|
|
3497
|
+
|
|
3498
|
+
# If true, this family corresponds to a read operation.
|
|
3499
|
+
# Corresponds to the JSON property `isRead`
|
|
3500
|
+
# @return [Boolean]
|
|
3501
|
+
attr_accessor :is_read
|
|
3502
|
+
alias_method :is_read?, :is_read
|
|
3503
|
+
|
|
3504
|
+
def initialize(**args)
|
|
3505
|
+
update!(**args)
|
|
3506
|
+
end
|
|
3507
|
+
|
|
3508
|
+
# Update properties of this object
|
|
3509
|
+
def update!(**args)
|
|
3510
|
+
@state_family = args[:state_family] if args.key?(:state_family)
|
|
3511
|
+
@is_read = args[:is_read] if args.key?(:is_read)
|
|
3512
|
+
end
|
|
3513
|
+
end
|
|
3514
|
+
|
|
3515
|
+
# Data disk assignment for a given VM instance.
|
|
3516
|
+
class DataDiskAssignment
|
|
3517
|
+
include Google::Apis::Core::Hashable
|
|
3518
|
+
|
|
3519
|
+
# VM instance name the data disks mounted to, for example "myproject-1014-104817-
|
|
3520
|
+
# 4c2-harness-0".
|
|
3521
|
+
# Corresponds to the JSON property `vmInstance`
|
|
3522
|
+
# @return [String]
|
|
3523
|
+
attr_accessor :vm_instance
|
|
3524
|
+
|
|
3525
|
+
# Mounted data disks. The order is important a data disk's 0-based index in this
|
|
3526
|
+
# list defines which persistent directory the disk is mounted to, for example
|
|
3527
|
+
# the list of ` "myproject-1014-104817-4c2-harness-0-disk-0" `, ` "myproject-
|
|
3528
|
+
# 1014-104817-4c2-harness-0-disk-1" `.
|
|
3529
|
+
# Corresponds to the JSON property `dataDisks`
|
|
3530
|
+
# @return [Array<String>]
|
|
3531
|
+
attr_accessor :data_disks
|
|
3532
|
+
|
|
3533
|
+
def initialize(**args)
|
|
3534
|
+
update!(**args)
|
|
3535
|
+
end
|
|
3536
|
+
|
|
3537
|
+
# Update properties of this object
|
|
3538
|
+
def update!(**args)
|
|
3539
|
+
@vm_instance = args[:vm_instance] if args.key?(:vm_instance)
|
|
3540
|
+
@data_disks = args[:data_disks] if args.key?(:data_disks)
|
|
3541
|
+
end
|
|
3542
|
+
end
|
|
3543
|
+
|
|
3544
|
+
# A work item that represents the different operations that can be performed on
|
|
3545
|
+
# a user-defined Source specification.
|
|
3546
|
+
class SourceOperationRequest
|
|
3547
|
+
include Google::Apis::Core::Hashable
|
|
3548
|
+
|
|
3549
|
+
# Represents the operation to split a high-level Source specification into
|
|
3550
|
+
# bundles (parts for parallel processing). At a high level, splitting of a
|
|
3551
|
+
# source into bundles happens as follows: SourceSplitRequest is applied to the
|
|
3552
|
+
# source. If it returns SOURCE_SPLIT_OUTCOME_USE_CURRENT, no further splitting
|
|
3553
|
+
# happens and the source is used "as is". Otherwise, splitting is applied
|
|
3554
|
+
# recursively to each produced DerivedSource. As an optimization, for any Source,
|
|
3555
|
+
# if its does_not_need_splitting is true, the framework assumes that splitting
|
|
3556
|
+
# this source would return SOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't
|
|
3557
|
+
# initiate a SourceSplitRequest. This applies both to the initial source being
|
|
3558
|
+
# split and to bundles produced from it.
|
|
3559
|
+
# Corresponds to the JSON property `split`
|
|
3560
|
+
# @return [Google::Apis::DataflowV1b3::SourceSplitRequest]
|
|
3561
|
+
attr_accessor :split
|
|
3562
|
+
|
|
3563
|
+
# A request to compute the SourceMetadata of a Source.
|
|
3564
|
+
# Corresponds to the JSON property `getMetadata`
|
|
3565
|
+
# @return [Google::Apis::DataflowV1b3::SourceGetMetadataRequest]
|
|
3566
|
+
attr_accessor :get_metadata
|
|
3567
|
+
|
|
3568
|
+
def initialize(**args)
|
|
3569
|
+
update!(**args)
|
|
3570
|
+
end
|
|
3571
|
+
|
|
3572
|
+
# Update properties of this object
|
|
3573
|
+
def update!(**args)
|
|
3574
|
+
@split = args[:split] if args.key?(:split)
|
|
3575
|
+
@get_metadata = args[:get_metadata] if args.key?(:get_metadata)
|
|
3576
|
+
end
|
|
3577
|
+
end
|
|
3578
|
+
|
|
3579
|
+
# Represents the operation to split a high-level Source specification into
|
|
3580
|
+
# bundles (parts for parallel processing). At a high level, splitting of a
|
|
3581
|
+
# source into bundles happens as follows: SourceSplitRequest is applied to the
|
|
3582
|
+
# source. If it returns SOURCE_SPLIT_OUTCOME_USE_CURRENT, no further splitting
|
|
3583
|
+
# happens and the source is used "as is". Otherwise, splitting is applied
|
|
3584
|
+
# recursively to each produced DerivedSource. As an optimization, for any Source,
|
|
3585
|
+
# if its does_not_need_splitting is true, the framework assumes that splitting
|
|
3586
|
+
# this source would return SOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't
|
|
3587
|
+
# initiate a SourceSplitRequest. This applies both to the initial source being
|
|
3588
|
+
# split and to bundles produced from it.
|
|
3589
|
+
class SourceSplitRequest
|
|
3590
|
+
include Google::Apis::Core::Hashable
|
|
3591
|
+
|
|
3592
|
+
# A source that records can be read and decoded from.
|
|
3593
|
+
# Corresponds to the JSON property `source`
|
|
3594
|
+
# @return [Google::Apis::DataflowV1b3::Source]
|
|
3595
|
+
attr_accessor :source
|
|
3596
|
+
|
|
3597
|
+
# Hints for splitting a Source into bundles (parts for parallel processing)
|
|
3598
|
+
# using SourceSplitRequest.
|
|
3599
|
+
# Corresponds to the JSON property `options`
|
|
3600
|
+
# @return [Google::Apis::DataflowV1b3::SourceSplitOptions]
|
|
3601
|
+
attr_accessor :options
|
|
3602
|
+
|
|
3603
|
+
def initialize(**args)
|
|
3604
|
+
update!(**args)
|
|
3605
|
+
end
|
|
3606
|
+
|
|
3607
|
+
# Update properties of this object
|
|
3608
|
+
def update!(**args)
|
|
3609
|
+
@source = args[:source] if args.key?(:source)
|
|
3610
|
+
@options = args[:options] if args.key?(:options)
|
|
3611
|
+
end
|
|
3612
|
+
end
|
|
3613
|
+
|
|
3614
|
+
# Hints for splitting a Source into bundles (parts for parallel processing)
|
|
3615
|
+
# using SourceSplitRequest.
|
|
3616
|
+
class SourceSplitOptions
|
|
3617
|
+
include Google::Apis::Core::Hashable
|
|
3618
|
+
|
|
3619
|
+
# The source should be split into a set of bundles where the estimated size of
|
|
3620
|
+
# each is approximately this many bytes.
|
|
3621
|
+
# Corresponds to the JSON property `desiredBundleSizeBytes`
|
|
3622
|
+
# @return [String]
|
|
3623
|
+
attr_accessor :desired_bundle_size_bytes
|
|
3624
|
+
|
|
3625
|
+
# DEPRECATED in favor of desired_bundle_size_bytes.
|
|
3626
|
+
# Corresponds to the JSON property `desiredShardSizeBytes`
|
|
3627
|
+
# @return [String]
|
|
3628
|
+
attr_accessor :desired_shard_size_bytes
|
|
3629
|
+
|
|
3630
|
+
def initialize(**args)
|
|
3631
|
+
update!(**args)
|
|
3632
|
+
end
|
|
3633
|
+
|
|
3634
|
+
# Update properties of this object
|
|
3635
|
+
def update!(**args)
|
|
3636
|
+
@desired_bundle_size_bytes = args[:desired_bundle_size_bytes] if args.key?(:desired_bundle_size_bytes)
|
|
3637
|
+
@desired_shard_size_bytes = args[:desired_shard_size_bytes] if args.key?(:desired_shard_size_bytes)
|
|
3638
|
+
end
|
|
3639
|
+
end
|
|
3640
|
+
|
|
3641
|
+
# A request to compute the SourceMetadata of a Source.
|
|
3642
|
+
class SourceGetMetadataRequest
|
|
3643
|
+
include Google::Apis::Core::Hashable
|
|
3644
|
+
|
|
3645
|
+
# A source that records can be read and decoded from.
|
|
3646
|
+
# Corresponds to the JSON property `source`
|
|
3647
|
+
# @return [Google::Apis::DataflowV1b3::Source]
|
|
3648
|
+
attr_accessor :source
|
|
3649
|
+
|
|
3650
|
+
def initialize(**args)
|
|
3651
|
+
update!(**args)
|
|
3652
|
+
end
|
|
3653
|
+
|
|
3654
|
+
# Update properties of this object
|
|
3655
|
+
def update!(**args)
|
|
3656
|
+
@source = args[:source] if args.key?(:source)
|
|
3657
|
+
end
|
|
3658
|
+
end
|
|
3659
|
+
|
|
3660
|
+
# A task which describes what action should be performed for the specified
|
|
3661
|
+
# streaming computation ranges.
|
|
3662
|
+
class StreamingComputationTask
|
|
3663
|
+
include Google::Apis::Core::Hashable
|
|
3664
|
+
|
|
3665
|
+
# A type of streaming computation task.
|
|
3666
|
+
# Corresponds to the JSON property `taskType`
|
|
3667
|
+
# @return [String]
|
|
3668
|
+
attr_accessor :task_type
|
|
3669
|
+
|
|
3670
|
+
# Describes the set of data disks this task should apply to.
|
|
3671
|
+
# Corresponds to the JSON property `dataDisks`
|
|
3672
|
+
# @return [Array<Google::Apis::DataflowV1b3::MountedDataDisk>]
|
|
3673
|
+
attr_accessor :data_disks
|
|
3674
|
+
|
|
3675
|
+
# Contains ranges of a streaming computation this task should apply to.
|
|
3676
|
+
# Corresponds to the JSON property `computationRanges`
|
|
3677
|
+
# @return [Array<Google::Apis::DataflowV1b3::StreamingComputationRanges>]
|
|
3678
|
+
attr_accessor :computation_ranges
|
|
3679
|
+
|
|
3680
|
+
def initialize(**args)
|
|
3681
|
+
update!(**args)
|
|
3682
|
+
end
|
|
3683
|
+
|
|
3684
|
+
# Update properties of this object
|
|
3685
|
+
def update!(**args)
|
|
3686
|
+
@task_type = args[:task_type] if args.key?(:task_type)
|
|
3687
|
+
@data_disks = args[:data_disks] if args.key?(:data_disks)
|
|
3688
|
+
@computation_ranges = args[:computation_ranges] if args.key?(:computation_ranges)
|
|
3689
|
+
end
|
|
3690
|
+
end
|
|
3691
|
+
|
|
3692
|
+
# Describes mounted data disk.
|
|
3693
|
+
class MountedDataDisk
|
|
3694
|
+
include Google::Apis::Core::Hashable
|
|
3695
|
+
|
|
3696
|
+
# The name of the data disk. This name is local to the Google Cloud Platform
|
|
3697
|
+
# project and uniquely identifies the disk within that project, for example "
|
|
3698
|
+
# myproject-1014-104817-4c2-harness-0-disk-1".
|
|
3699
|
+
# Corresponds to the JSON property `dataDisk`
|
|
3700
|
+
# @return [String]
|
|
3701
|
+
attr_accessor :data_disk
|
|
3702
|
+
|
|
3703
|
+
def initialize(**args)
|
|
3704
|
+
update!(**args)
|
|
3705
|
+
end
|
|
3706
|
+
|
|
3707
|
+
# Update properties of this object
|
|
3708
|
+
def update!(**args)
|
|
3709
|
+
@data_disk = args[:data_disk] if args.key?(:data_disk)
|
|
3710
|
+
end
|
|
3711
|
+
end
|
|
3712
|
+
|
|
3713
|
+
# Describes full or partial data disk assignment information of the computation
|
|
3714
|
+
# ranges.
|
|
3715
|
+
class StreamingComputationRanges
|
|
3716
|
+
include Google::Apis::Core::Hashable
|
|
3717
|
+
|
|
3718
|
+
# The ID of the computation.
|
|
3719
|
+
# Corresponds to the JSON property `computationId`
|
|
3720
|
+
# @return [String]
|
|
3721
|
+
attr_accessor :computation_id
|
|
3722
|
+
|
|
3723
|
+
# Data disk assignments for ranges from this computation.
|
|
3724
|
+
# Corresponds to the JSON property `rangeAssignments`
|
|
3725
|
+
# @return [Array<Google::Apis::DataflowV1b3::KeyRangeDataDiskAssignment>]
|
|
3726
|
+
attr_accessor :range_assignments
|
|
3727
|
+
|
|
3728
|
+
def initialize(**args)
|
|
3729
|
+
update!(**args)
|
|
3730
|
+
end
|
|
3731
|
+
|
|
3732
|
+
# Update properties of this object
|
|
3733
|
+
def update!(**args)
|
|
3734
|
+
@computation_id = args[:computation_id] if args.key?(:computation_id)
|
|
3735
|
+
@range_assignments = args[:range_assignments] if args.key?(:range_assignments)
|
|
3736
|
+
end
|
|
3737
|
+
end
|
|
3738
|
+
|
|
3739
|
+
# Data disk assignment information for a specific key-range of a sharded
|
|
3740
|
+
# computation. Currently we only support UTF-8 character splits to simplify
|
|
3741
|
+
# encoding into JSON.
|
|
3742
|
+
class KeyRangeDataDiskAssignment
|
|
3743
|
+
include Google::Apis::Core::Hashable
|
|
3744
|
+
|
|
3745
|
+
# The start (inclusive) of the key range.
|
|
3746
|
+
# Corresponds to the JSON property `start`
|
|
3747
|
+
# @return [String]
|
|
3748
|
+
attr_accessor :start
|
|
3749
|
+
|
|
3750
|
+
# The end (exclusive) of the key range.
|
|
3751
|
+
# Corresponds to the JSON property `end`
|
|
3752
|
+
# @return [String]
|
|
3753
|
+
attr_accessor :end
|
|
3754
|
+
|
|
3755
|
+
# The name of the data disk where data for this range is stored. This name is
|
|
3756
|
+
# local to the Google Cloud Platform project and uniquely identifies the disk
|
|
3757
|
+
# within that project, for example "myproject-1014-104817-4c2-harness-0-disk-1".
|
|
3758
|
+
# Corresponds to the JSON property `dataDisk`
|
|
3759
|
+
# @return [String]
|
|
3760
|
+
attr_accessor :data_disk
|
|
3761
|
+
|
|
3762
|
+
def initialize(**args)
|
|
3763
|
+
update!(**args)
|
|
3764
|
+
end
|
|
3765
|
+
|
|
3766
|
+
# Update properties of this object
|
|
3767
|
+
def update!(**args)
|
|
3768
|
+
@start = args[:start] if args.key?(:start)
|
|
3769
|
+
@end = args[:end] if args.key?(:end)
|
|
3770
|
+
@data_disk = args[:data_disk] if args.key?(:data_disk)
|
|
3771
|
+
end
|
|
3772
|
+
end
|
|
3773
|
+
|
|
3774
|
+
# A task that carries configuration information for streaming computations.
|
|
3775
|
+
class StreamingConfigTask
|
|
3776
|
+
include Google::Apis::Core::Hashable
|
|
3777
|
+
|
|
3778
|
+
# Set of computation configuration information.
|
|
3779
|
+
# Corresponds to the JSON property `streamingComputationConfigs`
|
|
3780
|
+
# @return [Array<Google::Apis::DataflowV1b3::StreamingComputationConfig>]
|
|
3781
|
+
attr_accessor :streaming_computation_configs
|
|
3782
|
+
|
|
3783
|
+
# Map from user step names to state families.
|
|
3784
|
+
# Corresponds to the JSON property `userStepToStateFamilyNameMap`
|
|
3785
|
+
# @return [Hash<String,String>]
|
|
3786
|
+
attr_accessor :user_step_to_state_family_name_map
|
|
3787
|
+
|
|
3788
|
+
def initialize(**args)
|
|
3789
|
+
update!(**args)
|
|
3790
|
+
end
|
|
3791
|
+
|
|
3792
|
+
# Update properties of this object
|
|
3793
|
+
def update!(**args)
|
|
3794
|
+
@streaming_computation_configs = args[:streaming_computation_configs] if args.key?(:streaming_computation_configs)
|
|
3795
|
+
@user_step_to_state_family_name_map = args[:user_step_to_state_family_name_map] if args.key?(:user_step_to_state_family_name_map)
|
|
3796
|
+
end
|
|
3797
|
+
end
|
|
3798
|
+
|
|
3799
|
+
# Configuration information for a single streaming computation.
|
|
3800
|
+
class StreamingComputationConfig
|
|
3801
|
+
include Google::Apis::Core::Hashable
|
|
3802
|
+
|
|
3803
|
+
# Unique identifier for this computation.
|
|
3804
|
+
# Corresponds to the JSON property `computationId`
|
|
3805
|
+
# @return [String]
|
|
3806
|
+
attr_accessor :computation_id
|
|
3807
|
+
|
|
3808
|
+
# System defined name for this computation.
|
|
3809
|
+
# Corresponds to the JSON property `systemName`
|
|
3810
|
+
# @return [String]
|
|
3811
|
+
attr_accessor :system_name
|
|
3812
|
+
|
|
3813
|
+
# Stage name of this computation.
|
|
3814
|
+
# Corresponds to the JSON property `stageName`
|
|
3815
|
+
# @return [String]
|
|
3816
|
+
attr_accessor :stage_name
|
|
3817
|
+
|
|
3818
|
+
# Instructions that comprise the computation.
|
|
3819
|
+
# Corresponds to the JSON property `instructions`
|
|
3820
|
+
# @return [Array<Google::Apis::DataflowV1b3::ParallelInstruction>]
|
|
3821
|
+
attr_accessor :instructions
|
|
3822
|
+
|
|
3823
|
+
def initialize(**args)
|
|
3824
|
+
update!(**args)
|
|
3825
|
+
end
|
|
3826
|
+
|
|
3827
|
+
# Update properties of this object
|
|
3828
|
+
def update!(**args)
|
|
3829
|
+
@computation_id = args[:computation_id] if args.key?(:computation_id)
|
|
3830
|
+
@system_name = args[:system_name] if args.key?(:system_name)
|
|
3831
|
+
@stage_name = args[:stage_name] if args.key?(:stage_name)
|
|
3832
|
+
@instructions = args[:instructions] if args.key?(:instructions)
|
|
3833
|
+
end
|
|
3834
|
+
end
|
|
3835
|
+
|
|
3836
|
+
# A request for sending worker messages to the service.
|
|
3837
|
+
class SendWorkerMessagesRequest
|
|
3838
|
+
include Google::Apis::Core::Hashable
|
|
3839
|
+
|
|
3840
|
+
# The WorkerMessages to send.
|
|
3841
|
+
# Corresponds to the JSON property `workerMessages`
|
|
3842
|
+
# @return [Array<Google::Apis::DataflowV1b3::WorkerMessage>]
|
|
3843
|
+
attr_accessor :worker_messages
|
|
3844
|
+
|
|
3845
|
+
def initialize(**args)
|
|
3846
|
+
update!(**args)
|
|
3847
|
+
end
|
|
3848
|
+
|
|
3849
|
+
# Update properties of this object
|
|
3850
|
+
def update!(**args)
|
|
3851
|
+
@worker_messages = args[:worker_messages] if args.key?(:worker_messages)
|
|
3852
|
+
end
|
|
3853
|
+
end
|
|
3854
|
+
|
|
3855
|
+
# WorkerMessage provides information to the backend about a worker.
|
|
3856
|
+
class WorkerMessage
|
|
3857
|
+
include Google::Apis::Core::Hashable
|
|
3858
|
+
|
|
3859
|
+
# Labels are used to group WorkerMessages. For example, a worker_message about a
|
|
3860
|
+
# particular container might have the labels: ` "JOB_ID": "2015-04-22", "
|
|
3861
|
+
# WORKER_ID": "wordcount-vm-2015…" "CONTAINER_TYPE": "worker", "CONTAINER_ID": "
|
|
3862
|
+
# ac1234def"` Label tags typically correspond to Label enum values. However, for
|
|
3863
|
+
# ease of development other strings can be used as tags. LABEL_UNSPECIFIED
|
|
3864
|
+
# should not be used here.
|
|
3865
|
+
# Corresponds to the JSON property `labels`
|
|
3866
|
+
# @return [Hash<String,String>]
|
|
3867
|
+
attr_accessor :labels
|
|
3868
|
+
|
|
3869
|
+
# The timestamp of the worker_message.
|
|
3870
|
+
# Corresponds to the JSON property `time`
|
|
3871
|
+
# @return [String]
|
|
3872
|
+
attr_accessor :time
|
|
3873
|
+
|
|
3874
|
+
# WorkerHealthReport contains information about the health of a worker. The VM
|
|
3875
|
+
# should be identified by the labels attached to the WorkerMessage that this
|
|
3876
|
+
# health ping belongs to.
|
|
3877
|
+
# Corresponds to the JSON property `workerHealthReport`
|
|
3878
|
+
# @return [Google::Apis::DataflowV1b3::WorkerHealthReport]
|
|
3879
|
+
attr_accessor :worker_health_report
|
|
3880
|
+
|
|
3881
|
+
# A message code is used to report status and error messages to the service. The
|
|
3882
|
+
# message codes are intended to be machine readable. The service will take care
|
|
3883
|
+
# of translating these into user understandable messages if necessary. Example
|
|
3884
|
+
# use cases: 1. Worker processes reporting successful startup. 2. Worker
|
|
3885
|
+
# processes reporting specific errors (e.g. package staging failure).
|
|
3886
|
+
# Corresponds to the JSON property `workerMessageCode`
|
|
3887
|
+
# @return [Google::Apis::DataflowV1b3::WorkerMessageCode]
|
|
3888
|
+
attr_accessor :worker_message_code
|
|
3889
|
+
|
|
3890
|
+
def initialize(**args)
|
|
3891
|
+
update!(**args)
|
|
3892
|
+
end
|
|
3893
|
+
|
|
3894
|
+
# Update properties of this object
|
|
3895
|
+
def update!(**args)
|
|
3896
|
+
@labels = args[:labels] if args.key?(:labels)
|
|
3897
|
+
@time = args[:time] if args.key?(:time)
|
|
3898
|
+
@worker_health_report = args[:worker_health_report] if args.key?(:worker_health_report)
|
|
3899
|
+
@worker_message_code = args[:worker_message_code] if args.key?(:worker_message_code)
|
|
3900
|
+
end
|
|
3901
|
+
end
|
|
3902
|
+
|
|
3903
|
+
# WorkerHealthReport contains information about the health of a worker. The VM
|
|
3904
|
+
# should be identified by the labels attached to the WorkerMessage that this
|
|
3905
|
+
# health ping belongs to.
|
|
3906
|
+
class WorkerHealthReport
|
|
3907
|
+
include Google::Apis::Core::Hashable
|
|
3908
|
+
|
|
3909
|
+
# Whether the VM is healthy.
|
|
3910
|
+
# Corresponds to the JSON property `vmIsHealthy`
|
|
3911
|
+
# @return [Boolean]
|
|
3912
|
+
attr_accessor :vm_is_healthy
|
|
3913
|
+
alias_method :vm_is_healthy?, :vm_is_healthy
|
|
3914
|
+
|
|
3915
|
+
# The time the VM was booted.
|
|
3916
|
+
# Corresponds to the JSON property `vmStartupTime`
|
|
3917
|
+
# @return [String]
|
|
3918
|
+
attr_accessor :vm_startup_time
|
|
3919
|
+
|
|
3920
|
+
# The interval at which the worker is sending health reports. The default value
|
|
3921
|
+
# of 0 should be interpreted as the field is not being explicitly set by the
|
|
3922
|
+
# worker.
|
|
3923
|
+
# Corresponds to the JSON property `reportInterval`
|
|
3924
|
+
# @return [String]
|
|
3925
|
+
attr_accessor :report_interval
|
|
3926
|
+
|
|
3927
|
+
# The pods running on the worker. See: http://kubernetes.io/v1.1/docs/api-
|
|
3928
|
+
# reference/v1/definitions.html#_v1_pod This field is used by the worker to send
|
|
3929
|
+
# the status of the indvidual containers running on each worker.
|
|
3930
|
+
# Corresponds to the JSON property `pods`
|
|
3931
|
+
# @return [Array<Hash<String,Object>>]
|
|
3932
|
+
attr_accessor :pods
|
|
3933
|
+
|
|
3934
|
+
def initialize(**args)
|
|
3935
|
+
update!(**args)
|
|
3936
|
+
end
|
|
3937
|
+
|
|
3938
|
+
# Update properties of this object
|
|
3939
|
+
def update!(**args)
|
|
3940
|
+
@vm_is_healthy = args[:vm_is_healthy] if args.key?(:vm_is_healthy)
|
|
3941
|
+
@vm_startup_time = args[:vm_startup_time] if args.key?(:vm_startup_time)
|
|
3942
|
+
@report_interval = args[:report_interval] if args.key?(:report_interval)
|
|
3943
|
+
@pods = args[:pods] if args.key?(:pods)
|
|
3944
|
+
end
|
|
3945
|
+
end
|
|
3946
|
+
|
|
3947
|
+
# A message code is used to report status and error messages to the service. The
|
|
3948
|
+
# message codes are intended to be machine readable. The service will take care
|
|
3949
|
+
# of translating these into user understandable messages if necessary. Example
|
|
3950
|
+
# use cases: 1. Worker processes reporting successful startup. 2. Worker
|
|
3951
|
+
# processes reporting specific errors (e.g. package staging failure).
|
|
3952
|
+
class WorkerMessageCode
|
|
3953
|
+
include Google::Apis::Core::Hashable
|
|
3954
|
+
|
|
3955
|
+
# The code is a string intended for consumption by a machine that identifies the
|
|
3956
|
+
# type of message being sent. Examples: 1. "HARNESS_STARTED" might be used to
|
|
3957
|
+
# indicate the worker harness has started. 2. "GCS_DOWNLOAD_ERROR" might be used
|
|
3958
|
+
# to indicate an error downloading a GCS file as part of the boot process of one
|
|
3959
|
+
# of the worker containers. This is a string and not an enum to make it easy to
|
|
3960
|
+
# add new codes without waiting for an API change.
|
|
3961
|
+
# Corresponds to the JSON property `code`
|
|
3962
|
+
# @return [String]
|
|
3963
|
+
attr_accessor :code
|
|
3964
|
+
|
|
3965
|
+
# Parameters contains specific information about the code. This is a struct to
|
|
3966
|
+
# allow parameters of different types. Examples: 1. For a "HARNESS_STARTED"
|
|
3967
|
+
# message parameters might provide the name of the worker and additional data
|
|
3968
|
+
# like timing information. 2. For a "GCS_DOWNLOAD_ERROR" parameters might
|
|
3969
|
+
# contain fields listing the GCS objects being downloaded and fields containing
|
|
3970
|
+
# errors. In general complex data structures should be avoided. If a worker
|
|
3971
|
+
# needs to send a specific and complicated data structure then please consider
|
|
3972
|
+
# defining a new proto and adding it to the data oneof in WorkerMessageResponse.
|
|
3973
|
+
# Conventions: Parameters should only be used for information that isn't
|
|
3974
|
+
# typically passed as a label. hostname and other worker identifiers should
|
|
3975
|
+
# almost always be passed as labels since they will be included on most messages.
|
|
3976
|
+
# Corresponds to the JSON property `parameters`
|
|
3977
|
+
# @return [Hash<String,Object>]
|
|
3978
|
+
attr_accessor :parameters
|
|
3979
|
+
|
|
3980
|
+
def initialize(**args)
|
|
3981
|
+
update!(**args)
|
|
3982
|
+
end
|
|
3983
|
+
|
|
3984
|
+
# Update properties of this object
|
|
3985
|
+
def update!(**args)
|
|
3986
|
+
@code = args[:code] if args.key?(:code)
|
|
3987
|
+
@parameters = args[:parameters] if args.key?(:parameters)
|
|
3988
|
+
end
|
|
3989
|
+
end
|
|
3990
|
+
|
|
3991
|
+
# The response to the worker messages.
|
|
3992
|
+
class SendWorkerMessagesResponse
|
|
3993
|
+
include Google::Apis::Core::Hashable
|
|
3994
|
+
|
|
3995
|
+
# The servers response to the worker messages.
|
|
3996
|
+
# Corresponds to the JSON property `workerMessageResponses`
|
|
3997
|
+
# @return [Array<Google::Apis::DataflowV1b3::WorkerMessageResponse>]
|
|
3998
|
+
attr_accessor :worker_message_responses
|
|
3999
|
+
|
|
4000
|
+
def initialize(**args)
|
|
4001
|
+
update!(**args)
|
|
4002
|
+
end
|
|
4003
|
+
|
|
4004
|
+
# Update properties of this object
|
|
4005
|
+
def update!(**args)
|
|
4006
|
+
@worker_message_responses = args[:worker_message_responses] if args.key?(:worker_message_responses)
|
|
4007
|
+
end
|
|
4008
|
+
end
|
|
4009
|
+
|
|
4010
|
+
# A worker_message response allows the server to pass information to the sender.
|
|
4011
|
+
class WorkerMessageResponse
|
|
4012
|
+
include Google::Apis::Core::Hashable
|
|
4013
|
+
|
|
4014
|
+
# WorkerHealthReportResponse contains information returned to the worker in
|
|
4015
|
+
# response to a health ping.
|
|
4016
|
+
# Corresponds to the JSON property `workerHealthReportResponse`
|
|
4017
|
+
# @return [Google::Apis::DataflowV1b3::WorkerHealthReportResponse]
|
|
4018
|
+
attr_accessor :worker_health_report_response
|
|
4019
|
+
|
|
4020
|
+
def initialize(**args)
|
|
4021
|
+
update!(**args)
|
|
4022
|
+
end
|
|
4023
|
+
|
|
4024
|
+
# Update properties of this object
|
|
4025
|
+
def update!(**args)
|
|
4026
|
+
@worker_health_report_response = args[:worker_health_report_response] if args.key?(:worker_health_report_response)
|
|
4027
|
+
end
|
|
4028
|
+
end
|
|
4029
|
+
|
|
4030
|
+
# WorkerHealthReportResponse contains information returned to the worker in
|
|
4031
|
+
# response to a health ping.
|
|
4032
|
+
class WorkerHealthReportResponse
|
|
4033
|
+
include Google::Apis::Core::Hashable
|
|
4034
|
+
|
|
4035
|
+
# A positive value indicates the worker should change its reporting interval to
|
|
4036
|
+
# the specified value. The default value of zero means no change in report rate
|
|
4037
|
+
# is requested by the server.
|
|
4038
|
+
# Corresponds to the JSON property `reportInterval`
|
|
4039
|
+
# @return [String]
|
|
4040
|
+
attr_accessor :report_interval
|
|
4041
|
+
|
|
4042
|
+
def initialize(**args)
|
|
4043
|
+
update!(**args)
|
|
4044
|
+
end
|
|
4045
|
+
|
|
4046
|
+
# Update properties of this object
|
|
4047
|
+
def update!(**args)
|
|
4048
|
+
@report_interval = args[:report_interval] if args.key?(:report_interval)
|
|
4049
|
+
end
|
|
4050
|
+
end
|
|
4051
|
+
end
|
|
4052
|
+
end
|
|
4053
|
+
end
|