google-cloud-video-stitcher-v1 0.4.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/google/cloud/video/stitcher/v1/ad_tag_details_pb.rb +26 -25
  4. data/lib/google/cloud/video/stitcher/v1/cdn_keys_pb.rb +24 -21
  5. data/lib/google/cloud/video/stitcher/v1/companions_pb.rb +25 -37
  6. data/lib/google/cloud/video/stitcher/v1/events_pb.rb +25 -38
  7. data/lib/google/cloud/video/stitcher/v1/live_configs_pb.rb +54 -0
  8. data/lib/google/cloud/video/stitcher/v1/sessions_pb.rb +30 -66
  9. data/lib/google/cloud/video/stitcher/v1/slates_pb.rb +25 -5
  10. data/lib/google/cloud/video/stitcher/v1/stitch_details_pb.rb +26 -12
  11. data/lib/google/cloud/video/stitcher/v1/version.rb +1 -1
  12. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service/client.rb +569 -75
  13. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service/operations.rb +770 -0
  14. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service/paths.rb +19 -0
  15. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service.rb +2 -1
  16. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service_pb.rb +41 -105
  17. data/lib/google/cloud/video/stitcher/v1/video_stitcher_service_services_pb.rb +17 -6
  18. data/lib/google/cloud/video/stitcher/v1.rb +2 -2
  19. data/proto_docs/google/api/client.rb +381 -0
  20. data/proto_docs/google/api/launch_stage.rb +71 -0
  21. data/proto_docs/google/cloud/video/stitcher/v1/live_configs.rb +144 -0
  22. data/proto_docs/google/cloud/video/stitcher/v1/sessions.rb +38 -68
  23. data/proto_docs/google/cloud/video/stitcher/v1/slates.rb +16 -0
  24. data/proto_docs/google/cloud/video/stitcher/v1/video_stitcher_service.rb +146 -18
  25. data/proto_docs/google/longrunning/operations.rb +164 -0
  26. data/proto_docs/google/protobuf/any.rb +144 -0
  27. data/proto_docs/google/protobuf/struct.rb +1 -1
  28. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  29. data/proto_docs/google/rpc/status.rb +48 -0
  30. metadata +16 -7
@@ -22,7 +22,7 @@ module Google
22
22
  module Video
23
23
  module Stitcher
24
24
  module V1
25
- # Metadata for a VOD session.
25
+ # Metadata for a VOD session. The session expires 4 hours after its creation.
26
26
  # @!attribute [r] name
27
27
  # @return [::String]
28
28
  # Output only. The name of the VOD session, in the form of
@@ -53,24 +53,38 @@ module Google
53
53
  #
54
54
  # Fully qualified ad tag:
55
55
  # `"`https://doubleclick.google.com/ad/1?geo_id=123"`
56
- # @!attribute [rw] client_ad_tracking
57
- # @return [::Boolean]
58
- # Indicates whether client side ad tracking is enabled. If client
59
- # side ad tracking is enabled, then the client player is expected
60
- # to trigger playback and activity events itself.
61
- # If this is set to false, server side ad tracking is enabled,
62
- # causing the Video Stitcher service will trigger playback events
63
- # on behalf of the client player.
64
56
  # @!attribute [rw] manifest_options
65
57
  # @return [::Google::Cloud::Video::Stitcher::V1::ManifestOptions]
66
58
  # Additional options that affect the output of the manifest.
67
59
  # @!attribute [r] asset_id
68
60
  # @return [::String]
69
61
  # Output only. The generated ID of the VodSession's source media.
62
+ # @!attribute [rw] ad_tracking
63
+ # @return [::Google::Cloud::Video::Stitcher::V1::AdTracking]
64
+ # Required. Determines how the ad should be tracked. If
65
+ # [gam_vod_config][google.cloud.video.stitcher.v1.VodSession.gam_vod_config]
66
+ # is set, the value must be `CLIENT` because the IMA SDK handles ad tracking.
67
+ # @!attribute [rw] gam_settings
68
+ # @return [::Google::Cloud::Video::Stitcher::V1::VodSession::GamSettings]
69
+ # This field should be set with appropriate values if GAM is being used for
70
+ # ads.
70
71
  class VodSession
71
72
  include ::Google::Protobuf::MessageExts
