Class: Google::Apis::DriveV3::Permission

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/drive_v3/classes.rb,
lib/google/apis/drive_v3/representations.rb,
lib/google/apis/drive_v3/representations.rb

Overview

A permission for a file. A permission grants a user, group, domain, or the world access to a file or a folder hierarchy. For more information, see Share files, folders, and drives. By default, permission requests only return a subset of fields. Permission kind, ID, type, and role are always returned. To retrieve specific fields, see Return specific fields. Some resource methods (such as permissions.update) require a permissionId. Use the permissions. list method to retrieve the ID for a file, folder, or shared drive.

Defined Under Namespace

Classes: PermissionDetail, TeamDrivePermissionDetail

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Permission

Returns a new instance of Permission.



3532
3533
3534
# File 'lib/google/apis/drive_v3/classes.rb', line 3532

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#allow_file_discoveryBoolean Also known as: allow_file_discovery?

Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone. Corresponds to the JSON property allowFileDiscovery

Returns:

  • (Boolean)


3421
3422
3423
# File 'lib/google/apis/drive_v3/classes.rb', line 3421

def allow_file_discovery
  @allow_file_discovery
end

#deletedBoolean Also known as: deleted?

Output only. Whether the account associated with this permission has been deleted. This field only pertains to permissions of type user or group. Corresponds to the JSON property deleted

Returns:

  • (Boolean)


3428
3429
3430
# File 'lib/google/apis/drive_v3/classes.rb', line 3428

def deleted
  @deleted
end

#display_nameString

Output only. The "pretty" name of the value of the permission. The following is a list of examples for each type of permission: * user - User's full name, as defined for their Google Account, such as "Dana A." * group - Name of the Google Group, such as "The Company Administrators." * domain - String domain name, such as "cymbalgroup.com." * anyone - No displayName is present. Corresponds to the JSON property displayName

Returns:

  • (String)


3439
3440
3441
# File 'lib/google/apis/drive_v3/classes.rb', line 3439

def display_name
  @display_name
end

#domainString

The domain to which this permission refers. Corresponds to the JSON property domain

Returns:

  • (String)


3444
3445
3446
# File 'lib/google/apis/drive_v3/classes.rb', line 3444

def domain
  @domain
end

#email_addressString

The email address of the user or group to which this permission refers. Corresponds to the JSON property emailAddress

Returns:

  • (String)


3449
3450
3451
# File 'lib/google/apis/drive_v3/classes.rb', line 3449

def email_address
  @email_address
end

#expiration_timeDateTime

The time at which this permission will expire (RFC 3339 date-time). Expiration times have the following restrictions: - They can only be set on user and group permissions - The time must be in the future - The time cannot be more than a year in the future Corresponds to the JSON property expirationTime

Returns:

  • (DateTime)


3457
3458
3459
# File 'lib/google/apis/drive_v3/classes.rb', line 3457

def expiration_time
  @expiration_time
end

#idString

Output only. The ID of this permission. This is a unique identifier for the grantee, and is published in the User resource as permissionId. IDs should be treated as opaque values. Corresponds to the JSON property id

Returns:

  • (String)


3465
3466
3467
# File 'lib/google/apis/drive_v3/classes.rb', line 3465

def id
  @id
end

#inherited_permissions_disabledBoolean Also known as: inherited_permissions_disabled?

When true, only organizers, owners, and users with permissions added directly on the item can access it. Corresponds to the JSON property inheritedPermissionsDisabled

Returns:

  • (Boolean)


3471
3472
3473
# File 'lib/google/apis/drive_v3/classes.rb', line 3471

def inherited_permissions_disabled
  @inherited_permissions_disabled
end

#kindString

Output only. Identifies what kind of resource this is. Value: the fixed string "drive#permission". Corresponds to the JSON property kind

Returns:

  • (String)


3478
3479
3480
# File 'lib/google/apis/drive_v3/classes.rb', line 3478

def kind
  @kind
end

#pending_ownerBoolean Also known as: pending_owner?

Whether the account associated with this permission is a pending owner. Only populated for permissions of type user for files that aren't in a shared drive. Corresponds to the JSON property pendingOwner

Returns:

  • (Boolean)


3485
3486
3487
# File 'lib/google/apis/drive_v3/classes.rb', line 3485

def pending_owner
  @pending_owner
end

#permission_detailsArray<Google::Apis::DriveV3::Permission::PermissionDetail>

Output only. Details of whether the permissions on this item are inherited or are directly on this item. Corresponds to the JSON property permissionDetails



3492
3493
3494
# File 'lib/google/apis/drive_v3/classes.rb', line 3492

def permission_details
  @permission_details
end

Output only. A link to the user's profile photo, if available. Corresponds to the JSON property photoLink

Returns:

  • (String)


3497
3498
3499
# File 'lib/google/apis/drive_v3/classes.rb', line 3497

def photo_link
  @photo_link
end

#roleString

The role granted by this permission. Supported values include: * owner * organizer * fileOrganizer * writer * commenter * reader For more information, see Roles and permissions. Corresponds to the JSON property role

Returns:

  • (String)


3505
3506
3507
# File 'lib/google/apis/drive_v3/classes.rb', line 3505

def role
  @role
end

#team_drive_permission_detailsArray<Google::Apis::DriveV3::Permission::TeamDrivePermissionDetail>

Output only. Deprecated: Output only. Use permissionDetails instead. Corresponds to the JSON property teamDrivePermissionDetails



3510
3511
3512
# File 'lib/google/apis/drive_v3/classes.rb', line 3510

def team_drive_permission_details
  @team_drive_permission_details
end

#typeString

The type of the grantee. Supported values include: * user * group * domain * anyone When creating a permission, if type is user or group, you must provide an emailAddress for the user or group. If type is domain , you must provide a domain. If type is anyone, no extra information is required. Corresponds to the JSON property type

Returns:

  • (String)


3519
3520
3521
# File 'lib/google/apis/drive_v3/classes.rb', line 3519

def type
  @type
end

#viewString

Indicates the view for this permission. Only populated for permissions that belong to a view. The only supported values are published and metadata: * published: The permission's role is publishedReader. * metadata: The item is only visible to the metadata view because the item has limited access and the scope has at least read access to the parent. The metadata view is only supported on folders. For more information, see Views. Corresponds to the JSON property view

Returns:

  • (String)


3530
3531
3532
# File 'lib/google/apis/drive_v3/classes.rb', line 3530

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
# File 'lib/google/apis/drive_v3/classes.rb', line 3537

def update!(**args)
  @allow_file_discovery = args[:allow_file_discovery] if args.key?(:allow_file_discovery)
  @deleted = args[:deleted] if args.key?(:deleted)
  @display_name = args[:display_name] if args.key?(:display_name)
  @domain = args[:domain] if args.key?(:domain)
  @email_address = args[:email_address] if args.key?(:email_address)
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
  @id = args[:id] if args.key?(:id)
  @inherited_permissions_disabled = args[:inherited_permissions_disabled] if args.key?(:inherited_permissions_disabled)
  @kind = args[:kind] if args.key?(:kind)
  @pending_owner = args[:pending_owner] if args.key?(:pending_owner)
  @permission_details = args[:permission_details] if args.key?(:permission_details)
  @photo_link = args[:photo_link] if args.key?(:photo_link)
  @role = args[:role] if args.key?(:role)
  @team_drive_permission_details = args[:team_drive_permission_details] if args.key?(:team_drive_permission_details)
  @type = args[:type] if args.key?(:type)
  @view = args[:view] if args.key?(:view)
end