SDK for PHP 3.x

Client: Aws\DataSync\DataSyncClient
Service ID: datasync
Version: 2018-11-09

This page describes the parameters and results for the operations of the AWS DataSync (2018-11-09), and shows how to use the Aws\DataSync\DataSyncClient object to call the described operations. This documentation is specific to the 2018-11-09 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AddStorageSystem ( array $params = [] )
Creates an Amazon Web Services resource for an on-premises storage system that you want DataSync Discovery to collect information about.
CancelTaskExecution ( array $params = [] )
Stops an DataSync task execution that's in progress.
CreateAgent ( array $params = [] )
Activates an DataSync agent that you deploy in your storage environment.
CreateLocationAzureBlob ( array $params = [] )
Creates a transfer location for a Microsoft Azure Blob Storage container.
CreateLocationEfs ( array $params = [] )
Creates a transfer location for an Amazon EFS file system.
CreateLocationFsxLustre ( array $params = [] )
Creates a transfer location for an Amazon FSx for Lustre file system.
CreateLocationFsxOntap ( array $params = [] )
Creates a transfer location for an Amazon FSx for NetApp ONTAP file system.
CreateLocationFsxOpenZfs ( array $params = [] )
Creates a transfer location for an Amazon FSx for OpenZFS file system.
CreateLocationFsxWindows ( array $params = [] )
Creates a transfer location for an Amazon FSx for Windows File Server file system.
CreateLocationHdfs ( array $params = [] )
Creates a transfer location for a Hadoop Distributed File System (HDFS).
CreateLocationNfs ( array $params = [] )
Creates a transfer location for a Network File System (NFS) file server.
CreateLocationObjectStorage ( array $params = [] )
Creates a transfer location for an object storage system.
CreateLocationS3 ( array $params = [] )
Creates a transfer location for an Amazon S3 bucket.
CreateLocationSmb ( array $params = [] )
Creates a transfer location for a Server Message Block (SMB) file server.
CreateTask ( array $params = [] )
Configures a task, which defines where and how DataSync transfers your data.
DeleteAgent ( array $params = [] )
Removes an DataSync agent resource from your Amazon Web Services account.
DeleteLocation ( array $params = [] )
Deletes a transfer location resource from DataSync.
DeleteTask ( array $params = [] )
Deletes a transfer task resource from DataSync.
DescribeAgent ( array $params = [] )
Returns information about an DataSync agent, such as its name, service endpoint type, and status.
DescribeDiscoveryJob ( array $params = [] )
Returns information about a DataSync discovery job.
DescribeLocationAzureBlob ( array $params = [] )
Provides details about how an DataSync transfer location for Microsoft Azure Blob Storage is configured.
DescribeLocationEfs ( array $params = [] )
Provides details about how an DataSync transfer location for an Amazon EFS file system is configured.
DescribeLocationFsxLustre ( array $params = [] )
Provides details about how an DataSync transfer location for an Amazon FSx for Lustre file system is configured.
DescribeLocationFsxOntap ( array $params = [] )
Provides details about how an DataSync transfer location for an Amazon FSx for NetApp ONTAP file system is configured.
DescribeLocationFsxOpenZfs ( array $params = [] )
Provides details about how an DataSync transfer location for an Amazon FSx for OpenZFS file system is configured.
DescribeLocationFsxWindows ( array $params = [] )
Provides details about how an DataSync transfer location for an Amazon FSx for Windows File Server file system is configured.
DescribeLocationHdfs ( array $params = [] )
Provides details about how an DataSync transfer location for a Hadoop Distributed File System (HDFS) is configured.
DescribeLocationNfs ( array $params = [] )
Provides details about how an DataSync transfer location for a Network File System (NFS) file server is configured.
DescribeLocationObjectStorage ( array $params = [] )
Provides details about how an DataSync transfer location for an object storage system is configured.
DescribeLocationS3 ( array $params = [] )
Provides details about how an DataSync transfer location for an S3 bucket is configured.
DescribeLocationSmb ( array $params = [] )
Provides details about how an DataSync transfer location for a Server Message Block (SMB) file server is configured.
DescribeStorageSystem ( array $params = [] )
Returns information about an on-premises storage system that you're using with DataSync Discovery.
DescribeStorageSystemResourceMetrics ( array $params = [] )
Returns information, including performance data and capacity usage, which DataSync Discovery collects about a specific resource in your-premises storage system.
DescribeStorageSystemResources ( array $params = [] )
Returns information that DataSync Discovery collects about resources in your on-premises storage system.
DescribeTask ( array $params = [] )
Provides information about a task, which defines where and how DataSync transfers your data.
DescribeTaskExecution ( array $params = [] )
Provides information about an execution of your DataSync task.
GenerateRecommendations ( array $params = [] )
Creates recommendations about where to migrate your data to in Amazon Web Services.
ListAgents ( array $params = [] )
Returns a list of DataSync agents that belong to an Amazon Web Services account in the Amazon Web Services Region specified in the request.
ListDiscoveryJobs ( array $params = [] )
Provides a list of the existing discovery jobs in the Amazon Web Services Region and Amazon Web Services account where you're using DataSync Discovery.
ListLocations ( array $params = [] )
Returns a list of source and destination locations.
ListStorageSystems ( array $params = [] )
Lists the on-premises storage systems that you're using with DataSync Discovery.
ListTagsForResource ( array $params = [] )
Returns all the tags associated with an Amazon Web Services resource.
ListTaskExecutions ( array $params = [] )
Returns a list of executions for an DataSync transfer task.
ListTasks ( array $params = [] )
Returns a list of the DataSync tasks you created.
RemoveStorageSystem ( array $params = [] )
Permanently removes a storage system resource from DataSync Discovery, including the associated discovery jobs, collected data, and recommendations.
StartDiscoveryJob ( array $params = [] )
Runs a DataSync discovery job on your on-premises storage system.
StartTaskExecution ( array $params = [] )
Starts an DataSync transfer task.
StopDiscoveryJob ( array $params = [] )
Stops a running DataSync discovery job.
TagResource ( array $params = [] )
Applies a tag to an Amazon Web Services resource.
UntagResource ( array $params = [] )
Removes tags from an Amazon Web Services resource.
UpdateAgent ( array $params = [] )
Updates the name of an DataSync agent.
UpdateDiscoveryJob ( array $params = [] )
Edits a DataSync discovery job configuration.
UpdateLocationAzureBlob ( array $params = [] )
Modifies some configurations of the Microsoft Azure Blob Storage transfer location that you're using with DataSync.
UpdateLocationHdfs ( array $params = [] )
Updates some parameters of a previously created location for a Hadoop Distributed File System cluster.
UpdateLocationNfs ( array $params = [] )
Modifies some configurations of the Network File System (NFS) transfer location that you're using with DataSync.
UpdateLocationObjectStorage ( array $params = [] )
Updates some parameters of an existing DataSync location for an object storage system.
UpdateLocationSmb ( array $params = [] )
Updates some of the parameters of a Server Message Block (SMB) file server location that you can use for DataSync transfers.
UpdateStorageSystem ( array $params = [] )
Modifies some configurations of an on-premises storage system resource that you're using with DataSync Discovery.
UpdateTask ( array $params = [] )
Updates the configuration of a task, which defines where and how DataSync transfers your data.
UpdateTaskExecution ( array $params = [] )
Updates the configuration of a running DataSync task execution.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeStorageSystemResourceMetrics
DescribeStorageSystemResources
ListAgents
ListDiscoveryJobs
ListLocations
ListStorageSystems
ListTagsForResource
ListTaskExecutions
ListTasks

Operations

AddStorageSystem

$result = $client->addStorageSystem([/* ... */]);
$promise = $client->addStorageSystemAsync([/* ... */]);

Creates an Amazon Web Services resource for an on-premises storage system that you want DataSync Discovery to collect information about.

Parameter Syntax

