The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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-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.

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/workdocs-2016-05-01

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]
[NotificationOptions => Paws::WorkDocs::NotificationOptions]

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 Amazon WorkDocs to use Amazon SNS notifications. The endpoint receives a confirmation message, and must confirm the subscription.

For more information, see Subscribe to Notifications (https://docs.aws.amazon.com/workdocs/latest/developerguide/subscribe-notifications.html) in the Amazon WorkDocs 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.

DescribeActivities

[ActivityTypes => Str]
[AuthenticationToken => Str]
[EndTime => Str]
[IncludeIndirectActivities => Bool]
[Limit => Int]
[Marker => Str]
[OrganizationId => Str]
[ResourceId => Str]
[StartTime => Str]
[UserId => Str]

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

Returns: a Paws::WorkDocs::DescribeActivitiesResponse instance

Describes the user activities in a specified time period.

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.

DescribeGroups

SearchQuery => Str
[AuthenticationToken => Str]
[Limit => Int]
[Marker => Str]
[OrganizationId => Str]

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

Returns: a Paws::WorkDocs::DescribeGroupsResponse instance

Describes the groups specified by the query. Groups are defined by the underlying Active Directory.

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]
[PrincipalId => Str]

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

Returns: a Paws::WorkDocs::DescribeResourcePermissionsResponse instance

Describes the permissions of a specified resource.

DescribeRootFolders

AuthenticationToken => Str
[Limit => Int]
[Marker => Str]

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

Returns: a Paws::WorkDocs::DescribeRootFoldersResponse instance

Describes the current user's special folders; the RootFolder and the RecycleBin. RootFolder is the root of user's files and folders and RecycleBin is the root of recycled items. This is not a valid action for SigV4 (administrative API) clients.

This action requires an authentication token. To get an authentication token, register an application with Amazon WorkDocs. For more information, see Authentication and Access Control for User Applications (https://docs.aws.amazon.com/workdocs/latest/developerguide/wd-auth-user.html) in the Amazon WorkDocs Developer Guide.

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.

GetCurrentUser

AuthenticationToken => Str

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

Returns: a Paws::WorkDocs::GetCurrentUserResponse instance

Retrieves details of the current user for whom the authentication token was generated. This is not a valid action for SigV4 (administrative API) clients.

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.

GetResources

[AuthenticationToken => Str]
[CollectionType => Str]
[Limit => Int]
[Marker => Str]
[UserId => Str]

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

Returns: a Paws::WorkDocs::GetResourcesResponse instance

Retrieves a collection of resources, including folders and documents. The only CollectionType supported is SHARED_WITH_ME.

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]
[GrantPoweruserPrivileges => 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

DescribeAllActivities(sub { },[ActivityTypes => Str, AuthenticationToken => Str, EndTime => Str, IncludeIndirectActivities => Bool, Limit => Int, Marker => Str, OrganizationId => Str, ResourceId => Str, StartTime => Str, UserId => Str])

DescribeAllActivities([ActivityTypes => Str, AuthenticationToken => Str, EndTime => Str, IncludeIndirectActivities => Bool, Limit => Int, Marker => Str, OrganizationId => Str, ResourceId => Str, StartTime => Str, UserId => Str])

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

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

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

DescribeAllComments(sub { },DocumentId => Str, VersionId => Str, [AuthenticationToken => Str, Limit => Int, Marker => Str])

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

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

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

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

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.

DescribeAllGroups(sub { },SearchQuery => Str, [AuthenticationToken => Str, Limit => Int, Marker => Str, OrganizationId => Str])

DescribeAllGroups(SearchQuery => Str, [AuthenticationToken => Str, Limit => Int, Marker => Str, OrganizationId => Str])

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

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

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

DescribeAllNotificationSubscriptions(sub { },OrganizationId => Str, [Limit => Int, Marker => Str])

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

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

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

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

DescribeAllResourcePermissions(sub { },ResourceId => Str, [AuthenticationToken => Str, Limit => Int, Marker => Str, PrincipalId => Str])

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

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

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

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

DescribeAllRootFolders(sub { },AuthenticationToken => Str, [Limit => Int, Marker => Str])

DescribeAllRootFolders(AuthenticationToken => Str, [Limit => Int, Marker => 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 

If not, it will return a a Paws::WorkDocs::DescribeRootFoldersResponse instance with all the params; 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