google-apis-drive_v3 0.51.0 → 0.63.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: acfd309295b57b0dce3ca39fb55d248eea59c093114c70ee81d00593fee9fe33
4
- data.tar.gz: 5ace7cce0873881d7dfe852316c1a1cc5a84cf4ae5558db9564b42a8767425e4
3
+ metadata.gz: 93ecd54379da1d4a8dde5a077f62b78c632ae8ceb96276f3b7df931e2955a5e9
4
+ data.tar.gz: 346e988d1824ba5e1c02a0c3848420953b414cf26a10943e61c6d236c4fe3e4c
5
5
  SHA512:
6
- metadata.gz: 9a91075df55c6644a013c24ffbda6275751dab987b61064f70831683b7c78a1283b33d406fad6680a6acaa70a49767616212a488ab48cacd116e4ed151a0f911
7
- data.tar.gz: acf7c6b7fbb288d9af9c4b8f86ed7d18fb05d5f0fa783170c218b19d9137c0006afc51384dd71c248a8f4bdfc5795f85d3ae2ab08097623d49d898ade46cc19a
6
+ metadata.gz: 0bd4aee62749a9d3c077d8bd5266ec5b25ed4cd680c9143122b4cdd8b606285807e92f51fae19dc3e0e46d6466c23cc1209817d2d06fe3e225ccbb85c2129baa
7
+ data.tar.gz: 66fe34925b68fa5585ad2e633f9184390838dcb6cd13ac6b3d6df31ec2febc462f5b33b7f144597b57fa7e7efdf8e85a0971bdba1561a8b8c6257a55dc7e057f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,55 @@
1
1
  # Release history for google-apis-drive_v3
2
2
 
3
+ ### v0.63.0 (2025-04-06)
4
+
5
+ * Regenerated from discovery document revision 20250329
6
+
7
+ ### v0.62.0 (2025-03-02)
8
+
9
+ * Regenerated from discovery document revision 20250220
10
+ * Regenerated using generator version 0.16.0
11
+
12
+ ### v0.61.0 (2024-12-15)
13
+
14
+ * Regenerated from discovery document revision 20241206
15
+
16
+ ### v0.60.0 (2024-11-24)
17
+
18
+ * Regenerated from discovery document revision 20241117
19
+
20
+ ### v0.59.0 (2024-10-20)
21
+
22
+ * Regenerated from discovery document revision 20241014
23
+
24
+ ### v0.58.0 (2024-10-13)
25
+
26
+ * Regenerated from discovery document revision 20241008
27
+
28
+ ### v0.57.0 (2024-09-22)
29
+
30
+ * Regenerated from discovery document revision 20240914
31
+
32
+ ### v0.56.0 (2024-09-08)
33
+
34
+ * Regenerated from discovery document revision 20240903
35
+
36
+ ### v0.55.0 (2024-08-18)
37
+
38
+ * Regenerated from discovery document revision 20240809
39
+
40
+ ### v0.54.0 (2024-08-11)
41
+
42
+ * Regenerated from discovery document revision 20240730
43
+
44
+ ### v0.53.0 (2024-08-04)
45
+
46
+ * Regenerated from discovery document revision 20240722
47
+ * Regenerated using generator version 0.15.1
48
+
49
+ ### v0.52.0 (2024-07-25)
50
+
51
+ * Regenerated from discovery document revision 20240628
52
+
3
53
  ### v0.51.0 (2024-05-26)
4
54
 
5
55
  * Regenerated from discovery document revision 20240521
data/OVERVIEW.md CHANGED
@@ -79,7 +79,7 @@ Gem names for modern clients are often of the form `google-cloud-<service_name>`
79
79
 
80
80
  **For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
81
81
 
