google-apis-storage_v1 0.19.0 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c353493e0fc5a918d88c009ac65cb59e4f04985435d77631d4587e0dda7efcd4
4
- data.tar.gz: eaebc90d89745ffec6c1ec15ac85d8f1eede763cc05df90e70b25e77749eb5d6
3
+ metadata.gz: '020013963c0788380819adccfee9543b9801c359450a9ea3513d36b5445186c3'
4
+ data.tar.gz: 281b44c2c6e88bae97547164d2142ad4264ea126f88efb7c576e7f9ce76248ca
5
5
  SHA512:
6
- metadata.gz: 64bff217e10436f76c2008e0e803ce37900fcb57dadc725b3a80570c2f327699bae35482d6b78e8aaae209baa62395241cd614571f863e4e267a7bb697bcb10f
7
- data.tar.gz: bda11832f21565448523cb6beda25a7c579cfb97926cc76a602a9cdf3bc3598dbbf3f72f882dea2c7a1d012519c61e8eb598c556911436d533452d8131f09c31
6
+ metadata.gz: bccff201c5a7acd9f8cb4018d7e14c53e66154239b94f2510302be9d5f9d769f7667eabebc0801a55fd75d362e4da864a65d51c55a9d7f564aede7584e097b36
7
+ data.tar.gz: fe604d77551bf9108ede003dc5129e77c2f8dec5c6a5c07220a783f1e9d5d5ad3e84a11ebe864b3a530d5ba38419bc5a5cfa4a3813a2cb47ad1291d46530a14d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,46 @@
1
1
  # Release history for google-apis-storage_v1
2
2
 
3
+ ### v0.29.0 (2023-10-15)
4
+
5
+ * Regenerated from discovery document revision 20231012
6
+
7
+ ### v0.28.0 (2023-10-01)
8
+
9
+ * Regenerated from discovery document revision 20230926
10
+
11
+ ### v0.27.0 (2023-09-24)
12
+
13
+ * Regenerated from discovery document revision 20230922
14
+
15
+ ### v0.26.0 (2023-09-17)
16
+
17
+ * Regenerated from discovery document revision 20230914
18
+
19
+ ### v0.25.0 (2023-09-10)
20
+
21
+ * Regenerated from discovery document revision 20230907
22
+
23
+ ### v0.24.0 (2023-07-16)
24
+
25
+ * Regenerated from discovery document revision 20230710
26
+
27
+ ### v0.23.0 (2023-06-25)
28
+
29
+ * Regenerated from discovery document revision 20230617
30
+
31
+ ### v0.22.0 (2023-03-05)
32
+
33
+ * Regenerated from discovery document revision 20230301
34
+ * Regenerated using generator version 0.12.0
35
+
36
+ ### v0.21.0 (2023-02-14)
37
+
38
+ * Regenerated using generator version 0.11.1
39
+
40
+ ### v0.20.0 (2022-10-20)
41
+
42
+ * Regenerated using generator version 0.11.0
43
+
3
44
  ### v0.19.0 (2022-09-23)
4
45
 
5
46
  * Regenerated using generator version 0.10.0
@@ -137,6 +137,11 @@ module Google
137
137
  # @return [String]
138
138
  attr_accessor :name
139
139
 
140
+ # The bucket's object retention config.
141
+ # Corresponds to the JSON property `objectRetention`
142
+ # @return [Google::Apis::StorageV1::Bucket::ObjectRetention]
143
+ attr_accessor :object_retention
144
+
140
145
  # The owner of the bucket. This is always the project team's owner group.
141
146
  # Corresponds to the JSON property `owner`
142
147
  # @return [Google::Apis::StorageV1::Bucket::Owner]
@@ -177,6 +182,12 @@ module Google
177
182
  # @return [String]
178
183
  attr_accessor :self_link
179
184
 
