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.



3645
3646
3647
# File 'lib/google/apis/drive_v3/classes.rb', line 3645

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)


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

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)


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

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)


3551
3552
3553
# File 'lib/google/apis/drive_v3/classes.rb', line 3551

def display_name
  @display_name
end

#domainString

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

Returns:

  • (String)


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

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)


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

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)


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

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)


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

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)


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

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)


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

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)


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

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



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

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)


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

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)


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

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



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

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)


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

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)


3643
3644
3645
# File 'lib/google/apis/drive_v3/classes.rb', line 3643

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
# File 'lib/google/apis/drive_v3/classes.rb', line 3650

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