72
73
  extend ::Google::Protobuf::MessageExts::ClassMethods
73
74
 
75
+ # Defines fields related to Google Ad Manager (GAM). This should be set if
76
+ # GAM is being used for ads.
77
+ # @!attribute [rw] network_code
78
+ # @return [::String]
79
+ # Required. Ad Manager network code.
80
+ # @!attribute [rw] stream_id
81
+ # @return [::String]
82
+ # Required. The stream ID generated by Ad Manager.
83
+ class GamSettings
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+
74
88
  # @!attribute [rw] key
75
89
  # @return [::String]
76
90
  # @!attribute [rw] value
@@ -140,7 +154,8 @@ module Google
140
154
  extend ::Google::Protobuf::MessageExts::ClassMethods
141
155
  end
142
156
 
143
- # Metadata for a live session.
157
+ # Metadata for a live session. The session expires 5 minutes after the client
158
+ # stops fetching the session's playlists.
144
159
  # @!attribute [r] name
145
160
  # @return [::String]
146
161
  # Output only. The name of the live session, in the form of
@@ -148,20 +163,6 @@ module Google
148
163
  # @!attribute [r] play_uri
149
164
  # @return [::String]
150
165
  # Output only. The URI to play the live session's ad-stitched stream.
151
- # @!attribute [rw] source_uri
152
- # @return [::String]
153
- # The URI of the live session's source stream.
154
- # @!attribute [rw] default_ad_tag_id
155
- # @return [::String]
156
- # The default ad tag to use when no ad tag ids are specified in an ad break's
157
- # SCTE-35 message.
158
- #
159
- # default_ad_tag_id is necessary when `adTagMap` has more than one key. Its
160
- # value must be present in the `adTagMap`.
161
- # @!attribute [rw] ad_tag_map
162
- # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Video::Stitcher::V1::AdTag}]
163
- # Key value pairs for ad tags. Ads parsed from ad tags must be MP4 videos
164
- # each with at least one audio track.
165
166
  # @!attribute [rw] ad_tag_macros
166
167
  # @return [::Google::Protobuf::Map{::String => ::String}]
167
168
  # Key value pairs for ad tag macro replacement. If the
@@ -177,37 +178,28 @@ module Google
177
178
  #
178
179
  # Fully qualified ad tag:
179
180
  # `"https://doubleclick.google.com/ad/1?geo_id=123"`
180
- # @!attribute [rw] client_ad_tracking
181
- # @return [::Boolean]
182
- # Whether client side ad tracking is enabled. If enabled, the client player
183
- # is expected to trigger playback and activity events itself. Otherwise,
184
- # server side ad tracking is enabled and the Video Stitcher API will trigger
185
- # playback events on behalf of the client player.
186
- # @!attribute [rw] default_slate_id
187
- # @return [::String]
188
- # The default slate to use when no slates are specified in an ad break's
189
- # SCTE-35 message. When specified, this value must match the ID for a slate
190
- # that has already been created via the
191
- # [CreateSlate](projects.locations.slates/create) method.
192
- # @!attribute [rw] stitching_policy
193
- # @return [::Google::Cloud::Video::Stitcher::V1::LiveSession::StitchingPolicy]
194
- # Defines the stitcher behavior in case an ad does not align exactly with
195
- # the ad break boundaries. If not specified, the default is `COMPLETE_AD`.
196
181
  # @!attribute [rw] manifest_options
197
182
  # @return [::Google::Cloud::Video::Stitcher::V1::ManifestOptions]
198
183
  # Additional options that affect the output of the manifest.
199
- # @!attribute [r] stream_id
184
+ # @!attribute [rw] gam_settings
185
+ # @return [::Google::Cloud::Video::Stitcher::V1::LiveSession::GamSettings]
186
+ # This field should be set with appropriate values if GAM is being used for
187
+ # ads.
188
+ # @!attribute [rw] live_config
200
189
  # @return [::String]
201
- # Output only. The generated ID of the LiveSession's source stream.
190
+ # Required. The resource name of the live config for this session, in the
191
+ # form of `projects/{project}/locations/{location}/liveConfigs/{id}`.
202
192
  class LiveSession
203
193
  include ::Google::Protobuf::MessageExts
204
194
  extend ::Google::Protobuf::MessageExts::ClassMethods
