{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- |
-- Module : Amazonka.WorkDocs
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Derived from API version @2016-05-01@ of the AWS service descriptions, licensed under Apache 2.0.
--
-- The WorkDocs API is designed for the following use cases:
--
-- - File Migration: File migration applications are supported for users
-- who want to migrate their files from an on-premises or off-premises
-- file system or service. Users can insert files into a user directory
-- structure, as well as allow for basic metadata changes, such as
-- modifications to the permissions of files.
--
-- - Security: Support security applications are supported for users who
-- have additional security needs, such as antivirus or data loss
-- prevention. The API actions, along with AWS CloudTrail, allow these
-- applications to detect when changes occur in Amazon WorkDocs. Then,
-- the application can take the necessary actions and replace the
-- target file. If the target file violates the policy, the application
-- can also choose to email the user.
--
-- - eDiscovery\/Analytics: General administrative applications are
-- supported, such as eDiscovery and analytics. These applications can
-- choose to mimic or record the actions in an Amazon WorkDocs site,
-- along with AWS CloudTrail, to replicate data for eDiscovery, backup,
-- or analytical applications.
--
-- All Amazon WorkDocs API actions are Amazon authenticated and
-- certificate-signed. They not only require the use of the AWS SDK, but
-- also allow for the exclusive use of IAM users and roles to help
-- facilitate access, trust, and permission policies. By creating a role
-- and allowing an IAM user to access the Amazon WorkDocs site, the IAM
-- user gains full administrative visibility into the entire Amazon
-- WorkDocs site (or as set in the IAM policy). This includes, but is not
-- limited to, the ability to modify file permissions and upload any file
-- to any user. This allows developers to perform the three use cases
-- above, as well as give users the ability to grant access on a selective
-- basis using the IAM model.
--
-- The pricing for Amazon WorkDocs APIs varies depending on the API call
-- type for these actions:
--
-- - @READ (Get*)@
--
-- - @WRITE (Activate*, Add*, Create*, Deactivate*, Initiate*, Update*)@
--
-- - @LIST (Describe*)@
--
-- - @DELETE*, CANCEL@
--
-- For information about Amazon WorkDocs API pricing, see
-- <https://aws.amazon.com/workdocs/pricing/ Amazon WorkDocs Pricing>.
module Amazonka.WorkDocs
( -- * Service Configuration
defaultService,
-- * Errors
-- $errors
-- ** ConcurrentModificationException
_ConcurrentModificationException,
-- ** ConflictingOperationException
_ConflictingOperationException,
-- ** CustomMetadataLimitExceededException
_CustomMetadataLimitExceededException,
-- ** DeactivatingLastSystemUserException
_DeactivatingLastSystemUserException,
-- ** DocumentLockedForCommentsException
_DocumentLockedForCommentsException,
-- ** DraftUploadOutOfSyncException
_DraftUploadOutOfSyncException,
-- ** EntityAlreadyExistsException
_EntityAlreadyExistsException,
-- ** EntityNotExistsException
_EntityNotExistsException,
-- ** FailedDependencyException
_FailedDependencyException,
-- ** IllegalUserStateException
_IllegalUserStateException,
-- ** InvalidArgumentException
_InvalidArgumentException,
-- ** InvalidCommentOperationException
_InvalidCommentOperationException,
-- ** InvalidOperationException
_InvalidOperationException,
-- ** InvalidPasswordException
_InvalidPasswordException,
-- ** LimitExceededException
_LimitExceededException,
-- ** ProhibitedStateException
_ProhibitedStateException,
-- ** RequestedEntityTooLargeException
_RequestedEntityTooLargeException,
-- ** ResourceAlreadyCheckedOutException
_ResourceAlreadyCheckedOutException,
-- ** ServiceUnavailableException
_ServiceUnavailableException,
-- ** StorageLimitExceededException
_StorageLimitExceededException,
-- ** StorageLimitWillExceedException
_StorageLimitWillExceedException,
-- ** TooManyLabelsException
_TooManyLabelsException,
-- ** TooManySubscriptionsException
_TooManySubscriptionsException,
-- ** UnauthorizedOperationException
_UnauthorizedOperationException,
-- ** UnauthorizedResourceAccessException
_UnauthorizedResourceAccessException,
-- * Waiters
-- $waiters
-- * Operations
-- $operations
-- ** AbortDocumentVersionUpload
AbortDocumentVersionUpload (AbortDocumentVersionUpload'),
newAbortDocumentVersionUpload,
AbortDocumentVersionUploadResponse (AbortDocumentVersionUploadResponse'),
newAbortDocumentVersionUploadResponse,
-- ** ActivateUser
ActivateUser (ActivateUser'),
newActivateUser,
ActivateUserResponse (ActivateUserResponse'),
newActivateUserResponse,
-- ** AddResourcePermissions
AddResourcePermissions (AddResourcePermissions'),
newAddResourcePermissions,
AddResourcePermissionsResponse (AddResourcePermissionsResponse'),
newAddResourcePermissionsResponse,
-- ** CreateComment
CreateComment (CreateComment'),
newCreateComment,
CreateCommentResponse (CreateCommentResponse'),
newCreateCommentResponse,
-- ** CreateCustomMetadata
CreateCustomMetadata (CreateCustomMetadata'),
newCreateCustomMetadata,
CreateCustomMetadataResponse (CreateCustomMetadataResponse'),
newCreateCustomMetadataResponse,
-- ** CreateFolder
CreateFolder (CreateFolder'),
newCreateFolder,
CreateFolderResponse (CreateFolderResponse'),
newCreateFolderResponse,
-- ** CreateLabels
CreateLabels (CreateLabels'),
newCreateLabels,
CreateLabelsResponse (CreateLabelsResponse'),
newCreateLabelsResponse,
-- ** CreateNotificationSubscription
CreateNotificationSubscription (CreateNotificationSubscription'),
newCreateNotificationSubscription,
CreateNotificationSubscriptionResponse (CreateNotificationSubscriptionResponse'),
newCreateNotificationSubscriptionResponse,
-- ** CreateUser
CreateUser (CreateUser'),
newCreateUser,
CreateUserResponse (CreateUserResponse'),
newCreateUserResponse,
-- ** DeactivateUser
DeactivateUser (DeactivateUser'),
newDeactivateUser,
DeactivateUserResponse (DeactivateUserResponse'),
newDeactivateUserResponse,
-- ** DeleteComment
DeleteComment (DeleteComment'),
newDeleteComment,
DeleteCommentResponse (DeleteCommentResponse'),
newDeleteCommentResponse,
-- ** DeleteCustomMetadata
DeleteCustomMetadata (DeleteCustomMetadata'),
newDeleteCustomMetadata,
DeleteCustomMetadataResponse (DeleteCustomMetadataResponse'),
newDeleteCustomMetadataResponse,
-- ** DeleteDocument
DeleteDocument (DeleteDocument'),
newDeleteDocument,
DeleteDocumentResponse (DeleteDocumentResponse'),
newDeleteDocumentResponse,
-- ** DeleteDocumentVersion
DeleteDocumentVersion (DeleteDocumentVersion'),
newDeleteDocumentVersion,
DeleteDocumentVersionResponse (DeleteDocumentVersionResponse'),
newDeleteDocumentVersionResponse,
-- ** DeleteFolder
DeleteFolder (DeleteFolder'),
newDeleteFolder,
DeleteFolderResponse (DeleteFolderResponse'),
newDeleteFolderResponse,
-- ** DeleteFolderContents
DeleteFolderContents (DeleteFolderContents'),
newDeleteFolderContents,
DeleteFolderContentsResponse (DeleteFolderContentsResponse'),
newDeleteFolderContentsResponse,
-- ** DeleteLabels
DeleteLabels (DeleteLabels'),
newDeleteLabels,
DeleteLabelsResponse (DeleteLabelsResponse'),
newDeleteLabelsResponse,
-- ** DeleteNotificationSubscription
DeleteNotificationSubscription (DeleteNotificationSubscription'),
newDeleteNotificationSubscription,
DeleteNotificationSubscriptionResponse (DeleteNotificationSubscriptionResponse'),
newDeleteNotificationSubscriptionResponse,
-- ** DeleteUser
DeleteUser (DeleteUser'),
newDeleteUser,
DeleteUserResponse (DeleteUserResponse'),
newDeleteUserResponse,
-- ** DescribeActivities (Paginated)
DescribeActivities (DescribeActivities'),
newDescribeActivities,
DescribeActivitiesResponse (DescribeActivitiesResponse'),
newDescribeActivitiesResponse,
-- ** DescribeComments (Paginated)
DescribeComments (DescribeComments'),
newDescribeComments,
DescribeCommentsResponse (DescribeCommentsResponse'),
newDescribeCommentsResponse,
-- ** DescribeDocumentVersions (Paginated)
DescribeDocumentVersions (DescribeDocumentVersions'),
newDescribeDocumentVersions,
DescribeDocumentVersionsResponse (DescribeDocumentVersionsResponse'),
newDescribeDocumentVersionsResponse,
-- ** DescribeFolderContents (Paginated)
DescribeFolderContents (DescribeFolderContents'),
newDescribeFolderContents,
DescribeFolderContentsResponse (DescribeFolderContentsResponse'),
newDescribeFolderContentsResponse,
-- ** DescribeGroups (Paginated)
DescribeGroups (DescribeGroups'),
newDescribeGroups,
DescribeGroupsResponse (DescribeGroupsResponse'),
newDescribeGroupsResponse,
-- ** DescribeNotificationSubscriptions (Paginated)
DescribeNotificationSubscriptions (DescribeNotificationSubscriptions'),
newDescribeNotificationSubscriptions,
DescribeNotificationSubscriptionsResponse (DescribeNotificationSubscriptionsResponse'),
newDescribeNotificationSubscriptionsResponse,
-- ** DescribeResourcePermissions (Paginated)
DescribeResourcePermissions (DescribeResourcePermissions'),
newDescribeResourcePermissions,
DescribeResourcePermissionsResponse (DescribeResourcePermissionsResponse'),
newDescribeResourcePermissionsResponse,
-- ** DescribeRootFolders (Paginated)
DescribeRootFolders (DescribeRootFolders'),
newDescribeRootFolders,
DescribeRootFoldersResponse (DescribeRootFoldersResponse'),
newDescribeRootFoldersResponse,
-- ** DescribeUsers (Paginated)
DescribeUsers (DescribeUsers'),
newDescribeUsers,
DescribeUsersResponse (DescribeUsersResponse'),
newDescribeUsersResponse,
-- ** GetCurrentUser
GetCurrentUser (GetCurrentUser'),
newGetCurrentUser,
GetCurrentUserResponse (GetCurrentUserResponse'),
newGetCurrentUserResponse,
-- ** GetDocument
GetDocument (GetDocument'),
newGetDocument,
GetDocumentResponse (GetDocumentResponse'),
newGetDocumentResponse,
-- ** GetDocumentPath
GetDocumentPath (GetDocumentPath'),
newGetDocumentPath,
GetDocumentPathResponse (GetDocumentPathResponse'),
newGetDocumentPathResponse,
-- ** GetDocumentVersion
GetDocumentVersion (GetDocumentVersion'),
newGetDocumentVersion,
GetDocumentVersionResponse (GetDocumentVersionResponse'),
newGetDocumentVersionResponse,
-- ** GetFolder
GetFolder (GetFolder'),
newGetFolder,
GetFolderResponse (GetFolderResponse'),
newGetFolderResponse,
-- ** GetFolderPath
GetFolderPath (GetFolderPath'),
newGetFolderPath,
GetFolderPathResponse (GetFolderPathResponse'),
newGetFolderPathResponse,
-- ** GetResources
GetResources (GetResources'),
newGetResources,
GetResourcesResponse (GetResourcesResponse'),
newGetResourcesResponse,
-- ** InitiateDocumentVersionUpload
InitiateDocumentVersionUpload (InitiateDocumentVersionUpload'),
newInitiateDocumentVersionUpload,
InitiateDocumentVersionUploadResponse (InitiateDocumentVersionUploadResponse'),
newInitiateDocumentVersionUploadResponse,
-- ** RemoveAllResourcePermissions
RemoveAllResourcePermissions (RemoveAllResourcePermissions'),
newRemoveAllResourcePermissions,
RemoveAllResourcePermissionsResponse (RemoveAllResourcePermissionsResponse'),
newRemoveAllResourcePermissionsResponse,
-- ** RemoveResourcePermission
RemoveResourcePermission (RemoveResourcePermission'),
newRemoveResourcePermission,
RemoveResourcePermissionResponse (RemoveResourcePermissionResponse'),
newRemoveResourcePermissionResponse,
-- ** RestoreDocumentVersions
RestoreDocumentVersions (RestoreDocumentVersions'),
newRestoreDocumentVersions,
RestoreDocumentVersionsResponse (RestoreDocumentVersionsResponse'),
newRestoreDocumentVersionsResponse,
-- ** UpdateDocument
UpdateDocument (UpdateDocument'),
newUpdateDocument,
UpdateDocumentResponse (UpdateDocumentResponse'),
newUpdateDocumentResponse,
-- ** UpdateDocumentVersion
UpdateDocumentVersion (UpdateDocumentVersion'),
newUpdateDocumentVersion,
UpdateDocumentVersionResponse (UpdateDocumentVersionResponse'),
newUpdateDocumentVersionResponse,
-- ** UpdateFolder
UpdateFolder (UpdateFolder'),
newUpdateFolder,
UpdateFolderResponse (UpdateFolderResponse'),
newUpdateFolderResponse,
-- ** UpdateUser
UpdateUser (UpdateUser'),
newUpdateUser,
UpdateUserResponse (UpdateUserResponse'),
newUpdateUserResponse,
-- * Types
-- ** ActivityType
ActivityType (..),
-- ** BooleanEnumType
BooleanEnumType (..),
-- ** CommentStatusType
CommentStatusType (..),
-- ** CommentVisibilityType
CommentVisibilityType (..),
-- ** DocumentSourceType
DocumentSourceType (..),
-- ** DocumentStatusType
DocumentStatusType (..),
-- ** DocumentThumbnailType
DocumentThumbnailType (..),
-- ** DocumentVersionStatus
DocumentVersionStatus (..),
-- ** FolderContentType
FolderContentType (..),
-- ** LocaleType
LocaleType (..),
-- ** OrderType
OrderType (..),
-- ** PrincipalType
PrincipalType (..),
-- ** ResourceCollectionType
ResourceCollectionType (..),
-- ** ResourceSortType
ResourceSortType (..),
-- ** ResourceStateType
ResourceStateType (..),
-- ** ResourceType
ResourceType (..),
-- ** RolePermissionType
RolePermissionType (..),
-- ** RoleType
RoleType (..),
-- ** ShareStatusType
ShareStatusType (..),
-- ** StorageType
StorageType (..),
-- ** SubscriptionProtocolType
SubscriptionProtocolType (..),
-- ** SubscriptionType
SubscriptionType (..),
-- ** UserFilterType
UserFilterType (..),
-- ** UserSortType
UserSortType (..),
-- ** UserStatusType
UserStatusType (..),
-- ** UserType
UserType (..),
-- ** Activity
Activity (Activity'),
newActivity,
-- ** Comment
Comment (Comment'),
newComment,
-- ** CommentMetadata
CommentMetadata (CommentMetadata'),
newCommentMetadata,
-- ** DocumentMetadata
DocumentMetadata (DocumentMetadata'),
newDocumentMetadata,
-- ** DocumentVersionMetadata
DocumentVersionMetadata (DocumentVersionMetadata'),
newDocumentVersionMetadata,
-- ** FolderMetadata
FolderMetadata (FolderMetadata'),
newFolderMetadata,
-- ** GroupMetadata
GroupMetadata (GroupMetadata'),
newGroupMetadata,
-- ** NotificationOptions
NotificationOptions (NotificationOptions'),
newNotificationOptions,
-- ** Participants
Participants (Participants'),
newParticipants,
-- ** PermissionInfo
PermissionInfo (PermissionInfo'),
newPermissionInfo,
-- ** Principal
Principal (Principal'),
newPrincipal,
-- ** ResourceMetadata
ResourceMetadata (ResourceMetadata'),
newResourceMetadata,
-- ** ResourcePath
ResourcePath (ResourcePath'),
newResourcePath,
-- ** ResourcePathComponent
ResourcePathComponent (ResourcePathComponent'),
newResourcePathComponent,
-- ** SharePrincipal
SharePrincipal (SharePrincipal'),
newSharePrincipal,
-- ** ShareResult
ShareResult (ShareResult'),
newShareResult,
-- ** StorageRuleType
StorageRuleType (StorageRuleType'),
newStorageRuleType,
-- ** Subscription
Subscription (Subscription'),
newSubscription,
-- ** UploadMetadata
UploadMetadata (UploadMetadata'),
newUploadMetadata,
-- ** User
User (User'),
newUser,
-- ** UserMetadata
UserMetadata (UserMetadata'),
newUserMetadata,
-- ** UserStorageMetadata
UserStorageMetadata (UserStorageMetadata'),
newUserStorageMetadata,
)
where
import Amazonka.WorkDocs.AbortDocumentVersionUpload
import Amazonka.WorkDocs.ActivateUser
import Amazonka.WorkDocs.AddResourcePermissions
import Amazonka.WorkDocs.CreateComment
import Amazonka.WorkDocs.CreateCustomMetadata
import Amazonka.WorkDocs.CreateFolder
import Amazonka.WorkDocs.CreateLabels
import Amazonka.WorkDocs.CreateNotificationSubscription
import Amazonka.WorkDocs.CreateUser
import Amazonka.WorkDocs.DeactivateUser
import Amazonka.WorkDocs.DeleteComment
import Amazonka.WorkDocs.DeleteCustomMetadata
import Amazonka.WorkDocs.DeleteDocument
import Amazonka.WorkDocs.DeleteDocumentVersion
import Amazonka.WorkDocs.DeleteFolder
import Amazonka.WorkDocs.DeleteFolderContents
import Amazonka.WorkDocs.DeleteLabels
import Amazonka.WorkDocs.DeleteNotificationSubscription
import Amazonka.WorkDocs.DeleteUser
import Amazonka.WorkDocs.DescribeActivities
import Amazonka.WorkDocs.DescribeComments
import Amazonka.WorkDocs.DescribeDocumentVersions
import Amazonka.WorkDocs.DescribeFolderContents
import Amazonka.WorkDocs.DescribeGroups
import Amazonka.WorkDocs.DescribeNotificationSubscriptions
import Amazonka.WorkDocs.DescribeResourcePermissions
import Amazonka.WorkDocs.DescribeRootFolders
import Amazonka.WorkDocs.DescribeUsers
import Amazonka.WorkDocs.GetCurrentUser
import Amazonka.WorkDocs.GetDocument
import Amazonka.WorkDocs.GetDocumentPath
import Amazonka.WorkDocs.GetDocumentVersion
import Amazonka.WorkDocs.GetFolder
import Amazonka.WorkDocs.GetFolderPath
import Amazonka.WorkDocs.GetResources
import Amazonka.WorkDocs.InitiateDocumentVersionUpload
import Amazonka.WorkDocs.Lens
import Amazonka.WorkDocs.RemoveAllResourcePermissions
import Amazonka.WorkDocs.RemoveResourcePermission
import Amazonka.WorkDocs.RestoreDocumentVersions
import Amazonka.WorkDocs.Types
import Amazonka.WorkDocs.UpdateDocument
import Amazonka.WorkDocs.UpdateDocumentVersion
import Amazonka.WorkDocs.UpdateFolder
import Amazonka.WorkDocs.UpdateUser
import Amazonka.WorkDocs.Waiters
-- $errors
-- Error matchers are designed for use with the functions provided by
-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.
-- This allows catching (and rethrowing) service specific errors returned
-- by 'WorkDocs'.
-- $operations
-- Some AWS operations return results that are incomplete and require subsequent
-- requests in order to obtain the entire result set. The process of sending
-- subsequent requests to continue where a previous request left off is called
-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to
-- 1000 objects at a time, and you must send subsequent requests with the
-- appropriate Marker in order to retrieve the next page of results.
--
-- Operations that have an 'AWSPager' instance can transparently perform subsequent
-- requests, correctly setting Markers and other request facets to iterate through
-- the entire result set of a truncated API operation. Operations which support
-- this have an additional note in the documentation.
--
-- Many operations have the ability to filter results on the server side. See the
-- individual operation parameters for details.
-- $waiters
-- Waiters poll by repeatedly sending a request until some remote success condition
-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification
-- determines how many attempts should be made, in addition to delay and retry strategies.