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.
3164 3165 3166 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3164 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
3067 3068 3069 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3067 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
3074 3075 3076 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3074 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
3085 3086 3087 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3085 def display_name @display_name end |
#domain ⇒ String
The domain to which this permission refers.
Corresponds to the JSON property domain
3090 3091 3092 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3090 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
3095 3096 3097 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3095 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
3103 3104 3105 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3103 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
3110 3111 3112 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3110 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
3116 3117 3118 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3116 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
3122 3123 3124 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3122 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
3130 3131 3132 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3130 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
3135 3136 3137 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3135 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
3142 3143 3144 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3142 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
3147 3148 3149 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3147 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
3156 3157 3158 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3156 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
3162 3163 3164 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3162 def view @view end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 |
# File 'lib/google/apis/drive_v3/classes.rb', line 3169 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 |