205
195
 
206
- # @!attribute [rw] key
196
+ # Defines fields related to Google Ad Manager (GAM). This should be set if
197
+ # GAM
198
+ # is being used for ads.
199
+ # @!attribute [rw] stream_id
207
200
  # @return [::String]
208
- # @!attribute [rw] value
209
- # @return [::Google::Cloud::Video::Stitcher::V1::AdTag]
210
- class AdTagMapEntry
201
+ # Required. The stream ID generated by Ad Manager.
202
+ class GamSettings
211
203
  include ::Google::Protobuf::MessageExts
212
204
  extend ::Google::Protobuf::MessageExts::ClassMethods
213
205
  end
@@ -220,28 +212,6 @@ module Google
220
212
  include ::Google::Protobuf::MessageExts
221
213
  extend ::Google::Protobuf::MessageExts::ClassMethods
222
214
  end
223
-
224
- # Defines the stitcher behavior in case an ad does not align exactly with
225
- # the ad break boundaries. If not specified, the default is COMPLETE_AD.
226
- module StitchingPolicy
227
- # Stitching policy is not specified.
228
- STITCHING_POLICY_UNSPECIFIED = 0
229
-
230
- # Finishes stitching the current ad before returning to content.
231
- COMPLETE_AD = 1
232
-
233
- # Cuts an ad short and returns to content in the middle of the ad.
234
- CUT_CURRENT = 3
235
- end
236
- end
237
-
238
- # Metadata of an ad tag.
239
- # @!attribute [rw] uri
240
- # @return [::String]
241
- # Ad tag URI template.
242
- class AdTag
243
- include ::Google::Protobuf::MessageExts
244
- extend ::Google::Protobuf::MessageExts::ClassMethods
245
215
  end
246
216
 
247
217
  # Options for manifest generation.
@@ -31,9 +31,25 @@ module Google
31
31
  # @return [::String]
32
32
  # The URI to fetch the source content for the slate. This URI must return an
33
33
  # MP4 video with at least one audio track.
34
+ # @!attribute [rw] gam_slate
35
+ # @return [::Google::Cloud::Video::Stitcher::V1::Slate::GamSlate]
36
+ # gam_slate has all the GAM-related attributes of slates.
34
37
  class Slate
35
38
  include ::Google::Protobuf::MessageExts
36
39
  extend ::Google::Protobuf::MessageExts::ClassMethods
40
+
41
+ # GamSlate object has Google Ad Manager (GAM) related properties for the
42
+ # slate.
43
+ # @!attribute [rw] network_code
44
+ # @return [::String]
45
+ # Required. Ad Manager network code to associate with the live config.
46
+ # @!attribute [r] gam_slate_id
47
+ # @return [::Integer]
48
+ # Output only. The identifier generated for the slate by GAM.
49
+ class GamSlate
50
+ include ::Google::Protobuf::MessageExts
51
+ extend ::Google::Protobuf::MessageExts::ClassMethods
52
+ end
37
53
  end
38
54
  end
39
55
  end
@@ -25,15 +25,15 @@ module Google
25
25
  # Request message for VideoStitcherService.createCdnKey.
26
26
  # @!attribute [rw] parent
27
27
  # @return [::String]
28
- # Required. The project in which the CDN key should be created, in the form of
29
- # `projects/{project_number}/locations/{location}`.
28
+ # Required. The project in which the CDN key should be created, in the form
29
+ # of `projects/{project_number}/locations/{location}`.
30
30
  # @!attribute [rw] cdn_key
31
31
  # @return [::Google::Cloud::Video::Stitcher::V1::CdnKey]
32
32
  # Required. The CDN key resource to create.
33
33
  # @!attribute [rw] cdn_key_id
34
34
  # @return [::String]
35
- # Required. The ID to use for the CDN key, which will become the final component of
36
- # the CDN key's resource name.
35
+ # Required. The ID to use for the CDN key, which will become the final
36
+ # component of the CDN key's resource name.
37
37
  #
38
38
  # This value should conform to RFC-1034, which restricts to
39
39
  # lower-case letters, numbers, and hyphen, with the first character a
@@ -118,8 +118,8 @@ module Google
118
118
  # Request message for VideoStitcherService.createVodSession
