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.
3053 3054 3055 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3053 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
2956 2957 2958 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2956 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
2963 2964 2965 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2963 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
2974 2975 2976 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2974 def display_name @display_name end |
#domain ⇒ String
The domain to which this permission refers.
Corresponds to the JSON property domain
2979 2980 2981 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2979 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
2984 2985 2986 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2984 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
2992 2993 2994 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2992 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
2999 3000 3001 |
# File 'lib/google/apis/drive_v3/classes.rb', line 2999 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
3005 3006 3007 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3005 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
3011 3012 3013 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3011 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
3019 3020 3021 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3019 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
3024 3025 3026 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3024 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
3031 3032 3033 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3031 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
3036 3037 3038 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3036 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
3045 3046 3047 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3045 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
3051 3052 3053 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3051 def view @view end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3058 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 |