Class: Google::Apis::DriveV2::Permission
- Inherits:
-
Object
- Object
- Google::Apis::DriveV2::Permission
- 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
-
#additional_roles ⇒ Array<String>
Additional roles for this user.
-
#auth_key ⇒ String
Output only.
-
#deleted ⇒ Boolean
(also: #deleted?)
Output only.
-
#domain ⇒ String
Output only.
-
#email_address ⇒ String
Output only.
-
#etag ⇒ String
Output only.
-
#expiration_date ⇒ DateTime
The time at which this permission will expire (RFC 3339 date-time).
-
#id ⇒ String
The ID of the user this permission refers to, and identical to the
permissionId
in the About and Files resources. -
#kind ⇒ String
Output only.
-
#name ⇒ String
Output only.
-
#pending_owner ⇒ Boolean
(also: #pending_owner?)
Whether the account associated with this permission is a pending owner.
-
#permission_details ⇒ Array<Google::Apis::DriveV2::Permission::PermissionDetail>
Output only.
-
#photo_link ⇒ String
Output only.
-
#role ⇒ String
The primary role for this user.
-
#self_link ⇒ String
Output only.
-
#team_drive_permission_details ⇒ Array<Google::Apis::DriveV2::Permission::TeamDrivePermissionDetail>
Output only.
-
#type ⇒ String
The account type.
-
#value ⇒ String
The email address or domain name for the entity.
-
#view ⇒ String
Indicates the view for this permission.
-
#with_link ⇒ Boolean
(also: #with_link?)
Whether the link is required for this permission.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Permission
constructor
A new instance of Permission.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Permission
Returns a new instance of Permission.
3715 3716 3717 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3715 def initialize(**args) update!(**args) end |
Instance Attribute Details
#additional_roles ⇒ Array<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
3592 3593 3594 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3592 def additional_roles @additional_roles end |
#auth_key ⇒ String
Output only. Deprecated.
Corresponds to the JSON property authKey
3597 3598 3599 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3597 def auth_key @auth_key end |
#deleted ⇒ Boolean 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
3603 3604 3605 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3603 def deleted @deleted end |
#domain ⇒ String
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
3611 3612 3613 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3611 def domain @domain end |
#email_address ⇒ String
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
3618 3619 3620 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3618 def email_address @email_address end |
#etag ⇒ String
Output only. The ETag of the permission.
Corresponds to the JSON property etag
3623 3624 3625 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3623 def etag @etag end |
#expiration_date ⇒ DateTime
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
3632 3633 3634 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3632 def expiration_date @expiration_date end |
#id ⇒ String
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
3641 3642 3643 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3641 def id @id end |
#kind ⇒ String
Output only. This is always drive#permission
.
Corresponds to the JSON property kind
3646 3647 3648 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3646 def kind @kind end |
#name ⇒ String
Output only. The name for this permission.
Corresponds to the JSON property name
3651 3652 3653 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3651 def name @name end |
#pending_owner ⇒ Boolean 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
3657 3658 3659 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3657 def pending_owner @pending_owner end |
#permission_details ⇒ Array<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
3665 3666 3667 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3665 def @permission_details end |
#photo_link ⇒ String
Output only. A link to the profile photo, if available.
Corresponds to the JSON property photoLink
3670 3671 3672 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3670 def photo_link @photo_link end |
#role ⇒ String
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
3677 3678 3679 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3677 def role @role end |
#self_link ⇒ String
Output only. A link back to this permission.
Corresponds to the JSON property selfLink
3682 3683 3684 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3682 def self_link @self_link end |
#team_drive_permission_details ⇒ Array<Google::Apis::DriveV2::Permission::TeamDrivePermissionDetail>
Output only. Deprecated: Use permissionDetails
instead.
Corresponds to the JSON property teamDrivePermissionDetails
3687 3688 3689 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3687 def @team_drive_permission_details end |
#type ⇒ String
The account type. Allowed values are: * user
* group
* domain
* anyone
Corresponds to the JSON property type
3692 3693 3694 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3692 def type @type end |
#value ⇒ String
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
3701 3702 3703 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3701 def value @value end |
#view ⇒ String
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
3707 3708 3709 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3707 def view @view end |
#with_link ⇒ Boolean Also known as: with_link?
Whether the link is required for this permission.
Corresponds to the JSON property withLink
3712 3713 3714 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3712 def with_link @with_link end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 |
# File 'lib/google/apis/drive_v2/classes.rb', line 3720 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 |