google-apis-drive_v3 0.30.0 → 0.61.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.
@@ -38,7 +38,7 @@ module Google
38
38
  attr_accessor :can_create_drives
39
39
  alias_method :can_create_drives?, :can_create_drives
40
40
 
41
- # Deprecated - use canCreateDrives instead.
41
+ # Deprecated: Use `canCreateDrives` instead.
42
42
  # Corresponds to the JSON property `canCreateTeamDrives`
43
43
  # @return [Boolean]
44
44
  attr_accessor :can_create_team_drives
@@ -64,8 +64,8 @@ module Google
64
64
  # @return [Hash<String,Array<String>>]
65
65
  attr_accessor :import_formats
66
66
 
67
- # Identifies what kind of resource this is. Value: the fixed string "drive#about"
68
- # .
67
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
68
+ # about"`.
69
69
  # Corresponds to the JSON property `kind`
70
70
  # @return [String]
71
71
  attr_accessor :kind
@@ -80,12 +80,15 @@ module Google
80
80
  # @return [Fixnum]
81
81
  attr_accessor :max_upload_size
82
82
 
83
- # The user's storage quota limits and usage. All fields are measured in bytes.
83
+ # The user's storage quota limits and usage. For users that are part of an
84
+ # organization with pooled storage, information about the limit and usage across
85
+ # all services is for the organization, rather than the individual user. All
86
+ # fields are measured in bytes.
84
87
  # Corresponds to the JSON property `storageQuota`
85
88
  # @return [Google::Apis::DriveV3::About::StorageQuota]
86
89
  attr_accessor :storage_quota
87
90
 
88
- # Deprecated - use driveThemes instead.
91
+ # Deprecated: Use `driveThemes` instead.
89
92
  # Corresponds to the JSON property `teamDriveThemes`
90
93
  # @return [Array<Google::Apis::DriveV3::About::TeamDriveTheme>]
91
94
  attr_accessor :team_drive_themes
@@ -147,17 +150,24 @@ module Google
147
150
  end
148
151
  end
149
152
 
150
- # The user's storage quota limits and usage. All fields are measured in bytes.
153
+ # The user's storage quota limits and usage. For users that are part of an
154
+ # organization with pooled storage, information about the limit and usage across
155
+ # all services is for the organization, rather than the individual user. All
156
+ # fields are measured in bytes.
151
157
  class StorageQuota
152
158
  include Google::Apis::Core::Hashable
153
159
 
154
160
  # The usage limit, if applicable. This will not be present if the user has
155
- # unlimited storage.
161
+ # unlimited storage. For users that are part of an organization with pooled
162
+ # storage, this is the limit for the organization, rather than the individual
163
+ # user.
156
164
  # Corresponds to the JSON property `limit`
157
165
  # @return [Fixnum]
158
166
  attr_accessor :limit
159
167
 
160
- # The total usage across all services.
168
+ # The total usage across all services. For users that are part of an
169
+ # organization with pooled storage, this is the usage across all services for
170
+ # the organization, rather than the individual user.
161
171
  # Corresponds to the JSON property `usage`
162
172
  # @return [Fixnum]
163
173
  attr_accessor :usage
@@ -189,17 +199,17 @@ module Google
189
199
  class TeamDriveTheme
190
200
  include Google::Apis::Core::Hashable
191
201
 
192
- # Deprecated - use driveThemes/backgroundImageLink instead.
202
+ # Deprecated: Use `driveThemes/backgroundImageLink` instead.
193
203
  # Corresponds to the JSON property `backgroundImageLink`
194
204
  # @return [String]
195
205
  attr_accessor :background_image_link
196
206
 
197
- # Deprecated - use driveThemes/colorRgb instead.
207
+ # Deprecated: Use `driveThemes/colorRgb` instead.
198
208
  # Corresponds to the JSON property `colorRgb`
199
209
  # @return [String]
200
210
  attr_accessor :color_rgb
201
211
 
202
- # Deprecated - use driveThemes/id instead.
212
+ # Deprecated: Use `driveThemes/id` instead.
203
213
  # Corresponds to the JSON property `id`
204
214
  # @return [String]
205
215
  attr_accessor :id
@@ -217,16 +227,349 @@ module Google
217
227
  end
218
228
  end
219
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
+
313
+ # The `apps` resource provides a list of apps that a user has installed, with
314
+ # information about each app's supported MIME types, file extensions, and other
315
+ # details. Some resource methods (such as `apps.get`) require an `appId`. Use
316
+ # the `apps.list` method to retrieve the ID for an installed application.
317
+ class App
318
+ include Google::Apis::Core::Hashable
319
+
320
+ # Whether the app is authorized to access data on the user's Drive.
321
+ # Corresponds to the JSON property `authorized`
322
+ # @return [Boolean]
323
+ attr_accessor :authorized
324
+ alias_method :authorized?, :authorized
325
+
326
+ # The template URL to create a file with this app in a given folder. The
327
+ # template contains the `folderId` to be replaced by the folder ID house the new
328
+ # file.
329
+ # Corresponds to the JSON property `createInFolderTemplate`
330
+ # @return [String]
331
+ attr_accessor :create_in_folder_template
332
+
333
+ # The URL to create a file with this app.
334
+ # Corresponds to the JSON property `createUrl`
335
+ # @return [String]
336
+ attr_accessor :create_url
337
+
338
+ # Whether the app has Drive-wide scope. An app with Drive-wide scope can access
339
+ # all files in the user's Drive.
340
+ # Corresponds to the JSON property `hasDriveWideScope`
341
+ # @return [Boolean]
342
+ attr_accessor :has_drive_wide_scope
343
+ alias_method :has_drive_wide_scope?, :has_drive_wide_scope
344
+
345
+ # The various icons for the app.
346
+ # Corresponds to the JSON property `icons`
347
+ # @return [Array<Google::Apis::DriveV3::AppIcons>]
348
+ attr_accessor :icons
349
+
350
+ # The ID of the app.
351
+ # Corresponds to the JSON property `id`
352
+ # @return [String]
353
+ attr_accessor :id
354
+
355
+ # Whether the app is installed.
356
+ # Corresponds to the JSON property `installed`
357
+ # @return [Boolean]
358
+ attr_accessor :installed
359
+ alias_method :installed?, :installed
360
+
361
+ # Output only. Identifies what kind of resource this is. Value: the fixed string
362
+ # "drive#app".
363
+ # Corresponds to the JSON property `kind`
364
+ # @return [String]
365
+ attr_accessor :kind
366
+
367
+ # A long description of the app.
368
+ # Corresponds to the JSON property `longDescription`
369
+ # @return [String]
370
+ attr_accessor :long_description
371
+
372
+ # The name of the app.
373
+ # Corresponds to the JSON property `name`
374
+ # @return [String]
375
+ attr_accessor :name
376
+
377
+ # The type of object this app creates such as a Chart. If empty, the app name
378
+ # should be used instead.
379
+ # Corresponds to the JSON property `objectType`
380
+ # @return [String]
381
+ attr_accessor :object_type
382
+
383
+ # The template URL for opening files with this app. The template contains `ids`
384
+ # or `exportIds` to be replaced by the actual file IDs. For more information,
385
+ # see Open Files for the full documentation.
386
+ # Corresponds to the JSON property `openUrlTemplate`
387
+ # @return [String]
388
+ attr_accessor :open_url_template
389
+
390
+ # The list of primary file extensions.
391
+ # Corresponds to the JSON property `primaryFileExtensions`
392
+ # @return [Array<String>]
393
+ attr_accessor :primary_file_extensions
394
+
395
+ # The list of primary MIME types.
396
+ # Corresponds to the JSON property `primaryMimeTypes`
397
+ # @return [Array<String>]
398
+ attr_accessor :primary_mime_types
399
+
400
+ # The ID of the product listing for this app.
401
+ # Corresponds to the JSON property `productId`
402
+ # @return [String]
403
+ attr_accessor :product_id
404
+
405
+ # A link to the product listing for this app.
406
+ # Corresponds to the JSON property `productUrl`
407
+ # @return [String]
408
+ attr_accessor :product_url
409
+
410
+ # The list of secondary file extensions.
411
+ # Corresponds to the JSON property `secondaryFileExtensions`
412
+ # @return [Array<String>]
413
+ attr_accessor :secondary_file_extensions
414
+
415
+ # The list of secondary MIME types.
416
+ # Corresponds to the JSON property `secondaryMimeTypes`
417
+ # @return [Array<String>]
418
+ attr_accessor :secondary_mime_types
419
+
420
+ # A short description of the app.
421
+ # Corresponds to the JSON property `shortDescription`
422
+ # @return [String]
423
+ attr_accessor :short_description
424
+
425
+ # Whether this app supports creating objects.
426
+ # Corresponds to the JSON property `supportsCreate`
427
+ # @return [Boolean]
428
+ attr_accessor :supports_create
429
+ alias_method :supports_create?, :supports_create
430
+
431
+ # Whether this app supports importing from Google Docs.
432
+ # Corresponds to the JSON property `supportsImport`
433
+ # @return [Boolean]
434
+ attr_accessor :supports_import
435
+ alias_method :supports_import?, :supports_import
436
+
437
+ # Whether this app supports opening more than one file.
438
+ # Corresponds to the JSON property `supportsMultiOpen`
439
+ # @return [Boolean]
440
+ attr_accessor :supports_multi_open
441
+ alias_method :supports_multi_open?, :supports_multi_open
442
+
443
+ # Whether this app supports creating files when offline.
444
+ # Corresponds to the JSON property `supportsOfflineCreate`
445
+ # @return [Boolean]
446
+ attr_accessor :supports_offline_create
447
+ alias_method :supports_offline_create?, :supports_offline_create
448
+
449
+ # Whether the app is selected as the default handler for the types it supports.
450
+ # Corresponds to the JSON property `useByDefault`
451
+ # @return [Boolean]
452
+ attr_accessor :use_by_default
453
+ alias_method :use_by_default?, :use_by_default
454
+
455
+ def initialize(**args)
456
+ update!(**args)
457
+ end
458
+
459
+ # Update properties of this object
460
+ def update!(**args)
461
+ @authorized = args[:authorized] if args.key?(:authorized)
462
+ @create_in_folder_template = args[:create_in_folder_template] if args.key?(:create_in_folder_template)
463
+ @create_url = args[:create_url] if args.key?(:create_url)
464
+ @has_drive_wide_scope = args[:has_drive_wide_scope] if args.key?(:has_drive_wide_scope)
465
+ @icons = args[:icons] if args.key?(:icons)
466
+ @id = args[:id] if args.key?(:id)
467
+ @installed = args[:installed] if args.key?(:installed)
468
+ @kind = args[:kind] if args.key?(:kind)
469
+ @long_description = args[:long_description] if args.key?(:long_description)
470
+ @name = args[:name] if args.key?(:name)
471
+ @object_type = args[:object_type] if args.key?(:object_type)
472
+ @open_url_template = args[:open_url_template] if args.key?(:open_url_template)
473
+ @primary_file_extensions = args[:primary_file_extensions] if args.key?(:primary_file_extensions)
474
+ @primary_mime_types = args[:primary_mime_types] if args.key?(:primary_mime_types)
475
+ @product_id = args[:product_id] if args.key?(:product_id)
476
+ @product_url = args[:product_url] if args.key?(:product_url)
477
+ @secondary_file_extensions = args[:secondary_file_extensions] if args.key?(:secondary_file_extensions)
478
+ @secondary_mime_types = args[:secondary_mime_types] if args.key?(:secondary_mime_types)
479
+ @short_description = args[:short_description] if args.key?(:short_description)
480
+ @supports_create = args[:supports_create] if args.key?(:supports_create)
481
+ @supports_import = args[:supports_import] if args.key?(:supports_import)
482
+ @supports_multi_open = args[:supports_multi_open] if args.key?(:supports_multi_open)
483
+ @supports_offline_create = args[:supports_offline_create] if args.key?(:supports_offline_create)
484
+ @use_by_default = args[:use_by_default] if args.key?(:use_by_default)
485
+ end
486
+ end
487
+
488
+ #
489
+ class AppIcons
490
+ include Google::Apis::Core::Hashable
491
+
492
+ # Category of the icon. Allowed values are: * `application` - The icon for the
493
+ # application. * `document` - The icon for a file associated with the app. * `
494
+ # documentShared` - The icon for a shared file associated with the app.
495
+ # Corresponds to the JSON property `category`
496
+ # @return [String]
497
+ attr_accessor :category
498
+
499
+ # URL for the icon.
500
+ # Corresponds to the JSON property `iconUrl`
501
+ # @return [String]
502
+ attr_accessor :icon_url
503
+
504
+ # Size of the icon. Represented as the maximum of the width and height.
505
+ # Corresponds to the JSON property `size`
506
+ # @return [Fixnum]
507
+ attr_accessor :size
508
+
509
+ def initialize(**args)
510
+ update!(**args)
511
+ end
512
+
513
+ # Update properties of this object
514
+ def update!(**args)
515
+ @category = args[:category] if args.key?(:category)
516
+ @icon_url = args[:icon_url] if args.key?(:icon_url)
517
+ @size = args[:size] if args.key?(:size)
518
+ end
519
+ end
520
+
521
+ # A list of third-party applications which the user has installed or given
522
+ # access to Google Drive.
523
+ class AppList
524
+ include Google::Apis::Core::Hashable
525
+
526
+ # The list of app IDs that the user has specified to use by default. The list is
527
+ # in reverse-priority order (lowest to highest).
528
+ # Corresponds to the JSON property `defaultAppIds`
529
+ # @return [Array<String>]
530
+ attr_accessor :default_app_ids
531
+
532
+ # The list of apps.
533
+ # Corresponds to the JSON property `items`
534
+ # @return [Array<Google::Apis::DriveV3::App>]
535
+ attr_accessor :items
536
+
537
+ # Output only. Identifies what kind of resource this is. Value: the fixed string
538
+ # "drive#appList".
539
+ # Corresponds to the JSON property `kind`
540
+ # @return [String]
541
+ attr_accessor :kind
542
+
543
+ # A link back to this list.
544
+ # Corresponds to the JSON property `selfLink`
545
+ # @return [String]
546
+ attr_accessor :self_link
547
+
548
+ def initialize(**args)
549
+ update!(**args)
550
+ end
551
+
552
+ # Update properties of this object
553
+ def update!(**args)
554
+ @default_app_ids = args[:default_app_ids] if args.key?(:default_app_ids)
555
+ @items = args[:items] if args.key?(:items)
556
+ @kind = args[:kind] if args.key?(:kind)
557
+ @self_link = args[:self_link] if args.key?(:self_link)
558
+ end
559
+ end
560
+
220
561
  # A change to a file or shared drive.
221
562
  class Change
222
563
  include Google::Apis::Core::Hashable
223
564
 
224
- # The type of the change. Possible values are file and drive.
565
+ # The type of the change. Possible values are `file` and `drive`.
225
566
  # Corresponds to the JSON property `changeType`
226
567
  # @return [String]
227
568
  attr_accessor :change_type
228
569
 
229
- # Representation of a shared drive.
570
+ # Representation of a shared drive. Some resource methods (such as `drives.
571
+ # update`) require a `driveId`. Use the `drives.list` method to retrieve the ID
572
+ # for a shared drive.
230
573
  # Corresponds to the JSON property `drive`
231
574
  # @return [Google::Apis::DriveV3::Drive]
232
575
  attr_accessor :drive
@@ -236,7 +579,8 @@ module Google
236
579
  # @return [String]
237
580
  attr_accessor :drive_id
238
581
 
239
- # The metadata for a file.
582
+ # The metadata for a file. Some resource methods (such as `files.update`)
583
+ # require a `fileId`. Use the `files.list` method to retrieve the ID for a file.
240
584
  # Corresponds to the JSON property `file`
241
585
  # @return [Google::Apis::DriveV3::File]
242
586
  attr_accessor :file
@@ -246,8 +590,8 @@ module Google
246
590
  # @return [String]
247
591
  attr_accessor :file_id
248
592
 
249
- # Identifies what kind of resource this is. Value: the fixed string "drive#
250
- # change".
593
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
594
+ # change"`.
251
595
  # Corresponds to the JSON property `kind`
252
596
  # @return [String]
253
597
  attr_accessor :kind
@@ -264,7 +608,7 @@ module Google
264
608
  # @return [Google::Apis::DriveV3::TeamDrive]
265
609
  attr_accessor :team_drive
266
610
 
267
- # Deprecated - use driveId instead.
611
+ # Deprecated: Use `driveId` instead.
268
612
  # Corresponds to the JSON property `teamDriveId`
269
613
  # @return [String]
270
614
  attr_accessor :team_drive_id
@@ -274,7 +618,7 @@ module Google
274
618
  # @return [DateTime]
275
619
  attr_accessor :time
276
620
 
277
- # Deprecated - use changeType instead.
621
+ # Deprecated: Use `changeType` instead.
278
622
  # Corresponds to the JSON property `type`
279
623
  # @return [String]
280
624
  attr_accessor :type
@@ -309,22 +653,21 @@ module Google
309
653
  # @return [Array<Google::Apis::DriveV3::Change>]
310
654
  attr_accessor :changes
311
655
 
312
- # Identifies what kind of resource this is. Value: the fixed string "drive#
313
- # changeList".
656
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
657
+ # changeList"`.
314
658
  # Corresponds to the JSON property `kind`
315
659
  # @return [String]
316
660
  attr_accessor :kind
317
661
 
318
662
  # The starting page token for future changes. This will be present only if the
319
- # end of the current changes list has been reached.
663
+ # end of the current changes list has been reached. The page token doesn't
664
+ # expire.
320
665
  # Corresponds to the JSON property `newStartPageToken`
321
666
  # @return [String]
322
667
  attr_accessor :new_start_page_token
323
668
 
324
669
  # The page token for the next page of changes. This will be absent if the end of
325
- # the changes list has been reached. If the token is rejected for any reason, it
326
- # should be discarded, and pagination should be restarted from the first page of
327
- # results.
670
+ # the changes list has been reached. The page token doesn't expire.
328
671
  # Corresponds to the JSON property `nextPageToken`
329
672
  # @return [String]
330
673
  attr_accessor :next_page_token
@@ -342,7 +685,7 @@ module Google
342
685
  end
343
686
  end
344
687
 
345
- # An notification channel used to watch for resource changes.
688
+ # A notification channel used to watch for resource changes.
346
689
  class Channel
347
690
  include Google::Apis::Core::Hashable
348
691
 
@@ -363,7 +706,7 @@ module Google
363
706
  attr_accessor :id
364
707
 
365
708
  # Identifies this as a notification channel used to watch for changes to a
366
- # resource, which is "api#channel".
709
+ # resource, which is `api#channel`.
367
710
  # Corresponds to the JSON property `kind`
368
711
  # @return [String]
369
712
  attr_accessor :kind
@@ -397,8 +740,7 @@ module Google
397
740
  attr_accessor :token
398
741
 
399
742
  # The type of delivery mechanism used for this channel. Valid values are "
400
- # web_hook" (or "webhook"). Both values refer to a channel where Http requests
401
- # are used to deliver messages.
743
+ # web_hook" or "webhook".
402
744
  # Corresponds to the JSON property `type`