185
+ # The bucket's soft delete policy, which defines the period of time that soft-
186
+ # deleted objects will be retained, and cannot be permanently deleted.
187
+ # Corresponds to the JSON property `softDeletePolicy`
188
+ # @return [Google::Apis::StorageV1::Bucket::SoftDeletePolicy]
189
+ attr_accessor :soft_delete_policy
190
+
180
191
  # The bucket's default storage class, used whenever no storageClass is specified
181
192
  # for a newly-created object. This defines how objects in the bucket are stored
182
193
  # and determines the SLA and the cost of storage. Values include MULTI_REGIONAL,
@@ -235,12 +246,14 @@ module Google
235
246
  @logging = args[:logging] if args.key?(:logging)
236
247
  @metageneration = args[:metageneration] if args.key?(:metageneration)
237
248
  @name = args[:name] if args.key?(:name)
249
+ @object_retention = args[:object_retention] if args.key?(:object_retention)
238
250
  @owner = args[:owner] if args.key?(:owner)
239
251
  @project_number = args[:project_number] if args.key?(:project_number)
240
252
  @retention_policy = args[:retention_policy] if args.key?(:retention_policy)
241
253
  @rpo = args[:rpo] if args.key?(:rpo)
242
254
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
243
255
  @self_link = args[:self_link] if args.key?(:self_link)
256
+ @soft_delete_policy = args[:soft_delete_policy] if args.key?(:soft_delete_policy)
244
257
  @storage_class = args[:storage_class] if args.key?(:storage_class)
245
258
  @time_created = args[:time_created] if args.key?(:time_created)
246
259
  @updated = args[:updated] if args.key?(:updated)
@@ -258,6 +271,19 @@ module Google
258
271
  attr_accessor :enabled
259
272
  alias_method :enabled?, :enabled
260
273
 
274
+ # The storage class that objects in the bucket eventually transition to if they
275
+ # are not read for a certain length of time. Valid values are NEARLINE and
276
+ # ARCHIVE.
277
+ # Corresponds to the JSON property `terminalStorageClass`
278
+ # @return [String]
279
+ attr_accessor :terminal_storage_class
280
+
281
+ # A date and time in RFC 3339 format representing the time of the most recent
282
+ # update to "terminalStorageClass".
283
+ # Corresponds to the JSON property `terminalStorageClassUpdateTime`
284
+ # @return [DateTime]
285
+ attr_accessor :terminal_storage_class_update_time
286
+
261
287
  # A date and time in RFC 3339 format representing the instant at which "enabled"
262
288
  # was last toggled.
263
289
  # Corresponds to the JSON property `toggleTime`
@@ -271,6 +297,8 @@ module Google
271
297
  # Update properties of this object
272
298
  def update!(**args)
273
299
  @enabled = args[:enabled] if args.key?(:enabled)
300
+ @terminal_storage_class = args[:terminal_storage_class] if args.key?(:terminal_storage_class)
301
+ @terminal_storage_class_update_time = args[:terminal_storage_class_update_time] if args.key?(:terminal_storage_class_update_time)
274
302
  @toggle_time = args[:toggle_time] if args.key?(:toggle_time)
275
303
  end
276
304
  end
@@ -682,6 +710,25 @@ module Google
682
710
  end
683
711
  end
684
712
 
713
+ # The bucket's object retention config.
714
+ class ObjectRetention
715
+ include Google::Apis::Core::Hashable
716
+
717
+ # The bucket's object retention mode. Can be Enabled.
718
+ # Corresponds to the JSON property `mode`
719
+ # @return [String]
720
+ attr_accessor :mode
721
+
722
+ def initialize(**args)
723
+ update!(**args)
724
+ end
725
+
726
+ # Update properties of this object
727
+ def update!(**args)
728
+ @mode = args[:mode] if args.key?(:mode)
729
+ end
730
+ end
731
+
685
732
  # The owner of the bucket. This is always the project team's owner group.
686
733
  class Owner