$result = $client->addStorageSystem([
    'AgentArns' => ['<string>', ...], // REQUIRED
    'ClientToken' => '<string>', // REQUIRED
    'CloudWatchLogGroupArn' => '<string>',
    'Credentials' => [ // REQUIRED
        'Password' => '<string>', // REQUIRED
        'Username' => '<string>', // REQUIRED
    ],
    'Name' => '<string>',
    'ServerConfiguration' => [ // REQUIRED
        'ServerHostname' => '<string>', // REQUIRED
        'ServerPort' => <integer>,
    ],
    'SystemType' => 'NetAppONTAP', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
AgentArns
Required: Yes
Type: Array of strings

Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects to and reads from your on-premises storage system's management interface. You can only specify one ARN.

ClientToken
Required: Yes
Type: string

Specifies a client token to make sure requests with this API operation are idempotent. If you don't specify a client token, DataSync generates one for you automatically.

CloudWatchLogGroupArn
Type: string

Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.

Credentials
Required: Yes
Type: Credentials structure

Specifies the user name and password for accessing your on-premises storage system's management interface.

Name
Type: string

Specifies a familiar name for your on-premises storage system.

ServerConfiguration
Required: Yes
Type: DiscoveryServerConfiguration structure

Specifies the server name and network port required to connect with the management interface of your on-premises storage system.

SystemType
Required: Yes
Type: string

Specifies the type of on-premises storage system that you want DataSync Discovery to collect information about.

DataSync Discovery currently supports NetApp Fabric-Attached Storage (FAS) and All Flash FAS (AFF) systems running ONTAP 9.7 or later.

Tags
Type: Array of TagListEntry structures

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your on-premises storage system.

Result Syntax

[
    'StorageSystemArn' => '<string>',
]

Result Details

Members
StorageSystemArn
Required: Yes
Type: string

The ARN of the on-premises storage system that you can use with DataSync Discovery.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CancelTaskExecution

$result = $client->cancelTaskExecution([/* ... */]);
$promise = $client->cancelTaskExecutionAsync([/* ... */]);

Stops an DataSync task execution that's in progress. The transfer of some files are abruptly interrupted. File contents that're transferred to the destination might be incomplete or inconsistent with the source files.

However, if you start a new task execution using the same task and allow it to finish, file content on the destination will be complete and consistent. This applies to other unexpected failures that interrupt a task execution. In all of these cases, DataSync successfully completes the transfer when you start the next task execution.

Parameter Syntax

$result = $client->cancelTaskExecution([
    'TaskExecutionArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
TaskExecutionArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the task execution to stop.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateAgent

$result = $client->createAgent([/* ... */]);
$promise = $client->createAgentAsync([/* ... */]);

Activates an DataSync agent that you deploy in your storage environment. The activation process associates the agent with your Amazon Web Services account.

If you haven't deployed an agent yet, see Do I need a DataSync agent?

Parameter Syntax

$result = $client->createAgent([
    'ActivationKey' => '<string>', // REQUIRED
    'AgentName' => '<string>',
    'SecurityGroupArns' => ['<string>', ...],
    'SubnetArns' => ['<string>', ...],
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'VpcEndpointId' => '<string>',
]);

Parameter Details

Members
ActivationKey
Required: Yes
Type: string

Specifies your DataSync agent's activation key. If you don't have an activation key, see Activating your agent.

AgentName
Type: string

Specifies a name for your agent. We recommend specifying a name that you can remember.

SecurityGroupArns
Type: Array of strings

Specifies the Amazon Resource Name (ARN) of the security group that allows traffic between your agent and VPC service endpoint. You can only specify one ARN.

SubnetArns
Type: Array of strings

Specifies the ARN of the subnet where your VPC service endpoint is located. You can only specify one ARN.

Tags
Type: Array of TagListEntry structures

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least one tag for your agent.

VpcEndpointId
Type: string

Specifies the ID of the VPC service endpoint that you're using. For example, a VPC endpoint ID looks like vpce-01234d5aff67890e1.

The VPC service endpoint you use must include the DataSync service name (for example, com.amazonaws.us-east-2.datasync).

Result Syntax

[
    'AgentArn' => '<string>',
]

Result Details

Members
AgentArn
Type: string

The ARN of the agent that you just activated. Use the ListAgents operation to return a list of agents in your Amazon Web Services account and Amazon Web Services Region.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationAzureBlob

$result = $client->createLocationAzureBlob([/* ... */]);
$promise = $client->createLocationAzureBlobAsync([/* ... */]);

Creates a transfer location for a Microsoft Azure Blob Storage container. DataSync can use this location as a transfer source or destination.

Before you begin, make sure you know how DataSync accesses Azure Blob Storage and works with access tiers and blob types. You also need a DataSync agent that can connect to your container.

Parameter Syntax

$result = $client->createLocationAzureBlob([
    'AccessTier' => 'HOT|COOL|ARCHIVE',
    'AgentArns' => ['<string>', ...], // REQUIRED
    'AuthenticationType' => 'SAS', // REQUIRED
    'BlobType' => 'BLOCK',
    'ContainerUrl' => '<string>', // REQUIRED
    'SasConfiguration' => [
        'Token' => '<string>', // REQUIRED
    ],
    'Subdirectory' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
AccessTier
Type: string

Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see Access tiers.

AgentArns
Required: Yes
Type: Array of strings

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.

You can specify more than one agent. For more information, see Using multiple agents for your transfer.

AuthenticationType
Required: Yes
Type: string

Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).

BlobType
Type: string

Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the Azure Blob Storage documentation.

ContainerUrl
Required: Yes
Type: string

Specifies the URL of the Azure Blob Storage container involved in your transfer.

SasConfiguration
Type: AzureBlobSasConfiguration structure

Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.

Subdirectory
Type: string

Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, /my/images).

Tags
Type: Array of TagListEntry structures

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your transfer location.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

The ARN of the Azure Blob Storage transfer location that you created.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationEfs

$result = $client->createLocationEfs([/* ... */]);
$promise = $client->createLocationEfsAsync([/* ... */]);

Creates a transfer location for an Amazon EFS file system. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses Amazon EFS file systems.

Parameter Syntax

$result = $client->createLocationEfs([
    'AccessPointArn' => '<string>',
    'Ec2Config' => [ // REQUIRED
        'SecurityGroupArns' => ['<string>', ...], // REQUIRED
        'SubnetArn' => '<string>', // REQUIRED
    ],
    'EfsFilesystemArn' => '<string>', // REQUIRED
    'FileSystemAccessRoleArn' => '<string>',
    'InTransitEncryption' => 'NONE|TLS1_2',
    'Subdirectory' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
AccessPointArn
Type: string

Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.

For more information, see Accessing restricted file systems.

Ec2Config
Required: Yes
Type: Ec2Config structure

Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's mount targets.

EfsFilesystemArn
Required: Yes
Type: string

Specifies the ARN for your Amazon EFS file system.

FileSystemAccessRoleArn
Type: string

Specifies an Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.

For information on creating this role, see Creating a DataSync IAM role for file system access.

InTransitEncryption
Type: string

Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.

If you specify an access point using AccessPointArn or an IAM role using FileSystemAccessRoleArn, you must set this parameter to TLS1_2.

Subdirectory
Type: string

Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location) on your file system.

By default, DataSync uses the root directory (or access point if you provide one by using AccessPointArn). You can also include subdirectories using forward slashes (for example, /path/to/folder).

Tags
Type: Array of TagListEntry structures

Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

The Amazon Resource Name (ARN) of the Amazon EFS file system location that you create.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationFsxLustre

$result = $client->createLocationFsxLustre([/* ... */]);
$promise = $client->createLocationFsxLustreAsync([/* ... */]);

Creates a transfer location for an Amazon FSx for Lustre file system. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses FSx for Lustre file systems.

Parameter Syntax

$result = $client->createLocationFsxLustre([
    'FsxFilesystemArn' => '<string>', // REQUIRED
    'SecurityGroupArns' => ['<string>', ...], // REQUIRED
    'Subdirectory' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
FsxFilesystemArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) for the FSx for Lustre file system.

SecurityGroupArns
Required: Yes
Type: Array of strings

The Amazon Resource Names (ARNs) of the security groups that are used to configure the FSx for Lustre file system.

Subdirectory
Type: string

A subdirectory in the location's path. This subdirectory in the FSx for Lustre file system is used to read data from the FSx for Lustre source location or write data to the FSx for Lustre destination.

Tags
Type: Array of TagListEntry structures

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

The Amazon Resource Name (ARN) of the FSx for Lustre file system location that's created.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationFsxOntap

$result = $client->createLocationFsxOntap([/* ... */]);
$promise = $client->createLocationFsxOntapAsync([/* ... */]);

Creates a transfer location for an Amazon FSx for NetApp ONTAP file system. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses FSx for ONTAP file systems.

Parameter Syntax

$result = $client->createLocationFsxOntap([
    'Protocol' => [ // REQUIRED
        'NFS' => [
            'MountOptions' => [
                'Version' => 'AUTOMATIC|NFS3|NFS4_0|NFS4_1',
            ],
        ],
        'SMB' => [
            'Domain' => '<string>',
            'MountOptions' => [
                'Version' => 'AUTOMATIC|SMB2|SMB3|SMB1|SMB2_0',
            ],
            'Password' => '<string>', // REQUIRED
            'User' => '<string>', // REQUIRED
        ],
    ],
    'SecurityGroupArns' => ['<string>', ...], // REQUIRED
    'StorageVirtualMachineArn' => '<string>', // REQUIRED
    'Subdirectory' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
Protocol
Required: Yes
Type: FsxProtocol structure

Specifies the data transfer protocol that DataSync uses to access your Amazon FSx file system.

SecurityGroupArns
Required: Yes
Type: Array of strings

Specifies the Amazon EC2 security groups that provide access to your file system's preferred subnet.

The security groups must allow outbound traffic on the following ports (depending on the protocol you use):

  • Network File System (NFS): TCP ports 111, 635, and 2049

  • Server Message Block (SMB): TCP port 445

Your file system's security groups must also allow inbound traffic on the same ports.

StorageVirtualMachineArn
Required: Yes
Type: string

Specifies the ARN of the storage virtual machine (SVM) in your file system where you want to copy data to or from.

Subdirectory
Type: string

Specifies a path to the file share in the SVM where you'll copy your data.

You can specify a junction path (also known as a mount point), qtree path (for NFS file shares), or share name (for SMB file shares). For example, your mount path might be /vol1, /vol1/tree1, or /share1.

Don't specify a junction path in the SVM's root volume. For more information, see Managing FSx for ONTAP storage virtual machines in the Amazon FSx for NetApp ONTAP User Guide.

Tags
Type: Array of TagListEntry structures

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

Specifies the ARN of the FSx for ONTAP file system location that you create.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationFsxOpenZfs

$result = $client->createLocationFsxOpenZfs([/* ... */]);
$promise = $client->createLocationFsxOpenZfsAsync([/* ... */]);

Creates a transfer location for an Amazon FSx for OpenZFS file system. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses FSx for OpenZFS file systems.

Request parameters related to SMB aren't supported with the CreateLocationFsxOpenZfs operation.

Parameter Syntax

$result = $client->createLocationFsxOpenZfs([
    'FsxFilesystemArn' => '<string>', // REQUIRED
    'Protocol' => [ // REQUIRED
        'NFS' => [
            'MountOptions' => [
                'Version' => 'AUTOMATIC|NFS3|NFS4_0|NFS4_1',
            ],
        ],
        'SMB' => [
            'Domain' => '<string>',
            'MountOptions' => [
                'Version' => 'AUTOMATIC|SMB2|SMB3|SMB1|SMB2_0',
            ],
            'Password' => '<string>', // REQUIRED
            'User' => '<string>', // REQUIRED
        ],
    ],
    'SecurityGroupArns' => ['<string>', ...], // REQUIRED
    'Subdirectory' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
FsxFilesystemArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.

Protocol
Required: Yes
Type: FsxProtocol structure

The type of protocol that DataSync uses to access your file system.

SecurityGroupArns
Required: Yes
Type: Array of strings

The ARNs of the security groups that are used to configure the FSx for OpenZFS file system.

Subdirectory
Type: string

A subdirectory in the location's path that must begin with /fsx. DataSync uses this subdirectory to read or write data (depending on whether the file system is a source or destination location).

Tags
Type: Array of TagListEntry structures

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

The ARN of the FSx for OpenZFS file system location that you created.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationFsxWindows

$result = $client->createLocationFsxWindows([/* ... */]);
$promise = $client->createLocationFsxWindowsAsync([/* ... */]);

Creates a transfer location for an Amazon FSx for Windows File Server file system. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses FSx for Windows File Server file systems.

Parameter Syntax

$result = $client->createLocationFsxWindows([
    'Domain' => '<string>',
    'FsxFilesystemArn' => '<string>', // REQUIRED
    'Password' => '<string>', // REQUIRED
    'SecurityGroupArns' => ['<string>', ...], // REQUIRED
    'Subdirectory' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'User' => '<string>', // REQUIRED
]);

Parameter Details

Members
Domain
Type: string

Specifies the name of the Microsoft Active Directory domain that the FSx for Windows File Server file system belongs to.

If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.

FsxFilesystemArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server file system.

Password
Required: Yes
Type: string

Specifies the password of the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.

SecurityGroupArns
Required: Yes
Type: Array of strings

Specifies the ARNs of the Amazon EC2 security groups that provide access to your file system's preferred subnet.

The security groups that you specify must be able to communicate with your file system's security groups. For information about configuring security groups for file system access, see the Amazon FSx for Windows File Server User Guide .

If you choose a security group that doesn't allow connections from within itself, do one of the following:

  • Configure the security group to allow it to communicate within itself.

  • Choose a different security group that can communicate with the mount target's security group.

Subdirectory
Type: string

Specifies a mount path for your file system using forward slashes. This is where DataSync reads or writes data (depending on if this is a source or destination location).

Tags
Type: Array of TagListEntry structures

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.

User
Required: Yes
Type: string

Specifies the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.

For information about choosing a user with the right level of access for your transfer, see required permissions for FSx for Windows File Server locations.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

The ARN of the FSx for Windows File Server file system location you created.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationHdfs

$result = $client->createLocationHdfs([/* ... */]);
$promise = $client->createLocationHdfsAsync([/* ... */]);

Creates a transfer location for a Hadoop Distributed File System (HDFS). DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses HDFS clusters.

Parameter Syntax

$result = $client->createLocationHdfs([
    'AgentArns' => ['<string>', ...], // REQUIRED
    'AuthenticationType' => 'SIMPLE|KERBEROS', // REQUIRED
    'BlockSize' => <integer>,
    'KerberosKeytab' => <string || resource || Psr\Http\Message\StreamInterface>,
    'KerberosKrb5Conf' => <string || resource || Psr\Http\Message\StreamInterface>,
    'KerberosPrincipal' => '<string>',
    'KmsKeyProviderUri' => '<string>',
    'NameNodes' => [ // REQUIRED
        [
            'Hostname' => '<string>', // REQUIRED
            'Port' => <integer>, // REQUIRED
        ],
        // ...
    ],
    'QopConfiguration' => [
        'DataTransferProtection' => 'DISABLED|AUTHENTICATION|INTEGRITY|PRIVACY',
        'RpcProtection' => 'DISABLED|AUTHENTICATION|INTEGRITY|PRIVACY',
    ],
    'ReplicationFactor' => <integer>,
    'SimpleUser' => '<string>',
    'Subdirectory' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
AgentArns
Required: Yes
Type: Array of strings

The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.

AuthenticationType
Required: Yes
Type: string

The type of authentication used to determine the identity of the user.

BlockSize
Type: int

The size of data blocks to write into the HDFS cluster. The block size must be a multiple of 512 bytes. The default block size is 128 mebibytes (MiB).

KerberosKeytab
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. You can load the keytab from a file by providing the file's address. If you're using the CLI, it performs base64 encoding for you. Otherwise, provide the base64-encoded text.

If KERBEROS is specified for AuthenticationType, this parameter is required.

KerberosKrb5Conf
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The krb5.conf file that contains the Kerberos configuration information. You can load the krb5.conf file by providing the file's address. If you're using the CLI, it performs the base64 encoding for you. Otherwise, provide the base64-encoded text.

If KERBEROS is specified for AuthenticationType, this parameter is required.

KerberosPrincipal
Type: string

The Kerberos principal with access to the files and folders on the HDFS cluster.

If KERBEROS is specified for AuthenticationType, this parameter is required.

KmsKeyProviderUri
Type: string

The URI of the HDFS cluster's Key Management Server (KMS).

NameNodes
Required: Yes
Type: Array of HdfsNameNode structures

The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode.

QopConfiguration
Type: QopConfiguration structure

The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the Hadoop Distributed File System (HDFS) cluster. If QopConfiguration isn't specified, RpcProtection and DataTransferProtection default to PRIVACY. If you set RpcProtection or DataTransferProtection, the other parameter assumes the same value.

ReplicationFactor
Type: int

The number of DataNodes to replicate the data to when writing to the HDFS cluster. By default, data is replicated to three DataNodes.

SimpleUser
Type: string

The user name used to identify the client on the host operating system.

If SIMPLE is specified for AuthenticationType, this parameter is required.

Subdirectory
Type: string

A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster. If the subdirectory isn't specified, it will default to /.

Tags
Type: Array of TagListEntry structures

The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

The ARN of the source HDFS cluster location that you create.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationNfs

$result = $client->createLocationNfs([/* ... */]);
$promise = $client->createLocationNfsAsync([/* ... */]);

Creates a transfer location for a Network File System (NFS) file server. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses NFS file servers.

If you're copying data to or from an Snowcone device, you can also use CreateLocationNfs to create your transfer location. For more information, see Configuring transfers with Snowcone.

Parameter Syntax

$result = $client->createLocationNfs([
    'MountOptions' => [
        'Version' => 'AUTOMATIC|NFS3|NFS4_0|NFS4_1',
    ],
    'OnPremConfig' => [ // REQUIRED
        'AgentArns' => ['<string>', ...], // REQUIRED
    ],
    'ServerHostname' => '<string>', // REQUIRED
    'Subdirectory' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
MountOptions
Type: NfsMountOptions structure

Specifies the options that DataSync can use to mount your NFS file server.

OnPremConfig
Required: Yes
Type: OnPremConfig structure

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect to your NFS file server.

You can specify more than one agent. For more information, see Using multiple DataSync agents.

ServerHostname
Required: Yes
Type: string

Specifies the Domain Name System (DNS) name or IP version 4 address of the NFS file server that your DataSync agent connects to.

Subdirectory
Required: Yes
Type: string

Specifies the export path in your NFS file server that you want DataSync to mount.

This path (or a subdirectory of the path) is where DataSync transfers data to or from. For information on configuring an export for DataSync, see Accessing NFS file servers.

Tags
Type: Array of TagListEntry structures

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

The ARN of the transfer location that you created for your NFS file server.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationObjectStorage

$result = $client->createLocationObjectStorage([/* ... */]);
$promise = $client->createLocationObjectStorageAsync([/* ... */]);

Creates a transfer location for an object storage system. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand the prerequisites for DataSync to work with object storage systems.

Parameter Syntax

$result = $client->createLocationObjectStorage([
    'AccessKey' => '<string>',
    'AgentArns' => ['<string>', ...], // REQUIRED
    'BucketName' => '<string>', // REQUIRED
    'SecretKey' => '<string>',
    'ServerCertificate' => <string || resource || Psr\Http\Message\StreamInterface>,
    'ServerHostname' => '<string>', // REQUIRED
    'ServerPort' => <integer>,
    'ServerProtocol' => 'HTTPS|HTTP',
    'Subdirectory' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
AccessKey
Type: string

Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.

AgentArns
Required: Yes
Type: Array of strings

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.

BucketName
Required: Yes
Type: string

Specifies the name of the object storage bucket involved in the transfer.

SecretKey
Type: string

Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.

ServerCertificate
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single .pem file with a full certificate chain (for example, file:///home/user/.ssh/object_storage_certificates.pem).

The certificate chain might include:

  • The object storage system's certificate

  • All intermediate certificates (if there are any)

  • The root certificate of the signing CA

You can concatenate your certificates into a .pem file (which can be up to 32768 bytes before base64 encoding). The following example cat command creates an object_storage_certificates.pem file that includes three certificates:

cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem

To use this parameter, configure ServerProtocol to HTTPS.

ServerHostname
Required: Yes
Type: string

Specifies the domain name or IP address of the object storage server. A DataSync agent uses this hostname to mount the object storage server in a network.

ServerPort
Type: int

Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).

ServerProtocol
Type: string

Specifies the protocol that your object storage server uses to communicate.

Subdirectory
Type: string

Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.

Tags
Type: Array of TagListEntry structures

Specifies the key-value pair that represents a tag that you want to add to the resource. Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

Specifies the ARN of the object storage system location that you create.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationS3

$result = $client->createLocationS3([/* ... */]);
$promise = $client->createLocationS3Async([/* ... */]);

Creates a transfer location for an Amazon S3 bucket. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you read the following topics:

For more information, see Configuring transfers with Amazon S3.

Parameter Syntax

$result = $client->createLocationS3([
    'AgentArns' => ['<string>', ...],
    'S3BucketArn' => '<string>', // REQUIRED
    'S3Config' => [ // REQUIRED
        'BucketAccessRoleArn' => '<string>', // REQUIRED
    ],
    'S3StorageClass' => 'STANDARD|STANDARD_IA|ONEZONE_IA|INTELLIGENT_TIERING|GLACIER|DEEP_ARCHIVE|OUTPOSTS|GLACIER_INSTANT_RETRIEVAL',
    'Subdirectory' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
AgentArns
Type: Array of strings

(Amazon S3 on Outposts only) Specifies the Amazon Resource Name (ARN) of the DataSync agent on your Outpost.

For more information, see Deploy your DataSync agent on Outposts.

S3BucketArn
Required: Yes
Type: string

Specifies the ARN of the S3 bucket that you want to use as a location. (When creating your DataSync task later, you specify whether this location is a transfer source or destination.)

If your S3 bucket is located on an Outposts resource, you must specify an Amazon S3 access point. For more information, see Managing data access with Amazon S3 access points in the Amazon S3 User Guide.

S3Config
Required: Yes
Type: S3Config structure

Specifies the Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that DataSync uses to access your S3 bucket.

For more information, see Accessing S3 buckets.

S3StorageClass
Type: string

Specifies the storage class that you want your objects to use when Amazon S3 is a transfer destination.

For buckets in Amazon Web Services Regions, the storage class defaults to STANDARD. For buckets on Outposts, the storage class defaults to OUTPOSTS.

For more information, see Storage class considerations with Amazon S3 transfers.

Subdirectory
Type: string

Specifies a prefix in the S3 bucket that DataSync reads from or writes to (depending on whether the bucket is a source or destination location).

DataSync can't transfer objects with a prefix that begins with a slash (/) or includes //, /./, or /../ patterns. For example:

  • /photos

  • photos//2006/January

  • photos/./2006/February

  • photos/../2006/March

Tags
Type: Array of TagListEntry structures

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your transfer location.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

The ARN of the S3 location that you created.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateLocationSmb

$result = $client->createLocationSmb([/* ... */]);
$promise = $client->createLocationSmbAsync([/* ... */]);

Creates a transfer location for a Server Message Block (SMB) file server. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses SMB file servers.

Parameter Syntax

$result = $client->createLocationSmb([
    'AgentArns' => ['<string>', ...], // REQUIRED
    'Domain' => '<string>',
    'MountOptions' => [
        'Version' => 'AUTOMATIC|SMB2|SMB3|SMB1|SMB2_0',
    ],
    'Password' => '<string>', // REQUIRED
    'ServerHostname' => '<string>', // REQUIRED
    'Subdirectory' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'User' => '<string>', // REQUIRED
]);

Parameter Details

Members
AgentArns
Required: Yes
Type: Array of strings

Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

Domain
Type: string

Specifies the name of the Active Directory domain that your SMB file server belongs to.

If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

MountOptions
Type: SmbMountOptions structure

Specifies the version of the SMB protocol that DataSync uses to access your SMB file server.

Password
Required: Yes
Type: string

Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.

For more information, see required permissions for SMB locations.

ServerHostname
Required: Yes
Type: string

Specifies the Domain Name Service (DNS) name or IP address of the SMB file server that your DataSync agent will mount.

You can't specify an IP version 6 (IPv6) address.

Subdirectory
Required: Yes
Type: string

Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, /path/to/subdirectory). Make sure that other SMB clients in your network can also mount this path.

To copy all data in the subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see required permissions for SMB locations.

Tags
Type: Array of TagListEntry structures

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.

User
Required: Yes
Type: string

Specifies the user that can mount and access the files, folders, and file metadata in your SMB file server.

For information about choosing a user with the right level of access for your transfer, see required permissions for SMB locations.

Result Syntax

[
    'LocationArn' => '<string>',
]

Result Details

Members
LocationArn
Type: string

The ARN of the SMB location that you created.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

CreateTask

$result = $client->createTask([/* ... */]);
$promise = $client->createTaskAsync([/* ... */]);

Configures a task, which defines where and how DataSync transfers your data.

A task includes a source location, destination location, and transfer options (such as bandwidth limits, scheduling, and more).

If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

Parameter Syntax

$result = $client->createTask([
    'CloudWatchLogGroupArn' => '<string>',
    'DestinationLocationArn' => '<string>', // REQUIRED
    'Excludes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'Includes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'ManifestConfig' => [
        'Action' => 'TRANSFER',
        'Format' => 'CSV',
        'Source' => [
            'S3' => [ // REQUIRED
                'BucketAccessRoleArn' => '<string>', // REQUIRED
                'ManifestObjectPath' => '<string>', // REQUIRED
                'ManifestObjectVersionId' => '<string>',
                'S3BucketArn' => '<string>', // REQUIRED
            ],
        ],
    ],
    'Name' => '<string>',
    'Options' => [
        'Atime' => 'NONE|BEST_EFFORT',
        'BytesPerSecond' => <integer>,
        'Gid' => 'NONE|INT_VALUE|NAME|BOTH',
        'LogLevel' => 'OFF|BASIC|TRANSFER',
        'Mtime' => 'NONE|PRESERVE',
        'ObjectTags' => 'PRESERVE|NONE',
        'OverwriteMode' => 'ALWAYS|NEVER',
        'PosixPermissions' => 'NONE|PRESERVE',
        'PreserveDeletedFiles' => 'PRESERVE|REMOVE',
        'PreserveDevices' => 'NONE|PRESERVE',
        'SecurityDescriptorCopyFlags' => 'NONE|OWNER_DACL|OWNER_DACL_SACL',
        'TaskQueueing' => 'ENABLED|DISABLED',
        'TransferMode' => 'CHANGED|ALL',
        'Uid' => 'NONE|INT_VALUE|NAME|BOTH',
        'VerifyMode' => 'POINT_IN_TIME_CONSISTENT|ONLY_FILES_TRANSFERRED|NONE',
    ],
    'Schedule' => [
        'ScheduleExpression' => '<string>', // REQUIRED
        'Status' => 'ENABLED|DISABLED',
    ],
    'SourceLocationArn' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'TaskMode' => 'BASIC|ENHANCED',
    'TaskReportConfig' => [
        'Destination' => [
            'S3' => [
                'BucketAccessRoleArn' => '<string>', // REQUIRED
                'S3BucketArn' => '<string>', // REQUIRED
                'Subdirectory' => '<string>',
            ],
        ],
        'ObjectVersionIds' => 'INCLUDE|NONE',
        'OutputType' => 'SUMMARY_ONLY|STANDARD',
        'Overrides' => [
            'Deleted' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Skipped' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Transferred' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Verified' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
        ],
        'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
    ],
]);

Parameter Details

Members
CloudWatchLogGroupArn
Type: string

Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

For Enhanced mode tasks, you don't need to specify anything. DataSync automatically sends logs to a CloudWatch log group named /aws/datasync.

DestinationLocationArn
Required: Yes
Type: string

Specifies the ARN of your transfer's destination location.

Excludes
Type: Array of FilterRule structures

Specifies exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

Includes
Type: Array of FilterRule structures

Specifies include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

ManifestConfig
Type: ManifestConfig structure

Configures a manifest, which is a list of files or objects that you want DataSync to transfer. For more information and configuration examples, see Specifying what DataSync transfers by using a manifest.

When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

Name
Type: string

Specifies the name of your task.

Options
Type: Options structure

Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options.

Schedule
Type: TaskSchedule structure

Specifies a schedule for when you want your task to run. For more information, see Scheduling your task.

SourceLocationArn
Required: Yes
Type: string

Specifies the ARN of your transfer's source location.

Tags
Type: Array of TagListEntry structures

Specifies the tags that you want to apply to your task.

Tags are key-value pairs that help you manage, filter, and search for your DataSync resources.

TaskMode
Type: string

Specifies one of the following task modes for your data transfer:

  • ENHANCED - Transfer virtually unlimited numbers of objects with higher performance than Basic mode. Enhanced mode tasks optimize the data transfer process by listing, preparing, transferring, and verifying data in parallel. Enhanced mode is currently available for transfers between Amazon S3 locations.

    To create an Enhanced mode task, the IAM role that you use to call the CreateTask operation must have the iam:CreateServiceLinkedRole permission.

  • BASIC (default) - Transfer files or objects between Amazon Web Services storage and all other supported DataSync locations. Basic mode tasks are subject to quotas on the number of files, objects, and directories in a dataset. Basic mode sequentially prepares, transfers, and verifies data, making it slower than Enhanced mode for most workloads.

For more information, see Understanding task mode differences.

TaskReportConfig
Type: TaskReportConfig structure

Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see Monitoring your DataSync transfers with task reports.

When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

Result Syntax

[
    'TaskArn' => '<string>',
]

Result Details

Members
TaskArn
Type: string

The Amazon Resource Name (ARN) of the task.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DeleteAgent

$result = $client->deleteAgent([/* ... */]);
$promise = $client->deleteAgentAsync([/* ... */]);

Removes an DataSync agent resource from your Amazon Web Services account.

Keep in mind that this operation (which can't be undone) doesn't remove the agent's virtual machine (VM) or Amazon EC2 instance from your storage environment. For next steps, you can delete the VM or instance from your storage environment or reuse it to activate a new agent.

Parameter Syntax

$result = $client->deleteAgent([
    'AgentArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
AgentArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents operation to return a list of agents for your account and Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DeleteLocation

$result = $client->deleteLocation([/* ... */]);
$promise = $client->deleteLocationAsync([/* ... */]);

Deletes a transfer location resource from DataSync.

Parameter Syntax

$result = $client->deleteLocation([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the location to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DeleteTask

$result = $client->deleteTask([/* ... */]);
$promise = $client->deleteTaskAsync([/* ... */]);

Deletes a transfer task resource from DataSync.

Parameter Syntax

$result = $client->deleteTask([
    'TaskArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
TaskArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the task that you want to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeAgent

$result = $client->describeAgent([/* ... */]);
$promise = $client->describeAgentAsync([/* ... */]);

Returns information about an DataSync agent, such as its name, service endpoint type, and status.

Parameter Syntax

$result = $client->describeAgent([
    'AgentArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
AgentArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the DataSync agent that you want information about.

Result Syntax

[
    'AgentArn' => '<string>',
    'CreationTime' => <DateTime>,
    'EndpointType' => 'PUBLIC|PRIVATE_LINK|FIPS',
    'LastConnectionTime' => <DateTime>,
    'Name' => '<string>',
    'Platform' => [
        'Version' => '<string>',
    ],
    'PrivateLinkConfig' => [
        'PrivateLinkEndpoint' => '<string>',
        'SecurityGroupArns' => ['<string>', ...],
        'SubnetArns' => ['<string>', ...],
        'VpcEndpointId' => '<string>',
    ],
    'Status' => 'ONLINE|OFFLINE',
]

Result Details

Members
AgentArn
Type: string

The ARN of the agent.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the agent was activated.

EndpointType
Type: string

The type of service endpoint that your agent is connected to.

LastConnectionTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The last time that the agent was communicating with the DataSync service.

Name
Type: string

The name of the agent.

Platform
Type: Platform structure

The platform-related details about the agent, such as the version number.

PrivateLinkConfig
Type: PrivateLinkConfig structure

The network configuration that the agent uses when connecting to a VPC service endpoint.

Status
Type: string

The status of the agent.

  • If the status is ONLINE, the agent is configured properly and ready to use.

  • If the status is OFFLINE, the agent has been out of contact with DataSync for five minutes or longer. This can happen for a few reasons. For more information, see What do I do if my agent is offline?

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeDiscoveryJob

$result = $client->describeDiscoveryJob([/* ... */]);
$promise = $client->describeDiscoveryJobAsync([/* ... */]);

Returns information about a DataSync discovery job.

Parameter Syntax

$result = $client->describeDiscoveryJob([
    'DiscoveryJobArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
DiscoveryJobArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the discovery job that you want information about.

Result Syntax

[
    'CollectionDurationMinutes' => <integer>,
    'DiscoveryJobArn' => '<string>',
    'JobEndTime' => <DateTime>,
    'JobStartTime' => <DateTime>,
    'Status' => 'RUNNING|WARNING|TERMINATED|FAILED|STOPPED|COMPLETED|COMPLETED_WITH_ISSUES',
    'StorageSystemArn' => '<string>',
]

Result Details

Members
CollectionDurationMinutes
Type: int

The number of minutes that the discovery job runs.

DiscoveryJobArn
Type: string

The ARN of the discovery job.

JobEndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the discovery job ended.

JobStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the discovery job started.

Status
Type: string

Indicates the status of a discovery job. For more information, see Discovery job statuses.

StorageSystemArn
Type: string

The ARN of the on-premises storage system you're running the discovery job on.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationAzureBlob

$result = $client->describeLocationAzureBlob([/* ... */]);
$promise = $client->describeLocationAzureBlobAsync([/* ... */]);

Provides details about how an DataSync transfer location for Microsoft Azure Blob Storage is configured.

Parameter Syntax

$result = $client->describeLocationAzureBlob([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of your Azure Blob Storage transfer location.

Result Syntax

[
    'AccessTier' => 'HOT|COOL|ARCHIVE',
    'AgentArns' => ['<string>', ...],
    'AuthenticationType' => 'SAS',
    'BlobType' => 'BLOCK',
    'CreationTime' => <DateTime>,
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
]

Result Details

Members
AccessTier
Type: string

The access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see Access tiers.

AgentArns
Type: Array of strings

The ARNs of the DataSync agents that can connect with your Azure Blob Storage container.

AuthenticationType
Type: string

The authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).

BlobType
Type: string

The type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the Azure Blob Storage documentation.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that your Azure Blob Storage transfer location was created.

LocationArn
Type: string

The ARN of your Azure Blob Storage transfer location.

LocationUri
Type: string

The URL of the Azure Blob Storage container involved in your transfer.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationEfs

$result = $client->describeLocationEfs([/* ... */]);
$promise = $client->describeLocationEfsAsync([/* ... */]);

Provides details about how an DataSync transfer location for an Amazon EFS file system is configured.

Parameter Syntax

$result = $client->describeLocationEfs([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Amazon EFS file system location that you want information about.

Result Syntax

[
    'AccessPointArn' => '<string>',
    'CreationTime' => <DateTime>,
    'Ec2Config' => [
        'SecurityGroupArns' => ['<string>', ...],
        'SubnetArn' => '<string>',
    ],
    'FileSystemAccessRoleArn' => '<string>',
    'InTransitEncryption' => 'NONE|TLS1_2',
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
]

Result Details

Members
AccessPointArn
Type: string

The ARN of the access point that DataSync uses to access the Amazon EFS file system.

For more information, see Accessing restricted file systems.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the location was created.

Ec2Config
Type: Ec2Config structure

The subnet and security groups that DataSync uses to connect to one of your Amazon EFS file system's mount targets.

FileSystemAccessRoleArn
Type: string

The Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.

For more information, see Creating a DataSync IAM role for file system access.

InTransitEncryption
Type: string

Indicates whether DataSync uses Transport Layer Security (TLS) encryption when transferring data to or from the Amazon EFS file system.

LocationArn
Type: string

The ARN of the Amazon EFS file system location.

LocationUri
Type: string

The URL of the Amazon EFS file system location.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationFsxLustre

$result = $client->describeLocationFsxLustre([/* ... */]);
$promise = $client->describeLocationFsxLustreAsync([/* ... */]);

Provides details about how an DataSync transfer location for an Amazon FSx for Lustre file system is configured.

Parameter Syntax

$result = $client->describeLocationFsxLustre([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the FSx for Lustre location to describe.

Result Syntax

[
    'CreationTime' => <DateTime>,
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
    'SecurityGroupArns' => ['<string>', ...],
]

Result Details

Members
CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the FSx for Lustre location was created.

LocationArn
Type: string

The Amazon Resource Name (ARN) of the FSx for Lustre location that was described.

LocationUri
Type: string

The URI of the FSx for Lustre location that was described.

SecurityGroupArns
Type: Array of strings

The Amazon Resource Names (ARNs) of the security groups that are configured for the FSx for Lustre file system.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationFsxOntap

$result = $client->describeLocationFsxOntap([/* ... */]);
$promise = $client->describeLocationFsxOntapAsync([/* ... */]);

Provides details about how an DataSync transfer location for an Amazon FSx for NetApp ONTAP file system is configured.

If your location uses SMB, the DescribeLocationFsxOntap operation doesn't actually return a Password.

Parameter Syntax

$result = $client->describeLocationFsxOntap([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the FSx for ONTAP file system location that you want information about.

Result Syntax

[
    'CreationTime' => <DateTime>,
    'FsxFilesystemArn' => '<string>',
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
    'Protocol' => [
        'NFS' => [
            'MountOptions' => [
                'Version' => 'AUTOMATIC|NFS3|NFS4_0|NFS4_1',
            ],
        ],
        'SMB' => [
            'Domain' => '<string>',
            'MountOptions' => [
                'Version' => 'AUTOMATIC|SMB2|SMB3|SMB1|SMB2_0',
            ],
            'Password' => '<string>',
            'User' => '<string>',
        ],
    ],
    'SecurityGroupArns' => ['<string>', ...],
    'StorageVirtualMachineArn' => '<string>',
]

Result Details

Members
CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the location was created.

FsxFilesystemArn
Type: string

The ARN of the FSx for ONTAP file system.

LocationArn
Type: string

The ARN of the FSx for ONTAP file system location.

LocationUri
Type: string

The uniform resource identifier (URI) of the FSx for ONTAP file system location.

Protocol
Type: FsxProtocol structure

Specifies the data transfer protocol that DataSync uses to access your Amazon FSx file system.

SecurityGroupArns
Type: Array of strings

The security groups that DataSync uses to access your FSx for ONTAP file system.

StorageVirtualMachineArn
Type: string

The ARN of the storage virtual machine (SVM) on your FSx for ONTAP file system where you're copying data to or from.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationFsxOpenZfs

$result = $client->describeLocationFsxOpenZfs([/* ... */]);
$promise = $client->describeLocationFsxOpenZfsAsync([/* ... */]);

Provides details about how an DataSync transfer location for an Amazon FSx for OpenZFS file system is configured.

Response elements related to SMB aren't supported with the DescribeLocationFsxOpenZfs operation.

Parameter Syntax

$result = $client->describeLocationFsxOpenZfs([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the FSx for OpenZFS location to describe.

Result Syntax

[
    'CreationTime' => <DateTime>,
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
    'Protocol' => [
        'NFS' => [
            'MountOptions' => [
                'Version' => 'AUTOMATIC|NFS3|NFS4_0|NFS4_1',
            ],
        ],
        'SMB' => [
            'Domain' => '<string>',
            'MountOptions' => [
                'Version' => 'AUTOMATIC|SMB2|SMB3|SMB1|SMB2_0',
            ],
            'Password' => '<string>',
            'User' => '<string>',
        ],
    ],
    'SecurityGroupArns' => ['<string>', ...],
]

Result Details

Members
CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the FSx for OpenZFS location was created.

LocationArn
Type: string

The ARN of the FSx for OpenZFS location that was described.

LocationUri
Type: string

The uniform resource identifier (URI) of the FSx for OpenZFS location that was described.

Example: fsxz://us-west-2.fs-1234567890abcdef02/fsx/folderA/folder

Protocol
Type: FsxProtocol structure

The type of protocol that DataSync uses to access your file system.

SecurityGroupArns
Type: Array of strings

The ARNs of the security groups that are configured for the FSx for OpenZFS file system.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationFsxWindows

$result = $client->describeLocationFsxWindows([/* ... */]);
$promise = $client->describeLocationFsxWindowsAsync([/* ... */]);

Provides details about how an DataSync transfer location for an Amazon FSx for Windows File Server file system is configured.

Parameter Syntax

$result = $client->describeLocationFsxWindows([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the FSx for Windows File Server location.

Result Syntax

[
    'CreationTime' => <DateTime>,
    'Domain' => '<string>',
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
    'SecurityGroupArns' => ['<string>', ...],
    'User' => '<string>',
]

Result Details

Members
CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the FSx for Windows File Server location was created.

Domain
Type: string

The name of the Microsoft Active Directory domain that the FSx for Windows File Server file system belongs to.

LocationArn
Type: string

The ARN of the FSx for Windows File Server location.

LocationUri
Type: string

The uniform resource identifier (URI) of the FSx for Windows File Server location.

SecurityGroupArns
Type: Array of strings

The ARNs of the Amazon EC2 security groups that provide access to your file system's preferred subnet.

For information about configuring security groups for file system access, see the Amazon FSx for Windows File Server User Guide .

User
Type: string

The user with the permissions to mount and access the FSx for Windows File Server file system.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationHdfs

$result = $client->describeLocationHdfs([/* ... */]);
$promise = $client->describeLocationHdfsAsync([/* ... */]);

Provides details about how an DataSync transfer location for a Hadoop Distributed File System (HDFS) is configured.

Parameter Syntax

$result = $client->describeLocationHdfs([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the HDFS location.

Result Syntax

[
    'AgentArns' => ['<string>', ...],
    'AuthenticationType' => 'SIMPLE|KERBEROS',
    'BlockSize' => <integer>,
    'CreationTime' => <DateTime>,
    'KerberosPrincipal' => '<string>',
    'KmsKeyProviderUri' => '<string>',
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
    'NameNodes' => [
        [
            'Hostname' => '<string>',
            'Port' => <integer>,
        ],
        // ...
    ],
    'QopConfiguration' => [
        'DataTransferProtection' => 'DISABLED|AUTHENTICATION|INTEGRITY|PRIVACY',
        'RpcProtection' => 'DISABLED|AUTHENTICATION|INTEGRITY|PRIVACY',
    ],
    'ReplicationFactor' => <integer>,
    'SimpleUser' => '<string>',
]

Result Details

Members
AgentArns
Type: Array of strings

The ARNs of the DataSync agents that can connect with your HDFS cluster.

AuthenticationType
Type: string

The type of authentication used to determine the identity of the user.

BlockSize
Type: int

The size of the data blocks to write into the HDFS cluster.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the HDFS location was created.

KerberosPrincipal
Type: string

The Kerberos principal with access to the files and folders on the HDFS cluster. This parameter is used if the AuthenticationType is defined as KERBEROS.

KmsKeyProviderUri
Type: string

The URI of the HDFS cluster's Key Management Server (KMS).

LocationArn
Type: string

The ARN of the HDFS location.

LocationUri
Type: string

The URI of the HDFS location.

NameNodes
Type: Array of HdfsNameNode structures

The NameNode that manages the HDFS namespace.

QopConfiguration
Type: QopConfiguration structure

The Quality of Protection (QOP) configuration, which specifies the Remote Procedure Call (RPC) and data transfer protection settings configured on the HDFS cluster.

ReplicationFactor
Type: int

The number of DataNodes to replicate the data to when writing to the HDFS cluster.

SimpleUser
Type: string

The user name to identify the client on the host operating system. This parameter is used if the AuthenticationType is defined as SIMPLE.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationNfs

$result = $client->describeLocationNfs([/* ... */]);
$promise = $client->describeLocationNfsAsync([/* ... */]);

Provides details about how an DataSync transfer location for a Network File System (NFS) file server is configured.

Parameter Syntax

$result = $client->describeLocationNfs([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the NFS location that you want information about.

Result Syntax

[
    'CreationTime' => <DateTime>,
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
    'MountOptions' => [
        'Version' => 'AUTOMATIC|NFS3|NFS4_0|NFS4_1',
    ],
    'OnPremConfig' => [
        'AgentArns' => ['<string>', ...],
    ],
]

Result Details

Members
CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the NFS location was created.

LocationArn
Type: string

The ARN of the NFS location.

LocationUri
Type: string

The URI of the NFS location.

MountOptions
Type: NfsMountOptions structure

The mount options that DataSync uses to mount your NFS file server.

OnPremConfig
Type: OnPremConfig structure

The DataSync agents that can connect to your Network File System (NFS) file server.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationObjectStorage

$result = $client->describeLocationObjectStorage([/* ... */]);
$promise = $client->describeLocationObjectStorageAsync([/* ... */]);

Provides details about how an DataSync transfer location for an object storage system is configured.

Parameter Syntax

$result = $client->describeLocationObjectStorage([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the object storage system location.

Result Syntax

[
    'AccessKey' => '<string>',
    'AgentArns' => ['<string>', ...],
    'CreationTime' => <DateTime>,
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
    'ServerCertificate' => <string || resource || Psr\Http\Message\StreamInterface>,
    'ServerPort' => <integer>,
    'ServerProtocol' => 'HTTPS|HTTP',
]

Result Details

Members
AccessKey
Type: string

The access key (for example, a user name) required to authenticate with the object storage system.

AgentArns
Type: Array of strings

The ARNs of the DataSync agents that can connect with your object storage system.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the location was created.

LocationArn
Type: string

The ARN of the object storage system location.

LocationUri
Type: string

The URI of the object storage system location.

ServerCertificate
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA).

ServerPort
Type: int

The port that your object storage server accepts inbound network traffic on (for example, port 443).

ServerProtocol
Type: string

The protocol that your object storage system uses to communicate.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationS3

$result = $client->describeLocationS3([/* ... */]);
$promise = $client->describeLocationS3Async([/* ... */]);

Provides details about how an DataSync transfer location for an S3 bucket is configured.

Parameter Syntax

$result = $client->describeLocationS3([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the Amazon S3 location.

Result Syntax

[
    'AgentArns' => ['<string>', ...],
    'CreationTime' => <DateTime>,
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
    'S3Config' => [
        'BucketAccessRoleArn' => '<string>',
    ],
    'S3StorageClass' => 'STANDARD|STANDARD_IA|ONEZONE_IA|INTELLIGENT_TIERING|GLACIER|DEEP_ARCHIVE|OUTPOSTS|GLACIER_INSTANT_RETRIEVAL',
]

Result Details

Members
AgentArns
Type: Array of strings

The ARNs of the DataSync agents deployed on your Outpost when using working with Amazon S3 on Outposts.

For more information, see Deploy your DataSync agent on Outposts.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the Amazon S3 location was created.

LocationArn
Type: string

The ARN of the Amazon S3 location.

LocationUri
Type: string

The URL of the Amazon S3 location that was described.

S3Config
Type: S3Config structure

Specifies the Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that DataSync uses to access your S3 bucket.

For more information, see Accessing S3 buckets.

S3StorageClass
Type: string

When Amazon S3 is a destination location, this is the storage class that you chose for your objects.

Some storage classes have behaviors that can affect your Amazon S3 storage costs. For more information, see Storage class considerations with Amazon S3 transfers.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeLocationSmb

$result = $client->describeLocationSmb([/* ... */]);
$promise = $client->describeLocationSmbAsync([/* ... */]);

Provides details about how an DataSync transfer location for a Server Message Block (SMB) file server is configured.

Parameter Syntax

$result = $client->describeLocationSmb([
    'LocationArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the SMB location that you want information about.

Result Syntax

[
    'AgentArns' => ['<string>', ...],
    'CreationTime' => <DateTime>,
    'Domain' => '<string>',
    'LocationArn' => '<string>',
    'LocationUri' => '<string>',
    'MountOptions' => [
        'Version' => 'AUTOMATIC|SMB2|SMB3|SMB1|SMB2_0',
    ],
    'User' => '<string>',
]

Result Details

Members
AgentArns
Type: Array of strings

The ARNs of the DataSync agents that can connect with your SMB file server.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the SMB location was created.

Domain
Type: string

The name of the Microsoft Active Directory domain that the SMB file server belongs to.

LocationArn
Type: string

The ARN of the SMB location.

LocationUri
Type: string

The URI of the SMB location.

MountOptions
Type: SmbMountOptions structure

The protocol that DataSync use to access your SMB file.

User
Type: string

The user that can mount and access the files, folders, and file metadata in your SMB file server.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeStorageSystem

$result = $client->describeStorageSystem([/* ... */]);
$promise = $client->describeStorageSystemAsync([/* ... */]);

Returns information about an on-premises storage system that you're using with DataSync Discovery.

Parameter Syntax

$result = $client->describeStorageSystem([
    'StorageSystemArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
StorageSystemArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of an on-premises storage system that you're using with DataSync Discovery.

Result Syntax

[
    'AgentArns' => ['<string>', ...],
    'CloudWatchLogGroupArn' => '<string>',
    'ConnectivityStatus' => 'PASS|FAIL|UNKNOWN',
    'CreationTime' => <DateTime>,
    'ErrorMessage' => '<string>',
    'Name' => '<string>',
    'SecretsManagerArn' => '<string>',
    'ServerConfiguration' => [
        'ServerHostname' => '<string>',
        'ServerPort' => <integer>,
    ],
    'StorageSystemArn' => '<string>',
    'SystemType' => 'NetAppONTAP',
]

Result Details

Members
AgentArns
Type: Array of strings

The ARN of the DataSync agent that connects to and reads from your on-premises storage system.

CloudWatchLogGroupArn
Type: string

The ARN of the Amazon CloudWatch log group that's used to monitor and log discovery job events.

ConnectivityStatus
Type: string

Indicates whether your DataSync agent can connect to your on-premises storage system.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when you added the on-premises storage system to DataSync Discovery.

ErrorMessage
Type: string

Describes the connectivity error that the DataSync agent is encountering with your on-premises storage system.

Name
Type: string

The name that you gave your on-premises storage system when adding it to DataSync Discovery.

SecretsManagerArn
Type: string

The ARN of the secret that stores your on-premises storage system's credentials. DataSync Discovery stores these credentials in Secrets Manager.

ServerConfiguration

The server name and network port required to connect with your on-premises storage system's management interface.

StorageSystemArn
Type: string

The ARN of the on-premises storage system that the discovery job looked at.

SystemType
Type: string

The type of on-premises storage system.

DataSync Discovery currently only supports NetApp Fabric-Attached Storage (FAS) and All Flash FAS (AFF) systems running ONTAP 9.7 or later.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeStorageSystemResourceMetrics

$result = $client->describeStorageSystemResourceMetrics([/* ... */]);
$promise = $client->describeStorageSystemResourceMetricsAsync([/* ... */]);

Returns information, including performance data and capacity usage, which DataSync Discovery collects about a specific resource in your-premises storage system.

Parameter Syntax

$result = $client->describeStorageSystemResourceMetrics([
    'DiscoveryJobArn' => '<string>', // REQUIRED
    'EndTime' => <integer || string || DateTime>,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ResourceId' => '<string>', // REQUIRED
    'ResourceType' => 'SVM|VOLUME|CLUSTER', // REQUIRED
    'StartTime' => <integer || string || DateTime>,
]);

Parameter Details

Members
DiscoveryJobArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the discovery job that collects information about your on-premises storage system.

EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies a time within the total duration that the discovery job ran. To see information gathered during a certain time frame, use this parameter with StartTime.

MaxResults
Type: int

Specifies how many results that you want in the response.

NextToken
Type: string

Specifies an opaque string that indicates the position to begin the next list of results in the response.

ResourceId
Required: Yes
Type: string

Specifies the universally unique identifier (UUID) of the storage system resource that you want information about.

ResourceType
Required: Yes
Type: string

Specifies the kind of storage system resource that you want information about.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Specifies a time within the total duration that the discovery job ran. To see information gathered during a certain time frame, use this parameter with EndTime.

Result Syntax

[
    'Metrics' => [
        [
            'Capacity' => [
                'ClusterCloudStorageUsed' => <integer>,
                'LogicalUsed' => <integer>,
                'Provisioned' => <integer>,
                'Used' => <integer>,
            ],
            'P95Metrics' => [
                'IOPS' => [
                    'Other' => <float>,
                    'Read' => <float>,
                    'Total' => <float>,
                    'Write' => <float>,
                ],
                'Latency' => [
                    'Other' => <float>,
                    'Read' => <float>,
                    'Write' => <float>,
                ],
                'Throughput' => [
                    'Other' => <float>,
                    'Read' => <float>,
                    'Total' => <float>,
                    'Write' => <float>,
                ],
            ],
            'ResourceId' => '<string>',
            'ResourceType' => 'SVM|VOLUME|CLUSTER',
            'Timestamp' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Metrics
Type: Array of ResourceMetrics structures

The details that your discovery job collected about your storage system resource.

NextToken
Type: string

The opaque string that indicates the position to begin the next list of results in the response.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeStorageSystemResources

$result = $client->describeStorageSystemResources([/* ... */]);
$promise = $client->describeStorageSystemResourcesAsync([/* ... */]);

Returns information that DataSync Discovery collects about resources in your on-premises storage system.

Parameter Syntax

$result = $client->describeStorageSystemResources([
    'DiscoveryJobArn' => '<string>', // REQUIRED
    'Filter' => [
        '<DiscoveryResourceFilter>' => ['<string>', ...],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ResourceIds' => ['<string>', ...],
    'ResourceType' => 'SVM|VOLUME|CLUSTER', // REQUIRED
]);

Parameter Details

Members
DiscoveryJobArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the discovery job that's collecting data from your on-premises storage system.

Filter
Type: Associative array of custom strings keys (DiscoveryResourceFilter) to stringss

Filters the storage system resources that you want returned. For example, this might be volumes associated with a specific storage virtual machine (SVM).

MaxResults
Type: int

Specifies the maximum number of storage system resources that you want to list in a response.

NextToken
Type: string

Specifies an opaque string that indicates the position to begin the next list of results in the response.

ResourceIds
Type: Array of strings

Specifies the universally unique identifiers (UUIDs) of the storage system resources that you want information about. You can't use this parameter in combination with the Filter parameter.

ResourceType
Required: Yes
Type: string

Specifies what kind of storage system resources that you want information about.

Result Syntax

[
    'NextToken' => '<string>',
    'ResourceDetails' => [
        'NetAppONTAPClusters' => [
            [
                'CifsShareCount' => <integer>,
                'ClusterBlockStorageLogicalUsed' => <integer>,
                'ClusterBlockStorageSize' => <integer>,
                'ClusterBlockStorageUsed' => <integer>,
                'ClusterCloudStorageUsed' => <integer>,
                'ClusterName' => '<string>',
                'LunCount' => <integer>,
                'MaxP95Performance' => [
                    'IopsOther' => <float>,
                    'IopsRead' => <float>,
                    'IopsTotal' => <float>,
                    'IopsWrite' => <float>,
                    'LatencyOther' => <float>,
                    'LatencyRead' => <float>,
                    'LatencyWrite' => <float>,
                    'ThroughputOther' => <float>,
                    'ThroughputRead' => <float>,
                    'ThroughputTotal' => <float>,
                    'ThroughputWrite' => <float>,
                ],
                'NfsExportedVolumes' => <integer>,
                'RecommendationStatus' => 'NONE|IN_PROGRESS|COMPLETED|FAILED',
                'Recommendations' => [
                    [
                        'EstimatedMonthlyStorageCost' => '<string>',
                        'StorageConfiguration' => ['<string>', ...],
                        'StorageType' => '<string>',
                    ],
                    // ...
                ],
                'ResourceId' => '<string>',
            ],
            // ...
        ],
        'NetAppONTAPSVMs' => [
            [
                'CifsShareCount' => <integer>,
                'ClusterUuid' => '<string>',
                'EnabledProtocols' => ['<string>', ...],
                'LunCount' => <integer>,
                'MaxP95Performance' => [
                    'IopsOther' => <float>,
                    'IopsRead' => <float>,
                    'IopsTotal' => <float>,
                    'IopsWrite' => <float>,
                    'LatencyOther' => <float>,
                    'LatencyRead' => <float>,
                    'LatencyWrite' => <float>,
                    'ThroughputOther' => <float>,
                    'ThroughputRead' => <float>,
                    'ThroughputTotal' => <float>,
                    'ThroughputWrite' => <float>,
                ],
                'NfsExportedVolumes' => <integer>,
                'RecommendationStatus' => 'NONE|IN_PROGRESS|COMPLETED|FAILED',
                'Recommendations' => [
                    [
                        'EstimatedMonthlyStorageCost' => '<string>',
                        'StorageConfiguration' => ['<string>', ...],
                        'StorageType' => '<string>',
                    ],
                    // ...
                ],
                'ResourceId' => '<string>',
                'SvmName' => '<string>',
                'TotalCapacityProvisioned' => <integer>,
                'TotalCapacityUsed' => <integer>,
                'TotalLogicalCapacityUsed' => <integer>,
                'TotalSnapshotCapacityUsed' => <integer>,
            ],
            // ...
        ],
        'NetAppONTAPVolumes' => [
            [
                'CapacityProvisioned' => <integer>,
                'CapacityUsed' => <integer>,
                'CifsShareCount' => <integer>,
                'LogicalCapacityUsed' => <integer>,
                'LunCount' => <integer>,
                'MaxP95Performance' => [
                    'IopsOther' => <float>,
                    'IopsRead' => <float>,
                    'IopsTotal' => <float>,
                    'IopsWrite' => <float>,
                    'LatencyOther' => <float>,
                    'LatencyRead' => <float>,
                    'LatencyWrite' => <float>,
                    'ThroughputOther' => <float>,
                    'ThroughputRead' => <float>,
                    'ThroughputTotal' => <float>,
                    'ThroughputWrite' => <float>,
                ],
                'NfsExported' => true || false,
                'RecommendationStatus' => 'NONE|IN_PROGRESS|COMPLETED|FAILED',
                'Recommendations' => [
                    [
                        'EstimatedMonthlyStorageCost' => '<string>',
                        'StorageConfiguration' => ['<string>', ...],
                        'StorageType' => '<string>',
                    ],
                    // ...
                ],
                'ResourceId' => '<string>',
                'SecurityStyle' => '<string>',
                'SnapshotCapacityUsed' => <integer>,
                'SvmName' => '<string>',
                'SvmUuid' => '<string>',
                'VolumeName' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
NextToken
Type: string

The opaque string that indicates the position to begin the next list of results in the response.

ResourceDetails
Type: ResourceDetails structure

The information collected about your storage system's resources. A response can also include Amazon Web Services storage service recommendations.

For more information, see storage resource information collected by and recommendations provided by DataSync Discovery.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeTask

$result = $client->describeTask([/* ... */]);
$promise = $client->describeTaskAsync([/* ... */]);

Provides information about a task, which defines where and how DataSync transfers your data.

Parameter Syntax

$result = $client->describeTask([
    'TaskArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
TaskArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the transfer task that you want information about.

Result Syntax

[
    'CloudWatchLogGroupArn' => '<string>',
    'CreationTime' => <DateTime>,
    'CurrentTaskExecutionArn' => '<string>',
    'DestinationLocationArn' => '<string>',
    'DestinationNetworkInterfaceArns' => ['<string>', ...],
    'ErrorCode' => '<string>',
    'ErrorDetail' => '<string>',
    'Excludes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'Includes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'ManifestConfig' => [
        'Action' => 'TRANSFER',
        'Format' => 'CSV',
        'Source' => [
            'S3' => [
                'BucketAccessRoleArn' => '<string>',
                'ManifestObjectPath' => '<string>',
                'ManifestObjectVersionId' => '<string>',
                'S3BucketArn' => '<string>',
            ],
        ],
    ],
    'Name' => '<string>',
    'Options' => [
        'Atime' => 'NONE|BEST_EFFORT',
        'BytesPerSecond' => <integer>,
        'Gid' => 'NONE|INT_VALUE|NAME|BOTH',
        'LogLevel' => 'OFF|BASIC|TRANSFER',
        'Mtime' => 'NONE|PRESERVE',
        'ObjectTags' => 'PRESERVE|NONE',
        'OverwriteMode' => 'ALWAYS|NEVER',
        'PosixPermissions' => 'NONE|PRESERVE',
        'PreserveDeletedFiles' => 'PRESERVE|REMOVE',
        'PreserveDevices' => 'NONE|PRESERVE',
        'SecurityDescriptorCopyFlags' => 'NONE|OWNER_DACL|OWNER_DACL_SACL',
        'TaskQueueing' => 'ENABLED|DISABLED',
        'TransferMode' => 'CHANGED|ALL',
        'Uid' => 'NONE|INT_VALUE|NAME|BOTH',
        'VerifyMode' => 'POINT_IN_TIME_CONSISTENT|ONLY_FILES_TRANSFERRED|NONE',
    ],
    'Schedule' => [
        'ScheduleExpression' => '<string>',
        'Status' => 'ENABLED|DISABLED',
    ],
    'ScheduleDetails' => [
        'DisabledBy' => 'USER|SERVICE',
        'DisabledReason' => '<string>',
        'StatusUpdateTime' => <DateTime>,
    ],
    'SourceLocationArn' => '<string>',
    'SourceNetworkInterfaceArns' => ['<string>', ...],
    'Status' => 'AVAILABLE|CREATING|QUEUED|RUNNING|UNAVAILABLE',
    'TaskArn' => '<string>',
    'TaskMode' => 'BASIC|ENHANCED',
    'TaskReportConfig' => [
        'Destination' => [
            'S3' => [
                'BucketAccessRoleArn' => '<string>',
                'S3BucketArn' => '<string>',
                'Subdirectory' => '<string>',
            ],
        ],
        'ObjectVersionIds' => 'INCLUDE|NONE',
        'OutputType' => 'SUMMARY_ONLY|STANDARD',
        'Overrides' => [
            'Deleted' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Skipped' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Transferred' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Verified' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
        ],
        'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
    ],
]

Result Details

Members
CloudWatchLogGroupArn
Type: string

The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

For more information, see Monitoring data transfers with CloudWatch Logs.

CreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time that the task was created.

CurrentTaskExecutionArn
Type: string

The ARN of the most recent task execution.

DestinationLocationArn
Type: string

The ARN of your transfer's destination location.

DestinationNetworkInterfaceArns
Type: Array of strings

The ARNs of the network interfaces that DataSync created for your destination location.

ErrorCode
Type: string

If there's an issue with your task, you can use the error code to help you troubleshoot the problem. For more information, see Troubleshooting issues with DataSync transfers.

ErrorDetail
Type: string

If there's an issue with your task, you can use the error details to help you troubleshoot the problem. For more information, see Troubleshooting issues with DataSync transfers.

Excludes
Type: Array of FilterRule structures

The exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

Includes
Type: Array of FilterRule structures

The include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

ManifestConfig
Type: ManifestConfig structure

The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see Specifying what DataSync transfers by using a manifest.

Name
Type: string

The name of your task.

Options
Type: Options structure

The task's settings. For example, what file metadata gets preserved, how data integrity gets verified at the end of your transfer, bandwidth limits, among other options.

Schedule
Type: TaskSchedule structure

The schedule for when you want your task to run. For more information, see Scheduling your task.

ScheduleDetails
Type: TaskScheduleDetails structure

The details about your task schedule.

SourceLocationArn
Type: string

The ARN of your transfer's source location.

SourceNetworkInterfaceArns
Type: Array of strings

The ARNs of the network interfaces that DataSync created for your source location.

Status
Type: string

The status of your task. For information about what each status means, see Task statuses.

TaskArn
Type: string

The ARN of your task.

TaskMode
Type: string

The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

TaskReportConfig
Type: TaskReportConfig structure

The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see Monitoring your DataSync transfers with task reports.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

DescribeTaskExecution

$result = $client->describeTaskExecution([/* ... */]);
$promise = $client->describeTaskExecutionAsync([/* ... */]);

Provides information about an execution of your DataSync task. You can use this operation to help monitor the progress of an ongoing data transfer or check the results of the transfer.

Some DescribeTaskExecution response elements are only relevant to a specific task mode. For information, see Understanding task mode differences and Understanding data transfer performance counters.

Parameter Syntax

$result = $client->describeTaskExecution([
    'TaskExecutionArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
TaskExecutionArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the task execution that you want information about.

Result Syntax

[
    'BytesCompressed' => <integer>,
    'BytesTransferred' => <integer>,
    'BytesWritten' => <integer>,
    'EstimatedBytesToTransfer' => <integer>,
    'EstimatedFilesToDelete' => <integer>,
    'EstimatedFilesToTransfer' => <integer>,
    'Excludes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'FilesDeleted' => <integer>,
    'FilesFailed' => [
        'Delete' => <integer>,
        'Prepare' => <integer>,
        'Transfer' => <integer>,
        'Verify' => <integer>,
    ],
    'FilesListed' => [
        'AtDestinationForDelete' => <integer>,
        'AtSource' => <integer>,
    ],
    'FilesPrepared' => <integer>,
    'FilesSkipped' => <integer>,
    'FilesTransferred' => <integer>,
    'FilesVerified' => <integer>,
    'Includes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'ManifestConfig' => [
        'Action' => 'TRANSFER',
        'Format' => 'CSV',
        'Source' => [
            'S3' => [
                'BucketAccessRoleArn' => '<string>',
                'ManifestObjectPath' => '<string>',
                'ManifestObjectVersionId' => '<string>',
                'S3BucketArn' => '<string>',
            ],
        ],
    ],
    'Options' => [
        'Atime' => 'NONE|BEST_EFFORT',
        'BytesPerSecond' => <integer>,
        'Gid' => 'NONE|INT_VALUE|NAME|BOTH',
        'LogLevel' => 'OFF|BASIC|TRANSFER',
        'Mtime' => 'NONE|PRESERVE',
        'ObjectTags' => 'PRESERVE|NONE',
        'OverwriteMode' => 'ALWAYS|NEVER',
        'PosixPermissions' => 'NONE|PRESERVE',
        'PreserveDeletedFiles' => 'PRESERVE|REMOVE',
        'PreserveDevices' => 'NONE|PRESERVE',
        'SecurityDescriptorCopyFlags' => 'NONE|OWNER_DACL|OWNER_DACL_SACL',
        'TaskQueueing' => 'ENABLED|DISABLED',
        'TransferMode' => 'CHANGED|ALL',
        'Uid' => 'NONE|INT_VALUE|NAME|BOTH',
        'VerifyMode' => 'POINT_IN_TIME_CONSISTENT|ONLY_FILES_TRANSFERRED|NONE',
    ],
    'ReportResult' => [
        'ErrorCode' => '<string>',
        'ErrorDetail' => '<string>',
        'Status' => 'PENDING|SUCCESS|ERROR',
    ],
    'Result' => [
        'ErrorCode' => '<string>',
        'ErrorDetail' => '<string>',
        'PrepareDuration' => <integer>,
        'PrepareStatus' => 'PENDING|SUCCESS|ERROR',
        'TotalDuration' => <integer>,
        'TransferDuration' => <integer>,
        'TransferStatus' => 'PENDING|SUCCESS|ERROR',
        'VerifyDuration' => <integer>,
        'VerifyStatus' => 'PENDING|SUCCESS|ERROR',
    ],
    'StartTime' => <DateTime>,
    'Status' => 'QUEUED|CANCELLING|LAUNCHING|PREPARING|TRANSFERRING|VERIFYING|SUCCESS|ERROR',
    'TaskExecutionArn' => '<string>',
    'TaskMode' => 'BASIC|ENHANCED',
    'TaskReportConfig' => [
        'Destination' => [
            'S3' => [
                'BucketAccessRoleArn' => '<string>',
                'S3BucketArn' => '<string>',
                'Subdirectory' => '<string>',
            ],
        ],
        'ObjectVersionIds' => 'INCLUDE|NONE',
        'OutputType' => 'SUMMARY_ONLY|STANDARD',
        'Overrides' => [
            'Deleted' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Skipped' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Transferred' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Verified' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
        ],
        'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
    ],
]

Result Details

Members
BytesCompressed
Type: long (int|float)

The number of physical bytes that DataSync transfers over the network after compression (if compression is possible). This number is typically less than BytesTransferred unless the data isn't compressible.

BytesTransferred
Type: long (int|float)

The number of bytes that DataSync sends to the network before compression (if compression is possible). For the number of bytes transferred over the network, see BytesCompressed.

BytesWritten
Type: long (int|float)

The number of logical bytes that DataSync actually writes to the destination location.

EstimatedBytesToTransfer
Type: long (int|float)

The number of logical bytes that DataSync expects to write to the destination location.

EstimatedFilesToDelete
Type: long (int|float)

The number of files, objects, and directories that DataSync expects to delete in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

EstimatedFilesToTransfer
Type: long (int|float)

The number of files, objects, and directories that DataSync expects to transfer over the network. This value is calculated while DataSync prepares the transfer.

How this gets calculated depends primarily on your task’s transfer mode configuration:

  • If TranserMode is set to CHANGED - The calculation is based on comparing the content of the source and destination locations and determining the difference that needs to be transferred. The difference can include:

    • Anything that's added or modified at the source location.

    • Anything that's in both locations and modified at the destination after an initial transfer (unless OverwriteMode is set to NEVER).

    • (Basic task mode only) The number of items that DataSync expects to delete (if PreserveDeletedFiles is set to REMOVE).

  • If TranserMode is set to ALL - The calculation is based only on the items that DataSync finds at the source location.

Excludes
Type: Array of FilterRule structures

A list of filter rules that exclude specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

FilesDeleted
Type: long (int|float)

The number of files, objects, and directories that DataSync actually deletes in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

FilesFailed

The number of objects that DataSync fails to prepare, transfer, verify, and delete during your task execution.

Applies only to Enhanced mode tasks.

FilesListed

The number of objects that DataSync finds at your locations.

Applies only to Enhanced mode tasks.

FilesPrepared
Type: long (int|float)

The number of objects that DataSync will attempt to transfer after comparing your source and destination locations.

Applies only to Enhanced mode tasks.

This counter isn't applicable if you configure your task to transfer all data. In that scenario, DataSync copies everything from the source to the destination without comparing differences between the locations.

FilesSkipped
Type: long (int|float)

The number of files, objects, and directories that DataSync skips during your transfer.

FilesTransferred
Type: long (int|float)

The number of files, objects, and directories that DataSync actually transfers over the network. This value is updated periodically during your task execution when something is read from the source and sent over the network.

If DataSync fails to transfer something, this value can be less than EstimatedFilesToTransfer. In some cases, this value can also be greater than EstimatedFilesToTransfer. This element is implementation-specific for some location types, so don't use it as an exact indication of what's transferring or to monitor your task execution.

FilesVerified
Type: long (int|float)

The number of files, objects, and directories that DataSync verifies during your transfer.

When you configure your task to verify only the data that's transferred, DataSync doesn't verify directories in some situations or files that fail to transfer.

Includes
Type: Array of FilterRule structures

A list of filter rules that include specific data during your transfer. For more information and examples, see Filtering data transferred by DataSync.

ManifestConfig
Type: ManifestConfig structure

The configuration of the manifest that lists the files or objects to transfer. For more information, see Specifying what DataSync transfers by using a manifest.

Options
Type: Options structure

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

ReportResult
Type: ReportResult structure

Indicates whether DataSync generated a complete task report for your transfer.

Result
Type: TaskExecutionResultDetail structure

The result of the task execution.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the task execution started.

Status
Type: string

The status of the task execution.

TaskExecutionArn
Type: string

The ARN of the task execution that you wanted information about. TaskExecutionArn is hierarchical and includes TaskArn for the task that was executed.

For example, a TaskExecution value with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b executed the task with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2.

TaskMode
Type: string

The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

TaskReportConfig
Type: TaskReportConfig structure

The configuration of your task report, which provides detailed information about for your DataSync transfer. For more information, see Creating a task report.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

GenerateRecommendations

$result = $client->generateRecommendations([/* ... */]);
$promise = $client->generateRecommendationsAsync([/* ... */]);

Creates recommendations about where to migrate your data to in Amazon Web Services. Recommendations are generated based on information that DataSync Discovery collects about your on-premises storage system's resources. For more information, see Recommendations provided by DataSync Discovery.

Once generated, you can view your recommendations by using the DescribeStorageSystemResources operation.

Parameter Syntax

$result = $client->generateRecommendations([
    'DiscoveryJobArn' => '<string>', // REQUIRED
    'ResourceIds' => ['<string>', ...], // REQUIRED
    'ResourceType' => 'SVM|VOLUME|CLUSTER', // REQUIRED
]);

Parameter Details

Members
DiscoveryJobArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the discovery job that collects information about your on-premises storage system.

ResourceIds
Required: Yes
Type: Array of strings

Specifies the universally unique identifiers (UUIDs) of the resources in your storage system that you want recommendations on.

ResourceType
Required: Yes
Type: string

Specifies the type of resource in your storage system that you want recommendations on.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

ListAgents

$result = $client->listAgents([/* ... */]);
$promise = $client->listAgentsAsync([/* ... */]);

Returns a list of DataSync agents that belong to an Amazon Web Services account in the Amazon Web Services Region specified in the request.

With pagination, you can reduce the number of agents returned in a response. If you get a truncated list of agents in a response, the response contains a marker that you can specify in your next request to fetch the next page of agents.

ListAgents is eventually consistent. This means the result of running the operation might not reflect that you just created or deleted an agent. For example, if you create an agent with CreateAgent and then immediately run ListAgents, that agent might not show up in the list right away. In situations like this, you can always confirm whether an agent has been created (or deleted) by using DescribeAgent.

Parameter Syntax

$result = $client->listAgents([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

Specifies the maximum number of DataSync agents to list in a response. By default, a response shows a maximum of 100 agents.

NextToken
Type: string

Specifies an opaque string that indicates the position to begin the next list of results in the response.

Result Syntax

[
    'Agents' => [
        [
            'AgentArn' => '<string>',
            'Name' => '<string>',
            'Platform' => [
                'Version' => '<string>',
            ],
            'Status' => 'ONLINE|OFFLINE',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Agents
Type: Array of AgentListEntry structures

A list of DataSync agents in your Amazon Web Services account in the Amazon Web Services Region specified in the request. The list is ordered by the agents' Amazon Resource Names (ARNs).

NextToken
Type: string

The opaque string that indicates the position to begin the next list of results in the response.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

ListDiscoveryJobs

$result = $client->listDiscoveryJobs([/* ... */]);
$promise = $client->listDiscoveryJobsAsync([/* ... */]);

Provides a list of the existing discovery jobs in the Amazon Web Services Region and Amazon Web Services account where you're using DataSync Discovery.

Parameter Syntax

$result = $client->listDiscoveryJobs([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'StorageSystemArn' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

Specifies how many results you want in the response.

NextToken
Type: string

Specifies an opaque string that indicates the position to begin the next list of results in the response.

StorageSystemArn
Type: string

Specifies the Amazon Resource Name (ARN) of an on-premises storage system. Use this parameter if you only want to list the discovery jobs that are associated with a specific storage system.

Result Syntax

[
    'DiscoveryJobs' => [
        [
            'DiscoveryJobArn' => '<string>',
            'Status' => 'RUNNING|WARNING|TERMINATED|FAILED|STOPPED|COMPLETED|COMPLETED_WITH_ISSUES',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
DiscoveryJobs
Type: Array of DiscoveryJobListEntry structures

The discovery jobs that you've run.

NextToken
Type: string

The opaque string that indicates the position to begin the next list of results in the response.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

ListLocations

$result = $client->listLocations([/* ... */]);
$promise = $client->listLocationsAsync([/* ... */]);

Returns a list of source and destination locations.

If you have more locations than are returned in a response (that is, the response returns only a truncated list of your agents), the response contains a token that you can specify in your next request to fetch the next page of locations.

Parameter Syntax

$result = $client->listLocations([
    'Filters' => [
        [
            'Name' => 'LocationUri|LocationType|CreationTime', // REQUIRED
            'Operator' => 'Equals|NotEquals|In|LessThanOrEqual|LessThan|GreaterThanOrEqual|GreaterThan|Contains|NotContains|BeginsWith', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of LocationFilter structures

You can use API filters to narrow down the list of resources returned by ListLocations. For example, to retrieve all tasks on a specific source location, you can use ListLocations with filter name LocationType S3 and Operator Equals.

MaxResults
Type: int

The maximum number of locations to return.

NextToken
Type: string

An opaque string that indicates the position at which to begin the next list of locations.

Result Syntax

[
    'Locations' => [
        [
            'LocationArn' => '<string>',
            'LocationUri' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Locations
Type: Array of LocationListEntry structures

An array that contains a list of locations.

NextToken
Type: string

An opaque string that indicates the position at which to begin returning the next list of locations.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

ListStorageSystems

$result = $client->listStorageSystems([/* ... */]);
$promise = $client->listStorageSystemsAsync([/* ... */]);

Lists the on-premises storage systems that you're using with DataSync Discovery.

Parameter Syntax

$result = $client->listStorageSystems([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

Specifies how many results you want in the response.

NextToken
Type: string

Specifies an opaque string that indicates the position to begin the next list of results in the response.

Result Syntax

[
    'NextToken' => '<string>',
    'StorageSystems' => [
        [
            'Name' => '<string>',
            'StorageSystemArn' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The opaque string that indicates the position to begin the next list of results in the response.

StorageSystems
Type: Array of StorageSystemListEntry structures

The Amazon Resource Names ARNs) of the on-premises storage systems that you're using with DataSync Discovery.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Returns all the tags associated with an Amazon Web Services resource.

Parameter Syntax

$result = $client->listTagsForResource([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ResourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

Specifies how many results that you want in the response.

NextToken
Type: string

Specifies an opaque string that indicates the position to begin the next list of results in the response.

ResourceArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the resource that you want tag information on.

Result Syntax

[
    'NextToken' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The opaque string that indicates the position to begin the next list of results in the response.

Tags
Type: Array of TagListEntry structures

An array of tags applied to the specified resource.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

ListTaskExecutions

$result = $client->listTaskExecutions([/* ... */]);
$promise = $client->listTaskExecutionsAsync([/* ... */]);

Returns a list of executions for an DataSync transfer task.

Parameter Syntax

$result = $client->listTaskExecutions([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'TaskArn' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

Specifies how many results you want in the response.

NextToken
Type: string

Specifies an opaque string that indicates the position at which to begin the next list of results in the response.

TaskArn
Type: string

Specifies the Amazon Resource Name (ARN) of the task that you want execution information about.

Result Syntax

[
    'NextToken' => '<string>',
    'TaskExecutions' => [
        [
            'Status' => 'QUEUED|CANCELLING|LAUNCHING|PREPARING|TRANSFERRING|VERIFYING|SUCCESS|ERROR',
            'TaskExecutionArn' => '<string>',
            'TaskMode' => 'BASIC|ENHANCED',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The opaque string that indicates the position to begin the next list of results in the response.

TaskExecutions
Type: Array of TaskExecutionListEntry structures

A list of the task's executions.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

ListTasks

$result = $client->listTasks([/* ... */]);
$promise = $client->listTasksAsync([/* ... */]);

Returns a list of the DataSync tasks you created.

Parameter Syntax

$result = $client->listTasks([
    'Filters' => [
        [
            'Name' => 'LocationId|CreationTime', // REQUIRED
            'Operator' => 'Equals|NotEquals|In|LessThanOrEqual|LessThan|GreaterThanOrEqual|GreaterThan|Contains|NotContains|BeginsWith', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of TaskFilter structures

You can use API filters to narrow down the list of resources returned by ListTasks. For example, to retrieve all tasks on a specific source location, you can use ListTasks with filter name LocationId and Operator Equals with the ARN for the location.

MaxResults
Type: int

The maximum number of tasks to return.

NextToken
Type: string

An opaque string that indicates the position at which to begin the next list of tasks.

Result Syntax

[
    'NextToken' => '<string>',
    'Tasks' => [
        [
            'Name' => '<string>',
            'Status' => 'AVAILABLE|CREATING|QUEUED|RUNNING|UNAVAILABLE',
            'TaskArn' => '<string>',
            'TaskMode' => 'BASIC|ENHANCED',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

An opaque string that indicates the position at which to begin returning the next list of tasks.

Tasks
Type: Array of TaskListEntry structures

A list of all the tasks that are returned.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

RemoveStorageSystem

$result = $client->removeStorageSystem([/* ... */]);
$promise = $client->removeStorageSystemAsync([/* ... */]);

Permanently removes a storage system resource from DataSync Discovery, including the associated discovery jobs, collected data, and recommendations.

Parameter Syntax

$result = $client->removeStorageSystem([
    'StorageSystemArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
StorageSystemArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the storage system that you want to permanently remove from DataSync Discovery.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

StartDiscoveryJob

$result = $client->startDiscoveryJob([/* ... */]);
$promise = $client->startDiscoveryJobAsync([/* ... */]);

Runs a DataSync discovery job on your on-premises storage system. If you haven't added the storage system to DataSync Discovery yet, do this first by using the AddStorageSystem operation.

Parameter Syntax

$result = $client->startDiscoveryJob([
    'ClientToken' => '<string>', // REQUIRED
    'CollectionDurationMinutes' => <integer>, // REQUIRED
    'StorageSystemArn' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ClientToken
Required: Yes
Type: string

Specifies a client token to make sure requests with this API operation are idempotent. If you don't specify a client token, DataSync generates one for you automatically.

CollectionDurationMinutes
Required: Yes
Type: int

Specifies in minutes how long you want the discovery job to run.

For more accurate recommendations, we recommend a duration of at least 14 days. Longer durations allow time to collect a sufficient number of data points and provide a realistic representation of storage performance and utilization.

StorageSystemArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the on-premises storage system that you want to run the discovery job on.

Tags
Type: Array of TagListEntry structures

Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources.

Result Syntax

[
    'DiscoveryJobArn' => '<string>',
]

Result Details

Members
DiscoveryJobArn
Type: string

The ARN of the discovery job that you started.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

StartTaskExecution

$result = $client->startTaskExecution([/* ... */]);
$promise = $client->startTaskExecutionAsync([/* ... */]);

Starts an DataSync transfer task. For each task, you can only run one task execution at a time.

There are several steps to a task execution. For more information, see Task execution statuses.

If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

Parameter Syntax

$result = $client->startTaskExecution([
    'Excludes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'Includes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'ManifestConfig' => [
        'Action' => 'TRANSFER',
        'Format' => 'CSV',
        'Source' => [
            'S3' => [ // REQUIRED
                'BucketAccessRoleArn' => '<string>', // REQUIRED
                'ManifestObjectPath' => '<string>', // REQUIRED
                'ManifestObjectVersionId' => '<string>',
                'S3BucketArn' => '<string>', // REQUIRED
            ],
        ],
    ],
    'OverrideOptions' => [
        'Atime' => 'NONE|BEST_EFFORT',
        'BytesPerSecond' => <integer>,
        'Gid' => 'NONE|INT_VALUE|NAME|BOTH',
        'LogLevel' => 'OFF|BASIC|TRANSFER',
        'Mtime' => 'NONE|PRESERVE',
        'ObjectTags' => 'PRESERVE|NONE',
        'OverwriteMode' => 'ALWAYS|NEVER',
        'PosixPermissions' => 'NONE|PRESERVE',
        'PreserveDeletedFiles' => 'PRESERVE|REMOVE',
        'PreserveDevices' => 'NONE|PRESERVE',
        'SecurityDescriptorCopyFlags' => 'NONE|OWNER_DACL|OWNER_DACL_SACL',
        'TaskQueueing' => 'ENABLED|DISABLED',
        'TransferMode' => 'CHANGED|ALL',
        'Uid' => 'NONE|INT_VALUE|NAME|BOTH',
        'VerifyMode' => 'POINT_IN_TIME_CONSISTENT|ONLY_FILES_TRANSFERRED|NONE',
    ],
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
    'TaskArn' => '<string>', // REQUIRED
    'TaskReportConfig' => [
        'Destination' => [
            'S3' => [
                'BucketAccessRoleArn' => '<string>', // REQUIRED
                'S3BucketArn' => '<string>', // REQUIRED
                'Subdirectory' => '<string>',
            ],
        ],
        'ObjectVersionIds' => 'INCLUDE|NONE',
        'OutputType' => 'SUMMARY_ONLY|STANDARD',
        'Overrides' => [
            'Deleted' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Skipped' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Transferred' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Verified' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
        ],
        'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
    ],
]);

Parameter Details

Members
Excludes
Type: Array of FilterRule structures

Specifies a list of filter rules that determines which files to exclude from a task. The list contains a single filter string that consists of the patterns to exclude. The patterns are delimited by "|" (that is, a pipe), for example, "/folder1|/folder2".

Includes
Type: Array of FilterRule structures

Specifies a list of filter rules that determines which files to include when running a task. The pattern should contain a single filter string that consists of the patterns to include. The patterns are delimited by "|" (that is, a pipe), for example, "/folder1|/folder2".

ManifestConfig
Type: ManifestConfig structure

Configures a manifest, which is a list of files or objects that you want DataSync to transfer. For more information and configuration examples, see Specifying what DataSync transfers by using a manifest.

When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

To remove a manifest configuration, specify this parameter with an empty value.

OverrideOptions
Type: Options structure

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

Tags
Type: Array of TagListEntry structures

Specifies the tags that you want to apply to the Amazon Resource Name (ARN) representing the task execution.

Tags are key-value pairs that help you manage, filter, and search for your DataSync resources.

TaskArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the task that you want to start.

TaskReportConfig
Type: TaskReportConfig structure

Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see Monitoring your DataSync transfers with task reports.

When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

To remove a task report configuration, specify this parameter as empty.

Result Syntax

[
    'TaskExecutionArn' => '<string>',
]

Result Details

Members
TaskExecutionArn
Type: string

The ARN of the running task execution.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

StopDiscoveryJob

$result = $client->stopDiscoveryJob([/* ... */]);
$promise = $client->stopDiscoveryJobAsync([/* ... */]);

Stops a running DataSync discovery job.

You can stop a discovery job anytime. A job that's stopped before it's scheduled to end likely will provide you some information about your on-premises storage system resources. To get recommendations for a stopped job, you must use the GenerateRecommendations operation.

Parameter Syntax

$result = $client->stopDiscoveryJob([
    'DiscoveryJobArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
DiscoveryJobArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the discovery job that you want to stop.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Applies a tag to an Amazon Web Services resource. Tags are key-value pairs that can help you manage, filter, and search for your resources.

These include DataSync resources, such as locations, tasks, and task executions.

Parameter Syntax

$result = $client->tagResource([
    'ResourceArn' => '<string>', // REQUIRED
    'Tags' => [ // REQUIRED
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the resource to apply the tag to.

Tags
Required: Yes
Type: Array of TagListEntry structures

Specifies the tags that you want to apply to the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes tags from an Amazon Web Services resource.

Parameter Syntax

$result = $client->untagResource([
    'Keys' => ['<string>', ...], // REQUIRED
    'ResourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
Keys
Required: Yes
Type: Array of strings

Specifies the keys in the tags that you want to remove.

ResourceArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the resource to remove the tags from.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateAgent

$result = $client->updateAgent([/* ... */]);
$promise = $client->updateAgentAsync([/* ... */]);

Updates the name of an DataSync agent.

Parameter Syntax

$result = $client->updateAgent([
    'AgentArn' => '<string>', // REQUIRED
    'Name' => '<string>',
]);

Parameter Details

Members
AgentArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the agent to update.

Name
Type: string

The name that you want to use to configure the agent.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateDiscoveryJob

$result = $client->updateDiscoveryJob([/* ... */]);
$promise = $client->updateDiscoveryJobAsync([/* ... */]);

Edits a DataSync discovery job configuration.

Parameter Syntax

$result = $client->updateDiscoveryJob([
    'CollectionDurationMinutes' => <integer>, // REQUIRED
    'DiscoveryJobArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
CollectionDurationMinutes
Required: Yes
Type: int

Specifies in minutes how long that you want the discovery job to run. (You can't set this parameter to less than the number of minutes that the job has already run for.)

DiscoveryJobArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the discovery job that you want to update.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateLocationAzureBlob

$result = $client->updateLocationAzureBlob([/* ... */]);
$promise = $client->updateLocationAzureBlobAsync([/* ... */]);

Modifies some configurations of the Microsoft Azure Blob Storage transfer location that you're using with DataSync.

Parameter Syntax

$result = $client->updateLocationAzureBlob([
    'AccessTier' => 'HOT|COOL|ARCHIVE',
    'AgentArns' => ['<string>', ...],
    'AuthenticationType' => 'SAS',
    'BlobType' => 'BLOCK',
    'LocationArn' => '<string>', // REQUIRED
    'SasConfiguration' => [
        'Token' => '<string>', // REQUIRED
    ],
    'Subdirectory' => '<string>',
]);

Parameter Details

Members
AccessTier
Type: string

Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see Access tiers.

AgentArns
Type: Array of strings

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.

You can specify more than one agent. For more information, see Using multiple agents for your transfer.

AuthenticationType
Type: string

Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).

BlobType
Type: string

Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the Azure Blob Storage documentation.

LocationArn
Required: Yes
Type: string

Specifies the ARN of the Azure Blob Storage transfer location that you're updating.

SasConfiguration
Type: AzureBlobSasConfiguration structure

Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.

Subdirectory
Type: string

Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, /my/images).

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateLocationHdfs

$result = $client->updateLocationHdfs([/* ... */]);
$promise = $client->updateLocationHdfsAsync([/* ... */]);

Updates some parameters of a previously created location for a Hadoop Distributed File System cluster.

Parameter Syntax

$result = $client->updateLocationHdfs([
    'AgentArns' => ['<string>', ...],
    'AuthenticationType' => 'SIMPLE|KERBEROS',
    'BlockSize' => <integer>,
    'KerberosKeytab' => <string || resource || Psr\Http\Message\StreamInterface>,
    'KerberosKrb5Conf' => <string || resource || Psr\Http\Message\StreamInterface>,
    'KerberosPrincipal' => '<string>',
    'KmsKeyProviderUri' => '<string>',
    'LocationArn' => '<string>', // REQUIRED
    'NameNodes' => [
        [
            'Hostname' => '<string>', // REQUIRED
            'Port' => <integer>, // REQUIRED
        ],
        // ...
    ],
    'QopConfiguration' => [
        'DataTransferProtection' => 'DISABLED|AUTHENTICATION|INTEGRITY|PRIVACY',
        'RpcProtection' => 'DISABLED|AUTHENTICATION|INTEGRITY|PRIVACY',
    ],
    'ReplicationFactor' => <integer>,
    'SimpleUser' => '<string>',
    'Subdirectory' => '<string>',
]);

Parameter Details

Members
AgentArns
Type: Array of strings

The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.

AuthenticationType
Type: string

The type of authentication used to determine the identity of the user.

BlockSize
Type: int

The size of the data blocks to write into the HDFS cluster.

KerberosKeytab
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The Kerberos key table (keytab) that contains mappings between the defined Kerberos principal and the encrypted keys. You can load the keytab from a file by providing the file's address. If you use the CLI, it performs base64 encoding for you. Otherwise, provide the base64-encoded text.

KerberosKrb5Conf
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The krb5.conf file that contains the Kerberos configuration information. You can load the krb5.conf file by providing the file's address. If you're using the CLI, it performs the base64 encoding for you. Otherwise, provide the base64-encoded text.

KerberosPrincipal
Type: string

The Kerberos principal with access to the files and folders on the HDFS cluster.

KmsKeyProviderUri
Type: string

The URI of the HDFS cluster's Key Management Server (KMS).

LocationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the source HDFS cluster location.

NameNodes
Type: Array of HdfsNameNode structures

The NameNode that manages the HDFS namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes. You can use only one NameNode.

QopConfiguration
Type: QopConfiguration structure

The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer privacy settings configured on the Hadoop Distributed File System (HDFS) cluster.

ReplicationFactor
Type: int

The number of DataNodes to replicate the data to when writing to the HDFS cluster.

SimpleUser
Type: string

The user name used to identify the client on the host operating system.

Subdirectory
Type: string

A subdirectory in the HDFS cluster. This subdirectory is used to read data from or write data to the HDFS cluster.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateLocationNfs

$result = $client->updateLocationNfs([/* ... */]);
$promise = $client->updateLocationNfsAsync([/* ... */]);

Modifies some configurations of the Network File System (NFS) transfer location that you're using with DataSync.

For more information, see Configuring transfers to or from an NFS file server.

Parameter Syntax

$result = $client->updateLocationNfs([
    'LocationArn' => '<string>', // REQUIRED
    'MountOptions' => [
        'Version' => 'AUTOMATIC|NFS3|NFS4_0|NFS4_1',
    ],
    'OnPremConfig' => [
        'AgentArns' => ['<string>', ...], // REQUIRED
    ],
    'Subdirectory' => '<string>',
]);

Parameter Details

Members
LocationArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the NFS transfer location that you want to update.

MountOptions
Type: NfsMountOptions structure

Specifies how DataSync can access a location using the NFS protocol.

OnPremConfig
Type: OnPremConfig structure

The DataSync agents that can connect to your Network File System (NFS) file server.

Subdirectory
Type: string

Specifies the export path in your NFS file server that you want DataSync to mount.

This path (or a subdirectory of the path) is where DataSync transfers data to or from. For information on configuring an export for DataSync, see Accessing NFS file servers.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateLocationObjectStorage

$result = $client->updateLocationObjectStorage([/* ... */]);
$promise = $client->updateLocationObjectStorageAsync([/* ... */]);

Updates some parameters of an existing DataSync location for an object storage system.

Parameter Syntax

$result = $client->updateLocationObjectStorage([
    'AccessKey' => '<string>',
    'AgentArns' => ['<string>', ...],
    'LocationArn' => '<string>', // REQUIRED
    'SecretKey' => '<string>',
    'ServerCertificate' => <string || resource || Psr\Http\Message\StreamInterface>,
    'ServerPort' => <integer>,
    'ServerProtocol' => 'HTTPS|HTTP',
    'Subdirectory' => '<string>',
]);

Parameter Details

Members
AccessKey
Type: string

Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.

AgentArns
Type: Array of strings

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.

LocationArn
Required: Yes
Type: string

Specifies the ARN of the object storage system location that you're updating.

SecretKey
Type: string

Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.

ServerCertificate
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single .pem file with a full certificate chain (for example, file:///home/user/.ssh/object_storage_certificates.pem).

The certificate chain might include:

  • The object storage system's certificate

  • All intermediate certificates (if there are any)

  • The root certificate of the signing CA

You can concatenate your certificates into a .pem file (which can be up to 32768 bytes before base64 encoding). The following example cat command creates an object_storage_certificates.pem file that includes three certificates:

cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem

To use this parameter, configure ServerProtocol to HTTPS.

Updating this parameter doesn't interfere with tasks that you have in progress.

ServerPort
Type: int

Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).

ServerProtocol
Type: string

Specifies the protocol that your object storage server uses to communicate.

Subdirectory
Type: string

Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateLocationSmb

$result = $client->updateLocationSmb([/* ... */]);
$promise = $client->updateLocationSmbAsync([/* ... */]);

Updates some of the parameters of a Server Message Block (SMB) file server location that you can use for DataSync transfers.

Parameter Syntax

$result = $client->updateLocationSmb([
    'AgentArns' => ['<string>', ...],
    'Domain' => '<string>',
    'LocationArn' => '<string>', // REQUIRED
    'MountOptions' => [
        'Version' => 'AUTOMATIC|SMB2|SMB3|SMB1|SMB2_0',
    ],
    'Password' => '<string>',
    'Subdirectory' => '<string>',
    'User' => '<string>',
]);

Parameter Details

Members
AgentArns
Type: Array of strings

Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

Domain
Type: string

Specifies the Windows domain name that your SMB file server belongs to.

If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.

For more information, see required permissions for SMB locations.

LocationArn
Required: Yes
Type: string

Specifies the ARN of the SMB location that you want to update.

MountOptions
Type: SmbMountOptions structure

Specifies the version of the Server Message Block (SMB) protocol that DataSync uses to access an SMB file server.

Password
Type: string

Specifies the password of the user who can mount your SMB file server and has permission to access the files and folders involved in your transfer.

For more information, see required permissions for SMB locations.

Subdirectory
Type: string

Specifies the name of the share exported by your SMB file server where DataSync will read or write data. You can include a subdirectory in the share path (for example, /path/to/subdirectory). Make sure that other SMB clients in your network can also mount this path.

To copy all data in the specified subdirectory, DataSync must be able to mount the SMB share and access all of its data. For more information, see required permissions for SMB locations.

User
Type: string

Specifies the user name that can mount your SMB file server and has permission to access the files and folders involved in your transfer.

For information about choosing a user with the right level of access for your transfer, see required permissions for SMB locations.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateStorageSystem

$result = $client->updateStorageSystem([/* ... */]);
$promise = $client->updateStorageSystemAsync([/* ... */]);

Modifies some configurations of an on-premises storage system resource that you're using with DataSync Discovery.

Parameter Syntax

$result = $client->updateStorageSystem([
    'AgentArns' => ['<string>', ...],
    'CloudWatchLogGroupArn' => '<string>',
    'Credentials' => [
        'Password' => '<string>', // REQUIRED
        'Username' => '<string>', // REQUIRED
    ],
    'Name' => '<string>',
    'ServerConfiguration' => [
        'ServerHostname' => '<string>', // REQUIRED
        'ServerPort' => <integer>,
    ],
    'StorageSystemArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
AgentArns
Type: Array of strings

Specifies the Amazon Resource Name (ARN) of the DataSync agent that connects to and reads your on-premises storage system. You can only specify one ARN.

CloudWatchLogGroupArn
Type: string

Specifies the ARN of the Amazon CloudWatch log group for monitoring and logging discovery job events.

Credentials
Type: Credentials structure

Specifies the user name and password for accessing your on-premises storage system's management interface.

Name
Type: string

Specifies a familiar name for your on-premises storage system.

ServerConfiguration

Specifies the server name and network port required to connect with your on-premises storage system's management interface.

StorageSystemArn
Required: Yes
Type: string

Specifies the ARN of the on-premises storage system that you want reconfigure.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateTask

$result = $client->updateTask([/* ... */]);
$promise = $client->updateTaskAsync([/* ... */]);

Updates the configuration of a task, which defines where and how DataSync transfers your data.

Parameter Syntax

$result = $client->updateTask([
    'CloudWatchLogGroupArn' => '<string>',
    'Excludes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'Includes' => [
        [
            'FilterType' => 'SIMPLE_PATTERN',
            'Value' => '<string>',
        ],
        // ...
    ],
    'ManifestConfig' => [
        'Action' => 'TRANSFER',
        'Format' => 'CSV',
        'Source' => [
            'S3' => [ // REQUIRED
                'BucketAccessRoleArn' => '<string>', // REQUIRED
                'ManifestObjectPath' => '<string>', // REQUIRED
                'ManifestObjectVersionId' => '<string>',
                'S3BucketArn' => '<string>', // REQUIRED
            ],
        ],
    ],
    'Name' => '<string>',
    'Options' => [
        'Atime' => 'NONE|BEST_EFFORT',
        'BytesPerSecond' => <integer>,
        'Gid' => 'NONE|INT_VALUE|NAME|BOTH',
        'LogLevel' => 'OFF|BASIC|TRANSFER',
        'Mtime' => 'NONE|PRESERVE',
        'ObjectTags' => 'PRESERVE|NONE',
        'OverwriteMode' => 'ALWAYS|NEVER',
        'PosixPermissions' => 'NONE|PRESERVE',
        'PreserveDeletedFiles' => 'PRESERVE|REMOVE',
        'PreserveDevices' => 'NONE|PRESERVE',
        'SecurityDescriptorCopyFlags' => 'NONE|OWNER_DACL|OWNER_DACL_SACL',
        'TaskQueueing' => 'ENABLED|DISABLED',
        'TransferMode' => 'CHANGED|ALL',
        'Uid' => 'NONE|INT_VALUE|NAME|BOTH',
        'VerifyMode' => 'POINT_IN_TIME_CONSISTENT|ONLY_FILES_TRANSFERRED|NONE',
    ],
    'Schedule' => [
        'ScheduleExpression' => '<string>', // REQUIRED
        'Status' => 'ENABLED|DISABLED',
    ],
    'TaskArn' => '<string>', // REQUIRED
    'TaskReportConfig' => [
        'Destination' => [
            'S3' => [
                'BucketAccessRoleArn' => '<string>', // REQUIRED
                'S3BucketArn' => '<string>', // REQUIRED
                'Subdirectory' => '<string>',
            ],
        ],
        'ObjectVersionIds' => 'INCLUDE|NONE',
        'OutputType' => 'SUMMARY_ONLY|STANDARD',
        'Overrides' => [
            'Deleted' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Skipped' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Transferred' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
            'Verified' => [
                'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
            ],
        ],
        'ReportLevel' => 'ERRORS_ONLY|SUCCESSES_AND_ERRORS',
    ],
]);

Parameter Details

Members
CloudWatchLogGroupArn
Type: string

Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

For Enhanced mode tasks, you must use /aws/datasync as your log group name. For example:

arn:aws:logs:us-east-1:111222333444:log-group:/aws/datasync:*

For more information, see Monitoring data transfers with CloudWatch Logs.

Excludes
Type: Array of FilterRule structures

Specifies exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

Includes
Type: Array of FilterRule structures

Specifies include filters define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

ManifestConfig
Type: ManifestConfig structure

Configures a manifest, which is a list of files or objects that you want DataSync to transfer. For more information and configuration examples, see Specifying what DataSync transfers by using a manifest.

When using this parameter, your caller identity (the IAM role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

To remove a manifest configuration, specify this parameter as empty.

Name
Type: string

Specifies the name of your task.

Options
Type: Options structure

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

Schedule
Type: TaskSchedule structure

Specifies a schedule for when you want your task to run. For more information, see Scheduling your task.

TaskArn
Required: Yes
Type: string

Specifies the ARN of the task that you want to update.

TaskReportConfig
Type: TaskReportConfig structure

Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see Monitoring your DataSync transfers with task reports.

When using this parameter, your caller identity (the IAM role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

To remove a task report configuration, specify this parameter as empty.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

UpdateTaskExecution

$result = $client->updateTaskExecution([/* ... */]);
$promise = $client->updateTaskExecutionAsync([/* ... */]);

Updates the configuration of a running DataSync task execution.

Currently, the only Option that you can modify with UpdateTaskExecution is BytesPerSecond , which throttles bandwidth for a running or queued task execution.

Parameter Syntax

$result = $client->updateTaskExecution([
    'Options' => [ // REQUIRED
        'Atime' => 'NONE|BEST_EFFORT',
        'BytesPerSecond' => <integer>,
        'Gid' => 'NONE|INT_VALUE|NAME|BOTH',
        'LogLevel' => 'OFF|BASIC|TRANSFER',
        'Mtime' => 'NONE|PRESERVE',
        'ObjectTags' => 'PRESERVE|NONE',
        'OverwriteMode' => 'ALWAYS|NEVER',
        'PosixPermissions' => 'NONE|PRESERVE',
        'PreserveDeletedFiles' => 'PRESERVE|REMOVE',
        'PreserveDevices' => 'NONE|PRESERVE',
        'SecurityDescriptorCopyFlags' => 'NONE|OWNER_DACL|OWNER_DACL_SACL',
        'TaskQueueing' => 'ENABLED|DISABLED',
        'TransferMode' => 'CHANGED|ALL',
        'Uid' => 'NONE|INT_VALUE|NAME|BOTH',
        'VerifyMode' => 'POINT_IN_TIME_CONSISTENT|ONLY_FILES_TRANSFERRED|NONE',
    ],
    'TaskExecutionArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
Options
Required: Yes
Type: Options structure

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

TaskExecutionArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the task execution that you're updating.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidRequestException:

This exception is thrown when the client submits a malformed request.

InternalException:

This exception is thrown when an error occurs in the DataSync service.

Shapes

AgentListEntry

Description

Represents a single entry in a list (or array) of DataSync agents when you call the ListAgents operation.

Members
AgentArn
Type: string

The Amazon Resource Name (ARN) of a DataSync agent.

Name
Type: string

The name of an agent.

Platform
Type: Platform structure

The platform-related details about the agent, such as the version number.

Status
Type: string

The status of an agent.

  • If the status is ONLINE, the agent is configured properly and ready to use.

  • If the status is OFFLINE, the agent has been out of contact with DataSync for five minutes or longer. This can happen for a few reasons. For more information, see What do I do if my agent is offline?

AzureBlobSasConfiguration

Description

The shared access signature (SAS) configuration that allows DataSync to access your Microsoft Azure Blob Storage.

For more information, see SAS tokens for accessing your Azure Blob Storage.

Members
Token
Required: Yes
Type: string

Specifies a SAS token that provides permissions to access your Azure Blob Storage.

The token is part of the SAS URI string that comes after the storage resource URI and a question mark. A token looks something like this:

sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D

Capacity

Description

The storage capacity of an on-premises storage system resource (for example, a volume).

Members
ClusterCloudStorageUsed
Type: long (int|float)

The amount of space in the cluster that's in cloud storage (for example, if you're using data tiering).

LogicalUsed
Type: long (int|float)

The amount of space that's being used in a storage system resource without accounting for compression or deduplication.

Provisioned
Type: long (int|float)

The total amount of space available in a storage system resource.

Used
Type: long (int|float)

The amount of space that's being used in a storage system resource.

Credentials

Description

The credentials that provide DataSync Discovery read access to your on-premises storage system's management interface.

DataSync Discovery stores these credentials in Secrets Manager. For more information, see Accessing your on-premises storage system.

Members
Password
Required: Yes
Type: string

Specifies the password for your storage system's management interface.

Username
Required: Yes
Type: string

Specifies the user name for your storage system's management interface.

DiscoveryJobListEntry

Description

The details about a specific DataSync discovery job.

Members
DiscoveryJobArn
Type: string

The Amazon Resource Name (ARN) of a discovery job.

Status
Type: string

The status of a discovery job. For more information, see Discovery job statuses.

DiscoveryServerConfiguration

Description

The network settings that DataSync Discovery uses to connect with your on-premises storage system's management interface.

Members
ServerHostname
Required: Yes
Type: string

The domain name or IP address of your storage system's management interface.

ServerPort
Type: int

The network port for accessing the storage system's management interface.

Ec2Config

Description

The subnet and security groups that DataSync uses to connect to one of your Amazon EFS file system's mount targets.

Members
SecurityGroupArns
Required: Yes
Type: Array of strings

Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target.

SubnetArn
Required: Yes
Type: string

Specifies the ARN of a subnet where DataSync creates the network interfaces for managing traffic during your transfer.

The subnet must be located:

  • In the same virtual private cloud (VPC) as the Amazon EFS file system.

  • In the same Availability Zone as at least one mount target for the Amazon EFS file system.

You don't need to specify a subnet that includes a file system mount target.

FilterRule

Description

Specifies which files, folders, and objects to include or exclude when transferring files from source to destination.

Members
FilterType
Type: string

The type of filter rule to apply. DataSync only supports the SIMPLE_PATTERN rule type.

Value
Type: string

A single filter string that consists of the patterns to include or exclude. The patterns are delimited by "|" (that is, a pipe), for example: /folder1|/folder2

FsxProtocol

Description

Specifies the data transfer protocol that DataSync uses to access your Amazon FSx file system.

Members
NFS
Type: FsxProtocolNfs structure

Specifies the Network File System (NFS) protocol configuration that DataSync uses to access your FSx for OpenZFS file system or FSx for ONTAP file system's storage virtual machine (SVM).

SMB
Type: FsxProtocolSmb structure

Specifies the Server Message Block (SMB) protocol configuration that DataSync uses to access your FSx for ONTAP file system's SVM.

FsxProtocolNfs

Description

Specifies the Network File System (NFS) protocol configuration that DataSync uses to access your Amazon FSx for OpenZFS or Amazon FSx for NetApp ONTAP file system.

Members
MountOptions
Type: NfsMountOptions structure

Specifies how DataSync can access a location using the NFS protocol.

FsxProtocolSmb

Description

Specifies the Server Message Block (SMB) protocol configuration that DataSync uses to access your Amazon FSx for NetApp ONTAP file system. For more information, see Accessing FSx for ONTAP file systems.

Members
Domain
Type: string

Specifies the fully qualified domain name (FQDN) of the Microsoft Active Directory that your storage virtual machine (SVM) belongs to.

If you have multiple domains in your environment, configuring this setting makes sure that DataSync connects to the right SVM.

MountOptions
Type: SmbMountOptions structure

Specifies the version of the Server Message Block (SMB) protocol that DataSync uses to access an SMB file server.

Password
Required: Yes
Type: string

Specifies the password of a user who has permission to access your SVM.

User
Required: Yes
Type: string

Specifies a user that can mount and access the files, folders, and metadata in your SVM.

For information about choosing a user with the right level of access for your transfer, see Using the SMB protocol.

HdfsNameNode

Description

The NameNode of the Hadoop Distributed File System (HDFS). The NameNode manages the file system's namespace. The NameNode performs operations such as opening, closing, and renaming files and directories. The NameNode contains the information to map blocks of data to the DataNodes.

Members
Hostname
Required: Yes
Type: string

The hostname of the NameNode in the HDFS cluster. This value is the IP address or Domain Name Service (DNS) name of the NameNode. An agent that's installed on-premises uses this hostname to communicate with the NameNode in the network.

Port
Required: Yes
Type: int

The port that the NameNode uses to listen to client requests.

IOPS

Description

The IOPS peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

Members
Other
Type: double

Peak IOPS unrelated to read and write operations.

Read
Type: double

Peak IOPS related to read operations.

Total
Type: double

Peak total IOPS on your on-premises storage system resource.

Write
Type: double

Peak IOPS related to write operations.

InternalException

Description

This exception is thrown when an error occurs in the DataSync service.

Members
errorCode
Type: string
message
Type: string

InvalidRequestException

Description

This exception is thrown when the client submits a malformed request.

Members
datasyncErrorCode
Type: string
errorCode
Type: string
message
Type: string

Latency

Description

The latency peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

Members
Other
Type: double

Peak latency for operations unrelated to read and write operations.

Read
Type: double

Peak latency for read operations.

Write
Type: double

Peak latency for write operations.

LocationFilter

Description

Narrow down the list of resources returned by ListLocations. For example, to see all your Amazon S3 locations, create a filter using "Name": "LocationType", "Operator": "Equals", and "Values": "S3".

For more information, see filtering resources.

Members
Name
Required: Yes
Type: string

The name of the filter being used. Each API call supports a list of filters that are available for it (for example, LocationType for ListLocations).

Operator
Required: Yes
Type: string

The operator that is used to compare filter values (for example, Equals or Contains).

Values
Required: Yes
Type: Array of strings

The values that you want to filter for. For example, you might want to display only Amazon S3 locations.

LocationListEntry

Description

Represents a single entry in a list of locations. LocationListEntry returns an array that contains a list of locations when the ListLocations operation is called.

Members
LocationArn
Type: string

The Amazon Resource Name (ARN) of the location. For Network File System (NFS) or Amazon EFS, the location is the export path. For Amazon S3, the location is the prefix path that you want to mount and use as the root of the location.

LocationUri
Type: string

Represents a list of URIs of a location. LocationUri returns an array that contains a list of locations when the ListLocations operation is called.

Format: TYPE://GLOBAL_ID/SUBDIR.

TYPE designates the type of location (for example, nfs or s3).

GLOBAL_ID is the globally unique identifier of the resource that backs the location. An example for EFS is us-east-2.fs-abcd1234. An example for Amazon S3 is the bucket name, such as myBucket. An example for NFS is a valid IPv4 address or a hostname that is compliant with Domain Name Service (DNS).

SUBDIR is a valid file system path, delimited by forward slashes as is the *nix convention. For NFS and Amazon EFS, it's the export path to mount the location. For Amazon S3, it's the prefix path that you mount to and treat as the root of the location.

ManifestConfig

Description

Configures a manifest, which is a list of files or objects that you want DataSync to transfer. For more information and configuration examples, see Specifying what DataSync transfers by using a manifest.

Members
Action
Type: string

Specifies what DataSync uses the manifest for.

Format
Type: string

Specifies the file format of your manifest. For more information, see Creating a manifest.

Source
Type: SourceManifestConfig structure

Specifies the manifest that you want DataSync to use and where it's hosted.

You must specify this parameter if you're configuring a new manifest on or after February 7, 2024.

If you don't, you'll get a 400 status code and ValidationException error stating that you're missing the IAM role for DataSync to access the S3 bucket where you're hosting your manifest. For more information, see Providing DataSync access to your manifest.

MaxP95Performance

Description

The performance data that DataSync Discovery collects about an on-premises storage system resource.

Members
IopsOther
Type: double

Peak IOPS unrelated to read and write operations.

IopsRead
Type: double

Peak IOPS related to read operations.

IopsTotal
Type: double

Peak total IOPS on your on-premises storage system resource.

IopsWrite
Type: double

Peak IOPS related to write operations.

LatencyOther
Type: double

Peak latency for operations unrelated to read and write operations.

LatencyRead
Type: double

Peak latency for read operations.

LatencyWrite
Type: double

Peak latency for write operations.

ThroughputOther
Type: double

Peak throughput unrelated to read and write operations.

ThroughputRead
Type: double

Peak throughput related to read operations.

ThroughputTotal
Type: double

Peak total throughput on your on-premises storage system resource.

ThroughputWrite
Type: double

Peak throughput related to write operations.

NetAppONTAPCluster

Description

The information that DataSync Discovery collects about an on-premises storage system cluster.

Members
CifsShareCount
Type: long (int|float)

The number of CIFS shares in the cluster.

ClusterBlockStorageLogicalUsed
Type: long (int|float)

The storage space that's being used in the cluster without accounting for compression or deduplication.

ClusterBlockStorageSize
Type: long (int|float)

The total storage space that's available in the cluster.

ClusterBlockStorageUsed
Type: long (int|float)

The storage space that's being used in a cluster.

ClusterCloudStorageUsed
Type: long (int|float)

The amount of space in the cluster that's in cloud storage (for example, if you're using data tiering).

ClusterName
Type: string

The name of the cluster.

LunCount
Type: long (int|float)

The number of LUNs (logical unit numbers) in the cluster.

MaxP95Performance
Type: MaxP95Performance structure

The performance data that DataSync Discovery collects about the cluster.

NfsExportedVolumes
Type: long (int|float)

The number of NFS volumes in the cluster.

RecommendationStatus
Type: string

Indicates whether DataSync Discovery recommendations for the cluster are ready to view, incomplete, or can't be determined.

For more information, see Recommendation statuses.

Recommendations
Type: Array of Recommendation structures

The Amazon Web Services storage services that DataSync Discovery recommends for the cluster. For more information, see Recommendations provided by DataSync Discovery.

ResourceId
Type: string

The universally unique identifier (UUID) of the cluster.

NetAppONTAPSVM

Description

The information that DataSync Discovery collects about a storage virtual machine (SVM) in your on-premises storage system.

Members
CifsShareCount
Type: long (int|float)

The number of CIFS shares in the SVM.

ClusterUuid
Type: string

The universally unique identifier (UUID) of the cluster associated with the SVM.

EnabledProtocols
Type: Array of strings

The data transfer protocols (such as NFS) configured for the SVM.

LunCount
Type: long (int|float)

The number of LUNs (logical unit numbers) in the SVM.

MaxP95Performance
Type: MaxP95Performance structure

The performance data that DataSync Discovery collects about the SVM.

NfsExportedVolumes
Type: long (int|float)

The number of NFS volumes in the SVM.

RecommendationStatus
Type: string

Indicates whether DataSync Discovery recommendations for the SVM are ready to view, incomplete, or can't be determined.

For more information, see Recommendation statuses.

Recommendations
Type: Array of Recommendation structures

The Amazon Web Services storage services that DataSync Discovery recommends for the SVM. For more information, see Recommendations provided by DataSync Discovery.

ResourceId
Type: string

The UUID of the SVM.

SvmName
Type: string

The name of the SVM

TotalCapacityProvisioned
Type: long (int|float)

The total storage space that's available in the SVM.

TotalCapacityUsed
Type: long (int|float)

The storage space that's being used in the SVM.

TotalLogicalCapacityUsed
Type: long (int|float)

The storage space that's being used in the SVM without accounting for compression or deduplication.

TotalSnapshotCapacityUsed
Type: long (int|float)

The amount of storage in the SVM that's being used for snapshots.

NetAppONTAPVolume

Description

The information that DataSync Discovery collects about a volume in your on-premises storage system.

Members
CapacityProvisioned
Type: long (int|float)

The total storage space that's available in the volume.

CapacityUsed
Type: long (int|float)

The storage space that's being used in the volume.

CifsShareCount
Type: long (int|float)

The number of CIFS shares in the volume.

LogicalCapacityUsed
Type: long (int|float)

The storage space that's being used in the volume without accounting for compression or deduplication.

LunCount
Type: long (int|float)

The number of LUNs (logical unit numbers) in the volume.

MaxP95Performance
Type: MaxP95Performance structure

The performance data that DataSync Discovery collects about the volume.

NfsExported
Type: boolean

The number of NFS volumes in the volume.

RecommendationStatus
Type: string

Indicates whether DataSync Discovery recommendations for the volume are ready to view, incomplete, or can't be determined.

For more information, see Recommendation statuses.

Recommendations
Type: Array of Recommendation structures

The Amazon Web Services storage services that DataSync Discovery recommends for the volume. For more information, see Recommendations provided by DataSync Discovery.

ResourceId
Type: string

The universally unique identifier (UUID) of the volume.

SecurityStyle
Type: string

The volume's security style (such as Unix or NTFS).

SnapshotCapacityUsed
Type: long (int|float)

The amount of storage in the volume that's being used for snapshots.

SvmName
Type: string

The name of the SVM associated with the volume.

SvmUuid
Type: string

The UUID of the storage virtual machine (SVM) associated with the volume.

VolumeName
Type: string

The name of the volume.

NfsMountOptions

Description

Specifies how DataSync can access a location using the NFS protocol.

Members
Version
Type: string

Specifies the NFS version that you want DataSync to use when mounting your NFS share. If the server refuses to use the version specified, the task fails.

You can specify the following options:

  • AUTOMATIC (default): DataSync chooses NFS version 4.1.

  • NFS3: Stateless protocol version that allows for asynchronous writes on the server.

  • NFSv4_0: Stateful, firewall-friendly protocol version that supports delegations and pseudo file systems.

  • NFSv4_1: Stateful protocol version that supports sessions, directory delegations, and parallel data processing. NFS version 4.1 also includes all features available in version 4.0.

DataSync currently only supports NFS version 3 with Amazon FSx for NetApp ONTAP locations.

OnPremConfig

Description

The DataSync agents that can connect to your Network File System (NFS) file server.

Members
AgentArns
Required: Yes
Type: Array of strings

The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your NFS file server.

You can specify more than one agent. For more information, see Using multiple DataSync agents.

Options

Description

Indicates how your transfer task is configured. These options include how DataSync handles files, objects, and their associated metadata during your transfer. You also can specify how to verify data integrity, set bandwidth limits for your task, among other options.

Each option has a default value. Unless you need to, you don't have to configure any option before calling StartTaskExecution.

You also can override your task options for each task execution. For example, you might want to adjust the LogLevel for an individual execution.

Members
Atime
Type: string

Specifies whether to preserve metadata indicating the last time a file was read or written to.

The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

  • BEST_EFFORT (default) - DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING steps of the task execution). This option is recommended.

  • NONE - Ignores Atime.

If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.

If Atime is set to NONE, Mtime must also be NONE.

BytesPerSecond
Type: long (int|float)

Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).

Not applicable to Enhanced mode tasks.

Gid
Type: string

Specifies the POSIX group ID (GID) of the file's owners.

  • INT_VALUE (default) - Preserves the integer value of user ID (UID) and GID, which is recommended.

  • NONE - Ignores UID and GID.

For more information, see Understanding how DataSync handles file and object metadata.

LogLevel
Type: string

Specifies the type of logs that DataSync publishes to a Amazon CloudWatch Logs log group. To specify the log group, see CloudWatchLogGroupArn.

  • BASIC - Publishes logs with only basic information (such as transfer errors).

  • TRANSFER - Publishes logs for all files or objects that your DataSync task transfers and performs data-integrity checks on.

  • OFF - No logs are published.

Mtime
Type: string

Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING step of your task execution. This option is required when you need to run the a task more than once.

  • PRESERVE (default) - Preserves original Mtime, which is recommended.

  • NONE - Ignores Mtime.

If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.

If Mtime is set to NONE, Atime must also be set to NONE.

ObjectTags
Type: string

Specifies whether you want DataSync to PRESERVE object tags (default behavior) when transferring between object storage systems. If you want your DataSync task to ignore object tags, specify the NONE value.

OverwriteMode
Type: string

Specifies whether DataSync should modify or preserve data at the destination location.

  • ALWAYS (default) - DataSync modifies data in the destination location when source data (including metadata) has changed.

    If DataSync overwrites objects, you might incur additional charges for certain Amazon S3 storage classes (for example, for retrieval or early deletion). For more information, see Storage class considerations with Amazon S3 transfers.

  • NEVER - DataSync doesn't overwrite data in the destination location even if the source data has changed. You can use this option to protect against overwriting changes made to files or objects in the destination.

PosixPermissions
Type: string

Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

For more information, see Understanding how DataSync handles file and object metadata.

  • PRESERVE (default) - Preserves POSIX-style permissions, which is recommended.

  • NONE - Ignores POSIX-style permissions.

DataSync can preserve extant permissions of a source location.

PreserveDeletedFiles
Type: string

Specifies whether files in the destination location that don't exist in the source should be preserved. This option can affect your Amazon S3 storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see Considerations when working with Amazon S3 storage classes in DataSync.

  • PRESERVE (default) - Ignores such destination files, which is recommended.

  • REMOVE - Deletes destination files that aren’t present in the source.

If you set this parameter to REMOVE, you can't set TransferMode to ALL. When you transfer all data, DataSync doesn't scan your destination location and doesn't know what to delete.

PreserveDevices
Type: string

Specifies whether DataSync should preserve the metadata of block and character devices in the source location and recreate the files with that device name and metadata on the destination. DataSync copies only the name and metadata of such devices.

DataSync can't copy the actual contents of these devices because they're nonterminal and don't return an end-of-file (EOF) marker.

  • NONE (default) - Ignores special devices (recommended).

  • PRESERVE - Preserves character and block device metadata. This option currently isn't supported for Amazon EFS.

SecurityDescriptorCopyFlags
Type: string

Specifies which components of the SMB security descriptor are copied from source to destination objects.

This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see Understanding how DataSync handles file and object metadata.

  • OWNER_DACL (default) - For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

      DataSync won't copy NTFS system access control lists (SACLs) with this option.

  • OWNER_DACL_SACL - For each copied object, DataSync copies the following metadata:

    • The object owner.

    • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

    • SACLs, which are used by administrators to log attempts to access a secured object.

      Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user with the right permissions, see required permissions for SMB, FSx for Windows File Server, or FSx for ONTAP (depending on the type of location in your transfer).

  • NONE - None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

TaskQueueing
Type: string

Specifies whether your transfer tasks should be put into a queue during certain scenarios when running multiple tasks. This is ENABLED by default.

TransferMode
Type: string

Specifies whether DataSync transfers only the data (including metadata) that differs between locations following an initial copy or transfers all data every time you run the task. If you're planning on recurring transfers, you might only want to transfer what's changed since your previous task execution.

  • CHANGED (default) - After your initial full transfer, DataSync copies only the data and metadata that differs between the source and destination location.

  • ALL - DataSync copies everything in the source to the destination without comparing differences between the locations.

Uid
Type: string

Specifies the POSIX user ID (UID) of the file's owner.

  • INT_VALUE (default) - Preserves the integer value of UID and group ID (GID), which is recommended.

  • NONE - Ignores UID and GID.

For more information, see Metadata copied by DataSync.

VerifyMode
Type: string

Specifies if and how DataSync checks the integrity of your data at the end of your transfer.

  • ONLY_FILES_TRANSFERRED (recommended) - DataSync calculates the checksum of transferred data (including metadata) at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on that data at the destination.

    This is the default option for Enhanced mode tasks.

    We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

  • POINT_IN_TIME_CONSISTENT - At the end of the transfer, DataSync checks the entire source and destination to verify that both locations are fully synchronized.

    The is the default option for Basic mode tasks and isn't currently supported with Enhanced mode tasks.

    If you use a manifest, DataSync only scans and verifies what's listed in the manifest.

    You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

  • NONE - DataSync performs data integrity checks only during your transfer. Unlike other options, there's no additional verification at the end of your transfer.

P95Metrics

Description

The types of performance data that DataSync Discovery collects about an on-premises storage system resource.

Members
IOPS
Type: IOPS structure

The IOPS peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

Latency
Type: Latency structure

The latency peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

Throughput
Type: Throughput structure

The throughput peaks for an on-premises storage system resource. Each data point represents the 95th percentile peak value during a 1-hour interval.

Platform

Description

The platform-related details about the DataSync agent, such as the version number.

Members
Version
Type: string

The version of the DataSync agent.

PrivateLinkConfig

Description

Specifies how your DataSync agent connects to Amazon Web Services using a virtual private cloud (VPC) service endpoint. An agent that uses a VPC endpoint isn't accessible over the public internet.

Members
PrivateLinkEndpoint
Type: string

Specifies the VPC endpoint provided by Amazon Web Services PrivateLink that your agent connects to.

SecurityGroupArns
Type: Array of strings

Specifies the Amazon Resource Names (ARN) of the security group that provides DataSync access to your VPC endpoint. You can only specify one ARN.

SubnetArns
Type: Array of strings

Specifies the ARN of the subnet where your VPC endpoint is located. You can only specify one ARN.

VpcEndpointId
Type: string

Specifies the ID of the VPC endpoint that your agent connects to.

QopConfiguration

Description

The Quality of Protection (QOP) configuration specifies the Remote Procedure Call (RPC) and data transfer privacy settings configured on the Hadoop Distributed File System (HDFS) cluster.

Members
DataTransferProtection
Type: string

The data transfer protection setting configured on the HDFS cluster. This setting corresponds to your dfs.data.transfer.protection setting in the hdfs-site.xml file on your Hadoop cluster.

RpcProtection
Type: string

The RPC protection setting configured on the HDFS cluster. This setting corresponds to your hadoop.rpc.protection setting in your core-site.xml file on your Hadoop cluster.

Recommendation

Description

The details about an Amazon Web Services storage service that DataSync Discovery recommends for a resource in your on-premises storage system.

For more information, see Recommendations provided by DataSync Discovery.

Members
EstimatedMonthlyStorageCost
Type: string

The estimated monthly cost of the recommended Amazon Web Services storage service.

StorageConfiguration
Type: Associative array of custom strings keys (PtolemyString) to strings

Information about how you can set up a recommended Amazon Web Services storage service.

StorageType
Type: string

A recommended Amazon Web Services storage service that you can migrate data to based on information that DataSync Discovery collects about your on-premises storage system.

ReportDestination

Description

Specifies where DataSync uploads your task report.

Members
S3
Type: ReportDestinationS3 structure

Specifies the Amazon S3 bucket where DataSync uploads your task report.

ReportDestinationS3

Description

Specifies the Amazon S3 bucket where DataSync uploads your task report.

Members
BucketAccessRoleArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync to upload a task report to your S3 bucket. For more information, see Allowing DataSync to upload a task report to an Amazon S3 bucket.

S3BucketArn
Required: Yes
Type: string

Specifies the ARN of the S3 bucket where DataSync uploads your report.

Subdirectory
Type: string

Specifies a bucket prefix for your report.

ReportOverride

Description

Specifies the level of detail for a particular aspect of your DataSync task report.

Members
ReportLevel
Type: string

Specifies whether your task report includes errors only or successes and errors.

For example, your report might mostly include only what didn't go well in your transfer (ERRORS_ONLY). At the same time, you want to verify that your task filter is working correctly. In this situation, you can get a list of what files DataSync successfully skipped and if something transferred that you didn't to transfer (SUCCESSES_AND_ERRORS).

ReportOverrides

Description

The level of detail included in each aspect of your DataSync task report.

Members
Deleted
Type: ReportOverride structure

Specifies the level of reporting for the files, objects, and directories that DataSync attempted to delete in your destination location. This only applies if you configure your task to delete data in the destination that isn't in the source.

Skipped
Type: ReportOverride structure

Specifies the level of reporting for the files, objects, and directories that DataSync attempted to skip during your transfer.

Transferred
Type: ReportOverride structure

Specifies the level of reporting for the files, objects, and directories that DataSync attempted to transfer.

Verified
Type: ReportOverride structure

Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify at the end of your transfer.

ReportResult

Description

Indicates whether DataSync created a complete task report for your transfer.

Members
ErrorCode
Type: string

Indicates the code associated with the error if DataSync can't create a complete report.

ErrorDetail
Type: string

Provides details about issues creating a report.

Status
Type: string

Indicates whether DataSync is still working on your report, created a report, or can't create a complete report.

ResourceDetails

Description

Information provided by DataSync Discovery about the resources in your on-premises storage system.

Members
NetAppONTAPClusters
Type: Array of NetAppONTAPCluster structures

The information that DataSync Discovery collects about the cluster in your on-premises storage system.

NetAppONTAPSVMs
Type: Array of NetAppONTAPSVM structures

The information that DataSync Discovery collects about storage virtual machines (SVMs) in your on-premises storage system.

NetAppONTAPVolumes
Type: Array of NetAppONTAPVolume structures

The information that DataSync Discovery collects about volumes in your on-premises storage system.

ResourceMetrics

Description

Information, including performance data and capacity usage, provided by DataSync Discovery about a resource in your on-premises storage system.

Members
Capacity
Type: Capacity structure

The storage capacity of the on-premises storage system resource.

P95Metrics
Type: P95Metrics structure

The types of performance data that DataSync Discovery collects about the on-premises storage system resource.

ResourceId
Type: string

The universally unique identifier (UUID) of the on-premises storage system resource.

ResourceType
Type: string

The type of on-premises storage system resource.

Timestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when DataSync Discovery collected this information from the resource.

S3Config

Description

Specifies the Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that DataSync uses to access your S3 bucket.

For more information, see Accessing S3 buckets.

Members
BucketAccessRoleArn
Required: Yes
Type: string

Specifies the ARN of the IAM role that DataSync uses to access your S3 bucket.

S3ManifestConfig

Description

Specifies the S3 bucket where you're hosting the manifest that you want DataSync to use. For more information and configuration examples, see Specifying what DataSync transfers by using a manifest.

Members
BucketAccessRoleArn
Required: Yes
Type: string

Specifies the Identity and Access Management (IAM) role that allows DataSync to access your manifest. For more information, see Providing DataSync access to your manifest.

ManifestObjectPath
Required: Yes
Type: string

Specifies the Amazon S3 object key of your manifest. This can include a prefix (for example, prefix/my-manifest.csv).

ManifestObjectVersionId
Type: string

Specifies the object version ID of the manifest that you want DataSync to use. If you don't set this, DataSync uses the latest version of the object.

S3BucketArn
Required: Yes
Type: string

Specifies the Amazon Resource Name (ARN) of the S3 bucket where you're hosting your manifest.

SmbMountOptions

Description

Specifies the version of the Server Message Block (SMB) protocol that DataSync uses to access an SMB file server.

Members
Version
Type: string

By default, DataSync automatically chooses an SMB protocol version based on negotiation with your SMB file server. You also can configure DataSync to use a specific SMB version, but we recommend doing this only if DataSync has trouble negotiating with the SMB file server automatically.

These are the following options for configuring the SMB version:

  • AUTOMATIC (default): DataSync and the SMB file server negotiate the highest version of SMB that they mutually support between 2.1 and 3.1.1.

    This is the recommended option. If you instead choose a specific version that your file server doesn't support, you may get an Operation Not Supported error.

  • SMB3: Restricts the protocol negotiation to only SMB version 3.0.2.

  • SMB2: Restricts the protocol negotiation to only SMB version 2.1.

  • SMB2_0: Restricts the protocol negotiation to only SMB version 2.0.

  • SMB1: Restricts the protocol negotiation to only SMB version 1.0.

    The SMB1 option isn't available when creating an Amazon FSx for NetApp ONTAP location.

StorageSystemListEntry

Description

Information that identifies an on-premises storage system that you're using with DataSync Discovery.

Members
Name
Type: string

The name of an on-premises storage system that you added to DataSync Discovery.

StorageSystemArn
Type: string

The Amazon Resource Names (ARN) of an on-premises storage system that you added to DataSync Discovery.

TagListEntry

Description

A key-value pair representing a single tag that's been applied to an Amazon Web Services resource.

Members
Key
Required: Yes
Type: string

The key for an Amazon Web Services resource tag.

Value
Type: string

The value for an Amazon Web Services resource tag.

TaskExecutionFilesFailedDetail

Description

The number of objects that DataSync fails to prepare, transfer, verify, and delete during your task execution.

Applies only to Enhanced mode tasks.

Members
Delete
Type: long (int|float)

The number of objects that DataSync fails to delete during your task execution.

Prepare
Type: long (int|float)

The number of objects that DataSync fails to prepare during your task execution.

Transfer
Type: long (int|float)

The number of objects that DataSync fails to transfer during your task execution.

Verify
Type: long (int|float)

The number of objects that DataSync fails to verify during your task execution.

TaskExecutionFilesListedDetail

Description

The number of objects that DataSync finds at your locations.

Applies only to Enhanced mode tasks.

Members
AtDestinationForDelete
Type: long (int|float)

The number of objects that DataSync finds at your destination location. This counter is only applicable if you configure your task to delete data in the destination that isn't in the source.

AtSource
Type: long (int|float)

The number of objects that DataSync finds at your source location.

  • With a manifest, DataSync lists only what's in your manifest (and not everything at your source location).

  • With an include filter, DataSync lists only what matches the filter at your source location.

  • With an exclude filter, DataSync lists everything at your source location before applying the filter.

TaskExecutionListEntry

Description

Represents a single entry in a list of DataSync task executions that's returned with the ListTaskExecutions operation.

Members
Status
Type: string

The status of a task execution. For more information, see Task execution statuses.

TaskExecutionArn
Type: string

The Amazon Resource Name (ARN) of a task execution.

TaskMode
Type: string

The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

TaskExecutionResultDetail

Description

Provides detailed information about the result of your DataSync task execution.

Members
ErrorCode
Type: string

An error that DataSync encountered during your task execution. You can use this information to help troubleshoot issues.

ErrorDetail
Type: string

The detailed description of an error that DataSync encountered during your task execution. You can use this information to help troubleshoot issues.

PrepareDuration
Type: long (int|float)

The time in milliseconds that your task execution was in the PREPARING step. For more information, see Task execution statuses.

For Enhanced mode tasks, the value is always 0. For more information, see How DataSync prepares your data transfer.

PrepareStatus
Type: string

The status of the PREPARING step for your task execution. For more information, see Task execution statuses.

TotalDuration
Type: long (int|float)

The time in milliseconds that your task execution ran.

TransferDuration
Type: long (int|float)

The time in milliseconds that your task execution was in the TRANSFERRING step. For more information, see Task execution statuses.

For Enhanced mode tasks, the value is always 0. For more information, see How DataSync transfers your data.

TransferStatus
Type: string

The status of the TRANSFERRING step for your task execution. For more information, see Task execution statuses.

VerifyDuration
Type: long (int|float)

The time in milliseconds that your task execution was in the VERIFYING step. For more information, see Task execution statuses.

For Enhanced mode tasks, the value is always 0. For more information, see How DataSync verifies your data's integrity.

VerifyStatus
Type: string

The status of the VERIFYING step for your task execution. For more information, see Task execution statuses.

TaskFilter

Description

You can use API filters to narrow down the list of resources returned by ListTasks. For example, to retrieve all tasks on a source location, you can use ListTasks with filter name LocationId and Operator Equals with the ARN for the location.

For more information, see filtering DataSync resources.

Members
Name
Required: Yes
Type: string

The name of the filter being used. Each API call supports a list of filters that are available for it. For example, LocationId for ListTasks.

Operator
Required: Yes
Type: string

The operator that is used to compare filter values (for example, Equals or Contains).

Values
Required: Yes
Type: Array of strings

The values that you want to filter for. For example, you might want to display only tasks for a specific destination location.

TaskListEntry

Description

Represents a single entry in a list of tasks. TaskListEntry returns an array that contains a list of tasks when the ListTasks operation is called. A task includes the source and destination file systems to sync and the options to use for the tasks.

Members
Name
Type: string

The name of the task.

Status
Type: string

The status of the task.

TaskArn
Type: string

The Amazon Resource Name (ARN) of the task.

TaskMode
Type: string

The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

TaskReportConfig

Description

Specifies how you want to configure a task report, which provides detailed information about for your DataSync transfer.

For more information, see Task reports.

Members
Destination
Type: ReportDestination structure

Specifies the Amazon S3 bucket where DataSync uploads your task report. For more information, see Task reports.

ObjectVersionIds
Type: string

Specifies whether your task report includes the new version of each object transferred into an S3 bucket. This only applies if you enable versioning on your bucket. Keep in mind that setting this to INCLUDE can increase the duration of your task execution.

OutputType
Type: string

Specifies the type of task report that you want:

  • SUMMARY_ONLY: Provides necessary details about your task, including the number of files, objects, and directories transferred and transfer duration.

  • STANDARD: Provides complete details about your task, including a full list of files, objects, and directories that were transferred, skipped, verified, and more.

Overrides
Type: ReportOverrides structure

Customizes the reporting level for aspects of your task report. For example, your report might generally only include errors, but you could specify that you want a list of successes and errors just for the files that DataSync attempted to delete in your destination location.

ReportLevel
Type: string

Specifies whether you want your task report to include only what went wrong with your transfer or a list of what succeeded and didn't.

  • ERRORS_ONLY: A report shows what DataSync was unable to transfer, skip, verify, and delete.

  • SUCCESSES_AND_ERRORS: A report shows what DataSync was able and unable to transfer, skip, verify, and delete.

TaskSchedule

Description

Configures your DataSync task to run on a schedule (at a minimum interval of 1 hour).

Members
ScheduleExpression
Required: Yes
Type: string

Specifies your task schedule by using a cron or rate expression.

Use cron expressions for task schedules that run on a specific time and day. For example, the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday of every month:

cron(0 8 * * 3#1)

Use rate expressions for task schedules that run on a regular interval. For example, the following rate expression creates a task schedule that runs every 12 hours:

rate(12 hours)

For information about cron and rate expression syntax, see the Amazon EventBridge User Guide .

Status
Type: string

Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to pause a recurring transfer to fix an issue with your task or perform maintenance on your storage system.

DataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see TaskScheduleDetails.

TaskScheduleDetails

Description

Provides information about your DataSync task schedule.

Members
DisabledBy
Type: string

Indicates how your task schedule was disabled.

  • USER - Your schedule was manually disabled by using the UpdateTask operation or DataSync console.

  • SERVICE - Your schedule was automatically disabled by DataSync because the task failed repeatedly with the same error.

DisabledReason
Type: string

Provides a reason if the task schedule is disabled.

If your schedule is disabled by USER, you see a Manually disabled by user. message.

If your schedule is disabled by SERVICE, you see an error message to help you understand why the task keeps failing. For information on resolving DataSync errors, see Troubleshooting issues with DataSync transfers.

StatusUpdateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Indicates the last time the status of your task schedule changed. For example, if DataSync automatically disables your schedule because of a repeated error, you can see when the schedule was disabled.

Throughput

Description

The throughput peaks for an on-premises storage system volume. Each data point represents the 95th percentile peak value during a 1-hour interval.

Members
Other
Type: double

Peak throughput unrelated to read and write operations.

Read
Type: double

Peak throughput related to read operations.

Total
Type: double

Peak total throughput on your on-premises storage system resource.

Write
Type: double

Peak throughput related to write operations.