403
745
  # @return [String]
404
746
  attr_accessor :type
@@ -422,12 +764,15 @@ module Google
422
764
  end
423
765
  end
424
766
 
425
- # A comment on a file.
767
+ # A comment on a file. Some resource methods (such as `comments.update`) require
768
+ # a `commentId`. Use the `comments.list` method to retrieve the ID for a comment
769
+ # in a file.
426
770
  class Comment
427
771
  include Google::Apis::Core::Hashable
428
772
 
429
773
  # A region of the document represented as a JSON string. For details on defining
430
- # anchor properties, refer to Add comments and replies.
774
+ # anchor properties, refer to [Manage comments and replies](https://developers.
775
+ # google.com/drive/api/v3/manage-comments).
431
776
  # Corresponds to the JSON property `anchor`
432
777
  # @return [String]
433
778
  attr_accessor :anchor
@@ -438,7 +783,7 @@ module Google
438
783
  attr_accessor :author
439
784
 
440
785
  # The plain text content of the comment. This field is used for setting the
441
- # content, while htmlContent should be displayed.
786
+ # content, while `htmlContent` should be displayed.
442
787
  # Corresponds to the JSON property `content`
443
788
  # @return [String]
444
789
  attr_accessor :content
@@ -448,24 +793,25 @@ module Google
448
793
  # @return [DateTime]
449
794
  attr_accessor :created_time
450
795
 
451
- # Whether the comment has been deleted. A deleted comment has no content.
796
+ # Output only. Whether the comment has been deleted. A deleted comment has no
797
+ # content.
452
798
  # Corresponds to the JSON property `deleted`
453
799
  # @return [Boolean]
454
800
  attr_accessor :deleted
455
801
  alias_method :deleted?, :deleted
456
802
 
457
- # The content of the comment with HTML formatting.
803
+ # Output only. The content of the comment with HTML formatting.
458
804
  # Corresponds to the JSON property `htmlContent`
459
805
  # @return [String]
460
806
  attr_accessor :html_content
461
807
 
462
- # The ID of the comment.
808
+ # Output only. The ID of the comment.
463
809
  # Corresponds to the JSON property `id`
464
810
  # @return [String]
465
811
  attr_accessor :id
466
812
 
467
- # Identifies what kind of resource this is. Value: the fixed string "drive#
468
- # comment".
813
+ # Output only. Identifies what kind of resource this is. Value: the fixed string
814
+ # `"drive#comment"`.
469
815
  # Corresponds to the JSON property `kind`
470
816
  # @return [String]
471
817
  attr_accessor :kind
@@ -483,12 +829,12 @@ module Google
483
829
  # @return [Google::Apis::DriveV3::Comment::QuotedFileContent]
484
830
  attr_accessor :quoted_file_content
485
831
 
486
- # The full list of replies to the comment in chronological order.
832
+ # Output only. The full list of replies to the comment in chronological order.
487
833
  # Corresponds to the JSON property `replies`
488
834
  # @return [Array<Google::Apis::DriveV3::Reply>]
489
835
  attr_accessor :replies
490
836
 
491
- # Whether the comment has been resolved by one of its replies.
837
+ # Output only. Whether the comment has been resolved by one of its replies.
492
838
  # Corresponds to the JSON property `resolved`
493
839
  # @return [Boolean]
494
840
  attr_accessor :resolved
@@ -553,8 +899,8 @@ module Google
553
899
  # @return [Array<Google::Apis::DriveV3::Comment>]
554
900
  attr_accessor :comments
555
901
 
556
- # Identifies what kind of resource this is. Value: the fixed string "drive#
557
- # commentList".
902
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
903
+ # commentList"`.
558
904
  # Corresponds to the JSON property `kind`
559
905
  # @return [String]
560
906
  attr_accessor :kind
@@ -562,7 +908,8 @@ module Google
562
908
  # The page token for the next page of comments. This will be absent if the end
563
909
  # of the comments list has been reached. If the token is rejected for any reason,
564
910
  # it should be discarded, and pagination should be restarted from the first
565
- # page of results.
911
+ # page of results. The page token is typically valid for several hours. However,
912
+ # if new items are added or removed, your expected results might differ.
566
913
  # Corresponds to the JSON property `nextPageToken`
567
914
  # @return [String]
568
915
  attr_accessor :next_page_token
@@ -583,6 +930,14 @@ module Google
583
930
  class ContentRestriction
584
931
  include Google::Apis::Core::Hashable
585
932
 
933
+ # Whether the content restriction can only be modified or removed by a user who
934
+ # owns the file. For files in shared drives, any user with `organizer`
935
+ # capabilities can modify or remove this content restriction.
936
+ # Corresponds to the JSON property `ownerRestricted`
937
+ # @return [Boolean]
938
+ attr_accessor :owner_restricted
939
+ alias_method :owner_restricted?, :owner_restricted
940
+
586
941
  # Whether the content of the file is read-only. If a file is read-only, a new
587
942
  # revision of the file may not be added, comments may not be added or modified,
588
943
  # and the title of the file may not be modified.
@@ -592,7 +947,7 @@ module Google
592
947
  alias_method :read_only?, :read_only
593
948
 
594
949
  # Reason for why the content of the file is restricted. This is only mutable on
595
- # requests that also set readOnly=true.
950
+ # requests that also set `readOnly=true`.
596
951
  # Corresponds to the JSON property `reason`
597
952
  # @return [String]
598
953
  attr_accessor :reason
@@ -608,8 +963,16 @@ module Google
608
963
  # @return [DateTime]
609
964
  attr_accessor :restriction_time
610
965
 
611
- # The type of the content restriction. Currently the only possible value is
612
- # globalContentRestriction.
966
+ # Output only. Whether the content restriction was applied by the system, for
967
+ # example due to an esignature. Users cannot modify or remove system restricted
968
+ # content restrictions.
969
+ # Corresponds to the JSON property `systemRestricted`
970
+ # @return [Boolean]
971
+ attr_accessor :system_restricted
972
+ alias_method :system_restricted?, :system_restricted
973
+
974
+ # Output only. The type of the content restriction. Currently the only possible
975
+ # value is `globalContentRestriction`.
613
976
  # Corresponds to the JSON property `type`
614
977
  # @return [String]
615
978
  attr_accessor :type
@@ -620,38 +983,42 @@ module Google
620
983
 
621
984
  # Update properties of this object
622
985
  def update!(**args)
986
+ @owner_restricted = args[:owner_restricted] if args.key?(:owner_restricted)
623
987
  @read_only = args[:read_only] if args.key?(:read_only)
624
988
  @reason = args[:reason] if args.key?(:reason)
625
989
  @restricting_user = args[:restricting_user] if args.key?(:restricting_user)
626
990
  @restriction_time = args[:restriction_time] if args.key?(:restriction_time)
991
+ @system_restricted = args[:system_restricted] if args.key?(:system_restricted)
627
992
  @type = args[:type] if args.key?(:type)
628
993
  end
629
994
  end
630
995
 
631
- # Representation of a shared drive.
996
+ # Representation of a shared drive. Some resource methods (such as `drives.
997
+ # update`) require a `driveId`. Use the `drives.list` method to retrieve the ID
998
+ # for a shared drive.
632
999
  class Drive
633
1000
  include Google::Apis::Core::Hashable
634
1001
 
635
1002
  # An image file and cropping parameters from which a background image for this
636
- # shared drive is set. This is a write only field; it can only be set on drive.
637
- # drives.update requests that don't set themeId. When specified, all fields of
638
- # the backgroundImageFile must be set.
1003
+ # shared drive is set. This is a write only field; it can only be set on `drive.
1004
+ # drives.update` requests that don't set `themeId`. When specified, all fields
1005
+ # of the `backgroundImageFile` must be set.
639
1006
  # Corresponds to the JSON property `backgroundImageFile`
640
1007
  # @return [Google::Apis::DriveV3::Drive::BackgroundImageFile]
641
1008
  attr_accessor :background_image_file
642
1009
 
643
- # A short-lived link to this shared drive's background image.
1010
+ # Output only. A short-lived link to this shared drive's background image.
644
1011
  # Corresponds to the JSON property `backgroundImageLink`
645
1012
  # @return [String]
646
1013
  attr_accessor :background_image_link
647
1014
 
648
- # Capabilities the current user has on this shared drive.
1015
+ # Output only. Capabilities the current user has on this shared drive.
649
1016
  # Corresponds to the JSON property `capabilities`
650
1017
  # @return [Google::Apis::DriveV3::Drive::Capabilities]
651
1018
  attr_accessor :capabilities
652
1019
 
653
- # The color of this shared drive as an RGB hex string. It can only be set on a
654
- # drive.drives.update request that does not set themeId.
1020
+ # The color of this shared drive as an RGB hex string. It can only be set on a `
1021
+ # drive.drives.update` request that does not set `themeId`.
655
1022
  # Corresponds to the JSON property `colorRgb`
656
1023
  # @return [String]
657
1024
  attr_accessor :color_rgb
@@ -667,14 +1034,14 @@ module Google
667
1034
  attr_accessor :hidden
668
1035
  alias_method :hidden?, :hidden
669
1036
 
670
- # The ID of this shared drive which is also the ID of the top level folder of
671
- # this shared drive.
1037
+ # Output only. The ID of this shared drive which is also the ID of the top level
1038
+ # folder of this shared drive.
672
1039
  # Corresponds to the JSON property `id`
673
1040
  # @return [String]
674
1041
  attr_accessor :id
675
1042
 
676
- # Identifies what kind of resource this is. Value: the fixed string "drive#drive"
677
- # .
1043
+ # Output only. Identifies what kind of resource this is. Value: the fixed string
1044
+ # `"drive#drive"`.
678
1045
  # Corresponds to the JSON property `kind`
679
1046
  # @return [String]
680
1047
  attr_accessor :kind
@@ -684,23 +1051,27 @@ module Google
684
1051
  # @return [String]
685
1052
  attr_accessor :name
686
1053
 
687
- # The organizational unit of this shared drive. This field is only populated on
688
- # drives.list responses when the useDomainAdminAccess parameter is set to true.
1054
+ # Output only. The organizational unit of this shared drive. This field is only
1055
+ # populated on `drives.list` responses when the `useDomainAdminAccess` parameter
1056
+ # is set to `true`.
689
1057
  # Corresponds to the JSON property `orgUnitId`
690
1058
  # @return [String]
691
1059
  attr_accessor :org_unit_id
692
1060
 
693
1061
  # A set of restrictions that apply to this shared drive or items inside this
694
- # shared drive.
1062
+ # shared drive. Note that restrictions can't be set when creating a shared drive.
1063
+ # To add a restriction, first create a shared drive and then use `drives.update`
1064
+ # to add restrictions.
695
1065
  # Corresponds to the JSON property `restrictions`
696
1066
  # @return [Google::Apis::DriveV3::Drive::Restrictions]
697
1067
  attr_accessor :restrictions
698
1068
 
699
1069
  # The ID of the theme from which the background image and color will be set. The
700
- # set of possible driveThemes can be retrieved from a drive.about.get response.
701
- # When not specified on a drive.drives.create request, a random theme is chosen
702
- # from which the background image and color are set. This is a write-only field;
703
- # it can only be set on requests that don't set colorRgb or backgroundImageFile.
1070
+ # set of possible `driveThemes` can be retrieved from a `drive.about.get`
1071
+ # response. When not specified on a `drive.drives.create` request, a random
1072
+ # theme is chosen from which the background image and color are set. This is a
1073
+ # write-only field; it can only be set on requests that don't set `colorRgb` or `
1074
+ # backgroundImageFile`.
704
1075
  # Corresponds to the JSON property `themeId`
705
1076
  # @return [String]
706
1077
  attr_accessor :theme_id
@@ -726,9 +1097,9 @@ module Google
726
1097
  end
727
1098
 
728
1099
  # An image file and cropping parameters from which a background image for this
729
- # shared drive is set. This is a write only field; it can only be set on drive.
730
- # drives.update requests that don't set themeId. When specified, all fields of
731
- # the backgroundImageFile must be set.
1100
+ # shared drive is set. This is a write only field; it can only be set on `drive.
1101
+ # drives.update` requests that don't set `themeId`. When specified, all fields
1102
+ # of the `backgroundImageFile` must be set.
732
1103
  class BackgroundImageFile
733
1104
  include Google::Apis::Core::Hashable
734
1105
 
@@ -775,126 +1146,142 @@ module Google
775
1146
  end
776
1147
  end
777
1148
 
778
- # Capabilities the current user has on this shared drive.
1149
+ # Output only. Capabilities the current user has on this shared drive.
779
1150
  class Capabilities
780
1151
  include Google::Apis::Core::Hashable
781
1152
 
782
- # Whether the current user can add children to folders in this shared drive.
1153
+ # Output only. Whether the current user can add children to folders in this
1154
+ # shared drive.
783
1155
  # Corresponds to the JSON property `canAddChildren`
784
1156
  # @return [Boolean]
785
1157
  attr_accessor :can_add_children
786
1158
  alias_method :can_add_children?, :can_add_children
787
1159
 
788
- # Whether the current user can change the copyRequiresWriterPermission
789
- # restriction of this shared drive.
1160
+ # Output only. Whether the current user can change the `
1161
+ # copyRequiresWriterPermission` restriction of this shared drive.
790
1162
  # Corresponds to the JSON property `canChangeCopyRequiresWriterPermissionRestriction`
791
1163
  # @return [Boolean]
792
1164
  attr_accessor :can_change_copy_requires_writer_permission_restriction
793
1165
  alias_method :can_change_copy_requires_writer_permission_restriction?, :can_change_copy_requires_writer_permission_restriction
794
1166
 
795
- # Whether the current user can change the domainUsersOnly restriction of this
796
- # shared drive.
1167
+ # Output only. Whether the current user can change the `domainUsersOnly`
1168
+ # restriction of this shared drive.
797
1169
  # Corresponds to the JSON property `canChangeDomainUsersOnlyRestriction`
798
1170
  # @return [Boolean]
799
1171
  attr_accessor :can_change_domain_users_only_restriction
800
1172
  alias_method :can_change_domain_users_only_restriction?, :can_change_domain_users_only_restriction
801
1173
 
802
- # Whether the current user can change the background of this shared drive.
1174
+ # Output only. Whether the current user can change the background of this shared
1175
+ # drive.
803
1176
  # Corresponds to the JSON property `canChangeDriveBackground`
804
1177
  # @return [Boolean]
805
1178
  attr_accessor :can_change_drive_background
806
1179
  alias_method :can_change_drive_background?, :can_change_drive_background
807
1180
 
808
- # Whether the current user can change the driveMembersOnly restriction of this
809
- # shared drive.
1181
+ # Output only. Whether the current user can change the `driveMembersOnly`
1182
+ # restriction of this shared drive.
810
1183
  # Corresponds to the JSON property `canChangeDriveMembersOnlyRestriction`
811
1184
  # @return [Boolean]
812
1185
  attr_accessor :can_change_drive_members_only_restriction
813
1186
  alias_method :can_change_drive_members_only_restriction?, :can_change_drive_members_only_restriction
814
1187
 
815
- # Whether the current user can comment on files in this shared drive.
1188
+ # Output only. Whether the current user can change the `
1189
+ # sharingFoldersRequiresOrganizerPermission` restriction of this shared drive.
1190
+ # Corresponds to the JSON property `canChangeSharingFoldersRequiresOrganizerPermissionRestriction`
1191
+ # @return [Boolean]
1192
+ attr_accessor :can_change_sharing_folders_requires_organizer_permission_restriction
1193
+ alias_method :can_change_sharing_folders_requires_organizer_permission_restriction?, :can_change_sharing_folders_requires_organizer_permission_restriction
1194
+
1195
+ # Output only. Whether the current user can comment on files in this shared
1196
+ # drive.
816
1197
  # Corresponds to the JSON property `canComment`
817
1198
  # @return [Boolean]
818
1199
  attr_accessor :can_comment
819
1200
  alias_method :can_comment?, :can_comment
820
1201
 
821
- # Whether the current user can copy files in this shared drive.
1202
+ # Output only. Whether the current user can copy files in this shared drive.
822
1203
  # Corresponds to the JSON property `canCopy`
823
1204
  # @return [Boolean]
824
1205
  attr_accessor :can_copy
825
1206
  alias_method :can_copy?, :can_copy
826
1207
 
827
- # Whether the current user can delete children from folders in this shared drive.
1208
+ # Output only. Whether the current user can delete children from folders in this
1209
+ # shared drive.
828
1210
  # Corresponds to the JSON property `canDeleteChildren`
829
1211
  # @return [Boolean]
830
1212
  attr_accessor :can_delete_children
831
1213
  alias_method :can_delete_children?, :can_delete_children
832
1214
 
833
- # Whether the current user can delete this shared drive. Attempting to delete
834
- # the shared drive may still fail if there are untrashed items inside the shared
835
- # drive.
1215
+ # Output only. Whether the current user can delete this shared drive. Attempting
1216
+ # to delete the shared drive may still fail if there are untrashed items inside
1217
+ # the shared drive.
836
1218
  # Corresponds to the JSON property `canDeleteDrive`
837
1219
  # @return [Boolean]
838
1220
  attr_accessor :can_delete_drive
839
1221
  alias_method :can_delete_drive?, :can_delete_drive
840
1222
 
841
- # Whether the current user can download files in this shared drive.
1223
+ # Output only. Whether the current user can download files in this shared drive.
842
1224
  # Corresponds to the JSON property `canDownload`
843
1225
  # @return [Boolean]
844
1226
  attr_accessor :can_download
845
1227
  alias_method :can_download?, :can_download
846
1228
 
847
- # Whether the current user can edit files in this shared drive
1229
+ # Output only. Whether the current user can edit files in this shared drive
848
1230
  # Corresponds to the JSON property `canEdit`
849
1231
  # @return [Boolean]
850
1232
  attr_accessor :can_edit
851
1233
  alias_method :can_edit?, :can_edit
852
1234
 
853
- # Whether the current user can list the children of folders in this shared drive.
1235
+ # Output only. Whether the current user can list the children of folders in this
1236
+ # shared drive.
854
1237
  # Corresponds to the JSON property `canListChildren`
855
1238
  # @return [Boolean]
856
1239
  attr_accessor :can_list_children
857
1240
  alias_method :can_list_children?, :can_list_children
858
1241
 
859
- # Whether the current user can add members to this shared drive or remove them
860
- # or change their role.
1242
+ # Output only. Whether the current user can add members to this shared drive or
1243
+ # remove them or change their role.
861
1244
  # Corresponds to the JSON property `canManageMembers`
862
1245
  # @return [Boolean]
863
1246
  attr_accessor :can_manage_members
864
1247
  alias_method :can_manage_members?, :can_manage_members
865
1248
 
866
- # Whether the current user can read the revisions resource of files in this
867
- # shared drive.
1249
+ # Output only. Whether the current user can read the revisions resource of files
1250
+ # in this shared drive.
868
1251
  # Corresponds to the JSON property `canReadRevisions`
869
1252
  # @return [Boolean]
870
1253
  attr_accessor :can_read_revisions