119
119
  # @!attribute [rw] parent
120
120
  # @return [::String]
121
- # Required. The project and location in which the VOD session should be created, in the
122
- # form of `projects/{project_number}/locations/{location}`.
121
+ # Required. The project and location in which the VOD session should be
122
+ # created, in the form of `projects/{project_number}/locations/{location}`.
123
123
  # @!attribute [rw] vod_session
124
124
  # @return [::Google::Cloud::Video::Stitcher::V1::VodSession]
125
125
  # Required. Parameters for creating a session.
@@ -141,8 +141,8 @@ module Google
141
141
  # Request message for VideoStitcherService.listVodStitchDetails.
142
142
  # @!attribute [rw] parent
143
143
  # @return [::String]
144
- # Required. The VOD session where the stitch details belong to, in the form of
145
- # `projects/{project}/locations/{location}/vodSessions/{id}`.
144
+ # Required. The VOD session where the stitch details belong to, in the form
145
+ # of `projects/{project}/locations/{location}/vodSessions/{id}`.
146
146
  # @!attribute [rw] page_size
147
147
  # @return [::Integer]
148
148
  # The maximum number of items to return.
@@ -169,7 +169,8 @@ module Google
169
169
  # Request message for VideoStitcherService.getVodStitchDetail.
170
170
  # @!attribute [rw] name
171
171
  # @return [::String]
172
- # Required. The name of the stitch detail in the specified VOD session, in the form of
172
+ # Required. The name of the stitch detail in the specified VOD session, in
173
+ # the form of
173
174
  # `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodStitchDetails/{id}`.
174
175
  class GetVodStitchDetailRequest
175
176
  include ::Google::Protobuf::MessageExts
@@ -179,8 +180,8 @@ module Google
179
180
  # Request message for VideoStitcherService.listVodAdTagDetails.
180
181
  # @!attribute [rw] parent
181
182
  # @return [::String]
182
- # Required. The VOD session which the ad tag details belong to, in the form of
183
- # `projects/{project}/locations/{location}/vodSessions/{vod_session_id}`.
183
+ # Required. The VOD session which the ad tag details belong to, in the form
184
+ # of `projects/{project}/locations/{location}/vodSessions/{vod_session_id}`.
184
185
  # @!attribute [rw] page_size
185
186
  # @return [::Integer]
186
187
  # The maximum number of items to return.
@@ -207,7 +208,8 @@ module Google
207
208
  # Request message for VideoStitcherService.getVodAdTagDetail
208
209
  # @!attribute [rw] name
209
210
  # @return [::String]
210
- # Required. The name of the ad tag detail for the specified VOD session, in the form of
211
+ # Required. The name of the ad tag detail for the specified VOD session, in
212
+ # the form of
211
213
  # `projects/{project}/locations/{location}/vodSessions/{vod_session_id}/vodAdTagDetails/{vod_ad_tag_detail}`.
212
214
  class GetVodAdTagDetailRequest
213
215
  include ::Google::Protobuf::MessageExts
@@ -256,7 +258,7 @@ module Google
256
258
  # @!attribute [rw] parent
257
259
  # @return [::String]
258
260
  # Required. The project in which the slate should be created, in the form of
259
- # `projects/{project_number}`.
261
+ # `projects/{project_number}/locations/{location}`.
260
262
  # @!attribute [rw] slate_id
261
263
  # @return [::String]
262
264
  # Required. The unique identifier for the slate.
@@ -266,6 +268,21 @@ module Google
266
268
  # @!attribute [rw] slate
267
269
  # @return [::Google::Cloud::Video::Stitcher::V1::Slate]
268
270
  # Required. The slate to create.
271
+ # @!attribute [rw] request_id
272
+ # @return [::String]
273
+ # A request ID to identify requests. Specify a unique request ID
274
+ # so that if you must retry your request, the server will know to ignore
275
+ # the request if it has already been completed. The server will guarantee
276
+ # that for at least 60 minutes since the first request.
277
+ #
278
+ # For example, consider a situation where you make an initial request and the
279
+ # request times out. If you make the request again with the same request ID,
280
+ # the server can check if original operation with the same request ID was
281
+ # received, and if so, will ignore the second request. This prevents clients
282
+ # from accidentally creating duplicate commitments.
283
+ #
284
+ # The request ID must be a valid UUID with the exception that zero UUID is
285
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
269
286
  class CreateSlateRequest
