Class: Google::Apis::DriveV2::Permission

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/drive_v2/classes.rb,
lib/google/apis/drive_v2/representations.rb,
lib/google/apis/drive_v2/representations.rb

Overview

A permission for a file.

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.



3648
3649
3650
# File 'lib/google/apis/drive_v2/classes.rb', line 3648

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#additional_rolesArray<String>

Additional roles for this user. Only commenter is currently allowed, though more may be supported in the future. Corresponds to the JSON property additionalRoles

Returns:

  • (Array<String>)


3524
3525
3526
# File 'lib/google/apis/drive_v2/classes.rb', line 3524

def additional_roles
  @additional_roles
end

#auth_keyString

Output only. Deprecated. Corresponds to the JSON property authKey

Returns:

  • (String)


3529
3530
3531
# File 'lib/google/apis/drive_v2/classes.rb', line 3529

def auth_key
  @auth_key
end

#deletedBoolean Also known as: deleted?

Output only. 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

Returns:

  • (Boolean)


3535
3536
3537
# File 'lib/google/apis/drive_v2/classes.rb', line 3535

def deleted
  @deleted
end

#domainString

Output only. The domain name of the entity this permission refers to. This is an output-only field which is present when the permission type is user, group or domain. Corresponds to the JSON property domain

Returns:

  • (String)


3543
3544
3545
# File 'lib/google/apis/drive_v2/classes.rb', line 3543

def domain
  @domain
end

#email_addressString

Output only. The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group. Corresponds to the JSON property emailAddress

Returns:

  • (String)


3550
3551
3552
# File 'lib/google/apis/drive_v2/classes.rb', line 3550

def email_address
  @email_address
end

#etagString

Output only. The ETag of the permission. Corresponds to the JSON property etag

Returns:

  • (String)


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

def etag
  @etag
end

#expiration_dateDateTime

The time at which this permission will expire (RFC 3339 date-time). Expiration dates have the following restrictions: - They cannot be set on shared drive items - They can only be set on user and group permissions - The date must be in the future - The date cannot be more than a year in the future - The date can only be set on drive.permissions.update or drive.permissions.patch requests Corresponds to the JSON property expirationDate

Returns:

  • (DateTime)


3565
3566
3567
# File 'lib/google/apis/drive_v2/classes.rb', line 3565

def expiration_date
  @expiration_date
end

#idString

The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive. permissions.insert request, exactly one of the id or value fields must be specified unless the permission type is anyone, in which case both id and value are ignored. Corresponds to the JSON property id

Returns:

  • (String)


3574
3575
3576
# File 'lib/google/apis/drive_v2/classes.rb', line 3574

def id
  @id
end

#kindString

Output only. This is always drive#permission. Corresponds to the JSON property kind

Returns:

  • (String)


3579
3580
3581
# File 'lib/google/apis/drive_v2/classes.rb', line 3579

def kind
  @kind
end

#nameString

Output only. The name for this permission. Corresponds to the JSON property name

Returns:

  • (String)


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

def name
  @name
end

#pending_ownerBoolean Also known as: pending_owner?

Whether the account associated with this permission is a pending owner. Only populated for user type permissions for files that are not in a shared drive. Corresponds to the JSON property pendingOwner

Returns:

  • (Boolean)


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

def pending_owner
  @pending_owner
end

#permission_detailsArray<Google::Apis::DriveV2::Permission::PermissionDetail>

Output only. 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



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

def permission_details
  @permission_details
end

Output only. A link to the profile photo, if available. Corresponds to the JSON property photoLink

Returns:

  • (String)


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

def photo_link
  @photo_link
end

#roleString

The primary role for this user. While new values may be supported in the future, the following are currently allowed: * owner * organizer * fileOrganizer * writer * reader Corresponds to the JSON property role

Returns:

  • (String)


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

def role
  @role
end

Output only. A link back to this permission. Corresponds to the JSON property selfLink

Returns:

  • (String)


3615
3616
3617
# File 'lib/google/apis/drive_v2/classes.rb', line 3615

def self_link
  @self_link
end

#team_drive_permission_detailsArray<Google::Apis::DriveV2::Permission::TeamDrivePermissionDetail>

Output only. Deprecated: Use permissionDetails instead. Corresponds to the JSON property teamDrivePermissionDetails



3620
3621
3622
# File 'lib/google/apis/drive_v2/classes.rb', line 3620

def team_drive_permission_details
  @team_drive_permission_details
end

#typeString

The account type. Allowed values are: * user * group * domain * anyone Corresponds to the JSON property type

Returns:

  • (String)


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

def type
  @type
end

#valueString

The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified unless the permission type is anyone, in which case both id and value are ignored. Corresponds to the JSON property value

Returns:

  • (String)


3634
3635
3636
# File 'lib/google/apis/drive_v2/classes.rb', line 3634

def value
  @value
end

#viewString

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

Returns:

  • (String)


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

def view
  @view
end

Whether the link is required for this permission. Corresponds to the JSON property withLink

Returns:

  • (Boolean)


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

def with_link
  @with_link
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

def update!(**args)
  @additional_roles = args[:additional_roles] if args.key?(:additional_roles)
  @auth_key = args[:auth_key] if args.key?(:auth_key)
  @deleted = args[:deleted] if args.key?(:deleted)
  @domain = args[:domain] if args.key?(:domain)
  @email_address = args[:email_address] if args.key?(:email_address)
  @etag = args[:etag] if args.key?(:etag)
  @expiration_date = args[:expiration_date] if args.key?(:expiration_date)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @name = args[:name] if args.key?(:name)
  @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)
  @self_link = args[:self_link] if args.key?(:self_link)
  @team_drive_permission_details = args[:team_drive_permission_details] if args.key?(:team_drive_permission_details)
  @type = args[:type] if args.key?(:type)
  @value = args[:value] if args.key?(:value)
  @view = args[:view] if args.key?(:view)
  @with_link = args[:with_link] if args.key?(:with_link)
end