871
1254
  alias_method :can_read_revisions?, :can_read_revisions
872
1255
 
873
- # Whether the current user can rename files or folders in this shared drive.
1256
+ # Output only. Whether the current user can rename files or folders in this
1257
+ # shared drive.
874
1258
  # Corresponds to the JSON property `canRename`
875
1259
  # @return [Boolean]
876
1260
  attr_accessor :can_rename
877
1261
  alias_method :can_rename?, :can_rename
878
1262
 
879
- # Whether the current user can rename this shared drive.
1263
+ # Output only. Whether the current user can rename this shared drive.
880
1264
  # Corresponds to the JSON property `canRenameDrive`
881
1265
  # @return [Boolean]
882
1266
  attr_accessor :can_rename_drive
883
1267
  alias_method :can_rename_drive?, :can_rename_drive
884
1268
 
885
- # Whether the current user can reset the shared drive restrictions to defaults.
1269
+ # Output only. Whether the current user can reset the shared drive restrictions
1270
+ # to defaults.
886
1271
  # Corresponds to the JSON property `canResetDriveRestrictions`
887
1272
  # @return [Boolean]
888
1273
  attr_accessor :can_reset_drive_restrictions
889
1274
  alias_method :can_reset_drive_restrictions?, :can_reset_drive_restrictions
890
1275
 
891
- # Whether the current user can share files or folders in this shared drive.
1276
+ # Output only. Whether the current user can share files or folders in this
1277
+ # shared drive.
892
1278
  # Corresponds to the JSON property `canShare`
893
1279
  # @return [Boolean]
894
1280
  attr_accessor :can_share
895
1281
  alias_method :can_share?, :can_share
896
1282
 
897
- # Whether the current user can trash children from folders in this shared drive.
1283
+ # Output only. Whether the current user can trash children from folders in this
1284
+ # shared drive.
898
1285
  # Corresponds to the JSON property `canTrashChildren`
899
1286
  # @return [Boolean]
900
1287
  attr_accessor :can_trash_children
@@ -911,6 +1298,7 @@ module Google
911
1298
  @can_change_domain_users_only_restriction = args[:can_change_domain_users_only_restriction] if args.key?(:can_change_domain_users_only_restriction)
912
1299
  @can_change_drive_background = args[:can_change_drive_background] if args.key?(:can_change_drive_background)
913
1300
  @can_change_drive_members_only_restriction = args[:can_change_drive_members_only_restriction] if args.key?(:can_change_drive_members_only_restriction)
1301
+ @can_change_sharing_folders_requires_organizer_permission_restriction = args[:can_change_sharing_folders_requires_organizer_permission_restriction] if args.key?(:can_change_sharing_folders_requires_organizer_permission_restriction)
914
1302
  @can_comment = args[:can_comment] if args.key?(:can_comment)
915
1303
  @can_copy = args[:can_copy] if args.key?(:can_copy)
916
1304
  @can_delete_children = args[:can_delete_children] if args.key?(:can_delete_children)
@@ -929,7 +1317,9 @@ module Google
929
1317
  end
930
1318
 
931
1319
  # A set of restrictions that apply to this shared drive or items inside this
932
- # shared drive.
1320
+ # shared drive. Note that restrictions can't be set when creating a shared drive.
1321
+ # To add a restriction, first create a shared drive and then use `drives.update`
1322
+ # to add restrictions.
933
1323
  class Restrictions
934
1324
  include Google::Apis::Core::Hashable
935
1325
 
@@ -942,7 +1332,7 @@ module Google
942
1332
 
943
1333
  # Whether the options to copy, print, or download files inside this shared drive,
944
1334
  # should be disabled for readers and commenters. When this restriction is set
945
- # to true, it will override the similarly named field to true for any file
1335
+ # to `true`, it will override the similarly named field to `true` for any file
946
1336
  # inside this shared drive.
947
1337
  # Corresponds to the JSON property `copyRequiresWriterPermission`
948
1338
  # @return [Boolean]
@@ -964,6 +1354,13 @@ module Google
964
1354
  attr_accessor :drive_members_only
965
1355
  alias_method :drive_members_only?, :drive_members_only
966
1356
 
1357
+ # If true, only users with the organizer role can share folders. If false, users
1358
+ # with either the organizer role or the file organizer role can share folders.
1359
+ # Corresponds to the JSON property `sharingFoldersRequiresOrganizerPermission`
1360
+ # @return [Boolean]
1361
+ attr_accessor :sharing_folders_requires_organizer_permission
1362
+ alias_method :sharing_folders_requires_organizer_permission?, :sharing_folders_requires_organizer_permission
1363
+
967
1364
  def initialize(**args)
968
1365
  update!(**args)
969
1366
  end
@@ -974,6 +1371,7 @@ module Google
974
1371
  @copy_requires_writer_permission = args[:copy_requires_writer_permission] if args.key?(:copy_requires_writer_permission)
975
1372
  @domain_users_only = args[:domain_users_only] if args.key?(:domain_users_only)
976
1373
  @drive_members_only = args[:drive_members_only] if args.key?(:drive_members_only)
1374
+ @sharing_folders_requires_organizer_permission = args[:sharing_folders_requires_organizer_permission] if args.key?(:sharing_folders_requires_organizer_permission)
977
1375
  end
978
1376
  end
979
1377
  end
@@ -988,8 +1386,8 @@ module Google
988
1386
  # @return [Array<Google::Apis::DriveV3::Drive>]
989
1387
  attr_accessor :drives
990
1388
 
991
- # Identifies what kind of resource this is. Value: the fixed string "drive#
992
- # driveList".
1389
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
1390
+ # driveList"`.
993
1391
  # Corresponds to the JSON property `kind`
994
1392
  # @return [String]
995
1393
  attr_accessor :kind
@@ -997,7 +1395,8 @@ module Google
997
1395
  # The page token for the next page of shared drives. This will be absent if the
998
1396
  # end of the list has been reached. If the token is rejected for any reason, it
999
1397
  # should be discarded, and pagination should be restarted from the first page of
1000
- # results.
1398
+ # results. The page token is typically valid for several hours. However, if new
1399
+ # items are added or removed, your expected results might differ.
1001
1400
  # Corresponds to the JSON property `nextPageToken`
1002
1401
  # @return [String]
1003
1402
  attr_accessor :next_page_token
@@ -1014,7 +1413,8 @@ module Google
1014
1413
  end
1015
1414
  end
1016
1415
 
1017
- # The metadata for a file.
1416
+ # The metadata for a file. Some resource methods (such as `files.update`)
1417
+ # require a `fileId`. Use the `files.list` method to retrieve the ID for a file.
1018
1418
  class File
1019
1419
  include Google::Apis::Core::Hashable
1020
1420
 
@@ -1028,8 +1428,8 @@ module Google
1028
1428
  # @return [Hash<String,String>]
1029
1429
  attr_accessor :app_properties
1030
1430
 
1031
- # Capabilities the current user has on this file. Each capability corresponds to
1032
- # a fine-grained action that a user may take.
1431
+ # Output only. Capabilities the current user has on this file. Each capability
1432
+ # corresponds to a fine-grained action that a user may take.
1033
1433
  # Corresponds to the JSON property `capabilities`
1034
1434
  # @return [Google::Apis::DriveV3::File::Capabilities]
1035
1435
  attr_accessor :capabilities
@@ -1063,70 +1463,69 @@ module Google
1063
1463
  # @return [String]
1064
1464
  attr_accessor :description
1065
1465
 
1066
- # ID of the shared drive the file resides in. Only populated for items in shared
1067
- # drives.
1466
+ # Output only. ID of the shared drive the file resides in. Only populated for
1467
+ # items in shared drives.
1068
1468
  # Corresponds to the JSON property `driveId`
1069
1469
  # @return [String]
1070
1470
  attr_accessor :drive_id
1071
1471
 
1072
- # Whether the file has been explicitly trashed, as opposed to recursively
1073
- # trashed from a parent folder.
1472
+ # Output only. Whether the file has been explicitly trashed, as opposed to
1473
+ # recursively trashed from a parent folder.
1074
1474
  # Corresponds to the JSON property `explicitlyTrashed`
1075
1475
  # @return [Boolean]
1076
1476
  attr_accessor :explicitly_trashed
1077
1477
  alias_method :explicitly_trashed?, :explicitly_trashed
1078
1478
 
1079
- # Links for exporting Docs Editors files to specific formats.
1479
+ # Output only. Links for exporting Docs Editors files to specific formats.
1080
1480
  # Corresponds to the JSON property `exportLinks`
1081
1481
  # @return [Hash<String,String>]
1082
1482
  attr_accessor :export_links
1083
1483
 
1084
- # The final component of fullFileExtension. This is only available for files
1085
- # with binary content in Google Drive.
1484
+ # Output only. The final component of `fullFileExtension`. This is only
1485
+ # available for files with binary content in Google Drive.
1086
1486
  # Corresponds to the JSON property `fileExtension`
1087
1487
  # @return [String]
1088
1488
  attr_accessor :file_extension
1089
1489
 
1090
- # The color for a folder or shortcut to a folder as an RGB hex string. The
1091
- # supported colors are published in the folderColorPalette field of the About
1092
- # resource.
1093
- # If an unsupported color is specified, the closest color in the palette will be
1094
- # used instead.
1490
+ # The color for a folder or a shortcut to a folder as an RGB hex string. The
1491
+ # supported colors are published in the `folderColorPalette` field of the About
1492
+ # resource. If an unsupported color is specified, the closest color in the
1493
+ # palette is used instead.
1095
1494
  # Corresponds to the JSON property `folderColorRgb`
1096
1495
  # @return [String]
1097
1496
  attr_accessor :folder_color_rgb
1098
1497
 
1099
- # The full file extension extracted from the name field. May contain multiple
1100
- # concatenated extensions, such as "tar.gz". This is only available for files
1101
- # with binary content in Google Drive.
1102
- # This is automatically updated when the name field changes, however it is not
1103
- # cleared if the new name does not contain a valid extension.
1498
+ # Output only. The full file extension extracted from the `name` field. May
1499
+ # contain multiple concatenated extensions, such as "tar.gz". This is only
1500
+ # available for files with binary content in Google Drive. This is automatically
1501
+ # updated when the `name` field changes, however it is not cleared if the new
1502
+ # name does not contain a valid extension.
1104
1503
  # Corresponds to the JSON property `fullFileExtension`
1105
1504
  # @return [String]
1106
1505
  attr_accessor :full_file_extension
1107
1506
 
1108
- # Whether there are permissions directly on this file. This field is only
1109
- # populated for items in shared drives.
1507
+ # Output only. Whether there are permissions directly on this file. This field
1508
+ # is only populated for items in shared drives.
1110
1509
  # Corresponds to the JSON property `hasAugmentedPermissions`
1111
1510
  # @return [Boolean]
1112
1511
  attr_accessor :has_augmented_permissions
1113
1512
  alias_method :has_augmented_permissions?, :has_augmented_permissions
1114
1513
 
1115
- # Whether this file has a thumbnail. This does not indicate whether the
1116
- # requesting app has access to the thumbnail. To check access, look for the
1514
+ # Output only. Whether this file has a thumbnail. This does not indicate whether
1515
+ # the requesting app has access to the thumbnail. To check access, look for the
1117
1516
  # presence of the thumbnailLink field.
1118
1517
  # Corresponds to the JSON property `hasThumbnail`
1119
1518
  # @return [Boolean]
1120
1519
  attr_accessor :has_thumbnail
1121
1520
  alias_method :has_thumbnail?, :has_thumbnail
1122
1521
 
1123
- # The ID of the file's head revision. This is currently only available for files
1124
- # with binary content in Google Drive.
1522
+ # Output only. The ID of the file's head revision. This is currently only
1523
+ # available for files with binary content in Google Drive.
1125
1524
  # Corresponds to the JSON property `headRevisionId`
1126
1525
  # @return [String]
1127
1526
  attr_accessor :head_revision_id
1128
1527
 
1129
- # A static, unauthenticated link to the file's icon.
1528
+ # Output only. A static, unauthenticated link to the file's icon.
1130
1529
  # Corresponds to the JSON property `iconLink`
1131
1530
  # @return [String]
1132
1531
  attr_accessor :icon_link
@@ -1136,23 +1535,24 @@ module Google
1136
1535
  # @return [String]
1137
1536
  attr_accessor :id
1138
1537
 
1139
- # Additional metadata about image media, if available.
1538
+ # Output only. Additional metadata about image media, if available.
1140
1539
  # Corresponds to the JSON property `imageMediaMetadata`
1141
1540
  # @return [Google::Apis::DriveV3::File::ImageMediaMetadata]
1142
1541
  attr_accessor :image_media_metadata
1143
1542
 
1144
- # Whether the file was created or opened by the requesting app.
1543
+ # Output only. Whether the file was created or opened by the requesting app.
1145
1544
  # Corresponds to the JSON property `isAppAuthorized`
1146
1545
  # @return [Boolean]
1147
1546
  attr_accessor :is_app_authorized
1148
1547
  alias_method :is_app_authorized?, :is_app_authorized
1149
1548
 
1150
- # Identifies what kind of resource this is. Value: the fixed string "drive#file".
1549
+ # Output only. Identifies what kind of resource this is. Value: the fixed string
1550
+ # `"drive#file"`.
1151
1551
  # Corresponds to the JSON property `kind`
1152
1552
  # @return [String]
1153
1553
  attr_accessor :kind
1154
1554
 
1155
- # An overview of the labels on the file.
1555
+ # Output only. An overview of the labels on the file.
1156
1556
  # Corresponds to the JSON property `labelInfo`
1157
1557
  # @return [Google::Apis::DriveV3::File::LabelInfo]
1158
1558
  attr_accessor :label_info
@@ -1168,24 +1568,22 @@ module Google
1168
1568
  # @return [Google::Apis::DriveV3::File::LinkShareMetadata]
1169
1569
  attr_accessor :link_share_metadata
1170
1570
 
1171
- # The MD5 checksum for the content of the file. This is only applicable to files
1172
- # with binary content in Google Drive.
1571
+ # Output only. The MD5 checksum for the content of the file. This is only
1572
+ # applicable to files with binary content in Google Drive.
1173
1573
  # Corresponds to the JSON property `md5Checksum`
1174
1574
  # @return [String]
1175
1575
  attr_accessor :md5_checksum
1176
1576
 
1177
- # The MIME type of the file.
1178
- # Google Drive will attempt to automatically detect an appropriate value from
1179
- # uploaded content if no value is provided. The value cannot be changed unless a
1180
- # new revision is uploaded.
1181
- # If a file is created with a Google Doc MIME type, the uploaded content will be
1182
- # imported if possible. The supported import formats are published in the About
1183
- # resource.
1577
+ # The MIME type of the file. Google Drive attempts to automatically detect an
1578
+ # appropriate value from uploaded content, if no value is provided. The value
1579
+ # cannot be changed unless a new revision is uploaded. If a file is created with
1580
+ # a Google Doc MIME type, the uploaded content is imported, if possible. The
1581
+ # supported import formats are published in the About resource.
1184
1582
  # Corresponds to the JSON property `mimeType`
1185
1583
  # @return [String]
1186
1584
  attr_accessor :mime_type
1187
1585
 
1188
- # Whether the file has been modified by this user.
1586
+ # Output only. Whether the file has been modified by this user.
1189
1587
  # Corresponds to the JSON property `modifiedByMe`
1190
1588
  # @return [Boolean]
1191
1589
  attr_accessor :modified_by_me
@@ -1196,8 +1594,8 @@ module Google
1196
1594
  # @return [DateTime]
1197
1595
  attr_accessor :modified_by_me_time
1198
1596
 
1199
- # The last time the file was modified by anyone (RFC 3339 date-time).
1200
- # Note that setting modifiedTime will also update modifiedByMeTime for the user.
1597
+ # he last time the file was modified by anyone (RFC 3339 date-time). Note that
1598
+ # setting modifiedTime will also update modifiedByMeTime for the user.
1201
1599
  # Corresponds to the JSON property `modifiedTime`
1202
1600
  # @return [DateTime]
1203
1601
  attr_accessor :modified_time
@@ -1210,41 +1608,43 @@ module Google
1210
1608
  attr_accessor :name
1211
1609
 
1212
1610
  # The original filename of the uploaded content if available, or else the
1213
- # original value of the name field. This is only available for files with binary
1214
- # content in Google Drive.
1611
+ # original value of the `name` field. This is only available for files with
1612
+ # binary content in Google Drive.
1215
1613
  # Corresponds to the JSON property `originalFilename`
1216
1614
  # @return [String]
1217
1615
  attr_accessor :original_filename
1218
1616
 
1219
- # Whether the user owns the file. Not populated for items in shared drives.
1617
+ # Output only. Whether the user owns the file. Not populated for items in shared
1618
+ # drives.
1220
1619
  # Corresponds to the JSON property `ownedByMe`
1221
1620
  # @return [Boolean]
1222
1621
  attr_accessor :owned_by_me
1223
1622
  alias_method :owned_by_me?, :owned_by_me
1224
1623
 
1225
- # The owner of this file. Only certain legacy files may have more than one owner.
1226
- # This field isn't populated for items in shared drives.
1624
+ # Output only. The owner of this file. Only certain legacy files may have more
1625
+ # than one owner. This field isn't populated for items in shared drives.
1227
1626
  # Corresponds to the JSON property `owners`
1228
1627
  # @return [Array<Google::Apis::DriveV3::User>]
1229
1628
  attr_accessor :owners
1230
1629
 
1231
- # The IDs of the parent folders which contain the file.
1232
- # If not specified as part of a create request, the file will be placed directly
1233
- # in the user's My Drive folder. If not specified as part of a copy request, the
1234
- # file will inherit any discoverable parents of the source file. Update requests
1235
- # must use the addParents and removeParents parameters to modify the parents
1236
- # list.
1630
+ # The ID of the parent folder containing the file. A file can only have one
1631
+ # parent folder; specifying multiple parents isn't supported. If not specified
1632
+ # as part of a create request, the file is placed directly in the user's My
1633
+ # Drive folder. If not specified as part of a copy request, the file inherits
1634
+ # any discoverable parent of the source file. Update requests must use the `
1635
+ # addParents` and `removeParents` parameters to modify the parents list.
1237
1636
  # Corresponds to the JSON property `parents`
1238
1637
  # @return [Array<String>]
1239
1638
  attr_accessor :parents
1240
1639
 
1241
- # List of permission IDs for users with access to this file.
1640
+ # Output only. List of permission IDs for users with access to this file.
1242
1641
  # Corresponds to the JSON property `permissionIds`
1243
1642
  # @return [Array<String>]
1244
1643
  attr_accessor :permission_ids
1245
1644
 
1246
- # The full list of permissions for the file. This is only available if the
1247
- # requesting user can share the file. Not populated for items in shared drives.
1645
+ # Output only. The full list of permissions for the file. This is only available
1646
+ # if the requesting user can share the file. Not populated for items in shared
1647
+ # drives.
1248
1648
  # Corresponds to the JSON property `permissions`
1249
1649
  # @return [Array<Google::Apis::DriveV3::Permission>]
1250
1650
  attr_accessor :permissions
