# Copyright 2019 Google LLC
#
# 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 file is auto generated by the elixir code generator program.
# Do not edit this file manually.
defmodule GoogleApi.Drive.V3.Model.DriveCapabilities do
@moduledoc """
Output only. Capabilities the current user has on this shared drive.
## Attributes
* `canAddChildren` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can add children to folders in this shared drive.
* `canChangeCopyRequiresWriterPermissionRestriction` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can change the `copyRequiresWriterPermission` restriction of this shared drive.
* `canChangeDomainUsersOnlyRestriction` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can change the `domainUsersOnly` restriction of this shared drive.
* `canChangeDriveBackground` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can change the background of this shared drive.
* `canChangeDriveMembersOnlyRestriction` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can change the `driveMembersOnly` restriction of this shared drive.
* `canChangeSharingFoldersRequiresOrganizerPermissionRestriction` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can change the `sharingFoldersRequiresOrganizerPermission` restriction of this shared drive.
* `canComment` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can comment on files in this shared drive.
* `canCopy` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can copy files in this shared drive.
* `canDeleteChildren` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can delete children from folders in this shared drive.
* `canDeleteDrive` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can delete this shared drive. Attempting to delete the shared drive may still fail if there are untrashed items inside the shared drive.
* `canDownload` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can download files in this shared drive.
* `canEdit` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can edit files in this shared drive
* `canListChildren` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can list the children of folders in this shared drive.
* `canManageMembers` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can add members to this shared drive or remove them or change their role.
* `canReadRevisions` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can read the revisions resource of files in this shared drive.
* `canRename` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can rename files or folders in this shared drive.
* `canRenameDrive` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can rename this shared drive.
* `canResetDriveRestrictions` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can reset the shared drive restrictions to defaults.
* `canShare` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can share files or folders in this shared drive.
* `canTrashChildren` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the current user can trash children from folders in this shared drive.
"""
use GoogleApi.Gax.ModelBase
@type t :: %__MODULE__{
:canAddChildren => boolean() | nil,
:canChangeCopyRequiresWriterPermissionRestriction => boolean() | nil,
:canChangeDomainUsersOnlyRestriction => boolean() | nil,
:canChangeDriveBackground => boolean() | nil,
:canChangeDriveMembersOnlyRestriction => boolean() | nil,
:canChangeSharingFoldersRequiresOrganizerPermissionRestriction => boolean() | nil,
:canComment => boolean() | nil,
:canCopy => boolean() | nil,
:canDeleteChildren => boolean() | nil,
:canDeleteDrive => boolean() | nil,
:canDownload => boolean() | nil,
:canEdit => boolean() | nil,
:canListChildren => boolean() | nil,
:canManageMembers => boolean() | nil,
:canReadRevisions => boolean() | nil,
:canRename => boolean() | nil,
:canRenameDrive => boolean() | nil,
:canResetDriveRestrictions => boolean() | nil,
:canShare => boolean() | nil,
:canTrashChildren => boolean() | nil
}
field(:canAddChildren)
field(:canChangeCopyRequiresWriterPermissionRestriction)
field(:canChangeDomainUsersOnlyRestriction)
field(:canChangeDriveBackground)
field(:canChangeDriveMembersOnlyRestriction)
field(:canChangeSharingFoldersRequiresOrganizerPermissionRestriction)
field(:canComment)
field(:canCopy)
field(:canDeleteChildren)
field(:canDeleteDrive)
field(:canDownload)
field(:canEdit)
field(:canListChildren)
field(:canManageMembers)
field(:canReadRevisions)
field(:canRename)
field(:canRenameDrive)
field(:canResetDriveRestrictions)
field(:canShare)
field(:canTrashChildren)
end
defimpl Poison.Decoder, for: GoogleApi.Drive.V3.Model.DriveCapabilities do
def decode(value, options) do
GoogleApi.Drive.V3.Model.DriveCapabilities.decode(value, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.Drive.V3.Model.DriveCapabilities do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end