google-apis-storagebatchoperations_v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,844 @@
1
+ # Copyright 2020 Google LLC
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 StoragebatchoperationsV1
24
+
25
+ # Describes configuration of a single bucket and its objects to be transformed.
26
+ class Bucket
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Required. Bucket name for the objects to be transformed.
30
+ # Corresponds to the JSON property `bucket`
31
+ # @return [String]
32
+ attr_accessor :bucket
33
+
34
+ # Describes list of objects to be transformed.
35
+ # Corresponds to the JSON property `manifest`
36
+ # @return [Google::Apis::StoragebatchoperationsV1::Manifest]
37
+ attr_accessor :manifest
38
+
39
+ # Describes prefixes of objects to be transformed.
40
+ # Corresponds to the JSON property `prefixList`
41
+ # @return [Google::Apis::StoragebatchoperationsV1::PrefixList]
42
+ attr_accessor :prefix_list
43
+
44
+ def initialize(**args)
45
+ update!(**args)
46
+ end
47
+
48
+ # Update properties of this object
49
+ def update!(**args)
50
+ @bucket = args[:bucket] if args.key?(:bucket)
51
+ @manifest = args[:manifest] if args.key?(:manifest)
52
+ @prefix_list = args[:prefix_list] if args.key?(:prefix_list)
53
+ end
54
+ end
55
+
56
+ # Describes list of buckets and their objects to be transformed.
57
+ class BucketList
58
+ include Google::Apis::Core::Hashable
59
+
60
+ # Required. List of buckets and their objects to be transformed. Currently, only
61
+ # one bucket configuration is supported. If multiple buckets are specified, an
62
+ # error will be returned.
63
+ # Corresponds to the JSON property `buckets`
64
+ # @return [Array<Google::Apis::StoragebatchoperationsV1::Bucket>]
65
+ attr_accessor :buckets
66
+
67
+ def initialize(**args)
68
+ update!(**args)
69
+ end
70
+
71
+ # Update properties of this object
72
+ def update!(**args)
73
+ @buckets = args[:buckets] if args.key?(:buckets)
74
+ end
75
+ end
76
+
77
+ # Message for Job to Cancel
78
+ class CancelJobRequest
79
+ include Google::Apis::Core::Hashable
80
+
81
+ # Optional. An optional request ID to identify requests. Specify a unique
82
+ # request ID in case you need to retry your request. Requests with same `
83
+ # request_id` will ignored for at least 60 minutes since the first request. The
84
+ # request ID must be a valid UUID with the exception that zero UUID is not
85
+ # supported (00000000-0000-0000-0000-000000000000).
86
+ # Corresponds to the JSON property `requestId`
87
+ # @return [String]
88
+ attr_accessor :request_id
89
+
90
+ def initialize(**args)
91
+ update!(**args)
92
+ end
93
+
94
+ # Update properties of this object
95
+ def update!(**args)
96
+ @request_id = args[:request_id] if args.key?(:request_id)
97
+ end
98
+ end
99
+
100
+ # Message for response to cancel Job.
101
+ class CancelJobResponse
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
+ # The request message for Operations.CancelOperation.
114
+ class CancelOperationRequest
115
+ include Google::Apis::Core::Hashable
116
+
117
+ def initialize(**args)
118
+ update!(**args)
119
+ end
120
+
121
+ # Update properties of this object
122
+ def update!(**args)
123
+ end
124
+ end
125
+
126
+ # Describes details about the progress of the job.
127
+ class Counters
128
+ include Google::Apis::Core::Hashable
129
+
130
+ # Output only. Number of objects failed.
131
+ # Corresponds to the JSON property `failedObjectCount`
132
+ # @return [Fixnum]
133
+ attr_accessor :failed_object_count
134
+
135
+ # Output only. Number of objects completed.
136
+ # Corresponds to the JSON property `succeededObjectCount`
137
+ # @return [Fixnum]
138
+ attr_accessor :succeeded_object_count
139
+
140
+ # Output only. Number of objects listed.
141
+ # Corresponds to the JSON property `totalObjectCount`
142
+ # @return [Fixnum]
143
+ attr_accessor :total_object_count
144
+
145
+ def initialize(**args)
146
+ update!(**args)
147
+ end
148
+
149
+ # Update properties of this object
150
+ def update!(**args)
151
+ @failed_object_count = args[:failed_object_count] if args.key?(:failed_object_count)
152
+ @succeeded_object_count = args[:succeeded_object_count] if args.key?(:succeeded_object_count)
153
+ @total_object_count = args[:total_object_count] if args.key?(:total_object_count)
154
+ end
155
+ end
156
+
157
+ # Describes options to delete an object.
158
+ class DeleteObject
159
+ include Google::Apis::Core::Hashable
160
+
161
+ # Required. Controls deletion behavior when versioning is enabled for the object'
162
+ # s bucket. If true both live and noncurrent objects will be permanently deleted.
163
+ # Otherwise live objects in versioned buckets will become noncurrent and
164
+ # objects that were already noncurrent will be skipped. This setting doesn't
165
+ # have any impact on the Soft Delete feature. All objects deleted by this
166
+ # service can be be restored for the duration of the Soft Delete retention
167
+ # duration if enabled. If enabled and the manifest doesn't specify an object's
168
+ # generation, a GetObjectMetadata call (a Class B operation) will be made to
169
+ # determine the live object generation.
170
+ # Corresponds to the JSON property `permanentObjectDeletionEnabled`
171
+ # @return [Boolean]
172
+ attr_accessor :permanent_object_deletion_enabled
173
+ alias_method :permanent_object_deletion_enabled?, :permanent_object_deletion_enabled
174
+
175
+ def initialize(**args)
176
+ update!(**args)
177
+ end
178
+
179
+ # Update properties of this object
180
+ def update!(**args)
181
+ @permanent_object_deletion_enabled = args[:permanent_object_deletion_enabled] if args.key?(:permanent_object_deletion_enabled)
182
+ end
183
+ end
184
+
185
+ # A generic empty message that you can re-use to avoid defining duplicated empty
186
+ # messages in your APIs. A typical example is to use it as the request or the
187
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
188
+ # protobuf.Empty) returns (google.protobuf.Empty); `
189
+ class Empty
190
+ include Google::Apis::Core::Hashable
191
+
192
+ def initialize(**args)
193
+ update!(**args)
194
+ end
195
+
196
+ # Update properties of this object
197
+ def update!(**args)
198
+ end
199
+ end
200
+
201
+ # An entry describing an error that has occurred.
202
+ class ErrorLogEntry
203
+ include Google::Apis::Core::Hashable
204
+
205
+ # Optional. Output only. At most 5 error log entries are recorded for a given
206
+ # error code for a job.
207
+ # Corresponds to the JSON property `errorDetails`
208
+ # @return [Array<String>]
209
+ attr_accessor :error_details
210
+
211
+ # Required. Output only. Object URL. e.g. gs://my_bucket/object.txt
212
+ # Corresponds to the JSON property `objectUri`
213
+ # @return [String]
214
+ attr_accessor :object_uri
215
+
216
+ def initialize(**args)
217
+ update!(**args)
218
+ end
219
+
220
+ # Update properties of this object
221
+ def update!(**args)
222
+ @error_details = args[:error_details] if args.key?(:error_details)
223
+ @object_uri = args[:object_uri] if args.key?(:object_uri)
224
+ end
225
+ end
226
+
227
+ # A summary of errors by error code, plus a count and sample error log entries.
228
+ class ErrorSummary
229
+ include Google::Apis::Core::Hashable
230
+
231
+ # Required. The canonical error code.
232
+ # Corresponds to the JSON property `errorCode`
233
+ # @return [String]
234
+ attr_accessor :error_code
235
+
236
+ # Required. Number of errors encountered per `error_code`.
237
+ # Corresponds to the JSON property `errorCount`
238
+ # @return [Fixnum]
239
+ attr_accessor :error_count
240
+
241
+ # Required. Sample error logs.
242
+ # Corresponds to the JSON property `errorLogEntries`
243
+ # @return [Array<Google::Apis::StoragebatchoperationsV1::ErrorLogEntry>]
244
+ attr_accessor :error_log_entries
245
+
246
+ def initialize(**args)
247
+ update!(**args)
248
+ end
249
+
250
+ # Update properties of this object
251
+ def update!(**args)
252
+ @error_code = args[:error_code] if args.key?(:error_code)
253
+ @error_count = args[:error_count] if args.key?(:error_count)
254
+ @error_log_entries = args[:error_log_entries] if args.key?(:error_log_entries)
255
+ end
256
+ end
257
+
258
+ # The Storage Batch Operations Job description.
259
+ class Job
260
+ include Google::Apis::Core::Hashable
261
+
262
+ # Describes list of buckets and their objects to be transformed.
263
+ # Corresponds to the JSON property `bucketList`
264
+ # @return [Google::Apis::StoragebatchoperationsV1::BucketList]
265
+ attr_accessor :bucket_list
266
+
267
+ # Output only. The time that the job was completed.
268
+ # Corresponds to the JSON property `completeTime`
269
+ # @return [String]
270
+ attr_accessor :complete_time
271
+
272
+ # Describes details about the progress of the job.
273
+ # Corresponds to the JSON property `counters`
274
+ # @return [Google::Apis::StoragebatchoperationsV1::Counters]
275
+ attr_accessor :counters
276
+
277
+ # Output only. The time that the job was created.
278
+ # Corresponds to the JSON property `createTime`
279
+ # @return [String]
280
+ attr_accessor :create_time
281
+
282
+ # Describes options to delete an object.
283
+ # Corresponds to the JSON property `deleteObject`
284
+ # @return [Google::Apis::StoragebatchoperationsV1::DeleteObject]
285
+ attr_accessor :delete_object
286
+
287
+ # Optional. A description provided by the user for the job. Its max length is
288
+ # 1024 bytes when Unicode-encoded.
289
+ # Corresponds to the JSON property `description`
290
+ # @return [String]
291
+ attr_accessor :description
292
+
293
+ # Output only. Summarizes errors encountered with sample error log entries.
294
+ # Corresponds to the JSON property `errorSummaries`
295
+ # @return [Array<Google::Apis::StoragebatchoperationsV1::ErrorSummary>]
296
+ attr_accessor :error_summaries
297
+
298
+ # Specifies the Cloud Logging behavior.
299
+ # Corresponds to the JSON property `loggingConfig`
300
+ # @return [Google::Apis::StoragebatchoperationsV1::LoggingConfig]
301
+ attr_accessor :logging_config
302
+
303
+ # Identifier. The resource name of the Job. job_id is unique within the project,
304
+ # that is either set by the customer or defined by the service. Format: projects/
305
+ # `project`/locations/global/jobs/`job_id` . For example: "projects/123456/
306
+ # locations/global/jobs/job01".
307
+ # Corresponds to the JSON property `name`
308
+ # @return [String]
309
+ attr_accessor :name
310
+
311
+ # Describes options for object metadata update.
312
+ # Corresponds to the JSON property `putMetadata`
313
+ # @return [Google::Apis::StoragebatchoperationsV1::PutMetadata]
314
+ attr_accessor :put_metadata
315
+
316
+ # Describes options to update object hold.
317
+ # Corresponds to the JSON property `putObjectHold`
318
+ # @return [Google::Apis::StoragebatchoperationsV1::PutObjectHold]
319
+ attr_accessor :put_object_hold
320
+
321
+ # Describes options for object rewrite.
322
+ # Corresponds to the JSON property `rewriteObject`
323
+ # @return [Google::Apis::StoragebatchoperationsV1::RewriteObject]
324
+ attr_accessor :rewrite_object
325
+
326
+ # Output only. The time that the job was scheduled.
327
+ # Corresponds to the JSON property `scheduleTime`
328
+ # @return [String]
329
+ attr_accessor :schedule_time
330
+
331
+ # Output only. State of the job.
332
+ # Corresponds to the JSON property `state`
333
+ # @return [String]
334
+ attr_accessor :state
335
+
336
+ def initialize(**args)
337
+ update!(**args)
338
+ end
339
+
340
+ # Update properties of this object
341
+ def update!(**args)
342
+ @bucket_list = args[:bucket_list] if args.key?(:bucket_list)
343
+ @complete_time = args[:complete_time] if args.key?(:complete_time)
344
+ @counters = args[:counters] if args.key?(:counters)
345
+ @create_time = args[:create_time] if args.key?(:create_time)
346
+ @delete_object = args[:delete_object] if args.key?(:delete_object)
347
+ @description = args[:description] if args.key?(:description)
348
+ @error_summaries = args[:error_summaries] if args.key?(:error_summaries)
349
+ @logging_config = args[:logging_config] if args.key?(:logging_config)
350
+ @name = args[:name] if args.key?(:name)
351
+ @put_metadata = args[:put_metadata] if args.key?(:put_metadata)
352
+ @put_object_hold = args[:put_object_hold] if args.key?(:put_object_hold)
353
+ @rewrite_object = args[:rewrite_object] if args.key?(:rewrite_object)
354
+ @schedule_time = args[:schedule_time] if args.key?(:schedule_time)
355
+ @state = args[:state] if args.key?(:state)
356
+ end
357
+ end
358
+
359
+ # Message for response to listing Jobs
360
+ class ListJobsResponse
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # A list of storage batch jobs.
364
+ # Corresponds to the JSON property `jobs`
365
+ # @return [Array<Google::Apis::StoragebatchoperationsV1::Job>]
366
+ attr_accessor :jobs
367
+
368
+ # A token identifying a page of results.
369
+ # Corresponds to the JSON property `nextPageToken`
370
+ # @return [String]
371
+ attr_accessor :next_page_token
372
+
373
+ # Locations that could not be reached.
374
+ # Corresponds to the JSON property `unreachable`
375
+ # @return [Array<String>]
376
+ attr_accessor :unreachable
377
+
378
+ def initialize(**args)
379
+ update!(**args)
380
+ end
381
+
382
+ # Update properties of this object
383
+ def update!(**args)
384
+ @jobs = args[:jobs] if args.key?(:jobs)
385
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
386
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
387
+ end
388
+ end
389
+
390
+ # The response message for Locations.ListLocations.
391
+ class ListLocationsResponse
392
+ include Google::Apis::Core::Hashable
393
+
394
+ # A list of locations that matches the specified filter in the request.
395
+ # Corresponds to the JSON property `locations`
396
+ # @return [Array<Google::Apis::StoragebatchoperationsV1::Location>]
397
+ attr_accessor :locations
398
+
399
+ # The standard List next-page token.
400
+ # Corresponds to the JSON property `nextPageToken`
401
+ # @return [String]
402
+ attr_accessor :next_page_token
403
+
404
+ def initialize(**args)
405
+ update!(**args)
406
+ end
407
+
408
+ # Update properties of this object
409
+ def update!(**args)
410
+ @locations = args[:locations] if args.key?(:locations)
411
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
412
+ end
413
+ end
414
+
415
+ # The response message for Operations.ListOperations.
416
+ class ListOperationsResponse
417
+ include Google::Apis::Core::Hashable
418
+
419
+ # The standard List next-page token.
420
+ # Corresponds to the JSON property `nextPageToken`
421
+ # @return [String]
422
+ attr_accessor :next_page_token
423
+
424
+ # A list of operations that matches the specified filter in the request.
425
+ # Corresponds to the JSON property `operations`
426
+ # @return [Array<Google::Apis::StoragebatchoperationsV1::Operation>]
427
+ attr_accessor :operations
428
+
429
+ def initialize(**args)
430
+ update!(**args)
431
+ end
432
+
433
+ # Update properties of this object
434
+ def update!(**args)
435
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
436
+ @operations = args[:operations] if args.key?(:operations)
437
+ end
438
+ end
439
+
440
+ # A resource that represents a Google Cloud location.
441
+ class Location
442
+ include Google::Apis::Core::Hashable
443
+
444
+ # The friendly name for this location, typically a nearby city name. For example,
445
+ # "Tokyo".
446
+ # Corresponds to the JSON property `displayName`
447
+ # @return [String]
448
+ attr_accessor :display_name
449
+
450
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
451
+ # region": "us-east1"`
452
+ # Corresponds to the JSON property `labels`
453
+ # @return [Hash<String,String>]
454
+ attr_accessor :labels
455
+
456
+ # The canonical id for this location. For example: `"us-east1"`.
457
+ # Corresponds to the JSON property `locationId`
458
+ # @return [String]
459
+ attr_accessor :location_id
460
+
461
+ # Service-specific metadata. For example the available capacity at the given
462
+ # location.
463
+ # Corresponds to the JSON property `metadata`
464
+ # @return [Hash<String,Object>]
465
+ attr_accessor :metadata
466
+
467
+ # Resource name for the location, which may vary between implementations. For
468
+ # example: `"projects/example-project/locations/us-east1"`
469
+ # Corresponds to the JSON property `name`
470
+ # @return [String]
471
+ attr_accessor :name
472
+
473
+ def initialize(**args)
474
+ update!(**args)
475
+ end
476
+
477
+ # Update properties of this object
478
+ def update!(**args)
479
+ @display_name = args[:display_name] if args.key?(:display_name)
480
+ @labels = args[:labels] if args.key?(:labels)
481
+ @location_id = args[:location_id] if args.key?(:location_id)
482
+ @metadata = args[:metadata] if args.key?(:metadata)
483
+ @name = args[:name] if args.key?(:name)
484
+ end
485
+ end
486
+
487
+ # Specifies the Cloud Logging behavior.
488
+ class LoggingConfig
489
+ include Google::Apis::Core::Hashable
490
+
491
+ # Required. States in which Action are logged.If empty, no logs are generated.
492
+ # Corresponds to the JSON property `logActionStates`
493
+ # @return [Array<String>]
494
+ attr_accessor :log_action_states
495
+
496
+ # Required. Specifies the actions to be logged.
497
+ # Corresponds to the JSON property `logActions`
498
+ # @return [Array<String>]
499
+ attr_accessor :log_actions
500
+
501
+ def initialize(**args)
502
+ update!(**args)
503
+ end
504
+
505
+ # Update properties of this object
506
+ def update!(**args)
507
+ @log_action_states = args[:log_action_states] if args.key?(:log_action_states)
508
+ @log_actions = args[:log_actions] if args.key?(:log_actions)
509
+ end
510
+ end
511
+
512
+ # Describes list of objects to be transformed.
513
+ class Manifest
514
+ include Google::Apis::Core::Hashable
515
+
516
+ # Required. `manifest_location` must contain the manifest source file that is a
517
+ # CSV file in a Google Cloud Storage bucket. Each row in the file must include
518
+ # the object details i.e. BucketId and Name. Generation may optionally be
519
+ # specified. When it is not specified the live object is acted upon. `
520
+ # manifest_location` should either be 1) An absolute path to the object in the
521
+ # format of gs://bucket_name/path/file_name.csv. 2) An absolute path with a
522
+ # single wildcard character in the file name, for example gs://bucket_name/path/
523
+ # file_name*.csv. If manifest location is specified with a wildcard, objects in
524
+ # all manifest files matching the pattern will be acted upon.
525
+ # Corresponds to the JSON property `manifestLocation`
526
+ # @return [String]
527
+ attr_accessor :manifest_location
528
+
529
+ def initialize(**args)
530
+ update!(**args)
531
+ end
532
+
533
+ # Update properties of this object
534
+ def update!(**args)
535
+ @manifest_location = args[:manifest_location] if args.key?(:manifest_location)
536
+ end
537
+ end
538
+
539
+ # This resource represents a long-running operation that is the result of a
540
+ # network API call.
541
+ class Operation
542
+ include Google::Apis::Core::Hashable
543
+
544
+ # If the value is `false`, it means the operation is still in progress. If `true`
545
+ # , the operation is completed, and either `error` or `response` is available.
546
+ # Corresponds to the JSON property `done`
547
+ # @return [Boolean]
548
+ attr_accessor :done
549
+ alias_method :done?, :done
550
+
551
+ # The `Status` type defines a logical error model that is suitable for different
552
+ # programming environments, including REST APIs and RPC APIs. It is used by [
553
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
554
+ # data: error code, error message, and error details. You can find out more
555
+ # about this error model and how to work with it in the [API Design Guide](https:
556
+ # //cloud.google.com/apis/design/errors).
557
+ # Corresponds to the JSON property `error`
558
+ # @return [Google::Apis::StoragebatchoperationsV1::Status]
559
+ attr_accessor :error
560
+
561
+ # Service-specific metadata associated with the operation. It typically contains
562
+ # progress information and common metadata such as create time. Some services
563
+ # might not provide such metadata. Any method that returns a long-running
564
+ # operation should document the metadata type, if any.
565
+ # Corresponds to the JSON property `metadata`
566
+ # @return [Hash<String,Object>]
567
+ attr_accessor :metadata
568
+
569
+ # The server-assigned name, which is only unique within the same service that
570
+ # originally returns it. If you use the default HTTP mapping, the `name` should
571
+ # be a resource name ending with `operations/`unique_id``.
572
+ # Corresponds to the JSON property `name`
573
+ # @return [String]
574
+ attr_accessor :name
575
+
576
+ # The normal, successful response of the operation. If the original method
577
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
578
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
579
+ # response should be the resource. For other methods, the response should have
580
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
581
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
582
+ # `TakeSnapshotResponse`.
583
+ # Corresponds to the JSON property `response`
584
+ # @return [Hash<String,Object>]
585
+ attr_accessor :response
586
+
587
+ def initialize(**args)
588
+ update!(**args)
589
+ end
590
+
591
+ # Update properties of this object
592
+ def update!(**args)
593
+ @done = args[:done] if args.key?(:done)
594
+ @error = args[:error] if args.key?(:error)
595
+ @metadata = args[:metadata] if args.key?(:metadata)
596
+ @name = args[:name] if args.key?(:name)
597
+ @response = args[:response] if args.key?(:response)
598
+ end
599
+ end
600
+
601
+ # Represents the metadata of the long-running operation.
602
+ class OperationMetadata
603
+ include Google::Apis::Core::Hashable
604
+
605
+ # Output only. API version used to start the operation.
606
+ # Corresponds to the JSON property `apiVersion`
607
+ # @return [String]
608
+ attr_accessor :api_version
609
+
610
+ # Output only. The time the operation was created.
611
+ # Corresponds to the JSON property `createTime`
612
+ # @return [String]
613
+ attr_accessor :create_time
614
+
615
+ # Output only. The time the operation finished running.
616
+ # Corresponds to the JSON property `endTime`
617
+ # @return [String]
618
+ attr_accessor :end_time
619
+
620
+ # The Storage Batch Operations Job description.
621
+ # Corresponds to the JSON property `job`
622
+ # @return [Google::Apis::StoragebatchoperationsV1::Job]
623
+ attr_accessor :job
624
+
625
+ # Output only. The unique operation resource name. Format: projects/`project`/
626
+ # locations/global/operations/`operation`.
627
+ # Corresponds to the JSON property `operation`
628
+ # @return [String]
629
+ attr_accessor :operation
630
+
631
+ # Output only. Identifies whether the user has requested cancellation of the
632
+ # operation. Operations that have been cancelled successfully have google.
633
+ # longrunning.Operation.error value with a google.rpc.Status.code of 1,
634
+ # corresponding to `Code.CANCELLED`.
635
+ # Corresponds to the JSON property `requestedCancellation`
636
+ # @return [Boolean]
637
+ attr_accessor :requested_cancellation
638
+ alias_method :requested_cancellation?, :requested_cancellation
639
+
640
+ def initialize(**args)
641
+ update!(**args)
642
+ end
643
+
644
+ # Update properties of this object
645
+ def update!(**args)
646
+ @api_version = args[:api_version] if args.key?(:api_version)
647
+ @create_time = args[:create_time] if args.key?(:create_time)
648
+ @end_time = args[:end_time] if args.key?(:end_time)
649
+ @job = args[:job] if args.key?(:job)
650
+ @operation = args[:operation] if args.key?(:operation)
651
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
652
+ end
653
+ end
654
+
655
+ # Describes prefixes of objects to be transformed.
656
+ class PrefixList
657
+ include Google::Apis::Core::Hashable
658
+
659
+ # Optional. Include prefixes of the objects to be transformed. * Supports full
660
+ # object name * Supports prefix of the object name * Wildcards are not supported
661
+ # * Supports empty string for all objects in a bucket.
662
+ # Corresponds to the JSON property `includedObjectPrefixes`
663
+ # @return [Array<String>]
664
+ attr_accessor :included_object_prefixes
665
+
666
+ def initialize(**args)
667
+ update!(**args)
668
+ end
669
+
670
+ # Update properties of this object
671
+ def update!(**args)
672
+ @included_object_prefixes = args[:included_object_prefixes] if args.key?(:included_object_prefixes)
673
+ end
674
+ end
675
+
676
+ # Describes options for object metadata update.
677
+ class PutMetadata
678
+ include Google::Apis::Core::Hashable
679
+
680
+ # Optional. Updates objects Cache-Control fixed metadata. Unset values will be
681
+ # ignored. Set empty values to clear the metadata. Additionally, the value for
682
+ # Custom-Time cannot decrease. Refer to documentation in https://cloud.google.
683
+ # com/storage/docs/metadata#caching_data.
684
+ # Corresponds to the JSON property `cacheControl`
685
+ # @return [String]
686
+ attr_accessor :cache_control
687
+
688
+ # Optional. Updates objects Content-Disposition fixed metadata. Unset values
689
+ # will be ignored. Set empty values to clear the metadata. Refer https://cloud.
690
+ # google.com/storage/docs/metadata#content-disposition for additional
691
+ # documentation.
692
+ # Corresponds to the JSON property `contentDisposition`
693
+ # @return [String]
694
+ attr_accessor :content_disposition
695
+
696
+ # Optional. Updates objects Content-Encoding fixed metadata. Unset values will
697
+ # be ignored. Set empty values to clear the metadata. Refer to documentation in
698
+ # https://cloud.google.com/storage/docs/metadata#content-encoding.
699
+ # Corresponds to the JSON property `contentEncoding`
700
+ # @return [String]
701
+ attr_accessor :content_encoding
702
+
703
+ # Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1
704
+ # language codes for typical values of this metadata. Max length 100 characters.
705
+ # Unset values will be ignored. Set empty values to clear the metadata. Refer to
706
+ # documentation in https://cloud.google.com/storage/docs/metadata#content-
707
+ # language.
708
+ # Corresponds to the JSON property `contentLanguage`
709
+ # @return [String]
710
+ attr_accessor :content_language
711
+
712
+ # Optional. Updates objects Content-Type fixed metadata. Unset values will be
713
+ # ignored. Set empty values to clear the metadata. Refer to documentation in
714
+ # https://cloud.google.com/storage/docs/metadata#content-type
715
+ # Corresponds to the JSON property `contentType`
716
+ # @return [String]
717
+ attr_accessor :content_type
718
+
719
+ # Optional. Updates objects custom metadata. Adds or sets individual custom
720
+ # metadata key value pairs on objects. Keys that are set with empty custom
721
+ # metadata values will have its value cleared. Existing custom metadata not
722
+ # specified with this flag is not changed. Refer to documentation in https://
723
+ # cloud.google.com/storage/docs/metadata#custom-metadata
724
+ # Corresponds to the JSON property `customMetadata`
725
+ # @return [Hash<String,String>]
726
+ attr_accessor :custom_metadata
727
+
728
+ # Optional. Updates objects Custom-Time fixed metadata. Unset values will be
729
+ # ignored. Set empty values to clear the metadata. Refer to documentation in
730
+ # https://cloud.google.com/storage/docs/metadata#custom-time.
731
+ # Corresponds to the JSON property `customTime`
732
+ # @return [String]
733
+ attr_accessor :custom_time
734
+
735
+ def initialize(**args)
736
+ update!(**args)
737
+ end
738
+
739
+ # Update properties of this object
740
+ def update!(**args)
741
+ @cache_control = args[:cache_control] if args.key?(:cache_control)
742
+ @content_disposition = args[:content_disposition] if args.key?(:content_disposition)
743
+ @content_encoding = args[:content_encoding] if args.key?(:content_encoding)
744
+ @content_language = args[:content_language] if args.key?(:content_language)
745
+ @content_type = args[:content_type] if args.key?(:content_type)
746
+ @custom_metadata = args[:custom_metadata] if args.key?(:custom_metadata)
747
+ @custom_time = args[:custom_time] if args.key?(:custom_time)
748
+ end
749
+ end
750
+
751
+ # Describes options to update object hold.
752
+ class PutObjectHold
753
+ include Google::Apis::Core::Hashable
754
+
755
+ # Required. Updates object event based holds state. When object event based hold
756
+ # is set, object cannot be deleted or replaced. Resets object's time in the
757
+ # bucket for the purposes of the retention period.
758
+ # Corresponds to the JSON property `eventBasedHold`
759
+ # @return [String]
760
+ attr_accessor :event_based_hold
761
+
762
+ # Required. Updates object temporary holds state. When object temporary hold is
763
+ # set, object cannot be deleted or replaced.
764
+ # Corresponds to the JSON property `temporaryHold`
765
+ # @return [String]
766
+ attr_accessor :temporary_hold
767
+
768
+ def initialize(**args)
769
+ update!(**args)
770
+ end
771
+
772
+ # Update properties of this object
773
+ def update!(**args)
774
+ @event_based_hold = args[:event_based_hold] if args.key?(:event_based_hold)
775
+ @temporary_hold = args[:temporary_hold] if args.key?(:temporary_hold)
776
+ end
777
+ end
778
+
779
+ # Describes options for object rewrite.
780
+ class RewriteObject
781
+ include Google::Apis::Core::Hashable
782
+
783
+ # Required. Resource name of the Cloud KMS key that will be used to encrypt the
784
+ # object. The Cloud KMS key must be located in same location as the object.
785
+ # Refer to https://cloud.google.com/storage/docs/encryption/using-customer-
786
+ # managed-keys#add-object-key for additional documentation. Format: projects/`
787
+ # project`/locations/`location`/keyRings/`keyring`/cryptoKeys/`key` For example:
788
+ # "projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key".
789
+ # The object will be rewritten and set with the specified KMS key.
790
+ # Corresponds to the JSON property `kmsKey`
791
+ # @return [String]
792
+ attr_accessor :kms_key
793
+
794
+ def initialize(**args)
795
+ update!(**args)
796
+ end
797
+
798
+ # Update properties of this object
799
+ def update!(**args)
800
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
801
+ end
802
+ end
803
+
804
+ # The `Status` type defines a logical error model that is suitable for different
805
+ # programming environments, including REST APIs and RPC APIs. It is used by [
806
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
807
+ # data: error code, error message, and error details. You can find out more
808
+ # about this error model and how to work with it in the [API Design Guide](https:
809
+ # //cloud.google.com/apis/design/errors).
810
+ class Status
811
+ include Google::Apis::Core::Hashable
812
+
813
+ # The status code, which should be an enum value of google.rpc.Code.
814
+ # Corresponds to the JSON property `code`
815
+ # @return [Fixnum]
816
+ attr_accessor :code
817
+
818
+ # A list of messages that carry the error details. There is a common set of
819
+ # message types for APIs to use.
820
+ # Corresponds to the JSON property `details`
821
+ # @return [Array<Hash<String,Object>>]
822
+ attr_accessor :details
823
+
824
+ # A developer-facing error message, which should be in English. Any user-facing
825
+ # error message should be localized and sent in the google.rpc.Status.details
826
+ # field, or localized by the client.
827
+ # Corresponds to the JSON property `message`
828
+ # @return [String]
829
+ attr_accessor :message
830
+
831
+ def initialize(**args)
832
+ update!(**args)
833
+ end
834
+
835
+ # Update properties of this object
836
+ def update!(**args)
837
+ @code = args[:code] if args.key?(:code)
838
+ @details = args[:details] if args.key?(:details)
839
+ @message = args[:message] if args.key?(:message)
840
+ end
841
+ end
842
+ end
843
+ end
844
+ end