@@ -1255,32 +1655,33 @@ module Google
1255
1655
  # @return [Hash<String,String>]
1256
1656
  attr_accessor :properties
1257
1657
 
1258
- # The number of storage quota bytes used by the file. This includes the head
1259
- # revision as well as previous revisions with keepForever enabled.
1658
+ # Output only. The number of storage quota bytes used by the file. This includes
1659
+ # the head revision as well as previous revisions with `keepForever` enabled.
1260
1660
  # Corresponds to the JSON property `quotaBytesUsed`
1261
1661
  # @return [Fixnum]
1262
1662
  attr_accessor :quota_bytes_used
1263
1663
 
1264
- # A key needed to access the item via a shared link.
1664
+ # Output only. A key needed to access the item via a shared link.
1265
1665
  # Corresponds to the JSON property `resourceKey`
1266
1666
  # @return [String]
1267
1667
  attr_accessor :resource_key
1268
1668
 
1269
- # The SHA1 checksum associated with this file, if available. This field is only
1270
- # populated for files with content stored in Google Drive; it is not populated
1271
- # for Docs Editors or shortcut files.
1669
+ # Output only. The SHA1 checksum associated with this file, if available. This
1670
+ # field is only populated for files with content stored in Google Drive; it is
1671
+ # not populated for Docs Editors or shortcut files.
1272
1672
  # Corresponds to the JSON property `sha1Checksum`
1273
1673
  # @return [String]
1274
1674
  attr_accessor :sha1_checksum
1275
1675
 
1276
- # The SHA256 checksum associated with this file, if available. This field is
1277
- # only populated for files with content stored in Google Drive; it is not
1278
- # populated for Docs Editors or shortcut files.
1676
+ # Output only. The SHA256 checksum associated with this file, if available. This
1677
+ # field is only populated for files with content stored in Google Drive; it is
1678
+ # not populated for Docs Editors or shortcut files.
1279
1679
  # Corresponds to the JSON property `sha256Checksum`
1280
1680
  # @return [String]
1281
1681
  attr_accessor :sha256_checksum
1282
1682
 
1283
- # Whether the file has been shared. Not populated for items in shared drives.
1683
+ # Output only. Whether the file has been shared. Not populated for items in
1684
+ # shared drives.
1284
1685
  # Corresponds to the JSON property `shared`
1285
1686
  # @return [Boolean]
1286
1687
  attr_accessor :shared
@@ -1298,19 +1699,20 @@ module Google
1298
1699
  attr_accessor :sharing_user
1299
1700
 
1300
1701
  # Shortcut file details. Only populated for shortcut files, which have the
1301
- # mimeType field set to application/vnd.google-apps.shortcut.
1702
+ # mimeType field set to `application/vnd.google-apps.shortcut`. Can only be set
1703
+ # on `files.create` requests.
1302
1704
  # Corresponds to the JSON property `shortcutDetails`
1303
1705
  # @return [Google::Apis::DriveV3::File::ShortcutDetails]
1304
1706
  attr_accessor :shortcut_details
1305
1707
 
1306
- # The size of the file's content in bytes. This is applicable to binary files in
1307
- # Google Drive and Google Docs files.
1708
+ # Output only. Size in bytes of blobs and first party editor files. Won't be
1709
+ # populated for files that have no size, like shortcuts and folders.
1308
1710
  # Corresponds to the JSON property `size`
1309
1711
  # @return [Fixnum]
1310
1712
  attr_accessor :size
1311
1713
 
1312
- # The list of spaces which contain the file. The currently supported values are '
1313
- # drive', 'appDataFolder' and 'photos'.
1714
+ # Output only. The list of spaces which contain the file. The currently
1715
+ # supported values are 'drive', 'appDataFolder' and 'photos'.
1314
1716
  # Corresponds to the JSON property `spaces`
1315
1717
  # @return [Array<String>]
1316
1718
  attr_accessor :spaces
@@ -1321,29 +1723,30 @@ module Google
1321
1723
  attr_accessor :starred
1322
1724
  alias_method :starred?, :starred
1323
1725
 
1324
- # Deprecated - use driveId instead.
1726
+ # Deprecated: Output only. Use `driveId` instead.
1325
1727
  # Corresponds to the JSON property `teamDriveId`
1326
1728
  # @return [String]
1327
1729
  attr_accessor :team_drive_id
1328
1730
 
1329
- # A short-lived link to the file's thumbnail, if available. Typically lasts on
1330
- # the order of hours. Only populated when the requesting app can access the file'
1331
- # s content. If the file isn't shared publicly, the URL returned in Files.
1332
- # thumbnailLink must be fetched using a credentialed request.
1731
+ # Output only. A short-lived link to the file's thumbnail, if available.
1732
+ # Typically lasts on the order of hours. Not intended for direct usage on web
1733
+ # applications due to [Cross-Origin Resource Sharing (CORS)](https://developer.
1734
+ # mozilla.org/en-US/docs/Web/HTTP/CORS) policies, consider using a proxy server.
1735
+ # Only populated when the requesting app can access the file's content. If the
1736
+ # file isn't shared publicly, the URL returned in `Files.thumbnailLink` must be
1737
+ # fetched using a credentialed request.
1333
1738
  # Corresponds to the JSON property `thumbnailLink`
1334
1739
  # @return [String]
1335
1740
  attr_accessor :thumbnail_link
1336
1741
 
1337
- # The thumbnail version for use in thumbnail cache invalidation.
1742
+ # Output only. The thumbnail version for use in thumbnail cache invalidation.
1338
1743
  # Corresponds to the JSON property `thumbnailVersion`
1339
1744
  # @return [Fixnum]
1340
1745
  attr_accessor :thumbnail_version
1341
1746
 
1342
1747
  # Whether the file has been trashed, either explicitly or from a trashed parent
1343
- # folder. Only the owner may trash a file. The trashed item is excluded from all
1344
- # files.list responses returned for any user who does not own the file. However,
1345
- # all users with access to the file can see the trashed item metadata in an API
1346
- # response. All users with access can copy, download, export, and share the file.
1748
+ # folder. Only the owner may trash a file, and other users cannot see files in
1749
+ # the owner's trash.
1347
1750
  # Corresponds to the JSON property `trashed`
1348
1751
  # @return [Boolean]
1349
1752
  attr_accessor :trashed
@@ -1360,19 +1763,20 @@ module Google
1360
1763
  # @return [Google::Apis::DriveV3::User]
1361
1764
  attr_accessor :trashing_user
1362
1765
 
1363
- # A monotonically increasing version number for the file. This reflects every
1364
- # change made to the file on the server, even those not visible to the user.
1766
+ # Output only. A monotonically increasing version number for the file. This
1767
+ # reflects every change made to the file on the server, even those not visible
1768
+ # to the user.
1365
1769
  # Corresponds to the JSON property `version`
1366
1770
  # @return [Fixnum]
1367
1771
  attr_accessor :version
1368
1772
 
1369
- # Additional metadata about video media. This may not be available immediately
1370
- # upon upload.
1773
+ # Output only. Additional metadata about video media. This may not be available
1774
+ # immediately upon upload.
1371
1775
  # Corresponds to the JSON property `videoMediaMetadata`
1372
1776
  # @return [Google::Apis::DriveV3::File::VideoMediaMetadata]
1373
1777
  attr_accessor :video_media_metadata
1374
1778
 
1375
- # Whether the file has been viewed by this user.
1779
+ # Output only. Whether the file has been viewed by this user.
1376
1780
  # Corresponds to the JSON property `viewedByMe`
1377
1781
  # @return [Boolean]
1378
1782
  attr_accessor :viewed_by_me
@@ -1383,24 +1787,25 @@ module Google
1383
1787
  # @return [DateTime]
1384
1788
  attr_accessor :viewed_by_me_time
1385
1789
 
1386
- # Deprecated - use copyRequiresWriterPermission instead.
1790
+ # Deprecated: Use `copyRequiresWriterPermission` instead.
1387
1791
  # Corresponds to the JSON property `viewersCanCopyContent`
1388
1792
  # @return [Boolean]
1389
1793
  attr_accessor :viewers_can_copy_content
1390
1794
  alias_method :viewers_can_copy_content?, :viewers_can_copy_content
1391
1795
 
1392
- # A link for downloading the content of the file in a browser. This is only
1393
- # available for files with binary content in Google Drive.
1796
+ # Output only. A link for downloading the content of the file in a browser. This
1797
+ # is only available for files with binary content in Google Drive.
1394
1798
  # Corresponds to the JSON property `webContentLink`
1395
1799
  # @return [String]
1396
1800
  attr_accessor :web_content_link
1397
1801
 
1398
- # A link for opening the file in a relevant Google editor or viewer in a browser.
1802
+ # Output only. A link for opening the file in a relevant Google editor or viewer
1803
+ # in a browser.
1399
1804
  # Corresponds to the JSON property `webViewLink`
1400
1805
  # @return [String]
1401
1806
  attr_accessor :web_view_link
1402
1807
 
1403
- # Whether users with only writer permission can modify the file's permissions.
1808
+ # Whether users with only `writer` permission can modify the file's permissions.
1404
1809
  # Not populated for items in shared drives.
1405
1810
  # Corresponds to the JSON property `writersCanShare`
1406
1811
  # @return [Boolean]
@@ -1477,263 +1882,291 @@ module Google
1477
1882
  @writers_can_share = args[:writers_can_share] if args.key?(:writers_can_share)
1478
1883
  end
1479
1884
 
1480
- # Capabilities the current user has on this file. Each capability corresponds to
1481
- # a fine-grained action that a user may take.
1885
+ # Output only. Capabilities the current user has on this file. Each capability
1886
+ # corresponds to a fine-grained action that a user may take.
1482
1887
  class Capabilities
1483
1888
  include Google::Apis::Core::Hashable
1484
1889
 
1485
- # Whether the current user is the pending owner of the file. Not populated for
1486
- # shared drive files.
1890
+ # Output only. Whether the current user is the pending owner of the file. Not
1891
+ # populated for shared drive files.
1487
1892
  # Corresponds to the JSON property `canAcceptOwnership`
1488
1893
  # @return [Boolean]
1489
1894
  attr_accessor :can_accept_ownership
1490
1895
  alias_method :can_accept_ownership?, :can_accept_ownership
1491
1896
 
1492
- # Whether the current user can add children to this folder. This is always false
1493
- # when the item is not a folder.
1897
+ # Output only. Whether the current user can add children to this folder. This is
1898
+ # always false when the item is not a folder.
1494
1899
  # Corresponds to the JSON property `canAddChildren`
1495
1900
  # @return [Boolean]
1496
1901
  attr_accessor :can_add_children
1497
1902
  alias_method :can_add_children?, :can_add_children
1498
1903
 
1499
- # Whether the current user can add a folder from another drive (different shared
1500
- # drive or My Drive) to this folder. This is false when the item is not a folder.
1501
- # Only populated for items in shared drives.
1904
+ # Output only. Whether the current user can add a folder from another drive (
1905
+ # different shared drive or My Drive) to this folder. This is false when the
1906
+ # item is not a folder. Only populated for items in shared drives.
1502
1907
  # Corresponds to the JSON property `canAddFolderFromAnotherDrive`
1503
1908
  # @return [Boolean]
1504
1909
  attr_accessor :can_add_folder_from_another_drive
1505
1910
  alias_method :can_add_folder_from_another_drive?, :can_add_folder_from_another_drive
1506
1911
 
1507
- # Whether the current user can add a parent for the item without removing an
1508
- # existing parent in the same request. Not populated for shared drive files.
1912
+ # Output only. Whether the current user can add a parent for the item without
1913
+ # removing an existing parent in the same request. Not populated for shared
1914
+ # drive files.
1509
1915
  # Corresponds to the JSON property `canAddMyDriveParent`
1510
1916
  # @return [Boolean]
1511
1917
  attr_accessor :can_add_my_drive_parent
1512
1918
  alias_method :can_add_my_drive_parent?, :can_add_my_drive_parent
1513
1919
 
1514
- # Whether the current user can change the copyRequiresWriterPermission
1515
- # restriction of this file.
1920
+ # Output only. Whether the current user can change the `
1921
+ # copyRequiresWriterPermission` restriction of this file.
1516
1922
  # Corresponds to the JSON property `canChangeCopyRequiresWriterPermission`
1517
1923
  # @return [Boolean]
1518
1924
  attr_accessor :can_change_copy_requires_writer_permission
1519
1925
  alias_method :can_change_copy_requires_writer_permission?, :can_change_copy_requires_writer_permission
1520
1926
 
1521
- # Whether the current user can change the securityUpdateEnabled field on link
1522
- # share metadata.
1927
+ # Output only. Whether the current user can change the securityUpdateEnabled
1928
+ # field on link share metadata.
1523
1929
  # Corresponds to the JSON property `canChangeSecurityUpdateEnabled`
1524
1930
  # @return [Boolean]
1525
1931
  attr_accessor :can_change_security_update_enabled
1526
1932
  alias_method :can_change_security_update_enabled?, :can_change_security_update_enabled
1527
1933
 
1528
- # Deprecated
1934
+ # Deprecated: Output only.
1529
1935
  # Corresponds to the JSON property `canChangeViewersCanCopyContent`
1530
1936
  # @return [Boolean]
1531
1937
  attr_accessor :can_change_viewers_can_copy_content
1532
1938
  alias_method :can_change_viewers_can_copy_content?, :can_change_viewers_can_copy_content
1533
1939
 
1534
- # Whether the current user can comment on this file.
1940
+ # Output only. Whether the current user can comment on this file.
1535
1941
  # Corresponds to the JSON property `canComment`
1536
1942
  # @return [Boolean]
1537
1943
  attr_accessor :can_comment
1538
1944
  alias_method :can_comment?, :can_comment
1539
1945
 
1540
- # Whether the current user can copy this file. For an item in a shared drive,
1541
- # whether the current user can copy non-folder descendants of this item, or this
1542
- # item itself if it is not a folder.
1946
+ # Output only. Whether the current user can copy this file. For an item in a
1947
+ # shared drive, whether the current user can copy non-folder descendants of this
1948
+ # item, or this item itself if it is not a folder.
1543
1949
  # Corresponds to the JSON property `canCopy`
1544
1950
  # @return [Boolean]
1545
1951
  attr_accessor :can_copy
1546
1952
  alias_method :can_copy?, :can_copy
1547
1953
 
1548
- # Whether the current user can delete this file.
1954
+ # Output only. Whether the current user can delete this file.
1549
1955
  # Corresponds to the JSON property `canDelete`
1550
1956
  # @return [Boolean]
1551
1957
  attr_accessor :can_delete
1552
1958
  alias_method :can_delete?, :can_delete
1553
1959
 
1554
- # Whether the current user can delete children of this folder. This is false
1555
- # when the item is not a folder. Only populated for items in shared drives.
1960
+ # Output only. Whether the current user can delete children of this folder. This
1961
+ # is false when the item is not a folder. Only populated for items in shared
1962
+ # drives.
1556
1963
  # Corresponds to the JSON property `canDeleteChildren`
1557
1964
  # @return [Boolean]
1558
1965
  attr_accessor :can_delete_children
1559
1966
  alias_method :can_delete_children?, :can_delete_children
1560
1967
 
1561
- # Whether the current user can download this file.
1968
+ # Output only. Whether the current user can download this file.
1562
1969
  # Corresponds to the JSON property `canDownload`
1563
1970
  # @return [Boolean]
1564
1971
  attr_accessor :can_download
1565
1972
  alias_method :can_download?, :can_download
1566
1973
 
1567
- # Whether the current user can edit this file. Other factors may limit the type
1568
- # of changes a user can make to a file. For example, see
1569
- # canChangeCopyRequiresWriterPermission or canModifyContent.
1974
+ # Output only. Whether the current user can edit this file. Other factors may
1975
+ # limit the type of changes a user can make to a file. For example, see `
1976
+ # canChangeCopyRequiresWriterPermission` or `canModifyContent`.
1570
1977
  # Corresponds to the JSON property `canEdit`
1571
1978
  # @return [Boolean]
1572
1979
  attr_accessor :can_edit
1573
1980
  alias_method :can_edit?, :can_edit
1574
1981
 
1575
- # Whether the current user can list the children of this folder. This is always
1576
- # false when the item is not a folder.
1982
+ # Output only. Whether the current user can list the children of this folder.
1983
+ # This is always false when the item is not a folder.
1577
1984
  # Corresponds to the JSON property `canListChildren`
1578
1985
  # @return [Boolean]
1579
1986
  attr_accessor :can_list_children
1580
1987
  alias_method :can_list_children?, :can_list_children
1581
1988
 
1582
- # Whether the current user can modify the content of this file.
1989
+ # Output only. Whether the current user can modify the content of this file.
1583
1990
  # Corresponds to the JSON property `canModifyContent`
1584
1991
  # @return [Boolean]
1585
1992
  attr_accessor :can_modify_content
1586
1993
  alias_method :can_modify_content?, :can_modify_content
1587
1994
 
1588
- # Whether the current user can modify restrictions on content of this file.
1995
+ # Deprecated: Output only. Use one of `canModifyEditorContentRestriction`, `
1996
+ # canModifyOwnerContentRestriction` or `canRemoveContentRestriction`.
1589
1997
  # Corresponds to the JSON property `canModifyContentRestriction`
1590
1998
  # @return [Boolean]
1591
1999
  attr_accessor :can_modify_content_restriction
1592
2000
  alias_method :can_modify_content_restriction?, :can_modify_content_restriction
1593
2001
 
1594
- # Whether the current user can modify the labels on this file.
2002
+ # Output only. Whether the current user can add or modify content restrictions
2003
+ # on the file which are editor restricted.
2004
+ # Corresponds to the JSON property `canModifyEditorContentRestriction`
2005
+ # @return [Boolean]
2006
+ attr_accessor :can_modify_editor_content_restriction
2007
+ alias_method :can_modify_editor_content_restriction?, :can_modify_editor_content_restriction
2008
+
2009
+ # Output only. Whether the current user can modify the labels on the file.
1595
2010
  # Corresponds to the JSON property `canModifyLabels`
1596
2011
  # @return [Boolean]
1597
2012
  attr_accessor :can_modify_labels
1598
2013
  alias_method :can_modify_labels?, :can_modify_labels
1599
2014
 
1600
- # Whether the current user can move children of this folder outside of the
1601
- # shared drive. This is false when the item is not a folder. Only populated for
1602
- # items in shared drives.
2015
+ # Output only. Whether the current user can add or modify content restrictions
2016
+ # which are owner restricted.
2017
+ # Corresponds to the JSON property `canModifyOwnerContentRestriction`
2018
+ # @return [Boolean]
2019
+ attr_accessor :can_modify_owner_content_restriction
2020
+ alias_method :can_modify_owner_content_restriction?, :can_modify_owner_content_restriction
2021
+
2022
+ # Output only. Whether the current user can move children of this folder outside
2023
+ # of the shared drive. This is false when the item is not a folder. Only
2024
+ # populated for items in shared drives.
1603
2025
  # Corresponds to the JSON property `canMoveChildrenOutOfDrive`
1604
2026
  # @return [Boolean]
1605
2027
  attr_accessor :can_move_children_out_of_drive
