Class: Google::Apis::DriveV3::Permission
- Inherits:
-
Object
- Object
- Google::Apis::DriveV3::Permission
- 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. 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
-
#allow_file_discovery ⇒ Boolean
(also: #allow_file_discovery?)
Whether the permission allows the file to be discovered through search.
-
#deleted ⇒ Boolean
(also: #deleted?)
Output only.
-
#display_name ⇒ String
Output only.
-
#domain ⇒ String
The domain to which this permission refers.
-
#email_address ⇒ String
The email address of the user or group to which this permission refers.
-
#expiration_time ⇒ DateTime
The time at which this permission will expire (RFC 3339 date-time).
-
#id ⇒ String
Output only.
-
#kind ⇒ 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::DriveV3::Permission::PermissionDetail>
Output only.
-
#photo_link ⇒ String
Output only.
-
#role ⇒ String
The role granted by this permission.
-
#team_drive_permission_details ⇒ Array<Google::Apis::DriveV3::Permission::TeamDrivePermissionDetail>
Output only.
-
#type ⇒ String
The type of the grantee.
-
#view ⇒ String
Indicates the view 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.
2701 2702 2703 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2701 def initialize(**args) update!(**args) end |
Instance Attribute Details
#allow_file_discovery ⇒ Boolean 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
2604 2605 2606 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2604 def allow_file_discovery @allow_file_discovery 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
2611 2612 2613 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2611 def deleted @deleted end |
#display_name ⇒ String
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 "Joe Smith." * group
- Name of
the Google Group, such as "The Company Administrators." * domain
- String
domain name, such as "thecompany.com." * anyone
- No displayName
is
present.
Corresponds to the JSON property displayName
2622 2623 2624 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2622 def display_name @display_name end |
#domain ⇒ String
The domain to which this permission refers.
Corresponds to the JSON property domain
2627 2628 2629 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2627 def domain @domain end |
#email_address ⇒ String
The email address of the user or group to which this permission refers.
Corresponds to the JSON property emailAddress
2632 2633 2634 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2632 def email_address @email_address end |
#expiration_time ⇒ DateTime
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
2640 2641 2642 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2640 def expiration_time @expiration_time end |
#id ⇒ String
Output only. The ID of this permission. This is a unique identifier for the
grantee, and is published in User resources as permissionId
. IDs should be
treated as opaque values.
Corresponds to the JSON property id
2647 2648 2649 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2647 def id @id end |
#kind ⇒ String
Output only. Identifies what kind of resource this is. Value: the fixed string
"drive#permission"
.
Corresponds to the JSON property kind
2653 2654 2655 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2653 def kind @kind 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
2659 2660 2661 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2659 def pending_owner @pending_owner end |
#permission_details ⇒ Array<Google::Apis::DriveV3::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
2667 2668 2669 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2667 def @permission_details end |
#photo_link ⇒ String
Output only. A link to the user's profile photo, if available.
Corresponds to the JSON property photoLink
2672 2673 2674 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2672 def photo_link @photo_link end |
#role ⇒ String
The role granted by this permission. While new values may be supported in the
future, the following are currently allowed: * owner
* organizer
*
fileOrganizer
* writer
* commenter
* reader
Corresponds to the JSON property role
2679 2680 2681 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2679 def role @role end |
#team_drive_permission_details ⇒ Array<Google::Apis::DriveV3::Permission::TeamDrivePermissionDetail>
Output only. Deprecated: Output only. Use permissionDetails
instead.
Corresponds to the JSON property teamDrivePermissionDetails
2684 2685 2686 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2684 def @team_drive_permission_details end |
#type ⇒ String
The type of the grantee. Valid values are: * user
* group
* domain
*
anyone
When creating a permission, if type
is user
or group
, you must
provide an emailAddress
for the user or group. When type
is domain
, you
must provide a domain
. There isn't extra information required for an anyone
type.
Corresponds to the JSON property type
2693 2694 2695 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2693 def type @type 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
2699 2700 2701 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2699 def view @view end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2706 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) @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 |