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.



3653
3654
3655
# File 'lib/google/apis/drive_v3/classes.rb', line 3653

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)


3541
3542
3543
# File 'lib/google/apis/drive_v3/classes.rb', line 3541

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)


3548
3549
3550
# File 'lib/google/apis/drive_v3/classes.rb', line 3548

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)


3559
3560
3561
# File 'lib/google/apis/drive_v3/classes.rb', line 3559

def display_name
  @display_name
end

#domainString

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

Returns:

  • (String)


3564
3565
3566
# File 'lib/google/apis/drive_v3/classes.rb', line 3564

def domain
  @domain
end

#email_addressString

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

Returns:

  • (String)


3570
3571
3572
# File 'lib/google/apis/drive_v3/classes.rb', line 3570

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)


3578
3579
3580
# File 'lib/google/apis/drive_v3/classes.rb', line 3578

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)


3586
3587
3588
# File 'lib/google/apis/drive_v3/classes.rb', line 3586

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)


3592
3593
3594
# File 'lib/google/apis/drive_v3/classes.rb', line 3592

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)


3599
3600
3601
# File 'lib/google/apis/drive_v3/classes.rb', line 3599

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)


3606
3607
3608
# File 'lib/google/apis/drive_v3/classes.rb', line 3606

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



3613
3614
3615
# File 'lib/google/apis/drive_v3/classes.rb', line 3613

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)


3618
3619
3620
# File 'lib/google/apis/drive_v3/classes.rb', line 3618

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)


3626
3627
3628
# File 'lib/google/apis/drive_v3/classes.rb', line 3626

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



3631
3632
3633
# File 'lib/google/apis/drive_v3/classes.rb', line 3631

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)


3640
3641
3642
# File 'lib/google/apis/drive_v3/classes.rb', line 3640

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)


3651
3652
3653
# File 'lib/google/apis/drive_v3/classes.rb', line 3651

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
# File 'lib/google/apis/drive_v3/classes.rb', line 3658

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