1606
2028
  alias_method :can_move_children_out_of_drive?, :can_move_children_out_of_drive
1607
2029
 
1608
- # Deprecated - use canMoveChildrenOutOfDrive instead.
2030
+ # Deprecated: Output only. Use `canMoveChildrenOutOfDrive` instead.
1609
2031
  # Corresponds to the JSON property `canMoveChildrenOutOfTeamDrive`
1610
2032
  # @return [Boolean]
1611
2033
  attr_accessor :can_move_children_out_of_team_drive
1612
2034
  alias_method :can_move_children_out_of_team_drive?, :can_move_children_out_of_team_drive
1613
2035
 
1614
- # Whether the current user can move children of this folder within this drive.
1615
- # This is false when the item is not a folder. Note that a request to move the
1616
- # child may still fail depending on the current user's access to the child and
1617
- # to the destination folder.
2036
+ # Output only. Whether the current user can move children of this folder within
2037
+ # this drive. This is false when the item is not a folder. Note that a request
2038
+ # to move the child may still fail depending on the current user's access to the
2039
+ # child and to the destination folder.
1618
2040
  # Corresponds to the JSON property `canMoveChildrenWithinDrive`
1619
2041
  # @return [Boolean]
1620
2042
  attr_accessor :can_move_children_within_drive
1621
2043
  alias_method :can_move_children_within_drive?, :can_move_children_within_drive
1622
2044
 
1623
- # Deprecated - use canMoveChildrenWithinDrive instead.
2045
+ # Deprecated: Output only. Use `canMoveChildrenWithinDrive` instead.
1624
2046
  # Corresponds to the JSON property `canMoveChildrenWithinTeamDrive`
1625
2047
  # @return [Boolean]
1626
2048
  attr_accessor :can_move_children_within_team_drive
1627
2049
  alias_method :can_move_children_within_team_drive?, :can_move_children_within_team_drive
1628
2050
 
1629
- # Deprecated - use canMoveItemOutOfDrive instead.
2051
+ # Deprecated: Output only. Use `canMoveItemOutOfDrive` instead.
1630
2052
  # Corresponds to the JSON property `canMoveItemIntoTeamDrive`
1631
2053
  # @return [Boolean]
1632
2054
  attr_accessor :can_move_item_into_team_drive
1633
2055
  alias_method :can_move_item_into_team_drive?, :can_move_item_into_team_drive
1634
2056
 
1635
- # Whether the current user can move this item outside of this drive by changing
1636
- # its parent. Note that a request to change the parent of the item may still
1637
- # fail depending on the new parent that is being added.
2057
+ # Output only. Whether the current user can move this item outside of this drive
2058
+ # by changing its parent. Note that a request to change the parent of the item
2059
+ # may still fail depending on the new parent that is being added.
1638
2060
  # Corresponds to the JSON property `canMoveItemOutOfDrive`
1639
2061
  # @return [Boolean]
1640
2062
  attr_accessor :can_move_item_out_of_drive
1641
2063
  alias_method :can_move_item_out_of_drive?, :can_move_item_out_of_drive
1642
2064
 
1643
- # Deprecated - use canMoveItemOutOfDrive instead.
2065
+ # Deprecated: Output only. Use `canMoveItemOutOfDrive` instead.
1644
2066
  # Corresponds to the JSON property `canMoveItemOutOfTeamDrive`
1645
2067
  # @return [Boolean]
1646
2068
  attr_accessor :can_move_item_out_of_team_drive
1647
2069
  alias_method :can_move_item_out_of_team_drive?, :can_move_item_out_of_team_drive
1648
2070
 
1649
- # Whether the current user can move this item within this drive. Note that a
1650
- # request to change the parent of the item may still fail depending on the new
1651
- # parent that is being added and the parent that is being removed.
2071
+ # Output only. Whether the current user can move this item within this drive.
2072
+ # Note that a request to change the parent of the item may still fail depending
2073
+ # on the new parent that is being added and the parent that is being removed.
1652
2074
  # Corresponds to the JSON property `canMoveItemWithinDrive`
1653
2075
  # @return [Boolean]
1654
2076
  attr_accessor :can_move_item_within_drive
1655
2077
  alias_method :can_move_item_within_drive?, :can_move_item_within_drive
1656
2078
 
1657
- # Deprecated - use canMoveItemWithinDrive instead.
2079
+ # Deprecated: Output only. Use `canMoveItemWithinDrive` instead.
1658
2080
  # Corresponds to the JSON property `canMoveItemWithinTeamDrive`
1659
2081
  # @return [Boolean]
1660
2082
  attr_accessor :can_move_item_within_team_drive
1661
2083
  alias_method :can_move_item_within_team_drive?, :can_move_item_within_team_drive
1662
2084
 
1663
- # Deprecated - use canMoveItemWithinDrive or canMoveItemOutOfDrive instead.
2085
+ # Deprecated: Output only. Use `canMoveItemWithinDrive` or `
2086
+ # canMoveItemOutOfDrive` instead.
1664
2087
  # Corresponds to the JSON property `canMoveTeamDriveItem`
1665
2088
  # @return [Boolean]
1666
2089
  attr_accessor :can_move_team_drive_item
1667
2090
  alias_method :can_move_team_drive_item?, :can_move_team_drive_item
1668
2091
 
1669
- # Whether the current user can read the shared drive to which this file belongs.
1670
- # Only populated for items in shared drives.
2092
+ # Output only. Whether the current user can read the shared drive to which this
2093
+ # file belongs. Only populated for items in shared drives.
1671
2094
  # Corresponds to the JSON property `canReadDrive`
1672
2095
  # @return [Boolean]
1673
2096
  attr_accessor :can_read_drive
1674
2097
  alias_method :can_read_drive?, :can_read_drive
1675
2098
 
1676
- # Whether the current user can read the labels on this file.
2099
+ # Output only. Whether the current user can read the labels on the file.
1677
2100
  # Corresponds to the JSON property `canReadLabels`
1678
2101
  # @return [Boolean]
1679
2102
  attr_accessor :can_read_labels
1680
2103
  alias_method :can_read_labels?, :can_read_labels
1681
2104
 
1682
- # Whether the current user can read the revisions resource of this file. For a
1683
- # shared drive item, whether revisions of non-folder descendants of this item,
1684
- # or this item itself if it is not a folder, can be read.
2105
+ # Output only. Whether the current user can read the revisions resource of this
2106
+ # file. For a shared drive item, whether revisions of non-folder descendants of
2107
+ # this item, or this item itself if it is not a folder, can be read.
1685
2108
  # Corresponds to the JSON property `canReadRevisions`
1686
2109
  # @return [Boolean]
1687
2110
  attr_accessor :can_read_revisions
1688
2111
  alias_method :can_read_revisions?, :can_read_revisions
1689
2112
 
1690
- # Deprecated - use canReadDrive instead.
2113
+ # Deprecated: Output only. Use `canReadDrive` instead.
1691
2114
  # Corresponds to the JSON property `canReadTeamDrive`
1692
2115
  # @return [Boolean]
1693
2116
  attr_accessor :can_read_team_drive
1694
2117
  alias_method :can_read_team_drive?, :can_read_team_drive
1695
2118
 
1696
- # Whether the current user can remove children from this folder. This is always
1697
- # false when the item is not a folder. For a folder in a shared drive, use
1698
- # canDeleteChildren or canTrashChildren instead.
2119
+ # Output only. Whether the current user can remove children from this folder.
2120
+ # This is always false when the item is not a folder. For a folder in a shared
2121
+ # drive, use `canDeleteChildren` or `canTrashChildren` instead.
1699
2122
  # Corresponds to the JSON property `canRemoveChildren`
1700
2123
  # @return [Boolean]
1701
2124
  attr_accessor :can_remove_children
1702
2125
  alias_method :can_remove_children?, :can_remove_children
1703
2126
 
1704
- # Whether the current user can remove a parent from the item without adding
1705
- # another parent in the same request. Not populated for shared drive files.
2127
+ # Output only. Whether there is a content restriction on the file that can be
2128
+ # removed by the current user.
2129
+ # Corresponds to the JSON property `canRemoveContentRestriction`
2130
+ # @return [Boolean]
2131
+ attr_accessor :can_remove_content_restriction
2132
+ alias_method :can_remove_content_restriction?, :can_remove_content_restriction
2133
+
2134
+ # Output only. Whether the current user can remove a parent from the item
2135
+ # without adding another parent in the same request. Not populated for shared
2136
+ # drive files.
1706
2137
  # Corresponds to the JSON property `canRemoveMyDriveParent`
1707
2138
  # @return [Boolean]
1708
2139
  attr_accessor :can_remove_my_drive_parent
1709
2140
  alias_method :can_remove_my_drive_parent?, :can_remove_my_drive_parent
1710
2141
 
1711
- # Whether the current user can rename this file.
2142
+ # Output only. Whether the current user can rename this file.
1712
2143
  # Corresponds to the JSON property `canRename`
1713
2144
  # @return [Boolean]
1714
2145
  attr_accessor :can_rename
1715
2146
  alias_method :can_rename?, :can_rename
1716
2147
 
1717
- # Whether the current user can modify the sharing settings for this file.
2148
+ # Output only. Whether the current user can modify the sharing settings for this
2149
+ # file.
1718
2150
  # Corresponds to the JSON property `canShare`
1719
2151
  # @return [Boolean]
1720
2152
  attr_accessor :can_share
1721
2153
  alias_method :can_share?, :can_share
1722
2154
 
1723
- # Whether the current user can move this file to trash.
2155
+ # Output only. Whether the current user can move this file to trash.
1724
2156
  # Corresponds to the JSON property `canTrash`
1725
2157
  # @return [Boolean]
1726
2158
  attr_accessor :can_trash
1727
2159
  alias_method :can_trash?, :can_trash
1728
2160
 
1729
- # Whether the current user can trash children of this folder. This is false when
1730
- # the item is not a folder. Only populated for items in shared drives.
2161
+ # Output only. Whether the current user can trash children of this folder. This
2162
+ # is false when the item is not a folder. Only populated for items in shared
2163
+ # drives.
1731
2164
  # Corresponds to the JSON property `canTrashChildren`
1732
2165
  # @return [Boolean]
1733
2166
  attr_accessor :can_trash_children
1734
2167
  alias_method :can_trash_children?, :can_trash_children
1735
2168
 
1736
- # Whether the current user can restore this file from trash.
2169
+ # Output only. Whether the current user can restore this file from trash.
1737
2170
  # Corresponds to the JSON property `canUntrash`
1738
2171
  # @return [Boolean]
1739
2172
  attr_accessor :can_untrash
@@ -1761,7 +2194,9 @@ module Google
1761
2194
  @can_list_children = args[:can_list_children] if args.key?(:can_list_children)
1762
2195
  @can_modify_content = args[:can_modify_content] if args.key?(:can_modify_content)
1763
2196
  @can_modify_content_restriction = args[:can_modify_content_restriction] if args.key?(:can_modify_content_restriction)
2197
+ @can_modify_editor_content_restriction = args[:can_modify_editor_content_restriction] if args.key?(:can_modify_editor_content_restriction)
1764
2198
  @can_modify_labels = args[:can_modify_labels] if args.key?(:can_modify_labels)
2199
+ @can_modify_owner_content_restriction = args[:can_modify_owner_content_restriction] if args.key?(:can_modify_owner_content_restriction)
1765
2200
  @can_move_children_out_of_drive = args[:can_move_children_out_of_drive] if args.key?(:can_move_children_out_of_drive)
1766
2201
  @can_move_children_out_of_team_drive = args[:can_move_children_out_of_team_drive] if args.key?(:can_move_children_out_of_team_drive)
1767
2202
  @can_move_children_within_drive = args[:can_move_children_within_drive] if args.key?(:can_move_children_within_drive)
@@ -1777,6 +2212,7 @@ module Google
1777
2212
  @can_read_revisions = args[:can_read_revisions] if args.key?(:can_read_revisions)
1778
2213
  @can_read_team_drive = args[:can_read_team_drive] if args.key?(:can_read_team_drive)
1779
2214
  @can_remove_children = args[:can_remove_children] if args.key?(:can_remove_children)
2215
+ @can_remove_content_restriction = args[:can_remove_content_restriction] if args.key?(:can_remove_content_restriction)
1780
2216
  @can_remove_my_drive_parent = args[:can_remove_my_drive_parent] if args.key?(:can_remove_my_drive_parent)
1781
2217
  @can_rename = args[:can_rename] if args.key?(:can_rename)
1782
2218
  @can_share = args[:can_share] if args.key?(:can_share)
@@ -1841,114 +2277,114 @@ module Google
1841
2277
  end
1842
2278
  end
1843
2279
 
1844
- # Additional metadata about image media, if available.
2280
+ # Output only. Additional metadata about image media, if available.
1845
2281
  class ImageMediaMetadata
1846
2282
  include Google::Apis::Core::Hashable
1847
2283
 
1848
- # The aperture used to create the photo (f-number).
2284
+ # Output only. The aperture used to create the photo (f-number).
1849
2285
  # Corresponds to the JSON property `aperture`
1850
2286
  # @return [Float]
1851
2287
  attr_accessor :aperture
1852
2288
 
1853
- # The make of the camera used to create the photo.
2289
+ # Output only. The make of the camera used to create the photo.
1854
2290
  # Corresponds to the JSON property `cameraMake`
1855
2291
  # @return [String]
1856
2292
  attr_accessor :camera_make
1857
2293
 
1858
- # The model of the camera used to create the photo.
2294
+ # Output only. The model of the camera used to create the photo.
1859
2295
  # Corresponds to the JSON property `cameraModel`
1860
2296
  # @return [String]
1861
2297
  attr_accessor :camera_model
1862
2298
 
1863
- # The color space of the photo.
2299
+ # Output only. The color space of the photo.
1864
2300
  # Corresponds to the JSON property `colorSpace`
1865
2301
  # @return [String]
1866
2302
  attr_accessor :color_space
1867
2303
 
1868
- # The exposure bias of the photo (APEX value).
2304
+ # Output only. The exposure bias of the photo (APEX value).
1869
2305
  # Corresponds to the JSON property `exposureBias`
1870
2306
  # @return [Float]
1871
2307
  attr_accessor :exposure_bias
1872
2308
 
1873
- # The exposure mode used to create the photo.
2309
+ # Output only. The exposure mode used to create the photo.
1874
2310
  # Corresponds to the JSON property `exposureMode`
1875
2311
  # @return [String]
1876
2312
  attr_accessor :exposure_mode
1877
2313
 
1878
- # The length of the exposure, in seconds.
2314
+ # Output only. The length of the exposure, in seconds.
1879
2315
  # Corresponds to the JSON property `exposureTime`
1880
2316
  # @return [Float]
1881
2317
  attr_accessor :exposure_time
1882
2318
 
1883
- # Whether a flash was used to create the photo.
2319
+ # Output only. Whether a flash was used to create the photo.
1884
2320
  # Corresponds to the JSON property `flashUsed`
1885
2321
  # @return [Boolean]
1886
2322
  attr_accessor :flash_used
1887
2323
  alias_method :flash_used?, :flash_used
1888
2324
 
1889
- # The focal length used to create the photo, in millimeters.
2325
+ # Output only. The focal length used to create the photo, in millimeters.
1890
2326
  # Corresponds to the JSON property `focalLength`
1891
2327
  # @return [Float]
1892
2328
  attr_accessor :focal_length
1893
2329
 
1894
- # The height of the image in pixels.
2330
+ # Output only. The height of the image in pixels.
1895
2331
  # Corresponds to the JSON property `height`
1896
2332
  # @return [Fixnum]
1897
2333
  attr_accessor :height
1898
2334
 
1899
- # The ISO speed used to create the photo.
2335
+ # Output only. The ISO speed used to create the photo.
1900
2336
  # Corresponds to the JSON property `isoSpeed`
1901
2337
  # @return [Fixnum]
1902
2338
  attr_accessor :iso_speed
1903
2339
 
1904
- # The lens used to create the photo.
2340
+ # Output only. The lens used to create the photo.
1905
2341
  # Corresponds to the JSON property `lens`
1906
2342
  # @return [String]
1907
2343
  attr_accessor :lens
1908
2344
 
1909
- # Geographic location information stored in the image.
2345
+ # Output only. Geographic location information stored in the image.
1910
2346
  # Corresponds to the JSON property `location`
1911
2347
  # @return [Google::Apis::DriveV3::File::ImageMediaMetadata::Location]
1912
2348
  attr_accessor :location
1913
2349
 
1914
- # The smallest f-number of the lens at the focal length used to create the photo
1915
- # (APEX value).
2350
+ # Output only. The smallest f-number of the lens at the focal length used to
2351
+ # create the photo (APEX value).
1916
2352
  # Corresponds to the JSON property `maxApertureValue`
1917
2353
  # @return [Float]
1918
2354
  attr_accessor :max_aperture_value
1919
2355
 
1920
- # The metering mode used to create the photo.
2356
+ # Output only. The metering mode used to create the photo.
1921
2357
  # Corresponds to the JSON property `meteringMode`
1922
2358
  # @return [String]
1923
2359
  attr_accessor :metering_mode
1924
2360
 
1925
- # The number of clockwise 90 degree rotations applied from the image's original
1926
- # orientation.
2361
+ # Output only. The number of clockwise 90 degree rotations applied from the
2362
+ # image's original orientation.
1927
2363
  # Corresponds to the JSON property `rotation`
1928
2364
  # @return [Fixnum]
1929
2365
  attr_accessor :rotation
1930
2366
 
1931
- # The type of sensor used to create the photo.
2367
+ # Output only. The type of sensor used to create the photo.
1932
2368
  # Corresponds to the JSON property `sensor`
1933
2369
  # @return [String]
1934
2370
  attr_accessor :sensor
1935
2371
 
1936
- # The distance to the subject of the photo, in meters.
2372
+ # Output only. The distance to the subject of the photo, in meters.
1937
2373
  # Corresponds to the JSON property `subjectDistance`
1938
2374
  # @return [Fixnum]
1939
2375
  attr_accessor :subject_distance
1940
2376
 
1941
- # The date and time the photo was taken (EXIF DateTime).
2377
+ # Output only. The date and time the photo was taken (EXIF DateTime).
1942
2378
  # Corresponds to the JSON property `time`
1943
2379
  # @return [String]
1944
2380
  attr_accessor :time
1945
2381
 
1946
- # The white balance mode used to create the photo.
2382
+ # Output only. The white balance mode used to create the photo.
1947
2383
  # Corresponds to the JSON property `whiteBalance`
1948
2384
  # @return [String]
1949
2385
  attr_accessor :white_balance
1950
2386
 
1951
- # The width of the image in pixels.
2387
+ # Output only. The width of the image in pixels.
1952
2388
  # Corresponds to the JSON property `width`
1953
2389
  # @return [Fixnum]
1954
2390
  attr_accessor :width
@@ -1982,21 +2418,21 @@ module Google
1982
2418
  @width = args[:width] if args.key?(:width)
1983
2419
  end
1984
2420
 
1985
- # Geographic location information stored in the image.
2421
+ # Output only. Geographic location information stored in the image.
1986
2422
  class Location