270
287
  include ::Google::Protobuf::MessageExts
271
288
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -274,8 +291,8 @@ module Google
274
291
  # Request message for VideoStitcherService.getSlate.
275
292
  # @!attribute [rw] name
276
293
  # @return [::String]
277
- # Required. The name of the slate to be retrieved, of the slate, in the form of
278
- # `projects/{project_number}/locations/{location}/slates/{id}`.
294
+ # Required. The name of the slate to be retrieved, of the slate, in the form
295
+ # of `projects/{project_number}/locations/{location}/slates/{id}`.
279
296
  class GetSlateRequest
280
297
  include ::Google::Protobuf::MessageExts
281
298
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -284,7 +301,8 @@ module Google
284
301
  # Request message for VideoStitcherService.listSlates.
285
302
  # @!attribute [rw] parent
286
303
  # @return [::String]
287
- # Required. The project to list slates, in the form of `projects/{project_number}`.
304
+ # Required. The project to list slates, in the form of
305
+ # `projects/{project_number}/locations/{location}`.
288
306
  # @!attribute [rw] page_size
289
307
  # @return [::Integer]
290
308
  # Requested page size. Server may return fewer items than requested.
@@ -343,8 +361,8 @@ module Google
343
361
  # Request message for VideoStitcherService.createLiveSession.
344
362
  # @!attribute [rw] parent
345
363
  # @return [::String]
346
- # Required. The project and location in which the live session should be created,
347
- # in the form of `projects/{project_number}/locations/{location}`.
364
+ # Required. The project and location in which the live session should be
365
+ # created, in the form of `projects/{project_number}/locations/{location}`.
348
366
  # @!attribute [rw] live_session
349
367
  # @return [::Google::Cloud::Video::Stitcher::V1::LiveSession]
350
368
  # Required. Parameters for creating a live session.
@@ -362,6 +380,116 @@ module Google
362
380
  include ::Google::Protobuf::MessageExts
363
381
  extend ::Google::Protobuf::MessageExts::ClassMethods
364
382
  end
