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.



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

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)


3526
3527
3528
# File 'lib/google/apis/drive_v3/classes.rb', line 3526

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)


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

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)


3544
3545
3546
# File 'lib/google/apis/drive_v3/classes.rb', line 3544

def display_name
  @display_name
end

#domainString

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

Returns:

  • (String)


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

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)


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

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)


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

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)


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

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)


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

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)


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

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)


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

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



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

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)


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

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)


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

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



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

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)


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

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)


3636
3637
3638
# File 'lib/google/apis/drive_v3/classes.rb', line 3636

def view
  @view
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
# File 'lib/google/apis/drive_v3/classes.rb', line 3643

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