1987
2423
  include Google::Apis::Core::Hashable
1988
2424
 
1989
- # The altitude stored in the image.
2425
+ # Output only. The altitude stored in the image.
1990
2426
  # Corresponds to the JSON property `altitude`
1991
2427
  # @return [Float]
1992
2428
  attr_accessor :altitude
1993
2429
 
1994
- # The latitude stored in the image.
2430
+ # Output only. The latitude stored in the image.
1995
2431
  # Corresponds to the JSON property `latitude`
1996
2432
  # @return [Float]
1997
2433
  attr_accessor :latitude
1998
2434
 
1999
- # The longitude stored in the image.
2435
+ # Output only. The longitude stored in the image.
2000
2436
  # Corresponds to the JSON property `longitude`
2001
2437
  # @return [Float]
2002
2438
  attr_accessor :longitude
@@ -2014,12 +2450,12 @@ module Google
2014
2450
  end
2015
2451
  end
2016
2452
 
2017
- # An overview of the labels on the file.
2453
+ # Output only. An overview of the labels on the file.
2018
2454
  class LabelInfo
2019
2455
  include Google::Apis::Core::Hashable
2020
2456
 
2021
- # The set of labels on the file as requested by the label IDs in the
2022
- # includeLabels parameter. By default, no labels are returned.
2457
+ # Output only. The set of labels on the file as requested by the label IDs in
2458
+ # the `includeLabels` parameter. By default, no labels are returned.
2023
2459
  # Corresponds to the JSON property `labels`
2024
2460
  # @return [Array<Google::Apis::DriveV3::Label>]
2025
2461
  attr_accessor :labels
@@ -2039,13 +2475,13 @@ module Google
2039
2475
  class LinkShareMetadata
2040
2476
  include Google::Apis::Core::Hashable
2041
2477
 
2042
- # Whether the file is eligible for security update.
2478
+ # Output only. Whether the file is eligible for security update.
2043
2479
  # Corresponds to the JSON property `securityUpdateEligible`
2044
2480
  # @return [Boolean]
2045
2481
  attr_accessor :security_update_eligible
2046
2482
  alias_method :security_update_eligible?, :security_update_eligible
2047
2483
 
2048
- # Whether the security update is enabled for this file.
2484
+ # Output only. Whether the security update is enabled for this file.
2049
2485
  # Corresponds to the JSON property `securityUpdateEnabled`
2050
2486
  # @return [Boolean]
2051
2487
  attr_accessor :security_update_enabled
@@ -2063,23 +2499,25 @@ module Google
2063
2499
  end
2064
2500
 
2065
2501
  # Shortcut file details. Only populated for shortcut files, which have the
2066
- # mimeType field set to application/vnd.google-apps.shortcut.
2502
+ # mimeType field set to `application/vnd.google-apps.shortcut`. Can only be set
2503
+ # on `files.create` requests.
2067
2504
  class ShortcutDetails
2068
2505
  include Google::Apis::Core::Hashable
2069
2506
 
2070
- # The ID of the file that this shortcut points to.
2507
+ # The ID of the file that this shortcut points to. Can only be set on `files.
2508
+ # create` requests.
2071
2509
  # Corresponds to the JSON property `targetId`
2072
2510
  # @return [String]
2073
2511
  attr_accessor :target_id
2074
2512
 
2075
- # The MIME type of the file that this shortcut points to. The value of this
2076
- # field is a snapshot of the target's MIME type, captured when the shortcut is
2077
- # created.
2513
+ # Output only. The MIME type of the file that this shortcut points to. The value
2514
+ # of this field is a snapshot of the target's MIME type, captured when the
2515
+ # shortcut is created.
2078
2516
  # Corresponds to the JSON property `targetMimeType`
2079
2517
  # @return [String]
2080
2518
  attr_accessor :target_mime_type
2081
2519
 
2082
- # The ResourceKey for the target file.
2520
+ # Output only. The ResourceKey for the target file.
2083
2521
  # Corresponds to the JSON property `targetResourceKey`
2084
2522
  # @return [String]
2085
2523
  attr_accessor :target_resource_key
@@ -2096,22 +2534,22 @@ module Google
2096
2534
  end
2097
2535
  end
2098
2536
 
2099
- # Additional metadata about video media. This may not be available immediately
2100
- # upon upload.
2537
+ # Output only. Additional metadata about video media. This may not be available
2538
+ # immediately upon upload.
2101
2539
  class VideoMediaMetadata
2102
2540
  include Google::Apis::Core::Hashable
2103
2541
 
2104
- # The duration of the video in milliseconds.
2542
+ # Output only. The duration of the video in milliseconds.
2105
2543
  # Corresponds to the JSON property `durationMillis`
2106
2544
  # @return [Fixnum]
2107
2545
  attr_accessor :duration_millis
2108
2546
 
2109
- # The height of the video in pixels.
2547
+ # Output only. The height of the video in pixels.
2110
2548
  # Corresponds to the JSON property `height`
2111
2549
  # @return [Fixnum]
2112
2550
  attr_accessor :height
2113
2551
 
2114
- # The width of the video in pixels.
2552
+ # Output only. The width of the video in pixels.
2115
2553
  # Corresponds to the JSON property `width`
2116
2554
  # @return [Fixnum]
2117
2555
  attr_accessor :width
@@ -2140,17 +2578,17 @@ module Google
2140
2578
  attr_accessor :files
2141
2579
 
2142
2580
  # Whether the search process was incomplete. If true, then some search results
2143
- # may be missing, since all documents were not searched. This may occur when
2144
- # searching multiple drives with the "allDrives" corpora, but all corpora could
2145
- # not be searched. When this happens, it is suggested that clients narrow their
2146
- # query by choosing a different corpus such as "user" or "drive".
2581
+ # might be missing, since all documents were not searched. This can occur when
2582
+ # searching multiple drives with the 'allDrives' corpora, but all corpora couldn'
2583
+ # t be searched. When this happens, it's suggested that clients narrow their
2584
+ # query by choosing a different corpus such as 'user' or 'drive'.
2147
2585
  # Corresponds to the JSON property `incompleteSearch`
2148
2586
  # @return [Boolean]
2149
2587
  attr_accessor :incomplete_search
2150
2588
  alias_method :incomplete_search?, :incomplete_search
2151
2589
 
2152
- # Identifies what kind of resource this is. Value: the fixed string "drive#
2153
- # fileList".
2590
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
2591
+ # fileList"`.
2154
2592
  # Corresponds to the JSON property `kind`
2155
2593
  # @return [String]
2156
2594
  attr_accessor :kind
@@ -2158,7 +2596,8 @@ module Google
2158
2596
  # The page token for the next page of files. This will be absent if the end of
2159
2597
  # the files list has been reached. If the token is rejected for any reason, it
2160
2598
  # should be discarded, and pagination should be restarted from the first page of
2161
- # results.
2599
+ # results. The page token is typically valid for several hours. However, if new
2600
+ # items are added or removed, your expected results might differ.
2162
2601
  # Corresponds to the JSON property `nextPageToken`
2163
2602
  # @return [String]
2164
2603
  attr_accessor :next_page_token
@@ -2185,8 +2624,8 @@ module Google
2185
2624
  # @return [Array<String>]
2186
2625
  attr_accessor :ids
2187
2626
 
2188
- # Identifies what kind of resource this is. Value: the fixed string "drive#
2189
- # generatedIds".
2627
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
2628
+ # generatedIds"`.
2190
2629
  # Corresponds to the JSON property `kind`
2191
2630
  # @return [String]
2192
2631
  attr_accessor :kind
@@ -2208,11 +2647,11 @@ module Google
2208
2647
  end
2209
2648
  end
2210
2649
 
2211
- # Representation of a label and its fields.
2650
+ # Representation of label and label fields.
2212
2651
  class Label
2213
2652
  include Google::Apis::Core::Hashable
2214
2653
 
2215
- # A map of the label's fields keyed by the field ID.
2654
+ # A map of the fields on the label, keyed by the field's ID.
2216
2655
  # Corresponds to the JSON property `fields`
2217
2656
  # @return [Hash<String,Google::Apis::DriveV3::LabelField>]
2218
2657
  attr_accessor :fields
@@ -2245,7 +2684,7 @@ module Google
2245
2684
  end
2246
2685
  end
2247
2686
 
2248
- # Representation of a label field.
2687
+ # Representation of field, which is a typed key-value pair.
2249
2688
  class LabelField
2250
2689
  include Google::Apis::Core::Hashable
2251
2690
 
@@ -2254,12 +2693,12 @@ module Google
2254
2693
  # @return [Array<Date>]
2255
2694
  attr_accessor :date_string
2256
2695
 
2257
- # The identifier of this field.
2696
+ # The identifier of this label field.
2258
2697
  # Corresponds to the JSON property `id`
2259
2698
  # @return [String]
2260
2699
  attr_accessor :id
2261
2700
 
2262
- # Only present if valueType is integer.
2701
+ # Only present if `valueType` is `integer`.
2263
2702
  # Corresponds to the JSON property `integer`
2264
2703
  # @return [Array<Fixnum>]
2265
2704
  attr_accessor :integer
@@ -2269,28 +2708,24 @@ module Google
2269
2708
  # @return [String]
2270
2709
  attr_accessor :kind
2271
2710
 
2272
- # Only present if valueType is selection.
2711
+ # Only present if `valueType` is `selection`
2273
2712
  # Corresponds to the JSON property `selection`
2274
2713
  # @return [Array<String>]
2275
2714
  attr_accessor :selection
2276
2715
 
2277
- # Only present if valueType is text.
2716
+ # Only present if `valueType` is `text`.
2278
2717
  # Corresponds to the JSON property `text`
2279
2718
  # @return [Array<String>]
2280
2719
  attr_accessor :text
2281
2720
 
2282
- # Only present if valueType is user.
2721
+ # Only present if `valueType` is `user`.
2283
2722
  # Corresponds to the JSON property `user`
2284
2723
  # @return [Array<Google::Apis::DriveV3::User>]
2285
2724
  attr_accessor :user
2286
2725
 
2287
2726
  # The field type. While new values may be supported in the future, the following
2288
- # are currently allowed:
2289
- # - dateString
2290
- # - integer
2291
- # - selection
2292
- # - text
2293
- # - user
2727
+ # are currently allowed: * `dateString` * `integer` * `selection` * `text` * `
2728
+ # user`
2294
2729
  # Corresponds to the JSON property `valueType`
2295
2730
  # @return [String]
2296
2731
  attr_accessor :value_type
@@ -2316,7 +2751,7 @@ module Google
2316
2751
  class LabelFieldModification
2317
2752
  include Google::Apis::Core::Hashable
2318
2753
 
2319
- # The ID of the Field to be modified.
2754
+ # The ID of the field to be modified.
2320
2755
  # Corresponds to the JSON property `fieldId`
2321
2756
  # @return [String]
2322
2757
  attr_accessor :field_id
@@ -2326,28 +2761,28 @@ module Google
2326
2761
  # @return [String]
2327
2762
  attr_accessor :kind
2328
2763
 
2329
- # Replaces a dateString field with these new values. The values must be strings
2330
- # in the RFC 3339 full-date format: YYYY-MM-DD.
2764
+ # Replaces the value of a dateString Field with these new values. The string
2765
+ # must be in the RFC 3339 full-date format: YYYY-MM-DD.
2331
2766
  # Corresponds to the JSON property `setDateValues`
2332
2767
  # @return [Array<Date>]
2333
2768
  attr_accessor :set_date_values
2334
2769
 
2335
- # Replaces an integer field with these new values.
2770
+ # Replaces the value of an `integer` field with these new values.
2336
2771
  # Corresponds to the JSON property `setIntegerValues`
2337
2772
  # @return [Array<Fixnum>]
2338
2773
  attr_accessor :set_integer_values
2339
2774
 
2340
- # Replaces a selection field with these new values.
2775
+ # Replaces a `selection` field with these new values.
2341
2776
  # Corresponds to the JSON property `setSelectionValues`
2342
2777
  # @return [Array<String>]
2343
2778
  attr_accessor :set_selection_values
2344
2779
 
2345
- # Replaces a text field with these new values.
2780
+ # Sets the value of a `text` field.
2346
2781
  # Corresponds to the JSON property `setTextValues`
2347
2782
  # @return [Array<String>]
2348
2783
  attr_accessor :set_text_values
2349
2784
 
2350
- # Replaces a user field with these new values. The values must be valid email
2785
+ # Replaces a `user` field with these new values. The values must be valid email
2351
2786
  # addresses.
2352
2787
  # Corresponds to the JSON property `setUserValues`
2353
2788
  # @return [Array<String>]
@@ -2376,7 +2811,7 @@ module Google
2376
2811
  end
2377
2812
  end
2378
2813
 
2379
- # A list of labels.
2814
+ # A list of labels applied to a file.
2380
2815
  class LabelList
2381
2816
  include Google::Apis::Core::Hashable
2382
2817
 
@@ -2393,7 +2828,8 @@ module Google
2393
2828
  # The page token for the next page of labels. This field will be absent if the
2394
2829
  # end of the list has been reached. If the token is rejected for any reason, it
2395
2830
  # should be discarded, and pagination should be restarted from the first page of
2396
- # results.
2831
+ # results. The page token is typically valid for several hours. However, if new
2832
+ # items are added or removed, your expected results might differ.
2397
2833
  # Corresponds to the JSON property `nextPageToken`
2398
2834
  # @return [String]
2399
2835
  attr_accessor :next_page_token
@@ -2450,12 +2886,65 @@ module Google
2450
2886
  end
2451
2887
  end
2452
2888
 
2889
+ # The response to an Access Proposal list request.
2890
+ class ListAccessProposalsResponse
2891
+ include Google::Apis::Core::Hashable
2892
+
2893
+ # The list of Access Proposals. This field is only populated in v3 and v3beta.
2894
+ # Corresponds to the JSON property `accessProposals`
2895
+ # @return [Array<Google::Apis::DriveV3::AccessProposal>]
2896
+ attr_accessor :access_proposals
2897
+
2898
+ # The continuation token for the next page of results. This will be absent if
2899
+ # the end of the results list has been reached. If the token is rejected for any
2900
+ # reason, it should be discarded, and pagination should be restarted from the
2901
+ # first page of results.
2902
+ # Corresponds to the JSON property `nextPageToken`
2903
+ # @return [String]
2904
+ attr_accessor :next_page_token
2905
+
2906
+ def initialize(**args)
2907
+ update!(**args)
2908
+ end
2909
+
2910
+ # Update properties of this object
2911
+ def update!(**args)
2912
+ @access_proposals = args[:access_proposals] if args.key?(:access_proposals)
2913
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2914
+ end
2915
+ end
2916
+
2917
+ # The response message for Operations.ListOperations.
2918
+ class ListOperationsResponse
2919
+ include Google::Apis::Core::Hashable
2920
+
2921
+ # The standard List next-page token.
2922
+ # Corresponds to the JSON property `nextPageToken`
2923
+ # @return [String]
2924
+ attr_accessor :next_page_token
2925
+
2926
+ # A list of operations that matches the specified filter in the request.
2927
+ # Corresponds to the JSON property `operations`
2928
+ # @return [Array<Google::Apis::DriveV3::Operation>]
2929
+ attr_accessor :operations
2930
+
2931
+ def initialize(**args)
2932
+ update!(**args)
2933
+ end
2934
+
2935
+ # Update properties of this object
2936
+ def update!(**args)
2937
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2938
+ @operations = args[:operations] if args.key?(:operations)
2939
+ end
2940
+ end
2941
+
2453
2942
  # A request to modify the set of labels on a file. This request may contain many
2454
- # modifications that will either all succeed or all fail transactionally.
2943
+ # modifications that will either all succeed or all fail atomically.
2455
2944
  class ModifyLabelsRequest
2456
2945
  include Google::Apis::Core::Hashable
2457
2946
 
2458
- # This is always drive#modifyLabelsRequest
2947
+ # This is always drive#modifyLabelsRequest.
2459
2948
  # Corresponds to the JSON property `kind`
2460
2949
  # @return [String]
2461
2950
  attr_accessor :kind
@@ -2502,32 +2991,98 @@ module Google
2502
2991
  end
2503
2992
  end
2504
2993
 
2505
- # A permission for a file. A permission grants a user, group, domain or the
2506
- # world access to a file or a folder hierarchy.
2994
+ # This resource represents a long-running operation that is the result of a
2995
+ # network API call.
2996
+ class Operation
2997
+ include Google::Apis::Core::Hashable
2998
+
2999
+ # If the value is `false`, it means the operation is still in progress. If `true`
3000
+ # , the operation is completed, and either `error` or `response` is available.
3001
+ # Corresponds to the JSON property `done`
3002
+ # @return [Boolean]
3003
+ attr_accessor :done
3004
+ alias_method :done?, :done
3005
+
3006
+ # The `Status` type defines a logical error model that is suitable for different
3007
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3008
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3009
+ # data: error code, error message, and error details. You can find out more
3010
+ # about this error model and how to work with it in the [API Design Guide](https:
3011
+ # //cloud.google.com/apis/design/errors).
3012
+ # Corresponds to the JSON property `error`
3013
+ # @return [Google::Apis::DriveV3::Status]
3014
+ attr_accessor :error
3015
+
3016
+ # Service-specific metadata associated with the operation. It typically contains
3017
+ # progress information and common metadata such as create time. Some services
3018
+ # might not provide such metadata. Any method that returns a long-running
3019
+ # operation should document the metadata type, if any.
3020
+ # Corresponds to the JSON property `metadata`
3021
+ # @return [Hash<String,Object>]
3022
+ attr_accessor :metadata
3023
+
3024
+ # The server-assigned name, which is only unique within the same service that
3025
+ # originally returns it. If you use the default HTTP mapping, the `name` should
3026
+ # be a resource name ending with `operations/`unique_id``.
3027
+ # Corresponds to the JSON property `name`
3028
+ # @return [String]
3029
+ attr_accessor :name
3030
+
3031
+ # The normal, successful response of the operation. If the original method
3032
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
3033
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
3034
+ # response should be the resource. For other methods, the response should have
3035
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
3036
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
3037
+ # `TakeSnapshotResponse`.
3038
+ # Corresponds to the JSON property `response`
3039
+ # @return [Hash<String,Object>]
3040
+ attr_accessor :response
3041
+
3042
+ def initialize(**args)
3043
+ update!(**args)
3044
+ end
3045
+
3046
+ # Update properties of this object
3047
+ def update!(**args)
3048
+ @done = args[:done] if args.key?(:done)
3049
+ @error = args[:error] if args.key?(:error)
3050
+ @metadata = args[:metadata] if args.key?(:metadata)
3051
+ @name = args[:name] if args.key?(:name)
3052
+ @response = args[:response] if args.key?(:response)
3053
+ end
3054
+ end
3055
+
3056
+ # A permission for a file. A permission grants a user, group, domain, or the
3057
+ # world access to a file or a folder hierarchy. By default, permissions requests
3058
+ # only return a subset of fields. Permission kind, ID, type, and role are always
3059
+ # returned. To retrieve specific fields, see https://developers.google.com/drive/
3060
+ # api/guides/fields-parameter. Some resource methods (such as `permissions.
3061
+ # update`) require a `permissionId`. Use the `permissions.list` method to
3062
+ # retrieve the ID for a file, folder, or shared drive.
2507
3063
  class Permission