383
+
384
+ # Request message for VideoStitcherService.createLiveConfig
385
+ # @!attribute [rw] parent
386
+ # @return [::String]
387
+ # Required. The project in which the live config should be created, in
388
+ # the form of `projects/{project_number}/locations/{location}`.
389
+ # @!attribute [rw] live_config_id
390
+ # @return [::String]
391
+ # Required. The unique identifier ID to use for the live config.
392
+ # @!attribute [rw] live_config
393
+ # @return [::Google::Cloud::Video::Stitcher::V1::LiveConfig]
394
+ # Required. The live config resource to create.
395
+ # @!attribute [rw] request_id
396
+ # @return [::String]
397
+ # A request ID to identify requests. Specify a unique request ID
398
+ # so that if you must retry your request, the server will know to ignore
399
+ # the request if it has already been completed. The server will guarantee
400
+ # that for at least 60 minutes since the first request.
401
+ #
402
+ # For example, consider a situation where you make an initial request and the
403
+ # request times out. If you make the request again with the same request ID,
404
+ # the server can check if original operation with the same request ID was
405
+ # received, and if so, will ignore the second request. This prevents clients
406
+ # from accidentally creating duplicate commitments.
407
+ #
408
+ # The request ID must be a valid UUID with the exception that zero UUID is
409
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
410
+ class CreateLiveConfigRequest
411
+ include ::Google::Protobuf::MessageExts
412
+ extend ::Google::Protobuf::MessageExts::ClassMethods
413
+ end
414
+
415
+ # Request message for VideoStitcherService.listLiveConfig.
416
+ # @!attribute [rw] parent
417
+ # @return [::String]
418
+ # Required. The project that contains the list of live configs, in the
419
+ # form of `projects/{project_number}/locations/{location}`.
420
+ # @!attribute [rw] page_size
421
+ # @return [::Integer]
422
+ # The maximum number of items to return.
423
+ # @!attribute [rw] page_token
424
+ # @return [::String]
425
+ # The next_page_token value returned from a previous List request, if any.
426
+ # @!attribute [rw] filter
427
+ # @return [::String]
428
+ # Optional. The filter to apply to list results (see
429
+ # [Filtering](https://google.aip.dev/160)).
430
+ # @!attribute [rw] order_by
431
+ # @return [::String]
432
+ # Optional. Specifies the ordering of results following
433
+ # [Cloud API
434
+ # syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).
435
+ class ListLiveConfigsRequest
436
+ include ::Google::Protobuf::MessageExts
437
+ extend ::Google::Protobuf::MessageExts::ClassMethods
438
+ end
439
+
440
+ # Response message for VideoStitcher.ListLiveConfig.
441
+ # @!attribute [rw] live_configs
442
+ # @return [::Array<::Google::Cloud::Video::Stitcher::V1::LiveConfig>]
443
+ # List of live configs.
444
+ # @!attribute [rw] next_page_token
445
+ # @return [::String]
446
+ # The pagination token.
447
+ # @!attribute [rw] unreachable
448
+ # @return [::Array<::String>]
449
+ # Locations that could not be reached.
450
+ class ListLiveConfigsResponse
451
+ include ::Google::Protobuf::MessageExts
452
+ extend ::Google::Protobuf::MessageExts::ClassMethods
453
+ end
454
+
455
+ # Request message for VideoStitcherService.getLiveConfig.
456
+ # @!attribute [rw] name
457
+ # @return [::String]
458
+ # Required. The name of the live config to be retrieved, in the form
459
+ # of
460
+ # `projects/{project_number}/locations/{location}/liveConfigs/{id}`.
461
+ class GetLiveConfigRequest
462
+ include ::Google::Protobuf::MessageExts
463
+ extend ::Google::Protobuf::MessageExts::ClassMethods
464
+ end
465
+
466
+ # Request message for VideoStitcherService.deleteLiveConfig.
467
+ # @!attribute [rw] name
468
+ # @return [::String]
469
+ # Required. The name of the live config to be deleted, in the form of
470
+ # `projects/{project_number}/locations/{location}/liveConfigs/{id}`.
471
+ class DeleteLiveConfigRequest
472
+ include ::Google::Protobuf::MessageExts
473
+ extend ::Google::Protobuf::MessageExts::ClassMethods
474
+ end
475
+
476
+ # Represents the metadata of the long-running operation.
477
+ # @!attribute [rw] create_time
478
+ # @return [::Google::Protobuf::Timestamp]
479
+ # The time the operation was created.
480
+ # @!attribute [rw] end_time
481
+ # @return [::Google::Protobuf::Timestamp]
482
+ # The time the operation finished running.
483
+ # @!attribute [rw] target
484
+ # @return [::String]
485
+ # Server-defined resource path for the target of the operation.
486
+ # @!attribute [rw] verb
487
+ # @return [::String]
488
+ # Name of the verb executed by the operation.
489
+ class OperationMetadata
490
+ include ::Google::Protobuf::MessageExts
491
+ extend ::Google::Protobuf::MessageExts::ClassMethods
492
+ end
365
493
  end
366
494
  end
367
495
  end