687
734
  include Google::Apis::Core::Hashable
@@ -751,6 +798,34 @@ module Google
751
798
  end
752
799
  end
753
800
 
801
+ # The bucket's soft delete policy, which defines the period of time that soft-
802
+ # deleted objects will be retained, and cannot be permanently deleted.
803
+ class SoftDeletePolicy
804
+ include Google::Apis::Core::Hashable
805
+
806
+ # Server-determined value that indicates the time from which the policy, or one
807
+ # with a greater retention, was effective. This value is in RFC 3339 format.
808
+ # Corresponds to the JSON property `effectiveTime`
809
+ # @return [DateTime]
810
+ attr_accessor :effective_time
811
+
812
+ # The period of time in seconds, that soft-deleted objects in the bucket will be
813
+ # retained and cannot be permanently deleted.
814
+ # Corresponds to the JSON property `retentionDurationSeconds`
815
+ # @return [Fixnum]
816
+ attr_accessor :retention_duration_seconds
817
+
818
+ def initialize(**args)
819
+ update!(**args)
820
+ end
821
+
822
+ # Update properties of this object
823
+ def update!(**args)
824
+ @effective_time = args[:effective_time] if args.key?(:effective_time)
825
+ @retention_duration_seconds = args[:retention_duration_seconds] if args.key?(:retention_duration_seconds)
826
+ end
827
+ end
828
+
754
829
  # The bucket's versioning configuration.
755
830
  class Versioning
756
831
  include Google::Apis::Core::Hashable
@@ -979,6 +1054,59 @@ module Google
979
1054
  end
980
1055
  end
981
1056
 
1057
+ # A bulk restore objects request.
1058
+ class BulkRestoreObjectsRequest
1059
+ include Google::Apis::Core::Hashable
1060
+
1061
+ # If false (default), the restore will not overwrite live objects with the same
1062
+ # name at the destination. This means some deleted objects may be skipped. If
1063
+ # true, live objects will be overwritten resulting in a noncurrent object (if
1064
+ # versioning is enabled). If versioning is not enabled, overwriting the object
1065
+ # will result in a soft-deleted object. In either case, if a noncurrent object
1066
+ # already exists with the same name, a live version can be written without issue.
1067
+ # Corresponds to the JSON property `allowOverwrite`
1068
+ # @return [Boolean]
1069
+ attr_accessor :allow_overwrite
1070
+ alias_method :allow_overwrite?, :allow_overwrite
1071
+
1072
+ # If true, copies the source object's ACL; otherwise, uses the bucket's default
1073
+ # object ACL. The default is false.
1074
+ # Corresponds to the JSON property `copySourceAcl`
1075
+ # @return [Boolean]
1076
+ attr_accessor :copy_source_acl
1077
+ alias_method :copy_source_acl?, :copy_source_acl
1078
+
1079
+ # Restores only the objects matching any of the specified glob(s). If this
1080
+ # parameter is not specified, all objects will be restored within the specified
1081
+ # time range.
1082
+ # Corresponds to the JSON property `matchGlobs`
1083
+ # @return [Array<String>]
1084
+ attr_accessor :match_globs
1085
+
1086
+ # Restores only the objects that were soft-deleted after this time.
1087
+ # Corresponds to the JSON property `softDeletedAfterTime`
1088
+ # @return [DateTime]
1089
+ attr_accessor :soft_deleted_after_time
1090
+
1091
+ # Restores only the objects that were soft-deleted before this time.
1092
+ # Corresponds to the JSON property `softDeletedBeforeTime`
1093
+ # @return [DateTime]
1094
+ attr_accessor :soft_deleted_before_time
1095
+
1096
+ def initialize(**args)
1097
+ update!(**args)
1098
+ end
1099
+
1100
+ # Update properties of this object
1101
+ def update!(**args)
1102
+ @allow_overwrite = args[:allow_overwrite] if args.key?(:allow_overwrite)
1103
+ @copy_source_acl = args[:copy_source_acl] if args.key?(:copy_source_acl)
1104
+ @match_globs = args[:match_globs] if args.key?(:match_globs)
1105
+ @soft_deleted_after_time = args[:soft_deleted_after_time] if args.key?(:soft_deleted_after_time)
1106
+ @soft_deleted_before_time = args[:soft_deleted_before_time] if args.key?(:soft_deleted_before_time)
1107
+ end
1108
+ end
1109
+
982
1110
  # An notification channel used to watch for resource changes.
983
1111
  class Channel
984
1112
  include Google::Apis::Core::Hashable
@@ -1184,6 +1312,131 @@ module Google
1184
1312
  end
1185
1313
  end
1186
1314
 
1315
+ # The response message for storage.buckets.operations.list.
1316
+ class GoogleLongrunningListOperationsResponse
1317
+ include Google::Apis::Core::Hashable
1318
+
1319
+ # The continuation token, used to page through large result sets. Provide this
1320
+ # value in a subsequent request to return the next page of results.
1321
+ # Corresponds to the JSON property `nextPageToken`
1322
+ # @return [String]
1323
+ attr_accessor :next_page_token
1324
+
1325
+ # A list of operations that matches the specified filter in the request.
1326
+ # Corresponds to the JSON property `operations`
1327
+ # @return [Array<Google::Apis::StorageV1::GoogleLongrunningOperation>]
1328
+ attr_accessor :operations
1329
+
1330
+ def initialize(**args)
1331
+ update!(**args)
1332
+ end
1333
+
1334
+ # Update properties of this object
1335
+ def update!(**args)
1336
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1337
+ @operations = args[:operations] if args.key?(:operations)
1338
+ end
1339
+ end
1340
+
1341
+ # This resource represents a long-running operation that is the result of a
1342
+ # network API call.
1343
+ class GoogleLongrunningOperation
1344
+ include Google::Apis::Core::Hashable
1345
+
1346
+ # If the value is "false", it means the operation is still in progress. If "true"
1347
+ # , the operation is completed, and either "error" or "response" is available.
1348
+ # Corresponds to the JSON property `done`
1349
+ # @return [Boolean]
1350
+ attr_accessor :done
1351
+ alias_method :done?, :done
1352
+
1353
+ # The "Status" type defines a logical error model that is suitable for different
1354
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1355
+ # gRPC](https://github.com/grpc). Each "Status" message contains three pieces of
1356
+ # data: error code, error message, and error details. You can find out more
1357
+ # about this error model and how to work with it in the [API Design Guide](https:
1358
+ # //cloud.google.com/apis/design/errors).
1359
+ # Corresponds to the JSON property `error`
1360
+ # @return [Google::Apis::StorageV1::GoogleRpcStatus]
1361
+ attr_accessor :error
1362
+
1363
+ # Service-specific metadata associated with the operation. It typically contains
1364
+ # progress information and common metadata such as create time. Some services
1365
+ # might not provide such metadata. Any method that returns a long-running
1366
+ # operation should document the metadata type, if any.
1367
+ # Corresponds to the JSON property `metadata`
1368
+ # @return [Hash<String,Object>]
1369
+ attr_accessor :metadata
1370
+
1371
+ # The server-assigned name, which is only unique within the same service that
1372
+ # originally returns it. If you use the default HTTP mapping, the "name" should
1373
+ # be a resource name ending with "operations/`operationId`".
1374
+ # Corresponds to the JSON property `name`
1375
+ # @return [String]
1376
+ attr_accessor :name
1377
+
1378
+ # The normal response of the operation in case of success. If the original
1379
+ # method returns no data on success, such as "Delete", the response is google.
1380
+ # protobuf.Empty. If the original method is standard Get/Create/Update, the
1381
+ # response should be the resource. For other methods, the response should have
1382
+ # the type "XxxResponse", where "Xxx" is the original method name. For example,
1383
+ # if the original method name is "TakeSnapshot()", the inferred response type is
1384
+ # "TakeSnapshotResponse".
1385
+ # Corresponds to the JSON property `response`
1386
+ # @return [Hash<String,Object>]
1387
+ attr_accessor :response
1388
+
1389
+ def initialize(**args)
1390
+ update!(**args)
1391
+ end
1392
+
1393
+ # Update properties of this object
1394
+ def update!(**args)
1395
+ @done = args[:done] if args.key?(:done)
1396
+ @error = args[:error] if args.key?(:error)
1397
+ @metadata = args[:metadata] if args.key?(:metadata)
1398
+ @name = args[:name] if args.key?(:name)
1399
+ @response = args[:response] if args.key?(:response)
1400
+ end
1401
+ end
1402
+
1403
+ # The "Status" type defines a logical error model that is suitable for different
1404
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1405
+ # gRPC](https://github.com/grpc). Each "Status" message contains three pieces of
1406
+ # data: error code, error message, and error details. You can find out more
1407
+ # about this error model and how to work with it in the [API Design Guide](https:
1408
+ # //cloud.google.com/apis/design/errors).
1409
+ class GoogleRpcStatus
1410
+ include Google::Apis::Core::Hashable
1411
+
1412
+ # The status code, which should be an enum value of google.rpc.Code.
1413
+ # Corresponds to the JSON property `code`
1414
+ # @return [Fixnum]
1415
+ attr_accessor :code
1416
+
1417
+ # A list of messages that carry the error details. There is a common set of
1418
+ # message types for APIs to use.
1419
+ # Corresponds to the JSON property `details`
1420
+ # @return [Array<Hash<String,Object>>]
1421
+ attr_accessor :details
1422
+
1423
+ # A developer-facing error message, which should be in English.
1424
+ # Corresponds to the JSON property `message`
1425
+ # @return [String]
1426
+ attr_accessor :message
1427
+
1428
+ def initialize(**args)
1429
+ update!(**args)
1430
+ end
1431
+
1432
+ # Update properties of this object
1433
+ def update!(**args)
1434
+ @code = args[:code] if args.key?(:code)
1435
+ @details = args[:details] if args.key?(:details)
1436
+ @message = args[:message] if args.key?(:message)
1437
+ end
1438
+ end
1439
+
1187
1440
  # JSON template to produce a JSON-style HMAC Key resource for Create responses.
1188
1441
  class HmacKey
1189
1442
  include Google::Apis::Core::Hashable
@@ -1322,6 +1575,103 @@ module Google
1322
1575
  end
1323
1576
  end
1324
1577
 
1578
+ # A managed folder.
1579
+ class ManagedFolder
1580
+ include Google::Apis::Core::Hashable
1581
+
1582
+ # The name of the bucket containing this managed folder.
1583
+ # Corresponds to the JSON property `bucket`
1584
+ # @return [String]
1585
+ attr_accessor :bucket
1586
+
1587
+ # The creation time of the managed folder in RFC 3339 format.
1588
+ # Corresponds to the JSON property `createTime`
1589
+ # @return [DateTime]
1590
+ attr_accessor :create_time
1591
+
1592
+ # The ID of the managed folder, including the bucket name and managed folder
1593
+ # name.
1594
+ # Corresponds to the JSON property `id`
1595
+ # @return [String]
1596
+ attr_accessor :id
1597
+
1598
+ # The kind of item this is. For managed folders, this is always storage#
1599
+ # managedFolder.
1600
+ # Corresponds to the JSON property `kind`
1601
+ # @return [String]
1602
+ attr_accessor :kind
1603
+
1604
+ # The version of the metadata for this managed folder. Used for preconditions
1605
+ # and for detecting changes in metadata.
1606
+ # Corresponds to the JSON property `metageneration`
1607
+ # @return [Fixnum]
1608
+ attr_accessor :metageneration
1609
+
1610
+ # The name of the managed folder. Required if not specified by URL parameter.
1611
+ # Corresponds to the JSON property `name`
1612
+ # @return [String]
1613
+ attr_accessor :name
1614
+
1615
+ # The link to this managed folder.
1616
+ # Corresponds to the JSON property `selfLink`
1617
+ # @return [String]
1618
+ attr_accessor :self_link
1619
+
1620
+ # The last update time of the managed folder metadata in RFC 3339 format.
1621
+ # Corresponds to the JSON property `updateTime`
1622
+ # @return [DateTime]
1623
+ attr_accessor :update_time
1624
+
1625
+ def initialize(**args)
1626
+ update!(**args)
1627
+ end
1628
+
1629
+ # Update properties of this object
1630
+ def update!(**args)
1631
+ @bucket = args[:bucket] if args.key?(:bucket)
1632
+ @create_time = args[:create_time] if args.key?(:create_time)
1633
+ @id = args[:id] if args.key?(:id)
1634
+ @kind = args[:kind] if args.key?(:kind)
1635
+ @metageneration = args[:metageneration] if args.key?(:metageneration)
1636
+ @name = args[:name] if args.key?(:name)
1637
+ @self_link = args[:self_link] if args.key?(:self_link)
1638
+ @update_time = args[:update_time] if args.key?(:update_time)
1639
+ end
1640
+ end
1641
+
1642
+ # A list of managed folders.
1643
+ class ManagedFolders
1644
+ include Google::Apis::Core::Hashable
1645
+
1646
+ # The list of items.
1647
+ # Corresponds to the JSON property `items`
1648
+ # @return [Array<Google::Apis::StorageV1::ManagedFolder>]
1649
+ attr_accessor :items
1650
+
1651
+ # The kind of item this is. For lists of managed folders, this is always storage#
1652
+ # managedFolders.
1653
+ # Corresponds to the JSON property `kind`
1654
+ # @return [String]
1655
+ attr_accessor :kind
1656
+
1657
+ # The continuation token, used to page through large result sets. Provide this
1658
+ # value in a subsequent request to return the next page of results.
1659
+ # Corresponds to the JSON property `nextPageToken`
1660
+ # @return [String]
1661
+ attr_accessor :next_page_token
1662
+
1663
+ def initialize(**args)
1664
+ update!(**args)
1665
+ end
1666
+
1667
+ # Update properties of this object
1668
+ def update!(**args)
1669
+ @items = args[:items] if args.key?(:items)
1670
+ @kind = args[:kind] if args.key?(:kind)
1671
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1672
+ end
1673
+ end
1674
+
1325
1675
  # A subscription to receive Google PubSub notifications.
1326
1676
  class Notification
1327
1677
  include Google::Apis::Core::Hashable
@@ -1511,6 +1861,13 @@ module Google
1511
1861
  # @return [Fixnum]
1512
1862
  attr_accessor :generation
1513
1863
 
1864
+ # This is the time (in the future) when the soft-deleted object will no longer
1865
+ # be restorable. It is equal to the soft delete time plus the current soft
1866
+ # delete retention duration of the bucket.
1867
+ # Corresponds to the JSON property `hardDeleteTime`
1868
+ # @return [DateTime]
1869
+ attr_accessor :hard_delete_time
1870
+
1514
1871
  # The ID of the object, including the bucket name, object name, and generation
1515
1872
  # number.
1516
1873
  # Corresponds to the JSON property `id`
@@ -1562,6 +1919,11 @@ module Google
1562
1919
  # @return [Google::Apis::StorageV1::Object::Owner]
1563
1920
  attr_accessor :owner
1564
1921
 
1922
+ # A collection of object level retention parameters.
1923
+ # Corresponds to the JSON property `retention`
1924
+ # @return [Google::Apis::StorageV1::Object::Retention]
1925
+ attr_accessor :retention
1926
+
1565
1927
  # A server-determined value that specifies the earliest time that the object's
1566
1928
  # retention period expires. This value is in RFC 3339 format. Note 1: This field
1567
1929
  # is not provided for objects with an active event-based hold, since retention
@@ -1582,6 +1944,11 @@ module Google
1582
1944
  # @return [Fixnum]
1583
1945
  attr_accessor :size
1584
1946
 
1947
+ # The time at which the object became soft-deleted in RFC 3339 format.
1948
+ # Corresponds to the JSON property `softDeleteTime`
1949
+ # @return [DateTime]
1950
+ attr_accessor :soft_delete_time
1951
+
1585
1952
  # Storage class of the object.
1586
1953
  # Corresponds to the JSON property `storageClass`
1587
1954
  # @return [String]
@@ -1602,8 +1969,8 @@ module Google
1602
1969
  # @return [DateTime]
1603
1970
  attr_accessor :time_created
1604
1971
 
1605
- # The deletion time of the object in RFC 3339 format. Will be returned if and
1606
- # only if this version of the object has been deleted.
1972
+ # The time at which the object became noncurrent in RFC 3339 format. Will be
1973
+ # returned if and only if this version of the object has been deleted.
1607
1974
  # Corresponds to the JSON property `timeDeleted`
1608
1975
  # @return [DateTime]
1609
1976
  attr_accessor :time_deleted
@@ -1643,6 +2010,7 @@ module Google
1643
2010
  @etag = args[:etag] if args.key?(:etag)
1644
2011
  @event_based_hold = args[:event_based_hold] if args.key?(:event_based_hold)
1645
2012
  @generation = args[:generation] if args.key?(:generation)
2013
+ @hard_delete_time = args[:hard_delete_time] if args.key?(:hard_delete_time)
1646
2014
  @id = args[:id] if args.key?(:id)
1647
2015
  @kind = args[:kind] if args.key?(:kind)
1648
2016
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
@@ -1652,9 +2020,11 @@ module Google
1652
2020
  @metageneration = args[:metageneration] if args.key?(:metageneration)
1653
2021
  @name = args[:name] if args.key?(:name)
1654
2022
  @owner = args[:owner] if args.key?(:owner)
2023
+ @retention = args[:retention] if args.key?(:retention)
1655
2024
  @retention_expiration_time = args[:retention_expiration_time] if args.key?(:retention_expiration_time)
1656
2025
  @self_link = args[:self_link] if args.key?(:self_link)
1657
2026
  @size = args[:size] if args.key?(:size)
2027
+ @soft_delete_time = args[:soft_delete_time] if args.key?(:soft_delete_time)
1658
2028
  @storage_class = args[:storage_class] if args.key?(:storage_class)
1659
2029
  @temporary_hold = args[:temporary_hold] if args.key?(:temporary_hold)
1660
2030
  @time_created = args[:time_created] if args.key?(:time_created)
@@ -1713,6 +2083,31 @@ module Google
1713
2083
  @entity_id = args[:entity_id] if args.key?(:entity_id)
1714
2084
  end
1715
2085
  end
2086
+
2087
+ # A collection of object level retention parameters.
2088
+ class Retention
2089
+ include Google::Apis::Core::Hashable
2090
+
2091
+ # The bucket's object retention mode, can only be Unlocked or Locked.
2092
+ # Corresponds to the JSON property `mode`
2093
+ # @return [String]
2094
+ attr_accessor :mode
2095
+
2096
+ # A time in RFC 3339 format until which object retention protects this object.
2097
+ # Corresponds to the JSON property `retainUntilTime`
2098
+ # @return [DateTime]
2099
+ attr_accessor :retain_until_time
2100
+
2101
+ def initialize(**args)
2102
+ update!(**args)
2103
+ end
2104
+
2105
+ # Update properties of this object
2106
+ def update!(**args)
2107
+ @mode = args[:mode] if args.key?(:mode)
2108
+ @retain_until_time = args[:retain_until_time] if args.key?(:retain_until_time)
2109
+ end
2110
+ end
1716
2111
  end
1717
2112
 
1718
2113
  # An access-control entry.
@@ -1909,7 +2304,7 @@ module Google
1909
2304
  end
1910
2305
  end
1911
2306
 
1912
- # A bucket/object IAM policy.
2307
+ # A bucket/object/managedFolder IAM policy.
1913
2308
  class Policy
1914
2309
  include Google::Apis::Core::Hashable
1915
2310
 
@@ -1932,11 +2327,11 @@ module Google
1932
2327
  attr_accessor :kind
1933
2328
 
1934
2329
  # The ID of the resource to which this policy belongs. Will be of the form
1935
- # projects/_/buckets/bucket for buckets, and projects/_/buckets/bucket/objects/
1936
- # object for objects. A specific generation may be specified by appending #
1937
- # generationNumber to the end of the object name, e.g. projects/_/buckets/my-
1938
- # bucket/objects/data.txt#17. The current generation can be denoted with #0.
1939
- # This field is ignored on input.
2330
+ # projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/
2331
+ # object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder.
2332
+ # A specific generation may be specified by appending #generationNumber to the
2333
+ # end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17.
2334
+ # The current generation can be denoted with #0. This field is ignored on input.
1940
2335
  # Corresponds to the JSON property `resourceId`
1941
2336
  # @return [String]
1942
2337
  attr_accessor :resource_id
@@ -2115,7 +2510,7 @@ module Google
2115
2510
  end
2116
2511
  end
2117
2512
 
2118
- # A storage.(buckets|objects).testIamPermissions response.
2513
+ # A storage.(buckets|objects|managedFolders).testIamPermissions response.
2119
2514
  class TestIamPermissionsResponse
2120
2515
  include Google::Apis::Core::Hashable
2121
2516
 
@@ -2125,8 +2520,8 @@ module Google
2125
2520
  attr_accessor :kind
2126
2521
 
2127
2522
  # The permissions held by the caller. Permissions are always of the format
2128
- # storage.resource.capability, where resource is one of buckets or objects. The
2129
- # supported permissions are as follows:
2523
+ # storage.resource.capability, where resource is one of buckets, objects, or
2524
+ # managedFolders. The supported permissions are as follows:
2130
2525
  # - storage.buckets.delete — Delete bucket.
2131
2526
  # - storage.buckets.get — Read bucket metadata.
2132
2527
  # - storage.buckets.getIamPolicy — Read bucket IAM policy.
@@ -2141,6 +2536,12 @@ module Google
2141
2536
  # - storage.objects.list — List objects.
2142
2537
  # - storage.objects.setIamPolicy — Update object IAM policy.
2143
2538
  # - storage.objects.update — Update object metadata.
2539
+ # - storage.managedFolders.delete — Delete managed folder.
2540
+ # - storage.managedFolders.get — Read managed folder metadata.
2541
+ # - storage.managedFolders.getIamPolicy — Read managed folder IAM policy.
2542
+ # - storage.managedFolders.create — Create managed folder.
2543
+ # - storage.managedFolders.list — List managed folders.
2544
+ # - storage.managedFolders.setIamPolicy — Update managed folder IAM policy.
2144
2545
  # Corresponds to the JSON property `permissions`
2145
2546
  # @return [Array<String>]
2146
2547
  attr_accessor :permissions
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module StorageV1
18
18
  # Version of the google-apis-storage_v1 gem
19
- GEM_VERSION = "0.19.0"
19
+ GEM_VERSION = "0.29.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
- GENERATOR_VERSION = "0.10.0"
22
+ GENERATOR_VERSION = "0.12.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20220705"
25
+ REVISION = "20231012"
26
26
  end
27
27
  end
28
28
  end