2508
3064
  include Google::Apis::Core::Hashable
2509
3065
 
2510
3066
  # Whether the permission allows the file to be discovered through search. This
2511
- # is only applicable for permissions of type domain or anyone.
3067
+ # is only applicable for permissions of type `domain` or `anyone`.
2512
3068
  # Corresponds to the JSON property `allowFileDiscovery`
2513
3069
  # @return [Boolean]
2514
3070
  attr_accessor :allow_file_discovery
2515
3071
  alias_method :allow_file_discovery?, :allow_file_discovery
2516
3072
 
2517
- # Whether the account associated with this permission has been deleted. This
2518
- # field only pertains to user and group permissions.
3073
+ # Output only. Whether the account associated with this permission has been
3074
+ # deleted. This field only pertains to user and group permissions.
2519
3075
  # Corresponds to the JSON property `deleted`
2520
3076
  # @return [Boolean]
2521
3077
  attr_accessor :deleted
2522
3078
  alias_method :deleted?, :deleted
2523
3079
 
2524
- # The "pretty" name of the value of the permission. The following is a list of
2525
- # examples for each type of permission:
2526
- # - user - User's full name, as defined for their Google account, such as "Joe
2527
- # Smith."
2528
- # - group - Name of the Google Group, such as "The Company Administrators."
2529
- # - domain - String domain name, such as "thecompany.com."
2530
- # - anyone - No displayName is present.
3080
+ # Output only. The "pretty" name of the value of the permission. The following
3081
+ # is a list of examples for each type of permission: * `user` - User's full name,
3082
+ # as defined for their Google account, such as "Joe Smith." * `group` - Name of
3083
+ # the Google Group, such as "The Company Administrators." * `domain` - String
3084
+ # domain name, such as "thecompany.com." * `anyone` - No `displayName` is
3085
+ # present.
2531
3086
  # Corresponds to the JSON property `displayName`
2532
3087
  # @return [String]
2533
3088
  attr_accessor :display_name
@@ -2543,77 +3098,68 @@ module Google
2543
3098
  attr_accessor :email_address
2544
3099
 
2545
3100
  # The time at which this permission will expire (RFC 3339 date-time). Expiration
2546
- # times have the following restrictions:
2547
- # - They cannot be set on shared drive items
2548
- # - They can only be set on user and group permissions
2549
- # - The time must be in the future
2550
- # - The time cannot be more than a year in the future
3101
+ # times have the following restrictions: - They can only be set on user and
3102
+ # group permissions - The time must be in the future - The time cannot be more
3103
+ # than a year in the future
2551
3104
  # Corresponds to the JSON property `expirationTime`
2552
3105
  # @return [DateTime]
2553
3106
  attr_accessor :expiration_time
2554
3107
 
2555
- # The ID of this permission. This is a unique identifier for the grantee, and is
2556
- # published in User resources as permissionId. IDs should be treated as opaque
2557
- # values.
3108
+ # Output only. The ID of this permission. This is a unique identifier for the
3109
+ # grantee, and is published in User resources as `permissionId`. IDs should be
3110
+ # treated as opaque values.
2558
3111
  # Corresponds to the JSON property `id`
2559
3112
  # @return [String]
2560
3113
  attr_accessor :id
2561
3114
 
2562
- # Identifies what kind of resource this is. Value: the fixed string "drive#
2563
- # permission".
3115
+ # Output only. Identifies what kind of resource this is. Value: the fixed string
3116
+ # `"drive#permission"`.
2564
3117
  # Corresponds to the JSON property `kind`
2565
3118
  # @return [String]
2566
3119
  attr_accessor :kind
2567
3120
 
2568
3121
  # Whether the account associated with this permission is a pending owner. Only
2569
- # populated for user type permissions for files that are not in a shared drive.
3122
+ # populated for `user` type permissions for files that are not in a shared drive.
2570
3123
  # Corresponds to the JSON property `pendingOwner`
2571
3124
  # @return [Boolean]
2572
3125
  attr_accessor :pending_owner
2573
3126
  alias_method :pending_owner?, :pending_owner
2574
3127
 
2575
- # Details of whether the permissions on this shared drive item are inherited or
2576
- # directly on this item. This is an output-only field which is present only for
2577
- # shared drive items.
3128
+ # Output only. Details of whether the permissions on this shared drive item are
3129
+ # inherited or directly on this item. This is an output-only field which is
3130
+ # present only for shared drive items.
2578
3131
  # Corresponds to the JSON property `permissionDetails`
2579
3132
  # @return [Array<Google::Apis::DriveV3::Permission::PermissionDetail>]
2580
3133
  attr_accessor :permission_details
2581
3134
 
2582
- # A link to the user's profile photo, if available.
3135
+ # Output only. A link to the user's profile photo, if available.
2583
3136
  # Corresponds to the JSON property `photoLink`
2584
3137
  # @return [String]
2585
3138
  attr_accessor :photo_link
2586
3139
 
2587
3140
  # The role granted by this permission. While new values may be supported in the
2588
- # future, the following are currently allowed:
2589
- # - owner
2590
- # - organizer
2591
- # - fileOrganizer
2592
- # - writer
2593
- # - commenter
2594
- # - reader
3141
+ # future, the following are currently allowed: * `owner` * `organizer` * `
3142
+ # fileOrganizer` * `writer` * `commenter` * `reader`
2595
3143
  # Corresponds to the JSON property `role`
2596
3144
  # @return [String]
2597
3145
  attr_accessor :role
2598
3146
 
2599
- # Deprecated - use permissionDetails instead.
3147
+ # Output only. Deprecated: Output only. Use `permissionDetails` instead.
2600
3148
  # Corresponds to the JSON property `teamDrivePermissionDetails`
2601
3149
  # @return [Array<Google::Apis::DriveV3::Permission::TeamDrivePermissionDetail>]
2602
3150
  attr_accessor :team_drive_permission_details
2603
3151
 
2604
- # The type of the grantee. Valid values are:
2605
- # - user
2606
- # - group
2607
- # - domain
2608
- # - anyone When creating a permission, if type is user or group, you must
2609
- # provide an emailAddress for the user or group. When type is domain, you must
2610
- # provide a domain. There isn't extra information required for a anyone type.
3152
+ # The type of the grantee. Valid values are: * `user` * `group` * `domain` * `
3153
+ # anyone` When creating a permission, if `type` is `user` or `group`, you must
3154
+ # provide an `emailAddress` for the user or group. When `type` is `domain`, you
3155
+ # must provide a `domain`. There isn't extra information required for an `anyone`
3156
+ # type.
2611
3157
  # Corresponds to the JSON property `type`
2612
3158
  # @return [String]
2613
3159
  attr_accessor :type
2614
3160
 
2615
3161
  # Indicates the view for this permission. Only populated for permissions that
2616
- # belong to a view. published is the only supported value.
3162
+ # belong to a view. 'published' is the only supported value.
2617
3163
  # Corresponds to the JSON property `view`
2618
3164
  # @return [String]
2619
3165
  attr_accessor :view
@@ -2645,34 +3191,28 @@ module Google
2645
3191
  class PermissionDetail
2646
3192
  include Google::Apis::Core::Hashable
2647
3193
 
2648
- # Whether this permission is inherited. This field is always populated. This is
2649
- # an output-only field.
3194
+ # Output only. Whether this permission is inherited. This field is always
3195
+ # populated. This is an output-only field.
2650
3196
  # Corresponds to the JSON property `inherited`
2651
3197
  # @return [Boolean]
2652
3198
  attr_accessor :inherited
2653
3199
  alias_method :inherited?, :inherited
2654
3200
 
2655
- # The ID of the item from which this permission is inherited. This is an output-
2656
- # only field.
3201
+ # Output only. The ID of the item from which this permission is inherited. This
3202
+ # is an output-only field.
2657
3203
  # Corresponds to the JSON property `inheritedFrom`
2658
3204
  # @return [String]
2659
3205
  attr_accessor :inherited_from
2660
3206
 
2661
- # The permission type for this user. While new values may be added in future,
2662
- # the following are currently possible:
2663
- # - file
2664
- # - member
3207
+ # Output only. The permission type for this user. While new values may be added
3208
+ # in future, the following are currently possible: * `file` * `member`
2665
3209
  # Corresponds to the JSON property `permissionType`
2666
3210
  # @return [String]
2667
3211
  attr_accessor :permission_type
2668
3212
 
2669
- # The primary role for this user. While new values may be added in the future,
2670
- # the following are currently possible:
2671
- # - organizer
2672
- # - fileOrganizer
2673
- # - writer
2674
- # - commenter
2675
- # - reader
3213
+ # Output only. The primary role for this user. While new values may be added in
3214
+ # the future, the following are currently possible: * `organizer` * `
3215
+ # fileOrganizer` * `writer` * `commenter` * `reader`
2676
3216
  # Corresponds to the JSON property `role`
2677
3217
  # @return [String]
2678
3218
  attr_accessor :role
@@ -2694,23 +3234,23 @@ module Google
2694
3234
  class TeamDrivePermissionDetail
2695
3235
  include Google::Apis::Core::Hashable
2696
3236
 
2697
- # Deprecated - use permissionDetails/inherited instead.
3237
+ # Deprecated: Output only. Use `permissionDetails/inherited` instead.
2698
3238
  # Corresponds to the JSON property `inherited`
2699
3239
  # @return [Boolean]
2700
3240
  attr_accessor :inherited
2701
3241
  alias_method :inherited?, :inherited
2702
3242
 
2703
- # Deprecated - use permissionDetails/inheritedFrom instead.
3243
+ # Deprecated: Output only. Use `permissionDetails/inheritedFrom` instead.
2704
3244
  # Corresponds to the JSON property `inheritedFrom`
2705
3245
  # @return [String]
2706
3246
  attr_accessor :inherited_from
2707
3247
 
2708
- # Deprecated - use permissionDetails/role instead.
3248
+ # Deprecated: Output only. Use `permissionDetails/role` instead.
2709
3249
  # Corresponds to the JSON property `role`
2710
3250
  # @return [String]
2711
3251
  attr_accessor :role
2712
3252
 
2713
- # Deprecated - use permissionDetails/permissionType instead.
3253
+ # Deprecated: Output only. Use `permissionDetails/permissionType` instead.
2714
3254
  # Corresponds to the JSON property `teamDrivePermissionType`
2715
3255
  # @return [String]
2716
3256
  attr_accessor :team_drive_permission_type
@@ -2733,8 +3273,8 @@ module Google
2733
3273
  class PermissionList
2734
3274
  include Google::Apis::Core::Hashable
2735
3275
 
2736
- # Identifies what kind of resource this is. Value: the fixed string "drive#
2737
- # permissionList".
3276
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
3277
+ # permissionList"`.
2738
3278
  # Corresponds to the JSON property `kind`
2739
3279
  # @return [String]
2740
3280
  attr_accessor :kind
@@ -2742,7 +3282,9 @@ module Google
2742
3282
  # The page token for the next page of permissions. This field will be absent if
2743
3283
  # the end of the permissions list has been reached. If the token is rejected for
2744
3284
  # any reason, it should be discarded, and pagination should be restarted from
2745
- # the first page of results.
3285
+ # the first page of results. The page token is typically valid for several hours.
3286
+ # However, if new items are added or removed, your expected results might
3287
+ # differ.
2746
3288
  # Corresponds to the JSON property `nextPageToken`
2747
3289
  # @return [String]
2748
3290
  attr_accessor :next_page_token
@@ -2765,13 +3307,14 @@ module Google
2765
3307
  end
2766
3308
  end
2767
3309
 
2768
- # A reply to a comment on a file.
3310
+ # A reply to a comment on a file. Some resource methods (such as `replies.update`
3311
+ # ) require a `replyId`. Use the `replies.list` method to retrieve the ID for a
3312
+ # reply.
2769
3313
  class Reply
2770
3314
  include Google::Apis::Core::Hashable
2771
3315
 
2772
- # The action the reply performed to the parent comment. Valid values are:
2773
- # - resolve
2774
- # - reopen
3316
+ # The action the reply performed to the parent comment. Valid values are: * `
3317
+ # resolve` * `reopen`
2775
3318
  # Corresponds to the JSON property `action`
2776
3319
  # @return [String]
2777
3320
  attr_accessor :action
@@ -2782,8 +3325,8 @@ module Google
2782
3325
  attr_accessor :author
2783
3326
 
2784
3327
  # The plain text content of the reply. This field is used for setting the
2785
- # content, while htmlContent should be displayed. This is required on creates if
2786
- # no action is specified.
3328
+ # content, while `htmlContent` should be displayed. This is required on creates
3329
+ # if no `action` is specified.
2787
3330
  # Corresponds to the JSON property `content`
2788
3331
  # @return [String]
2789
3332
  attr_accessor :content
@@ -2793,24 +3336,25 @@ module Google
2793
3336
  # @return [DateTime]
2794
3337
  attr_accessor :created_time
2795
3338
 
2796
- # Whether the reply has been deleted. A deleted reply has no content.
3339
+ # Output only. Whether the reply has been deleted. A deleted reply has no
3340
+ # content.
2797
3341
  # Corresponds to the JSON property `deleted`
2798
3342
  # @return [Boolean]
2799
3343
  attr_accessor :deleted
2800
3344
  alias_method :deleted?, :deleted
2801
3345
 
2802
- # The content of the reply with HTML formatting.
3346
+ # Output only. The content of the reply with HTML formatting.
2803
3347
  # Corresponds to the JSON property `htmlContent`
2804
3348
  # @return [String]
2805
3349
  attr_accessor :html_content
2806
3350
 
2807
- # The ID of the reply.
3351
+ # Output only. The ID of the reply.
2808
3352
  # Corresponds to the JSON property `id`
2809
3353
  # @return [String]
2810
3354
  attr_accessor :id
2811
3355
 
2812
- # Identifies what kind of resource this is. Value: the fixed string "drive#reply"
2813
- # .
3356
+ # Output only. Identifies what kind of resource this is. Value: the fixed string
3357
+ # `"drive#reply"`.
2814
3358
  # Corresponds to the JSON property `kind`
2815
3359
  # @return [String]
2816
3360
  attr_accessor :kind
@@ -2842,8 +3386,8 @@ module Google
2842
3386
  class ReplyList
2843
3387
  include Google::Apis::Core::Hashable
2844
3388
 
2845
- # Identifies what kind of resource this is. Value: the fixed string "drive#
2846
- # replyList".
3389
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
3390
+ # replyList"`.
2847
3391
  # Corresponds to the JSON property `kind`
2848
3392
  # @return [String]
2849
3393
  attr_accessor :kind
@@ -2851,7 +3395,8 @@ module Google
2851
3395
  # The page token for the next page of replies. This will be absent if the end of
2852
3396
  # the replies list has been reached. If the token is rejected for any reason, it
2853
3397
  # should be discarded, and pagination should be restarted from the first page of
2854
- # results.
3398
+ # results. The page token is typically valid for several hours. However, if new
3399
+ # items are added or removed, your expected results might differ.
2855
3400
  # Corresponds to the JSON property `nextPageToken`
2856
3401
  # @return [String]
2857
3402
  attr_accessor :next_page_token
@@ -2874,16 +3419,59 @@ module Google
2874
3419
  end
2875
3420
  end
2876
3421
 
2877
- # The metadata for a revision to a file.
3422
+ # Request message for resolving an AccessProposal on a file.
3423
+ class ResolveAccessProposalRequest
3424
+ include Google::Apis::Core::Hashable
3425
+
3426
+ # Required. The action to take on the AccessProposal.
3427
+ # Corresponds to the JSON property `action`
3428
+ # @return [String]
3429
+ attr_accessor :action
3430
+
3431
+ # Optional. The roles the approver has allowed, if any. Note: This field is
3432
+ # required for the `ACCEPT` action.
3433
+ # Corresponds to the JSON property `role`
3434
+ # @return [Array<String>]
3435
+ attr_accessor :role
3436
+
3437
+ # Optional. Whether to send an email to the requester when the AccessProposal is
3438
+ # denied or accepted.
3439
+ # Corresponds to the JSON property `sendNotification`
3440
+ # @return [Boolean]
3441
+ attr_accessor :send_notification
3442
+ alias_method :send_notification?, :send_notification
3443
+
3444
+ # Optional. Indicates the view for this access proposal. This should only be set
3445
+ # when the proposal belongs to a view. `published` is the only supported value.
3446
+ # Corresponds to the JSON property `view`
3447
+ # @return [String]
3448
+ attr_accessor :view
3449
+
3450
+ def initialize(**args)
3451
+ update!(**args)
3452
+ end
3453
+
3454
+ # Update properties of this object
3455
+ def update!(**args)
3456
+ @action = args[:action] if args.key?(:action)
3457
+ @role = args[:role] if args.key?(:role)
3458
+ @send_notification = args[:send_notification] if args.key?(:send_notification)
3459
+ @view = args[:view] if args.key?(:view)
3460
+ end
3461
+ end
3462
+
3463
+ # The metadata for a revision to a file. Some resource methods (such as `
3464
+ # revisions.update`) require a `revisionId`. Use the `revisions.list` method to
3465
+ # retrieve the ID for a revision.
2878
3466
  class Revision
2879
3467
  include Google::Apis::Core::Hashable
2880
3468
 
2881
- # Links for exporting Docs Editors files to specific formats.
3469
+ # Output only. Links for exporting Docs Editors files to specific formats.
2882
3470
  # Corresponds to the JSON property `exportLinks`
2883
3471
  # @return [Hash<String,String>]
2884
3472
  attr_accessor :export_links
2885
3473
 
2886
- # The ID of the revision.
3474
+ # Output only. The ID of the revision.
2887
3475
  # Corresponds to the JSON property `id`
2888
3476
  # @return [String]
2889
3477
  attr_accessor :id
@@ -2891,15 +3479,14 @@ module Google
2891
3479
  # Whether to keep this revision forever, even if it is no longer the head
2892
3480
  # revision. If not set, the revision will be automatically purged 30 days after
2893
3481
  # newer content is uploaded. This can be set on a maximum of 200 revisions for a
2894
- # file.
2895
- # This field is only applicable to files with binary content in Drive.
3482
+ # file. This field is only applicable to files with binary content in Drive.
2896
3483
  # Corresponds to the JSON property `keepForever`
2897
3484
  # @return [Boolean]
2898
3485
  attr_accessor :keep_forever
2899
3486
  alias_method :keep_forever?, :keep_forever
2900
3487
 
2901
- # Identifies what kind of resource this is. Value: the fixed string "drive#
2902
- # revision".
3488
+ # Output only. Identifies what kind of resource this is. Value: the fixed string
3489
+ # `"drive#revision"`.
2903
3490
  # Corresponds to the JSON property `kind`
2904
3491
  # @return [String]
2905
3492
  attr_accessor :kind
@@ -2909,13 +3496,13 @@ module Google
2909
3496
  # @return [Google::Apis::DriveV3::User]
2910
3497
  attr_accessor :last_modifying_user
2911
3498
 