82
- The [product documentation](https://developers.google.com/drive/) may provide guidance regarding the preferred client library to use.
82
+ The [product documentation](https://developers.google.com/workspace/drive/) may provide guidance regarding the preferred client library to use.
83
83
 
84
84
  ## Supported Ruby versions
85
85
 
@@ -227,6 +227,89 @@ module Google
227
227
  end
228
228
  end
229
229
 
230
+ # The Access Proposal resource for outstanding access proposals on a file
231
+ class AccessProposal
232
+ include Google::Apis::Core::Hashable
233
+
234
+ # The creation time
235
+ # Corresponds to the JSON property `createTime`
236
+ # @return [String]
237
+ attr_accessor :create_time
238
+
239
+ # The file id that the proposal for access is on
240
+ # Corresponds to the JSON property `fileId`
241
+ # @return [String]
242
+ attr_accessor :file_id
243
+
244
+ # The id of the access proposal
245
+ # Corresponds to the JSON property `proposalId`
246
+ # @return [String]
247
+ attr_accessor :proposal_id
248
+
249
+ # The email address of the user that will receive permissions if accepted
250
+ # Corresponds to the JSON property `recipientEmailAddress`
251
+ # @return [String]
252
+ attr_accessor :recipient_email_address
253
+
254
+ # The message that the requester added to the proposal
255
+ # Corresponds to the JSON property `requestMessage`
256
+ # @return [String]
257
+ attr_accessor :request_message
258
+
259
+ # The email address of the requesting user
260
+ # Corresponds to the JSON property `requesterEmailAddress`
261
+ # @return [String]
262
+ attr_accessor :requester_email_address
263
+
264
+ # A wrapper for the role and view of an access proposal.
265
+ # Corresponds to the JSON property `rolesAndViews`
266
+ # @return [Array<Google::Apis::DriveV3::AccessProposalRoleAndView>]
267
+ attr_accessor :roles_and_views
268
+
269
+ def initialize(**args)
270
+ update!(**args)
271
+ end
272
+
273
+ # Update properties of this object
274
+ def update!(**args)
275
+ @create_time = args[:create_time] if args.key?(:create_time)
276
+ @file_id = args[:file_id] if args.key?(:file_id)
277
+ @proposal_id = args[:proposal_id] if args.key?(:proposal_id)
278
+ @recipient_email_address = args[:recipient_email_address] if args.key?(:recipient_email_address)
279
+ @request_message = args[:request_message] if args.key?(:request_message)
280
+ @requester_email_address = args[:requester_email_address] if args.key?(:requester_email_address)
281
+ @roles_and_views = args[:roles_and_views] if args.key?(:roles_and_views)
282
+ end
283
+ end
284
+
285
+ # A wrapper for the role and view of an access proposal.
286
+ class AccessProposalRoleAndView
287
+ include Google::Apis::Core::Hashable
288
+
289
+ # The role that was proposed by the requester New values may be added in the
290
+ # future, but the following are currently possible: * `writer` * `commenter` * `
291
+ # reader`
292
+ # Corresponds to the JSON property `role`
293
+ # @return [String]
294
+ attr_accessor :role
295
+
296
+ # Indicates the view for this access proposal. Only populated for proposals that
297
+ # belong to a view. `published` is the only supported value.
298
+ # Corresponds to the JSON property `view`
299
+ # @return [String]
300
+ attr_accessor :view
301
+
302
+ def initialize(**args)
303
+ update!(**args)
304
+ end
305
+
306
+ # Update properties of this object
307
+ def update!(**args)
308
+ @role = args[:role] if args.key?(:role)
309
+ @view = args[:view] if args.key?(:view)
310
+ end
311
+ end
312
+
230
313
  # The `apps` resource provides a list of apps that a user has installed, with
231
314
  # information about each app's supported MIME types, file extensions, and other
232
315
  # details. Some resource methods (such as `apps.get`) require an `appId`. Use
@@ -689,7 +772,7 @@ module Google
689
772
 
690
773
  # A region of the document represented as a JSON string. For details on defining
691
774
  # anchor properties, refer to [Manage comments and replies](https://developers.
692
- # google.com/drive/api/v3/manage-comments).
775
+ # google.com/workspace/drive/api/v3/manage-comments).
693
776
  # Corresponds to the JSON property `anchor`
694
777
  # @return [String]
695
778
  attr_accessor :anchor
@@ -910,6 +993,34 @@ module Google
910
993
  end
911
994
  end
912
995
 
996
+ # A restriction for copy and download of the file.
997
+ class DownloadRestriction
998
+ include Google::Apis::Core::Hashable
999
+
1000
+ # Whether download and copy is restricted for readers.
1001
+ # Corresponds to the JSON property `restrictedForReaders`
1002
+ # @return [Boolean]
1003
+ attr_accessor :restricted_for_readers
1004
+ alias_method :restricted_for_readers?, :restricted_for_readers
1005
+
1006
+ # Whether download and copy is restricted for writers. If true, download is also
1007
+ # restricted for readers.
1008
+ # Corresponds to the JSON property `restrictedForWriters`
1009
+ # @return [Boolean]
1010
+ attr_accessor :restricted_for_writers
1011
+ alias_method :restricted_for_writers?, :restricted_for_writers
1012
+
1013
+ def initialize(**args)
1014
+ update!(**args)
1015
+ end
1016
+
1017
+ # Update properties of this object
1018
+ def update!(**args)
1019
+ @restricted_for_readers = args[:restricted_for_readers] if args.key?(:restricted_for_readers)
1020
+ @restricted_for_writers = args[:restricted_for_writers] if args.key?(:restricted_for_writers)
1021
+ end
1022
+ end
1023
+
913
1024
  # Representation of a shared drive. Some resource methods (such as `drives.
914
1025
  # update`) require a `driveId`. Use the `drives.list` method to retrieve the ID
915
1026
  # for a shared drive.
@@ -1265,6 +1376,11 @@ module Google
1265
1376
  attr_accessor :domain_users_only
1266
1377
  alias_method :domain_users_only?, :domain_users_only
1267
1378
 
1379
+ # A restriction for copy and download of the file.
1380
+ # Corresponds to the JSON property `downloadRestriction`
1381
+ # @return [Google::Apis::DriveV3::DownloadRestriction]
1382
+ attr_accessor :download_restriction
1383
+
1268
1384
  # Whether access to items inside this shared drive is restricted to its members.
1269
1385
  # Corresponds to the JSON property `driveMembersOnly`
1270
1386
  # @return [Boolean]
@@ -1287,6 +1403,7 @@ module Google
1287
1403
  @admin_managed_restrictions = args[:admin_managed_restrictions] if args.key?(:admin_managed_restrictions)
1288
1404
  @copy_requires_writer_permission = args[:copy_requires_writer_permission] if args.key?(:copy_requires_writer_permission)
1289
1405
  @domain_users_only = args[:domain_users_only] if args.key?(:domain_users_only)
1406
+ @download_restriction = args[:download_restriction] if args.key?(:download_restriction)
1290
1407
  @drive_members_only = args[:drive_members_only] if args.key?(:drive_members_only)
1291
1408
  @sharing_folders_requires_organizer_permission = args[:sharing_folders_requires_organizer_permission] if args.key?(:sharing_folders_requires_organizer_permission)
1292
1409
  end
@@ -1457,6 +1574,13 @@ module Google
1457
1574
  # @return [Google::Apis::DriveV3::File::ImageMediaMetadata]
1458
1575
  attr_accessor :image_media_metadata
1459
1576
 
1577
+ # Whether this file has inherited permissions disabled. Inherited permissions
1578
+ # are enabled by default.
1579
+ # Corresponds to the JSON property `inheritedPermissionsDisabled`
1580
+ # @return [Boolean]
1581
+ attr_accessor :inherited_permissions_disabled
1582
+ alias_method :inherited_permissions_disabled?, :inherited_permissions_disabled
1583
+
1460
1584
  # Output only. Whether the file was created or opened by the requesting app.
1461
1585
  # Corresponds to the JSON property `isAppAuthorized`
1462
1586
  # @return [Boolean]
@@ -1544,10 +1668,11 @@ module Google
1544
1668
  # @return [Array<Google::Apis::DriveV3::User>]
1545
1669
  attr_accessor :owners
1546
1670
 
1547
- # The IDs of the parent folders which contain the file. If not specified as part
1548
- # of a create request, the file is placed directly in the user's My Drive folder.
1549
- # If not specified as part of a copy request, the file inherits any
1550
- # discoverable parents of the source file. Update requests must use the `
1671
+ # The ID of the parent folder containing the file. A file can only have one
1672
+ # parent folder; specifying multiple parents isn't supported. If not specified
1673
+ # as part of a create request, the file is placed directly in the user's My
1674
+ # Drive folder. If not specified as part of a copy request, the file inherits
1675
+ # any discoverable parent of the source file. Update requests must use the `
1551
1676
  # addParents` and `removeParents` parameters to modify the parents list.
1552
1677
  # Corresponds to the JSON property `parents`
1553
1678
  # @return [Array<String>]
@@ -1615,7 +1740,8 @@ module Google
1615
1740
  attr_accessor :sharing_user
1616
1741
 
1617
1742
  # Shortcut file details. Only populated for shortcut files, which have the
1618
- # mimeType field set to `application/vnd.google-apps.shortcut`.
1743
+ # mimeType field set to `application/vnd.google-apps.shortcut`. Can only be set
1744
+ # on `files.create` requests.
1619
1745
  # Corresponds to the JSON property `shortcutDetails`
1620
1746
  # @return [Google::Apis::DriveV3::File::ShortcutDetails]
1621
1747
  attr_accessor :shortcut_details
@@ -1644,9 +1770,12 @@ module Google
1644
1770
  attr_accessor :team_drive_id
1645
1771
 
1646
1772
  # Output only. A short-lived link to the file's thumbnail, if available.
1647
- # Typically lasts on the order of hours. Only populated when the requesting app
1648
- # can access the file's content. If the file isn't shared publicly, the URL
1649
- # returned in `Files.thumbnailLink` must be fetched using a credentialed request.
1773
+ # Typically lasts on the order of hours. Not intended for direct usage on web
1774
+ # applications due to [Cross-Origin Resource Sharing (CORS)](https://developer.
1775
+ # mozilla.org/en-US/docs/Web/HTTP/CORS) policies, consider using a proxy server.
1776
+ # Only populated when the requesting app can access the file's content. If the
1777
+ # file isn't shared publicly, the URL returned in `Files.thumbnailLink` must be
1778
+ # fetched using a credentialed request.
1650
1779
  # Corresponds to the JSON property `thumbnailLink`
1651
1780
  # @return [String]
1652
1781
  attr_accessor :thumbnail_link
@@ -1749,6 +1878,7 @@ module Google
1749
1878
  @icon_link = args[:icon_link] if args.key?(:icon_link)
1750
1879
  @id = args[:id] if args.key?(:id)
1751
1880
  @image_media_metadata = args[:image_media_metadata] if args.key?(:image_media_metadata)
1881
+ @inherited_permissions_disabled = args[:inherited_permissions_disabled] if args.key?(:inherited_permissions_disabled)
1752
1882
  @is_app_authorized = args[:is_app_authorized] if args.key?(:is_app_authorized)
1753
1883
  @kind = args[:kind] if args.key?(:kind)
1754
1884
  @label_info = args[:label_info] if args.key?(:label_info)
@@ -1877,6 +2007,12 @@ module Google
1877
2007
  attr_accessor :can_delete_children
1878
2008
  alias_method :can_delete_children?, :can_delete_children
1879
2009
 
2010
+ # Whether a user can disable inherited permissions.
2011
+ # Corresponds to the JSON property `canDisableInheritedPermissions`
2012
+ # @return [Boolean]
2013
+ attr_accessor :can_disable_inherited_permissions
2014
+ alias_method :can_disable_inherited_permissions?, :can_disable_inherited_permissions
2015
+
1880
2016
  # Output only. Whether the current user can download this file.
1881
2017
  # Corresponds to the JSON property `canDownload`
1882
2018
  # @return [Boolean]
@@ -1891,6 +2027,12 @@ module Google
1891
2027
  attr_accessor :can_edit
1892
2028
  alias_method :can_edit?, :can_edit
1893
2029
 
2030
+ # Whether a user can re-enable inherited permissions.
2031
+ # Corresponds to the JSON property `canEnableInheritedPermissions`
2032
+ # @return [Boolean]
2033
+ attr_accessor :can_enable_inherited_permissions
2034
+ alias_method :can_enable_inherited_permissions?, :can_enable_inherited_permissions
2035
+
1894
2036
  # Output only. Whether the current user can list the children of this folder.
1895
2037
  # This is always false when the item is not a folder.
1896
2038
  # Corresponds to the JSON property `canListChildren`
@@ -2101,8 +2243,10 @@ module Google
2101
2243
  @can_copy = args[:can_copy] if args.key?(:can_copy)
2102
2244
  @can_delete = args[:can_delete] if args.key?(:can_delete)
2103
2245
  @can_delete_children = args[:can_delete_children] if args.key?(:can_delete_children)
2246
+ @can_disable_inherited_permissions = args[:can_disable_inherited_permissions] if args.key?(:can_disable_inherited_permissions)
2104
2247
  @can_download = args[:can_download] if args.key?(:can_download)
2105
2248
  @can_edit = args[:can_edit] if args.key?(:can_edit)
2249
+ @can_enable_inherited_permissions = args[:can_enable_inherited_permissions] if args.key?(:can_enable_inherited_permissions)
2106
2250
  @can_list_children = args[:can_list_children] if args.key?(:can_list_children)
2107
2251
  @can_modify_content = args[:can_modify_content] if args.key?(:can_modify_content)
2108
2252
  @can_modify_content_restriction = args[:can_modify_content_restriction] if args.key?(:can_modify_content_restriction)
@@ -2411,11 +2555,13 @@ module Google
2411
2555
  end
2412
2556
 
2413
2557
  # Shortcut file details. Only populated for shortcut files, which have the
2414
- # mimeType field set to `application/vnd.google-apps.shortcut`.
2558
+ # mimeType field set to `application/vnd.google-apps.shortcut`. Can only be set
2559
+ # on `files.create` requests.
2415
2560
  class ShortcutDetails
2416
2561
  include Google::Apis::Core::Hashable
2417
2562
 
2418
- # The ID of the file that this shortcut points to.
2563
+ # The ID of the file that this shortcut points to. Can only be set on `files.
2564
+ # create` requests.
2419
2565
  # Corresponds to the JSON property `targetId`
2420
2566
  # @return [String]
2421
2567
  attr_accessor :target_id
@@ -2796,6 +2942,59 @@ module Google
2796
2942
  end
2797
2943
  end
2798
2944
 
2945
+ # The response to an Access Proposal list request.
2946
+ class ListAccessProposalsResponse
2947
+ include Google::Apis::Core::Hashable
2948
+
2949
+ # The list of Access Proposals. This field is only populated in v3 and v3beta.
2950
+ # Corresponds to the JSON property `accessProposals`
2951
+ # @return [Array<Google::Apis::DriveV3::AccessProposal>]
2952
+ attr_accessor :access_proposals
2953
+
2954
+ # The continuation token for the next page of results. This will be absent if
2955
+ # the end of the results list has been reached. If the token is rejected for any
2956
+ # reason, it should be discarded, and pagination should be restarted from the
2957
+ # first page of results.
2958
+ # Corresponds to the JSON property `nextPageToken`
2959
+ # @return [String]
2960
+ attr_accessor :next_page_token
2961
+
2962
+ def initialize(**args)
2963
+ update!(**args)
2964
+ end
2965
+
2966
+ # Update properties of this object
2967
+ def update!(**args)
2968
+ @access_proposals = args[:access_proposals] if args.key?(:access_proposals)
2969
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2970
+ end
2971
+ end
2972
+
2973
+ # The response message for Operations.ListOperations.
2974
+ class ListOperationsResponse
2975
+ include Google::Apis::Core::Hashable
2976
+
2977
+ # The standard List next-page token.
2978
+ # Corresponds to the JSON property `nextPageToken`
2979
+ # @return [String]
2980
+ attr_accessor :next_page_token
2981
+
2982
+ # A list of operations that matches the specified filter in the request.
2983
+ # Corresponds to the JSON property `operations`
2984
+ # @return [Array<Google::Apis::DriveV3::Operation>]
2985
+ attr_accessor :operations
2986
+
2987
+ def initialize(**args)
2988
+ update!(**args)
2989
+ end
2990
+
2991
+ # Update properties of this object
2992
+ def update!(**args)
2993
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2994
+ @operations = args[:operations] if args.key?(:operations)
2995
+ end
2996
+ end
2997
+
2799
2998
  # A request to modify the set of labels on a file. This request may contain many
2800
2999
  # modifications that will either all succeed or all fail atomically.
2801
3000
  class ModifyLabelsRequest
@@ -2848,8 +3047,73 @@ module Google
2848
3047
  end
2849
3048
  end
2850
3049
 
3050
+ # This resource represents a long-running operation that is the result of a
3051
+ # network API call.
3052
+ class Operation
3053
+ include Google::Apis::Core::Hashable
3054
+
3055
+ # If the value is `false`, it means the operation is still in progress. If `true`
3056
+ # , the operation is completed, and either `error` or `response` is available.
3057
+ # Corresponds to the JSON property `done`
3058
+ # @return [Boolean]
3059
+ attr_accessor :done
3060
+ alias_method :done?, :done
3061
+
3062
+ # The `Status` type defines a logical error model that is suitable for different
3063
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3064
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3065
+ # data: error code, error message, and error details. You can find out more
3066
+ # about this error model and how to work with it in the [API Design Guide](https:
3067
+ # //cloud.google.com/apis/design/errors).
3068
+ # Corresponds to the JSON property `error`
3069
+ # @return [Google::Apis::DriveV3::Status]
3070
+ attr_accessor :error
3071
+
3072
+ # Service-specific metadata associated with the operation. It typically contains
3073
+ # progress information and common metadata such as create time. Some services
3074
+ # might not provide such metadata. Any method that returns a long-running
3075
+ # operation should document the metadata type, if any.
3076
+ # Corresponds to the JSON property `metadata`
3077
+ # @return [Hash<String,Object>]
3078
+ attr_accessor :metadata
3079
+
3080
+ # The server-assigned name, which is only unique within the same service that
3081
+ # originally returns it. If you use the default HTTP mapping, the `name` should
3082
+ # be a resource name ending with `operations/`unique_id``.
3083
+ # Corresponds to the JSON property `name`
3084
+ # @return [String]
3085
+ attr_accessor :name
3086
+
3087
+ # The normal, successful response of the operation. If the original method
3088
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
3089
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
3090
+ # response should be the resource. For other methods, the response should have
3091
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
3092
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
3093
+ # `TakeSnapshotResponse`.
3094
+ # Corresponds to the JSON property `response`
3095
+ # @return [Hash<String,Object>]
3096
+ attr_accessor :response
3097
+
3098
+ def initialize(**args)
3099
+ update!(**args)
3100
+ end
3101
+
3102
+ # Update properties of this object
3103
+ def update!(**args)
3104
+ @done = args[:done] if args.key?(:done)
3105
+ @error = args[:error] if args.key?(:error)
3106
+ @metadata = args[:metadata] if args.key?(:metadata)
3107
+ @name = args[:name] if args.key?(:name)
3108
+ @response = args[:response] if args.key?(:response)
3109
+ end
3110
+ end
3111
+
2851
3112
  # A permission for a file. A permission grants a user, group, domain, or the
2852
- # world access to a file or a folder hierarchy. Some resource methods (such as `
3113
+ # world access to a file or a folder hierarchy. By default, permissions requests
3114
+ # only return a subset of fields. Permission kind, ID, type, and role are always
3115
+ # returned. To retrieve specific fields, see https://developers.google.com/
3116
+ # workspace/drive/api/guides/fields-parameter. Some resource methods (such as `
2853
3117
  # permissions.update`) require a `permissionId`. Use the `permissions.list`
2854
3118
  # method to retrieve the ID for a file, folder, or shared drive.
2855
3119
  class Permission
@@ -2904,6 +3168,13 @@ module Google
2904
3168
  # @return [String]
2905
3169
  attr_accessor :id
2906
3170
 
3171
+ # When true, only organizers, owners, and users with permissions added directly
3172
+ # on the item can access it.
3173
+ # Corresponds to the JSON property `inheritedPermissionsDisabled`
3174
+ # @return [Boolean]
3175
+ attr_accessor :inherited_permissions_disabled
3176
+ alias_method :inherited_permissions_disabled?, :inherited_permissions_disabled
3177
+
2907
3178
  # Output only. Identifies what kind of resource this is. Value: the fixed string
2908
3179
  # `"drive#permission"`.
2909
3180
  # Corresponds to the JSON property `kind`
@@ -2917,9 +3188,8 @@ module Google
2917
3188
  attr_accessor :pending_owner
2918
3189
  alias_method :pending_owner?, :pending_owner
2919
3190
 
2920
- # Output only. Details of whether the permissions on this shared drive item are
2921
- # inherited or directly on this item. This is an output-only field which is
2922
- # present only for shared drive items.
3191
+ # Output only. Details of whether the permissions on this item are inherited or
3192
+ # directly on this item.
2923
3193
  # Corresponds to the JSON property `permissionDetails`
2924
3194
  # @return [Array<Google::Apis::DriveV3::Permission::PermissionDetail>]
2925
3195
  attr_accessor :permission_details
@@ -2951,7 +3221,11 @@ module Google
2951
3221
  attr_accessor :type
2952
3222
 
2953
3223
  # Indicates the view for this permission. Only populated for permissions that
2954
- # belong to a view. 'published' is the only supported value.
3224
+ # belong to a view. published and metadata are the only supported values. -
3225
+ # published: The permission's role is published_reader. - metadata: The item is
3226
+ # only visible to the metadata view because the item has limited access and the
3227
+ # scope has at least read access to the parent. Note: The metadata view is
3228
+ # currently only supported on folders.
2955
3229
  # Corresponds to the JSON property `view`
2956
3230
  # @return [String]
2957
3231
  attr_accessor :view
@@ -2969,6 +3243,7 @@ module Google
2969
3243
  @email_address = args[:email_address] if args.key?(:email_address)
2970
3244
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
2971
3245
  @id = args[:id] if args.key?(:id)
3246
+ @inherited_permissions_disabled = args[:inherited_permissions_disabled] if args.key?(:inherited_permissions_disabled)
2972
3247
  @kind = args[:kind] if args.key?(:kind)
2973
3248
  @pending_owner = args[:pending_owner] if args.key?(:pending_owner)
2974
3249
  @permission_details = args[:permission_details] if args.key?(:permission_details)
@@ -2991,7 +3266,7 @@ module Google
2991
3266
  alias_method :inherited?, :inherited
2992
3267
 
2993
3268
  # Output only. The ID of the item from which this permission is inherited. This
2994
- # is an output-only field.
3269
+ # is only populated for items in shared drives.
2995
3270
  # Corresponds to the JSON property `inheritedFrom`
2996
3271
  # @return [String]
2997
3272
  attr_accessor :inherited_from
@@ -3003,7 +3278,7 @@ module Google
3003
3278
  attr_accessor :permission_type
3004
3279
 
3005
3280
  # Output only. The primary role for this user. While new values may be added in
3006
- # the future, the following are currently possible: * `organizer` * `
3281
+ # the future, the following are currently possible: * `owner` * `organizer` * `
3007
3282
  # fileOrganizer` * `writer` * `commenter` * `reader`
3008
3283
  # Corresponds to the JSON property `role`
3009
3284
  # @return [String]
@@ -3211,6 +3486,47 @@ module Google
3211
3486
  end
3212
3487
  end
3213
3488
 
3489
+ # Request message for resolving an AccessProposal on a file.
3490
+ class ResolveAccessProposalRequest
3491
+ include Google::Apis::Core::Hashable
3492
+
3493
+ # Required. The action to take on the AccessProposal.
3494
+ # Corresponds to the JSON property `action`
3495
+ # @return [String]
3496
+ attr_accessor :action
3497
+
3498
+ # Optional. The roles the approver has allowed, if any. Note: This field is
3499
+ # required for the `ACCEPT` action.
3500
+ # Corresponds to the JSON property `role`
3501
+ # @return [Array<String>]
3502
+ attr_accessor :role
3503
+
3504
+ # Optional. Whether to send an email to the requester when the AccessProposal is
3505
+ # denied or accepted.
3506
+ # Corresponds to the JSON property `sendNotification`
3507
+ # @return [Boolean]
3508
+ attr_accessor :send_notification
3509
+ alias_method :send_notification?, :send_notification
3510
+
3511
+ # Optional. Indicates the view for this access proposal. This should only be set
3512
+ # when the proposal belongs to a view. `published` is the only supported value.
3513
+ # Corresponds to the JSON property `view`
3514
+ # @return [String]
3515
+ attr_accessor :view
3516
+
3517
+ def initialize(**args)
3518
+ update!(**args)
3519
+ end
3520
+
3521
+ # Update properties of this object
3522
+ def update!(**args)
3523
+ @action = args[:action] if args.key?(:action)
3524
+ @role = args[:role] if args.key?(:role)
3525
+ @send_notification = args[:send_notification] if args.key?(:send_notification)
3526
+ @view = args[:view] if args.key?(:view)
3527
+ end
3528
+ end
3529
+
3214
3530
  # The metadata for a revision to a file. Some resource methods (such as `
3215
3531
  # revisions.update`) require a `revisionId`. Use the `revisions.list` method to
3216
3532
  # retrieve the ID for a revision.
@@ -3283,8 +3599,8 @@ module Google
3283
3599
  attr_accessor :published
3284
3600
  alias_method :published?, :published
3285
3601
 
3286
- # Output only. A link to the published revision. This is only populated for
3287
- # Google Sites files.
3602
+ # Output only. A link to the published revision. This is only populated for Docs
3603
+ # Editors files.
3288
3604
  # Corresponds to the JSON property `publishedLink`
3289
3605
  # @return [String]
3290
3606
  attr_accessor :published_link
@@ -3389,6 +3705,45 @@ module Google
3389
3705
  end
3390
3706
  end
3391
3707
 
3708
+ # The `Status` type defines a logical error model that is suitable for different
3709
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3710
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3711
+ # data: error code, error message, and error details. You can find out more
3712
+ # about this error model and how to work with it in the [API Design Guide](https:
3713
+ # //cloud.google.com/apis/design/errors).
3714
+ class Status
3715
+ include Google::Apis::Core::Hashable
3716
+
3717
+ # The status code, which should be an enum value of google.rpc.Code.
3718
+ # Corresponds to the JSON property `code`
3719
+ # @return [Fixnum]
3720
+ attr_accessor :code
3721
+
3722
+ # A list of messages that carry the error details. There is a common set of
3723
+ # message types for APIs to use.
3724
+ # Corresponds to the JSON property `details`
3725
+ # @return [Array<Hash<String,Object>>]
3726
+ attr_accessor :details
3727
+
3728
+ # A developer-facing error message, which should be in English. Any user-facing
3729
+ # error message should be localized and sent in the google.rpc.Status.details
3730
+ # field, or localized by the client.
3731
+ # Corresponds to the JSON property `message`
3732
+ # @return [String]
3733
+ attr_accessor :message
3734
+
3735
+ def initialize(**args)
3736
+ update!(**args)
3737
+ end
3738
+
3739
+ # Update properties of this object
3740
+ def update!(**args)
3741
+ @code = args[:code] if args.key?(:code)
3742
+ @details = args[:details] if args.key?(:details)
3743
+ @message = args[:message] if args.key?(:message)
3744
+ end
3745
+ end
3746
+
3392
3747
  # Deprecated: use the drive collection instead.
3393
3748
  class TeamDrive
3394
3749
  include Google::Apis::Core::Hashable
@@ -3728,6 +4083,11 @@ module Google
3728
4083
  attr_accessor :domain_users_only
3729
4084
  alias_method :domain_users_only?, :domain_users_only
3730
4085
 
4086
+ # A restriction for copy and download of the file.
4087
+ # Corresponds to the JSON property `downloadRestriction`
4088
+ # @return [Google::Apis::DriveV3::DownloadRestriction]
4089
+ attr_accessor :download_restriction
4090
+
3731
4091
  # If true, only users with the organizer role can share folders. If false, users
3732
4092
  # with either the organizer role or the file organizer role can share folders.
3733
4093
  # Corresponds to the JSON property `sharingFoldersRequiresOrganizerPermission`
@@ -3751,6 +4111,7 @@ module Google
3751
4111
  @admin_managed_restrictions = args[:admin_managed_restrictions] if args.key?(:admin_managed_restrictions)
3752
4112
  @copy_requires_writer_permission = args[:copy_requires_writer_permission] if args.key?(:copy_requires_writer_permission)
3753
4113
  @domain_users_only = args[:domain_users_only] if args.key?(:domain_users_only)
4114
+ @download_restriction = args[:download_restriction] if args.key?(:download_restriction)
3754
4115
  @sharing_folders_requires_organizer_permission = args[:sharing_folders_requires_organizer_permission] if args.key?(:sharing_folders_requires_organizer_permission)
3755
4116
  @team_members_only = args[:team_members_only] if args.key?(:team_members_only)
3756
4117
  end