class Google::Apis::DriveV3::Permission

A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy.

Attributes

allow_file_discovery[RW]

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` @return [Boolean]

allow_file_discovery?[RW]

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` @return [Boolean]

deleted[RW]

Whether the account associated with this permission has been deleted. This field only pertains to user and group permissions. Corresponds to the JSON property `deleted` @return [Boolean]

deleted?[RW]

Whether the account associated with this permission has been deleted. This field only pertains to user and group permissions. Corresponds to the JSON property `deleted` @return [Boolean]

display_name[RW]

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 “Joe

Smith.“

  • group - Name of the Google Group, such as “The Company Administrators.”

  • domain - String domain name, such as “thecompany.com.”

  • anyone - No displayName is present.

Corresponds to the JSON property `displayName` @return [String]

domain[RW]

The domain to which this permission refers. Corresponds to the JSON property `domain` @return [String]

email_address[RW]

The email address of the user or group to which this permission refers. Corresponds to the JSON property `emailAddress` @return [String]

expiration_time[RW]

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` @return [DateTime]

id[RW]

The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId. IDs should be treated as opaque values. Corresponds to the JSON property `id` @return [String]

kind[RW]

Identifies what kind of resource this is. Value: the fixed string “drive# permission”. Corresponds to the JSON property `kind` @return [String]

permission_details[RW]

Details of whether the permissions on this shared drive item are inherited or directly on this item. This is an output-only field which is present only for shared drive items. Corresponds to the JSON property `permissionDetails` @return [Array<Google::Apis::DriveV3::Permission::PermissionDetail>]

role[RW]

The role granted by this permission. While new values may be supported in the future, the following are currently allowed:

  • owner

  • organizer

  • fileOrganizer

  • writer

  • commenter

  • reader

Corresponds to the JSON property `role` @return [String]

team_drive_permission_details[RW]

Deprecated - use permissionDetails instead. Corresponds to the JSON property `teamDrivePermissionDetails` @return [Array<Google::Apis::DriveV3::Permission::TeamDrivePermissionDetail>]

type[RW]

The type of the grantee. Valid values are:

  • user

  • group

  • domain

  • anyone When creating a permission, if type is user or group, you must

provide an emailAddress for the user or group. When type is domain, you must provide a domain. There isn't extra information required for a anyone type. Corresponds to the JSON property `type` @return [String]

view[RW]

Indicates the view for this permission. Only populated for permissions that belong to a view. published is the only supported value. Corresponds to the JSON property `view` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/drive_v3/classes.rb, line 2241
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/drive_v3/classes.rb, line 2246
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)
  @kind = args[:kind] if args.key?(:kind)
  @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