2912
- # The MD5 checksum of the revision's content. This is only applicable to files
2913
- # with binary content in Drive.
3499
+ # Output only. The MD5 checksum of the revision's content. This is only
3500
+ # applicable to files with binary content in Drive.
2914
3501
  # Corresponds to the JSON property `md5Checksum`
2915
3502
  # @return [String]
2916
3503
  attr_accessor :md5_checksum
2917
3504
 
2918
- # The MIME type of the revision.
3505
+ # Output only. The MIME type of the revision.
2919
3506
  # Corresponds to the JSON property `mimeType`
2920
3507
  # @return [String]
2921
3508
  attr_accessor :mime_type
@@ -2925,8 +3512,8 @@ module Google
2925
3512
  # @return [DateTime]
2926
3513
  attr_accessor :modified_time
2927
3514
 
2928
- # The original filename used to create this revision. This is only applicable to
2929
- # files with binary content in Drive.
3515
+ # Output only. The original filename used to create this revision. This is only
3516
+ # applicable to files with binary content in Drive.
2930
3517
  # Corresponds to the JSON property `originalFilename`
2931
3518
  # @return [String]
2932
3519
  attr_accessor :original_filename
@@ -2945,8 +3532,8 @@ module Google
2945
3532
  attr_accessor :published
2946
3533
  alias_method :published?, :published
2947
3534
 
2948
- # A link to the published revision. This is only populated for Google Sites
2949
- # files.
3535
+ # Output only. A link to the published revision. This is only populated for
3536
+ # Google Sites files.
2950
3537
  # Corresponds to the JSON property `publishedLink`
2951
3538
  # @return [String]
2952
3539
  attr_accessor :published_link
@@ -2958,8 +3545,8 @@ module Google
2958
3545
  attr_accessor :published_outside_domain
2959
3546
  alias_method :published_outside_domain?, :published_outside_domain
2960
3547
 
2961
- # The size of the revision's content in bytes. This is only applicable to files
2962
- # with binary content in Drive.
3548
+ # Output only. The size of the revision's content in bytes. This is only
3549
+ # applicable to files with binary content in Drive.
2963
3550
  # Corresponds to the JSON property `size`
2964
3551
  # @return [Fixnum]
2965
3552
  attr_accessor :size
@@ -2991,8 +3578,8 @@ module Google
2991
3578
  class RevisionList
2992
3579
  include Google::Apis::Core::Hashable
2993
3580
 
2994
- # Identifies what kind of resource this is. Value: the fixed string "drive#
2995
- # revisionList".
3581
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
3582
+ # revisionList"`.
2996
3583
  # Corresponds to the JSON property `kind`
2997
3584
  # @return [String]
2998
3585
  attr_accessor :kind
@@ -3000,7 +3587,8 @@ module Google
3000
3587
  # The page token for the next page of revisions. This will be absent if the end
3001
3588
  # of the revisions list has been reached. If the token is rejected for any
3002
3589
  # reason, it should be discarded, and pagination should be restarted from the
3003
- # first page of results.
3590
+ # first page of results. The page token is typically valid for several hours.
3591
+ # However, if new items are added or removed, your expected results might differ.
3004
3592
  # Corresponds to the JSON property `nextPageToken`
3005
3593
  # @return [String]
3006
3594
  attr_accessor :next_page_token
@@ -3027,13 +3615,14 @@ module Google
3027
3615
  class StartPageToken
3028
3616
  include Google::Apis::Core::Hashable
3029
3617
 
3030
- # Identifies what kind of resource this is. Value: the fixed string "drive#
3031
- # startPageToken".
3618
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
3619
+ # startPageToken"`.
3032
3620
  # Corresponds to the JSON property `kind`
3033
3621
  # @return [String]
3034
3622
  attr_accessor :kind
3035
3623
 
3036
- # The starting page token for listing changes.
3624
+ # The starting page token for listing future changes. The page token doesn't
3625
+ # expire.
3037
3626
  # Corresponds to the JSON property `startPageToken`
3038
3627
  # @return [String]
3039
3628
  attr_accessor :start_page_token
@@ -3049,14 +3638,53 @@ module Google
3049
3638
  end
3050
3639
  end
3051
3640
 
3641
+ # The `Status` type defines a logical error model that is suitable for different
3642
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3643
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3644
+ # data: error code, error message, and error details. You can find out more
3645
+ # about this error model and how to work with it in the [API Design Guide](https:
3646
+ # //cloud.google.com/apis/design/errors).
3647
+ class Status
3648
+ include Google::Apis::Core::Hashable
3649
+
3650
+ # The status code, which should be an enum value of google.rpc.Code.
3651
+ # Corresponds to the JSON property `code`
3652
+ # @return [Fixnum]
3653
+ attr_accessor :code
3654
+
3655
+ # A list of messages that carry the error details. There is a common set of
3656
+ # message types for APIs to use.
3657
+ # Corresponds to the JSON property `details`
3658
+ # @return [Array<Hash<String,Object>>]
3659
+ attr_accessor :details
3660
+
3661
+ # A developer-facing error message, which should be in English. Any user-facing
3662
+ # error message should be localized and sent in the google.rpc.Status.details
3663
+ # field, or localized by the client.
3664
+ # Corresponds to the JSON property `message`
3665
+ # @return [String]
3666
+ attr_accessor :message
3667
+
3668
+ def initialize(**args)
3669
+ update!(**args)
3670
+ end
3671
+
3672
+ # Update properties of this object
3673
+ def update!(**args)
3674
+ @code = args[:code] if args.key?(:code)
3675
+ @details = args[:details] if args.key?(:details)
3676
+ @message = args[:message] if args.key?(:message)
3677
+ end
3678
+ end
3679
+
3052
3680
  # Deprecated: use the drive collection instead.
3053
3681
  class TeamDrive
3054
3682
  include Google::Apis::Core::Hashable
3055
3683
 
3056
3684
  # An image file and cropping parameters from which a background image for this
3057
- # Team Drive is set. This is a write only field; it can only be set on drive.
3058
- # teamdrives.update requests that don't set themeId. When specified, all fields
3059
- # of the backgroundImageFile must be set.
3685
+ # Team Drive is set. This is a write only field; it can only be set on `drive.
3686
+ # teamdrives.update` requests that don't set `themeId`. When specified, all
3687
+ # fields of the `backgroundImageFile` must be set.
3060
3688
  # Corresponds to the JSON property `backgroundImageFile`
3061
3689
  # @return [Google::Apis::DriveV3::TeamDrive::BackgroundImageFile]
3062
3690
  attr_accessor :background_image_file
@@ -3071,8 +3699,8 @@ module Google
3071
3699
  # @return [Google::Apis::DriveV3::TeamDrive::Capabilities]
3072
3700
  attr_accessor :capabilities
3073
3701
 
3074
- # The color of this Team Drive as an RGB hex string. It can only be set on a
3075
- # drive.teamdrives.update request that does not set themeId.
3702
+ # The color of this Team Drive as an RGB hex string. It can only be set on a `
3703
+ # drive.teamdrives.update` request that does not set `themeId`.
3076
3704
  # Corresponds to the JSON property `colorRgb`
3077
3705
  # @return [String]
3078
3706
  attr_accessor :color_rgb
@@ -3088,8 +3716,8 @@ module Google
3088
3716
  # @return [String]
3089
3717
  attr_accessor :id
3090
3718
 
3091
- # Identifies what kind of resource this is. Value: the fixed string "drive#
3092
- # teamDrive".
3719
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
3720
+ # teamDrive"`.
3093
3721
  # Corresponds to the JSON property `kind`
3094
3722
  # @return [String]
3095
3723
  attr_accessor :kind
@@ -3099,8 +3727,9 @@ module Google
3099
3727
  # @return [String]
3100
3728
  attr_accessor :name
3101
3729
 
3102
- # The organizational unit of this shared drive. This field is only populated on
3103
- # drives.list responses when the useDomainAdminAccess parameter is set to true.
3730
+ # The organizational unit of this shared drive. This field is only populated on `
3731
+ # drives.list` responses when the `useDomainAdminAccess` parameter is set to `
3732
+ # true`.
3104
3733
  # Corresponds to the JSON property `orgUnitId`
3105
3734
  # @return [String]
3106
3735
  attr_accessor :org_unit_id
@@ -3112,11 +3741,11 @@ module Google
3112
3741
  attr_accessor :restrictions
3113
3742
 
3114
3743
  # The ID of the theme from which the background image and color will be set. The
3115
- # set of possible teamDriveThemes can be retrieved from a drive.about.get
3116
- # response. When not specified on a drive.teamdrives.create request, a random
3744
+ # set of possible `teamDriveThemes` can be retrieved from a `drive.about.get`
3745
+ # response. When not specified on a `drive.teamdrives.create` request, a random
3117
3746
  # theme is chosen from which the background image and color are set. This is a
3118
- # write-only field; it can only be set on requests that don't set colorRgb or
3119
- # backgroundImageFile.
3747
+ # write-only field; it can only be set on requests that don't set `colorRgb` or `
3748
+ # backgroundImageFile`.
3120
3749
  # Corresponds to the JSON property `themeId`
3121
3750
  # @return [String]
3122
3751
  attr_accessor :theme_id
@@ -3141,9 +3770,9 @@ module Google
3141
3770
  end
3142
3771
 
3143
3772
  # An image file and cropping parameters from which a background image for this
3144
- # Team Drive is set. This is a write only field; it can only be set on drive.
3145
- # teamdrives.update requests that don't set themeId. When specified, all fields
3146
- # of the backgroundImageFile must be set.
3773
+ # Team Drive is set. This is a write only field; it can only be set on `drive.
3774
+ # teamdrives.update` requests that don't set `themeId`. When specified, all
3775
+ # fields of the `backgroundImageFile` must be set.
3147
3776
  class BackgroundImageFile
3148
3777
  include Google::Apis::Core::Hashable
3149
3778
 
@@ -3200,27 +3829,34 @@ module Google
3200
3829
  attr_accessor :can_add_children
3201
3830
  alias_method :can_add_children?, :can_add_children
3202
3831
 
3203
- # Whether the current user can change the copyRequiresWriterPermission
3832
+ # Whether the current user can change the `copyRequiresWriterPermission`
3204
3833
  # restriction of this Team Drive.
3205
3834
  # Corresponds to the JSON property `canChangeCopyRequiresWriterPermissionRestriction`
3206
3835
  # @return [Boolean]
3207
3836
  attr_accessor :can_change_copy_requires_writer_permission_restriction
3208
3837
  alias_method :can_change_copy_requires_writer_permission_restriction?, :can_change_copy_requires_writer_permission_restriction
3209
3838
 
3210
- # Whether the current user can change the domainUsersOnly restriction of this
3839
+ # Whether the current user can change the `domainUsersOnly` restriction of this
3211
3840
  # Team Drive.
3212
3841
  # Corresponds to the JSON property `canChangeDomainUsersOnlyRestriction`
3213
3842
  # @return [Boolean]
3214
3843
  attr_accessor :can_change_domain_users_only_restriction
3215
3844
  alias_method :can_change_domain_users_only_restriction?, :can_change_domain_users_only_restriction
3216
3845
 
3846
+ # Whether the current user can change the `
3847
+ # sharingFoldersRequiresOrganizerPermission` restriction of this Team Drive.
3848
+ # Corresponds to the JSON property `canChangeSharingFoldersRequiresOrganizerPermissionRestriction`
3849
+ # @return [Boolean]
3850
+ attr_accessor :can_change_sharing_folders_requires_organizer_permission_restriction
3851
+ alias_method :can_change_sharing_folders_requires_organizer_permission_restriction?, :can_change_sharing_folders_requires_organizer_permission_restriction
3852
+
3217
3853
  # Whether the current user can change the background of this Team Drive.
3218
3854
  # Corresponds to the JSON property `canChangeTeamDriveBackground`
3219
3855
  # @return [Boolean]
3220
3856
  attr_accessor :can_change_team_drive_background
3221
3857
  alias_method :can_change_team_drive_background?, :can_change_team_drive_background
3222
3858
 
3223
- # Whether the current user can change the teamMembersOnly restriction of this
3859
+ # Whether the current user can change the `teamMembersOnly` restriction of this
3224
3860
  # Team Drive.
3225
3861
  # Corresponds to the JSON property `canChangeTeamMembersOnlyRestriction`
3226
3862
  # @return [Boolean]
@@ -3284,7 +3920,7 @@ module Google
3284
3920
  attr_accessor :can_read_revisions
3285
3921
  alias_method :can_read_revisions?, :can_read_revisions
3286
3922
 
3287
- # Deprecated - use canDeleteChildren or canTrashChildren instead.
3923
+ # Deprecated: Use `canDeleteChildren` or `canTrashChildren` instead.
3288
3924
  # Corresponds to the JSON property `canRemoveChildren`
3289
3925
  # @return [Boolean]
3290
3926
  attr_accessor :can_remove_children
@@ -3329,6 +3965,7 @@ module Google
3329
3965
  @can_add_children = args[:can_add_children] if args.key?(:can_add_children)
3330
3966
  @can_change_copy_requires_writer_permission_restriction = args[:can_change_copy_requires_writer_permission_restriction] if args.key?(:can_change_copy_requires_writer_permission_restriction)
3331
3967
  @can_change_domain_users_only_restriction = args[:can_change_domain_users_only_restriction] if args.key?(:can_change_domain_users_only_restriction)
3968
+ @can_change_sharing_folders_requires_organizer_permission_restriction = args[:can_change_sharing_folders_requires_organizer_permission_restriction] if args.key?(:can_change_sharing_folders_requires_organizer_permission_restriction)
3332
3969
  @can_change_team_drive_background = args[:can_change_team_drive_background] if args.key?(:can_change_team_drive_background)
3333
3970
  @can_change_team_members_only_restriction = args[:can_change_team_members_only_restriction] if args.key?(:can_change_team_members_only_restriction)
3334
3971
  @can_comment = args[:can_comment] if args.key?(:can_comment)
@@ -3363,8 +4000,8 @@ module Google
3363
4000
 
3364
4001
  # Whether the options to copy, print, or download files inside this Team Drive,
3365
4002
  # should be disabled for readers and commenters. When this restriction is set to
3366
- # true, it will override the similarly named field to true for any file inside
3367
- # this Team Drive.
4003
+ # `true`, it will override the similarly named field to `true` for any file
4004
+ # inside this Team Drive.
3368
4005
  # Corresponds to the JSON property `copyRequiresWriterPermission`
3369
4006
  # @return [Boolean]
3370
4007
  attr_accessor :copy_requires_writer_permission
@@ -3379,6 +4016,13 @@ module Google
3379
4016
  attr_accessor :domain_users_only
3380
4017
  alias_method :domain_users_only?, :domain_users_only
3381
4018
 
4019
+ # If true, only users with the organizer role can share folders. If false, users
4020
+ # with either the organizer role or the file organizer role can share folders.
4021
+ # Corresponds to the JSON property `sharingFoldersRequiresOrganizerPermission`
4022
+ # @return [Boolean]
4023
+ attr_accessor :sharing_folders_requires_organizer_permission
4024
+ alias_method :sharing_folders_requires_organizer_permission?, :sharing_folders_requires_organizer_permission
4025
+
3382
4026
  # Whether access to items inside this Team Drive is restricted to members of
3383
4027
  # this Team Drive.
3384
4028
  # Corresponds to the JSON property `teamMembersOnly`
@@ -3395,6 +4039,7 @@ module Google
3395
4039
  @admin_managed_restrictions = args[:admin_managed_restrictions] if args.key?(:admin_managed_restrictions)
3396
4040
  @copy_requires_writer_permission = args[:copy_requires_writer_permission] if args.key?(:copy_requires_writer_permission)
3397
4041
  @domain_users_only = args[:domain_users_only] if args.key?(:domain_users_only)
4042
+ @sharing_folders_requires_organizer_permission = args[:sharing_folders_requires_organizer_permission] if args.key?(:sharing_folders_requires_organizer_permission)
3398
4043
  @team_members_only = args[:team_members_only] if args.key?(:team_members_only)
3399
4044
  end
3400
4045
  end
@@ -3404,8 +4049,8 @@ module Google
3404
4049
  class TeamDriveList
3405
4050
  include Google::Apis::Core::Hashable
3406
4051
 
3407
- # Identifies what kind of resource this is. Value: the fixed string "drive#
3408
- # teamDriveList".
4052
+ # Identifies what kind of resource this is. Value: the fixed string `"drive#
4053
+ # teamDriveList"`.
3409
4054
  # Corresponds to the JSON property `kind`
3410
4055
  # @return [String]
3411
4056
  attr_accessor :kind
@@ -3413,7 +4058,8 @@ module Google
3413
4058
  # The page token for the next page of Team Drives. This will be absent if the
3414
4059
  # end of the Team Drives list has been reached. If the token is rejected for any
3415
4060
  # reason, it should be discarded, and pagination should be restarted from the
3416
- # first page of results.
4061
+ # first page of results. The page token is typically valid for several hours.
4062
+ # However, if new items are added or removed, your expected results might differ.
3417
4063
  # Corresponds to the JSON property `nextPageToken`
3418
4064
  # @return [String]
3419
4065
  attr_accessor :next_page_token
@@ -3440,34 +4086,35 @@ module Google
3440
4086
  class User
3441
4087
  include Google::Apis::Core::Hashable
3442
4088
 
3443
- # A plain text displayable name for this user.
4089
+ # Output only. A plain text displayable name for this user.
3444
4090
  # Corresponds to the JSON property `displayName`
3445
4091
  # @return [String]
3446
4092
  attr_accessor :display_name
3447
4093
 
3448
- # The email address of the user. This may not be present in certain contexts if
3449
- # the user has not made their email address visible to the requester.
4094
+ # Output only. The email address of the user. This may not be present in certain
4095
+ # contexts if the user has not made their email address visible to the requester.
3450
4096
  # Corresponds to the JSON property `emailAddress`
3451
4097
  # @return [String]
3452
4098
  attr_accessor :email_address
3453
4099
 
3454
- # Identifies what kind of resource this is. Value: the fixed string "drive#user".
4100
+ # Output only. Identifies what kind of resource this is. Value: the fixed string
4101
+ # `"drive#user"`.
3455
4102
  # Corresponds to the JSON property `kind`
3456
4103
  # @return [String]
3457
4104
  attr_accessor :kind
3458
4105
 
3459
- # Whether this user is the requesting user.
4106
+ # Output only. Whether this user is the requesting user.
3460
4107
  # Corresponds to the JSON property `me`
3461
4108
  # @return [Boolean]
3462
4109
  attr_accessor :me
3463
4110
  alias_method :me?, :me
3464
4111
 
3465
- # The user's ID as visible in Permission resources.
4112
+ # Output only. The user's ID as visible in Permission resources.
3466
4113
  # Corresponds to the JSON property `permissionId`
3467
4114
  # @return [String]
3468
4115
  attr_accessor :permission_id
3469
4116
 
3470
- # A link to the user's profile photo, if available.
4117
+ # Output only. A link to the user's profile photo, if available.
3471
4118
  # Corresponds to the JSON property `photoLink`
3472
4119
  # @return [String]
3473
4120
  attr_accessor :photo_link