NAME

Paws::WorkDocs - Perl Interface to AWS Amazon WorkDocs

SYNOPSIS

use Paws;

my $obj = Paws->service('WorkDocs');
my $res = $obj->Method(
  Arg1 => $val1,
  Arg2 => [ 'V1', 'V2' ],
  # if Arg3 is an object, the HashRef will be used as arguments to the constructor
  # of the arguments type
  Arg3 => { Att1 => 'Val1' },
  # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
  # the constructor of the arguments type
  Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
);

DESCRIPTION

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-premise or off-premise 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 anti-virus or data loss prevention. The APIs, in conjunction with Amazon CloudTrail, allow these applications to detect when changes occur in Amazon WorkDocs, so the application can take the necessary actions and replace the target file. The application can also choose to email the user if the target file violates the policy.

  • eDiscovery/Analytics: General administrative applications are supported, such as eDiscovery and analytics. These applications can choose to mimic and/or record the actions in an Amazon WorkDocs site, in conjunction with Amazon CloudTrails, to replicate data for eDiscovery, backup, or analytical applications.

All Amazon WorkDocs APIs are Amazon authenticated, certificate-signed APIs. 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.

METHODS

AbortDocumentVersionUpload(DocumentId => Str, VersionId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::AbortDocumentVersionUpload

Returns: nothing

Aborts the upload of the specified document version that was previously
initiated by InitiateDocumentVersionUpload. The client should make this
call only when it no longer intends to upload the document version, or
fails to do so.

ActivateUser(UserId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::ActivateUser

Returns: a Paws::WorkDocs::ActivateUserResponse instance

Activates the specified user. Only active users can access Amazon
WorkDocs.

AddResourcePermissions(Principals => ArrayRef[Paws::WorkDocs::SharePrincipal], ResourceId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::AddResourcePermissions

Returns: a Paws::WorkDocs::AddResourcePermissionsResponse instance

Creates a set of permissions for the specified folder or document. The
resource permissions are overwritten if the principals already have
different permissions.

CreateComment(DocumentId => Str, Text => Str, VersionId => Str, [AuthenticationToken => Str, NotifyCollaborators => Bool, ParentId => Str, ThreadId => Str, Visibility => Str])

Each argument is described in detail in: Paws::WorkDocs::CreateComment

Returns: a Paws::WorkDocs::CreateCommentResponse instance

Adds a new comment to the specified document version.

CreateCustomMetadata(CustomMetadata => Paws::WorkDocs::CustomMetadataMap, ResourceId => Str, [AuthenticationToken => Str, VersionId => Str])

Each argument is described in detail in: Paws::WorkDocs::CreateCustomMetadata

Returns: a Paws::WorkDocs::CreateCustomMetadataResponse instance

Adds one or more custom properties to the specified resource (a folder,
document, or version).

CreateFolder(ParentFolderId => Str, [AuthenticationToken => Str, Name => Str])

Each argument is described in detail in: Paws::WorkDocs::CreateFolder

Returns: a Paws::WorkDocs::CreateFolderResponse instance

Creates a folder with the specified name and parent folder.

CreateLabels(Labels => ArrayRef[Str|Undef], ResourceId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::CreateLabels

Returns: a Paws::WorkDocs::CreateLabelsResponse instance

Adds the specified list of labels to the given resource (a document or
folder)

CreateNotificationSubscription(Endpoint => Str, OrganizationId => Str, Protocol => Str, SubscriptionType => Str)

Each argument is described in detail in: Paws::WorkDocs::CreateNotificationSubscription

Returns: a Paws::WorkDocs::CreateNotificationSubscriptionResponse instance

Configure WorkDocs to use Amazon SNS notifications.

The endpoint receives a confirmation message, and must confirm the subscription. For more information, see Confirm the Subscription in the Amazon Simple Notification Service Developer Guide.

CreateUser(GivenName => Str, Password => Str, Surname => Str, Username => Str, [AuthenticationToken => Str, EmailAddress => Str, OrganizationId => Str, StorageRule => Paws::WorkDocs::StorageRuleType, TimeZoneId => Str])

Each argument is described in detail in: Paws::WorkDocs::CreateUser

Returns: a Paws::WorkDocs::CreateUserResponse instance

Creates a user in a Simple AD or Microsoft AD directory. The status of
a newly created user is "ACTIVE". New users can access Amazon WorkDocs.

DeactivateUser(UserId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::DeactivateUser

Returns: nothing

Deactivates the specified user, which revokes the user's access to
Amazon WorkDocs.

DeleteComment(CommentId => Str, DocumentId => Str, VersionId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::DeleteComment

Returns: nothing

Deletes the specified comment from the document version.

DeleteCustomMetadata(ResourceId => Str, [AuthenticationToken => Str, DeleteAll => Bool, Keys => ArrayRef[Str|Undef], VersionId => Str])

Each argument is described in detail in: Paws::WorkDocs::DeleteCustomMetadata

Returns: a Paws::WorkDocs::DeleteCustomMetadataResponse instance

Deletes custom metadata from the specified resource.

DeleteDocument(DocumentId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::DeleteDocument

Returns: nothing

Permanently deletes the specified document and its associated metadata.

DeleteFolder(FolderId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::DeleteFolder

Returns: nothing

Permanently deletes the specified folder and its contents.

DeleteFolderContents(FolderId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::DeleteFolderContents

Returns: nothing

Deletes the contents of the specified folder.

DeleteLabels(ResourceId => Str, [AuthenticationToken => Str, DeleteAll => Bool, Labels => ArrayRef[Str|Undef]])

Each argument is described in detail in: Paws::WorkDocs::DeleteLabels

Returns: a Paws::WorkDocs::DeleteLabelsResponse instance

Deletes the specified list of labels from a resource.

DeleteNotificationSubscription(OrganizationId => Str, SubscriptionId => Str)

Each argument is described in detail in: Paws::WorkDocs::DeleteNotificationSubscription

Returns: nothing

Deletes the specified subscription from the specified organization.

DeleteUser(UserId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::DeleteUser

Returns: nothing

Deletes the specified user from a Simple AD or Microsoft AD directory.

DescribeComments(DocumentId => Str, VersionId => Str, [AuthenticationToken => Str, Limit => Int, Marker => Str])

Each argument is described in detail in: Paws::WorkDocs::DescribeComments

Returns: a Paws::WorkDocs::DescribeCommentsResponse instance

List all the comments for the specified document version.

DescribeDocumentVersions(DocumentId => Str, [AuthenticationToken => Str, Fields => Str, Include => Str, Limit => Int, Marker => Str])

Each argument is described in detail in: Paws::WorkDocs::DescribeDocumentVersions

Returns: a Paws::WorkDocs::DescribeDocumentVersionsResponse instance

Retrieves the document versions for the specified document.

By default, only active versions are returned.

DescribeFolderContents(FolderId => Str, [AuthenticationToken => Str, Include => Str, Limit => Int, Marker => Str, Order => Str, Sort => Str, Type => Str])

Each argument is described in detail in: Paws::WorkDocs::DescribeFolderContents

Returns: a Paws::WorkDocs::DescribeFolderContentsResponse instance

Describes the contents of the specified folder, including its documents
and subfolders.

By default, Amazon WorkDocs returns the first 100 active document and folder metadata items. If there are more results, the response includes a marker that you can use to request the next set of results. You can also request initialized documents.

DescribeNotificationSubscriptions(OrganizationId => Str, [Limit => Int, Marker => Str])

Each argument is described in detail in: Paws::WorkDocs::DescribeNotificationSubscriptions

Returns: a Paws::WorkDocs::DescribeNotificationSubscriptionsResponse instance

Lists the specified notification subscriptions.

DescribeResourcePermissions(ResourceId => Str, [AuthenticationToken => Str, Limit => Int, Marker => Str])

Each argument is described in detail in: Paws::WorkDocs::DescribeResourcePermissions

Returns: a Paws::WorkDocs::DescribeResourcePermissionsResponse instance

Describes the permissions of a specified resource.

DescribeUsers([AuthenticationToken => Str, Fields => Str, Include => Str, Limit => Int, Marker => Str, Order => Str, OrganizationId => Str, Query => Str, Sort => Str, UserIds => Str])

Each argument is described in detail in: Paws::WorkDocs::DescribeUsers

Returns: a Paws::WorkDocs::DescribeUsersResponse instance

Describes the specified users. You can describe all users or filter the
results (for example, by status or organization).

By default, Amazon WorkDocs returns the first 24 active or pending users. If there are more results, the response includes a marker that you can use to request the next set of results.

GetDocument(DocumentId => Str, [AuthenticationToken => Str, IncludeCustomMetadata => Bool])

Each argument is described in detail in: Paws::WorkDocs::GetDocument

Returns: a Paws::WorkDocs::GetDocumentResponse instance

Retrieves details of a document.

GetDocumentPath(DocumentId => Str, [AuthenticationToken => Str, Fields => Str, Limit => Int, Marker => Str])

Each argument is described in detail in: Paws::WorkDocs::GetDocumentPath

Returns: a Paws::WorkDocs::GetDocumentPathResponse instance

Retrieves the path information (the hierarchy from the root folder) for
the requested document.

By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested document and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the names of the parent folders.

GetDocumentVersion(DocumentId => Str, VersionId => Str, [AuthenticationToken => Str, Fields => Str, IncludeCustomMetadata => Bool])

Each argument is described in detail in: Paws::WorkDocs::GetDocumentVersion

Returns: a Paws::WorkDocs::GetDocumentVersionResponse instance

Retrieves version metadata for the specified document.

GetFolder(FolderId => Str, [AuthenticationToken => Str, IncludeCustomMetadata => Bool])

Each argument is described in detail in: Paws::WorkDocs::GetFolder

Returns: a Paws::WorkDocs::GetFolderResponse instance

Retrieves the metadata of the specified folder.

GetFolderPath(FolderId => Str, [AuthenticationToken => Str, Fields => Str, Limit => Int, Marker => Str])

Each argument is described in detail in: Paws::WorkDocs::GetFolderPath

Returns: a Paws::WorkDocs::GetFolderPathResponse instance

Retrieves the path information (the hierarchy from the root folder) for
the specified folder.

By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested folder and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the parent folder names.

InitiateDocumentVersionUpload(ParentFolderId => Str, [AuthenticationToken => Str, ContentCreatedTimestamp => Str, ContentModifiedTimestamp => Str, ContentType => Str, DocumentSizeInBytes => Int, Id => Str, Name => Str])

Each argument is described in detail in: Paws::WorkDocs::InitiateDocumentVersionUpload

Returns: a Paws::WorkDocs::InitiateDocumentVersionUploadResponse instance

Creates a new document object and version object.

The client specifies the parent folder ID and name of the document to upload. The ID is optionally specified when creating a new version of an existing document. This is the first step to upload a document. Next, upload the document to the URL returned from the call, and then call UpdateDocumentVersion.

To cancel the document upload, call AbortDocumentVersionUpload.

RemoveAllResourcePermissions(ResourceId => Str, [AuthenticationToken => Str])

Each argument is described in detail in: Paws::WorkDocs::RemoveAllResourcePermissions

Returns: nothing

Removes all the permissions from the specified resource.

RemoveResourcePermission(PrincipalId => Str, ResourceId => Str, [AuthenticationToken => Str, PrincipalType => Str])

Each argument is described in detail in: Paws::WorkDocs::RemoveResourcePermission

Returns: nothing

Removes the permission for the specified principal from the specified
resource.

UpdateDocument(DocumentId => Str, [AuthenticationToken => Str, Name => Str, ParentFolderId => Str, ResourceState => Str])

Each argument is described in detail in: Paws::WorkDocs::UpdateDocument

Returns: nothing

Updates the specified attributes of a document. The user must have
access to both the document and its parent folder, if applicable.

UpdateDocumentVersion(DocumentId => Str, VersionId => Str, [AuthenticationToken => Str, VersionStatus => Str])

Each argument is described in detail in: Paws::WorkDocs::UpdateDocumentVersion

Returns: nothing

Changes the status of the document version to ACTIVE.

Amazon WorkDocs also sets its document container to ACTIVE. This is the last step in a document upload, after the client uploads the document to an S3-presigned URL returned by InitiateDocumentVersionUpload.

UpdateFolder(FolderId => Str, [AuthenticationToken => Str, Name => Str, ParentFolderId => Str, ResourceState => Str])

Each argument is described in detail in: Paws::WorkDocs::UpdateFolder

Returns: nothing

Updates the specified attributes of the specified folder. The user must
have access to both the folder and its parent folder, if applicable.

UpdateUser(UserId => Str, [AuthenticationToken => Str, GivenName => Str, Locale => Str, StorageRule => Paws::WorkDocs::StorageRuleType, Surname => Str, TimeZoneId => Str, Type => Str])

Each argument is described in detail in: Paws::WorkDocs::UpdateUser

Returns: a Paws::WorkDocs::UpdateUserResponse instance

Updates the specified attributes of the specified user, and grants or
revokes administrative privileges to the Amazon WorkDocs site.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

DescribeAllDocumentVersions(sub { },DocumentId => Str, [AuthenticationToken => Str, Fields => Str, Include => Str, Limit => Int, Marker => Str])

DescribeAllDocumentVersions(DocumentId => Str, [AuthenticationToken => Str, Fields => Str, Include => Str, Limit => Int, Marker => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

- DocumentVersions, passing the object as the first parameter, and the string 'DocumentVersions' as the second parameter 

If not, it will return a a Paws::WorkDocs::DescribeDocumentVersionsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllFolderContents(sub { },FolderId => Str, [AuthenticationToken => Str, Include => Str, Limit => Int, Marker => Str, Order => Str, Sort => Str, Type => Str])

DescribeAllFolderContents(FolderId => Str, [AuthenticationToken => Str, Include => Str, Limit => Int, Marker => Str, Order => Str, Sort => Str, Type => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

- Folders, passing the object as the first parameter, and the string 'Folders' as the second parameter 

- Documents, passing the object as the first parameter, and the string 'Documents' as the second parameter 

If not, it will return a a Paws::WorkDocs::DescribeFolderContentsResponse instance with all the params; andparams; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllUsers(sub { },[AuthenticationToken => Str, Fields => Str, Include => Str, Limit => Int, Marker => Str, Order => Str, OrganizationId => Str, Query => Str, Sort => Str, UserIds => Str])

DescribeAllUsers([AuthenticationToken => Str, Fields => Str, Include => Str, Limit => Int, Marker => Str, Order => Str, OrganizationId => Str, Query => Str, Sort => Str, UserIds => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

- Users, passing the object as the first parameter, and the string 'Users' as the second parameter 

If not, it will return a a Paws::WorkDocs::DescribeUsersResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues