google-apis-storage_v1 0.19.0 → 0.29.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.
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