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.



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

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)


3539
3540
3541
# File 'lib/google/apis/drive_v3/classes.rb', line 3539

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)


3546
3547
3548
# File 'lib/google/apis/drive_v3/classes.rb', line 3546

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)


3557
3558
3559
# File 'lib/google/apis/drive_v3/classes.rb', line 3557

def display_name
  @display_name
end

#domainString

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

Returns:

  • (String)


3562
3563
3564
# File 'lib/google/apis/drive_v3/classes.rb', line 3562

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)


3568
3569
3570
# File 'lib/google/apis/drive_v3/classes.rb', line 3568

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)


3576
3577
3578
# File 'lib/google/apis/drive_v3/classes.rb', line 3576

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)


3584
3585
3586
# File 'lib/google/apis/drive_v3/classes.rb', line 3584

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)


3590
3591
3592
# File 'lib/google/apis/drive_v3/classes.rb', line 3590

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)


3597
3598
3599
# File 'lib/google/apis/drive_v3/classes.rb', line 3597

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)


3604
3605
3606
# File 'lib/google/apis/drive_v3/classes.rb', line 3604

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



3611
3612
3613
# File 'lib/google/apis/drive_v3/classes.rb', line 3611

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)


3616
3617
3618
# File 'lib/google/apis/drive_v3/classes.rb', line 3616

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)


3624
3625
3626
# File 'lib/google/apis/drive_v3/classes.rb', line 3624

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



3629
3630
3631
# File 'lib/google/apis/drive_v3/classes.rb', line 3629

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)


3638
3639
3640
# File 'lib/google/apis/drive_v3/classes.rb', line 3638

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)


3649
3650
3651
# File 'lib/google/apis/drive_v3/classes.rb', line 3649

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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