# Copyright 2017 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # NOTE: This class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule GoogleApi.Drive.V3.Model.Permission do @moduledoc """ A permission for a file. A permission grants a user, group, domain or the world access to a file or a folder hierarchy. ## Attributes - allowFileDiscovery (boolean()): Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type domain or anyone. Defaults to: `null`. - deleted (boolean()): Whether the account associated with this permission has been deleted. This field only pertains to user and group permissions. Defaults to: `null`. - displayName (String.t): A displayable name for users, groups or domains. Defaults to: `null`. - domain (String.t): The domain to which this permission refers. Defaults to: `null`. - emailAddress (String.t): The email address of the user or group to which this permission refers. Defaults to: `null`. - expirationTime (DateTime.t): 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 Defaults to: `null`. - id (String.t): The ID of this permission. This is a unique identifier for the grantee, and is published in User resources as permissionId. Defaults to: `null`. - kind (String.t): Identifies what kind of resource this is. Value: the fixed string \"drive#permission\". Defaults to: `null`. - photoLink (String.t): A link to the user's profile photo, if available. Defaults to: `null`. - role (String.t): The role granted by this permission. While new values may be supported in the future, the following are currently allowed: - organizer - owner - writer - commenter - reader Defaults to: `null`. - teamDrivePermissionDetails ([PermissionTeamDrivePermissionDetails]): Details of whether the permissions on this Team Drive item are inherited or directly on this item. This is an output-only field which is present only for Team Drive items. Defaults to: `null`. - type (String.t): The type of the grantee. Valid values are: - user - group - domain - anyone Defaults to: `null`. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :"allowFileDiscovery" => any(), :"deleted" => any(), :"displayName" => any(), :"domain" => any(), :"emailAddress" => any(), :"expirationTime" => DateTime.t(), :"id" => any(), :"kind" => any(), :"photoLink" => any(), :"role" => any(), :"teamDrivePermissionDetails" => list(GoogleApi.Drive.V3.Model.PermissionTeamDrivePermissionDetails.t()), :"type" => any() } field(:"allowFileDiscovery") field(:"deleted") field(:"displayName") field(:"domain") field(:"emailAddress") field(:"expirationTime", as: DateTime) field(:"id") field(:"kind") field(:"photoLink") field(:"role") field(:"teamDrivePermissionDetails", as: GoogleApi.Drive.V3.Model.PermissionTeamDrivePermissionDetails, type: :list) field(:"type") end defimpl Poison.Decoder, for: GoogleApi.Drive.V3.Model.Permission do def decode(value, options) do GoogleApi.Drive.V3.Model.Permission.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Drive.V3.Model.Permission do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end