@@ -0,0 +1,164 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Longrunning
22
+ # This resource represents a long-running operation that is the result of a
23
+ # network API call.
24
+ # @!attribute [rw] name
25
+ # @return [::String]
26
+ # The server-assigned name, which is only unique within the same service that
27
+ # originally returns it. If you use the default HTTP mapping, the
28
+ # `name` should be a resource name ending with `operations/{unique_id}`.
29
+ # @!attribute [rw] metadata
30
+ # @return [::Google::Protobuf::Any]
31
+ # Service-specific metadata associated with the operation. It typically
32
+ # contains progress information and common metadata such as create time.
33
+ # Some services might not provide such metadata. Any method that returns a
34
+ # long-running operation should document the metadata type, if any.
35
+ # @!attribute [rw] done
36
+ # @return [::Boolean]
37
+ # If the value is `false`, it means the operation is still in progress.
38
+ # If `true`, the operation is completed, and either `error` or `response` is
39
+ # available.
40
+ # @!attribute [rw] error
41
+ # @return [::Google::Rpc::Status]
42
+ # The error result of the operation in case of failure or cancellation.
43
+ # @!attribute [rw] response
44
+ # @return [::Google::Protobuf::Any]
45
+ # The normal response of the operation in case of success. If the original
46
+ # method returns no data on success, such as `Delete`, the response is
47
+ # `google.protobuf.Empty`. If the original method is standard
48
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
49
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
50
+ # is the original method name. For example, if the original method name
51
+ # is `TakeSnapshot()`, the inferred response type is
52
+ # `TakeSnapshotResponse`.
53
+ class Operation
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+
58
+ # The request message for Operations.GetOperation.
59
+ # @!attribute [rw] name
60
+ # @return [::String]
61
+ # The name of the operation resource.
62
+ class GetOperationRequest
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # The request message for Operations.ListOperations.
68
+ # @!attribute [rw] name
69
+ # @return [::String]
70
+ # The name of the operation's parent resource.
71
+ # @!attribute [rw] filter
72
+ # @return [::String]
73
+ # The standard list filter.
74
+ # @!attribute [rw] page_size
75
+ # @return [::Integer]
76
+ # The standard list page size.
77
+ # @!attribute [rw] page_token
78
+ # @return [::String]
79
+ # The standard list page token.
80
+ class ListOperationsRequest
81
+ include ::Google::Protobuf::MessageExts
82
+ extend ::Google::Protobuf::MessageExts::ClassMethods
83
+ end
84
+
85
+ # The response message for Operations.ListOperations.
86
+ # @!attribute [rw] operations
87
+ # @return [::Array<::Google::Longrunning::Operation>]
88
+ # A list of operations that matches the specified filter in the request.
89
+ # @!attribute [rw] next_page_token
90
+ # @return [::String]
91
+ # The standard List next-page token.
92
+ class ListOperationsResponse
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+ end
96
+
97
+ # The request message for Operations.CancelOperation.
98
+ # @!attribute [rw] name
99
+ # @return [::String]
100
+ # The name of the operation resource to be cancelled.
101
+ class CancelOperationRequest
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
+ end
105
+
106
+ # The request message for Operations.DeleteOperation.
107
+ # @!attribute [rw] name
108
+ # @return [::String]
109
+ # The name of the operation resource to be deleted.
110
+ class DeleteOperationRequest
111
+ include ::Google::Protobuf::MessageExts
112
+ extend ::Google::Protobuf::MessageExts::ClassMethods
113
+ end
114
+
115
+ # The request message for Operations.WaitOperation.
116
+ # @!attribute [rw] name
117
+ # @return [::String]
118
+ # The name of the operation resource to wait on.
119
+ # @!attribute [rw] timeout
120
+ # @return [::Google::Protobuf::Duration]
121
+ # The maximum duration to wait before timing out. If left blank, the wait
122
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
123
+ # If RPC context deadline is also specified, the shorter one will be used.
124
+ class WaitOperationRequest
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+ end
128
+
129
+ # A message representing the message types used by a long-running operation.
130
+ #
131
+ # Example:
132
+ #
133
+ # rpc LongRunningRecognize(LongRunningRecognizeRequest)
134
+ # returns (google.longrunning.Operation) {
135
+ # option (google.longrunning.operation_info) = {
136
+ # response_type: "LongRunningRecognizeResponse"
137
+ # metadata_type: "LongRunningRecognizeMetadata"
138
+ # };
139
+ # }
140
+ # @!attribute [rw] response_type
141
+ # @return [::String]
142
+ # Required. The message name of the primary return type for this
143
+ # long-running operation.
144
+ # This type will be used to deserialize the LRO's response.
145
+ #
146
+ # If the response is in a different package from the rpc, a fully-qualified
147
+ # message name must be used (e.g. `google.protobuf.Struct`).
148
+ #
149
+ # Note: Altering this value constitutes a breaking change.
150
+ # @!attribute [rw] metadata_type
151
+ # @return [::String]
152
+ # Required. The message name of the metadata type for this long-running
153
+ # operation.
154
+ #
155
+ # If the response is in a different package from the rpc, a fully-qualified
156
+ # message name must be used (e.g. `google.protobuf.Struct`).
157
+ #
158
+ # Note: Altering this value constitutes a breaking change.
159
+ class OperationInfo
160
+ include ::Google::Protobuf::MessageExts
161
+ extend ::Google::Protobuf::MessageExts::ClassMethods
162
+ end
163
+ end
164
+ end