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. A permission grants a user, group, domain, or the world access to a file or a folder hierarchy. 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.



3890
3891
3892
# File 'lib/google/apis/drive_v2/classes.rb', line 3890

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>)


3757
3758
3759
# File 'lib/google/apis/drive_v2/classes.rb', line 3757

def additional_roles
  @additional_roles
end

#auth_keyString

Output only. Deprecated. Corresponds to the JSON property authKey

Returns:

  • (String)


3762
3763
3764
# File 'lib/google/apis/drive_v2/classes.rb', line 3762

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)


3768
3769
3770
# File 'lib/google/apis/drive_v2/classes.rb', line 3768

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)


3776
3777
3778
# File 'lib/google/apis/drive_v2/classes.rb', line 3776

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)


3783
3784
3785
# File 'lib/google/apis/drive_v2/classes.rb', line 3783

def email_address
  @email_address
end

#etagString

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

Returns:

  • (String)


3788
3789
3790
# File 'lib/google/apis/drive_v2/classes.rb', line 3788

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 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)


3797
3798
3799
# File 'lib/google/apis/drive_v2/classes.rb', line 3797

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)


3806
3807
3808
# File 'lib/google/apis/drive_v2/classes.rb', line 3806

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)


3812
3813
3814
# File 'lib/google/apis/drive_v2/classes.rb', line 3812

def inherited_permissions_disabled
  @inherited_permissions_disabled
end

#kindString

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

Returns:

  • (String)


3818
3819
3820
# File 'lib/google/apis/drive_v2/classes.rb', line 3818

def kind
  @kind
end

#nameString

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

Returns:

  • (String)


3823
3824
3825
# File 'lib/google/apis/drive_v2/classes.rb', line 3823

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)


3829
3830
3831
# File 'lib/google/apis/drive_v2/classes.rb', line 3829

def pending_owner
  @pending_owner
end

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

Output only. Details of whether the permissions on this item are inherited or directly on this item. Corresponds to the JSON property permissionDetails



3836
3837
3838
# File 'lib/google/apis/drive_v2/classes.rb', line 3836

def permission_details
  @permission_details
end

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

Returns:

  • (String)


3841
3842
3843
# File 'lib/google/apis/drive_v2/classes.rb', line 3841

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)


3848
3849
3850
# File 'lib/google/apis/drive_v2/classes.rb', line 3848

def role
  @role
end

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

Returns:

  • (String)


3853
3854
3855
# File 'lib/google/apis/drive_v2/classes.rb', line 3853

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



3858
3859
3860
# File 'lib/google/apis/drive_v2/classes.rb', line 3858

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)


3863
3864
3865
# File 'lib/google/apis/drive_v2/classes.rb', line 3863

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)


3872
3873
3874
# File 'lib/google/apis/drive_v2/classes.rb', line 3872

def value
  @value
end

#viewString

Indicates the view for this permission. Only populated for permissions that belong to a view. published and metadata are the only supported values. - published: The permission's role is published_reader. - 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. Note: The metadata view is currently only supported on folders. Corresponds to the JSON property view

Returns:

  • (String)


3882
3883
3884
# File 'lib/google/apis/drive_v2/classes.rb', line 3882

def view
  @view
end

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

Returns:

  • (Boolean)


3887
3888
3889
# File 'lib/google/apis/drive_v2/classes.rb', line 3887

def with_link
  @with_link
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
# File 'lib/google/apis/drive_v2/classes.rb', line 3895

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)
  @inherited_permissions_disabled = args[:inherited_permissions_disabled] if args.key?(:inherited_permissions_disabled)
  @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