# AWS::DataSync Construct Library

This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.

```ts
import * as datasync from 'aws-cdk-lib/aws-datasync';
```

There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:

- Search [Construct Hub for DataSync construct libraries](https://constructs.dev/search?q=datasync)
- Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::DataSync resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DataSync.html) directly.

There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::DataSync](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DataSync.html).

(Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)

## Types

| Name | Kind | Summary |
| --- | --- | --- |
| [`CfnAgent`](/v2/docs/aws-cdk-lib.aws_datasync.CfnAgent) | Construct (L1) | The `AWS::DataSync::Agent` resource activates an AWS DataSync agent that you've deployed for storage discovery or data transfers. |
| [`CfnLocationAzureBlob`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationAzureBlob) | Construct (L1) | Creates a transfer *location* for a Microsoft Azure Blob Storage container. |
| [`CfnLocationEFS`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationEFS) | Construct (L1) | The `AWS::DataSync::LocationEFS` resource creates an endpoint for an Amazon EFS file system. |
| [`CfnLocationFSxLustre`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxLustre) | Construct (L1) | The `AWS::DataSync::LocationFSxLustre` resource specifies an endpoint for an Amazon FSx for Lustre file system. |
| [`CfnLocationFSxONTAP`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP) | Construct (L1) | The `AWS::DataSync::LocationFSxONTAP` resource creates an endpoint for an Amazon FSx for NetApp ONTAP file system. |
| [`CfnLocationFSxOpenZFS`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxOpenZFS) | Construct (L1) | The `AWS::DataSync::LocationFSxOpenZFS` resource specifies an endpoint for an Amazon FSx for OpenZFS file system. |
| [`CfnLocationFSxWindows`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxWindows) | Construct (L1) | The `AWS::DataSync::LocationFSxWindows` resource specifies an endpoint for an Amazon FSx for Windows Server file system. |
| [`CfnLocationHDFS`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationHDFS) | Construct (L1) | The `AWS::DataSync::LocationHDFS` resource specifies an endpoint for a Hadoop Distributed File System (HDFS). |
| [`CfnLocationNFS`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationNFS) | Construct (L1) | The `AWS::DataSync::LocationNFS` resource specifies a Network File System (NFS) file server that AWS DataSync can use as a transfer source or destination. |
| [`CfnLocationObjectStorage`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationObjectStorage) | Construct (L1) | The `AWS::DataSync::LocationObjectStorage` resource specifies an endpoint for a self-managed object storage bucket. |
| [`CfnLocationS3`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationS3) | Construct (L1) | The `AWS::DataSync::LocationS3` resource specifies an endpoint for an Amazon S3 bucket. |
| [`CfnLocationSMB`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationSMB) | Construct (L1) | The `AWS::DataSync::LocationSMB` resource specifies a Server Message Block (SMB) location that AWS DataSync can use as a transfer source or destination. |
| [`CfnTask`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask) | Construct (L1) | The `AWS::DataSync::Task` resource specifies a task. |
| [`CfnAgentProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnAgentProps) | Struct | Properties for defining a `CfnAgent`. |
| [`CfnLocationAzureBlob.AzureBlobSasConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.AzureBlobSasConfigurationProperty) | Struct | The shared access signature (SAS) configuration that allows AWS DataSync to access your Microsoft Azure Blob Storage. |
| [`CfnLocationAzureBlob.AzureFederatedIdentityConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.AzureFederatedIdentityConfigProperty) | Struct | Specifies the identity federation configuration that DataSync uses to access your Azure Blob Storage container using an OpenID Connect (OIDC) token. |
| [`CfnLocationAzureBlob.AzureOidcConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.AzureOidcConfigProperty) | Struct | Specifies the Microsoft Entra (Azure AD) identity that DataSync federates with to obtain an access token for your Azure Blob Storage container. |
| [`CfnLocationAzureBlob.CmkSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.CmkSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key . |
| [`CfnLocationAzureBlob.CustomSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.CustomSecretConfigProperty) | Struct | Specifies configuration information for a customer-managed Secrets Manager secret where a storage location credentials is stored in Secrets Manager as plain text (for authentication token, secret key, or password) or as binary (for Kerberos keytab). |
| [`CfnLocationAzureBlob.ManagedSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationAzureBlob.ManagedSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location. |
| [`CfnLocationAzureBlobProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationAzureBlobProps) | Struct | Properties for defining a `CfnLocationAzureBlob`. |
| [`CfnLocationEFS.Ec2ConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationEFS.Ec2ConfigProperty) | Struct | The subnet and security groups that AWS DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) . |
| [`CfnLocationEFSProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationEFSProps) | Struct | Properties for defining a `CfnLocationEFS`. |
| [`CfnLocationFSxLustreProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxLustreProps) | Struct | Properties for defining a `CfnLocationFSxLustre`. |
| [`CfnLocationFSxONTAP.CmkSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP.CmkSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key. |
| [`CfnLocationFSxONTAP.CustomSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP.CustomSecretConfigProperty) | Struct | Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret. |
| [`CfnLocationFSxONTAP.ManagedSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP.ManagedSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location. |
| [`CfnLocationFSxONTAP.NfsMountOptionsProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP.NfsMountOptionsProperty) | Struct | Specifies how DataSync can access a location using the NFS protocol. |
| [`CfnLocationFSxONTAP.NFSProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP.NFSProperty) | Struct | Specifies the Network File System (NFS) protocol configuration that AWS DataSync uses to access a storage virtual machine (SVM) on your Amazon FSx for NetApp ONTAP file system. |
| [`CfnLocationFSxONTAP.ProtocolProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP.ProtocolProperty) | Struct | Specifies the data transfer protocol that AWS DataSync uses to access your Amazon FSx file system. |
| [`CfnLocationFSxONTAP.SmbMountOptionsProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP.SmbMountOptionsProperty) | Struct | Specifies the version of the Server Message Block (SMB) protocol that AWS DataSync uses to access an SMB file server. |
| [`CfnLocationFSxONTAP.SMBProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP.SMBProperty) | Struct | Specifies the Server Message Block (SMB) protocol configuration that AWS DataSync uses to access a storage virtual machine (SVM) on your Amazon FSx for NetApp ONTAP file system. |
| [`CfnLocationFSxONTAPProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxONTAPProps) | Struct | Properties for defining a `CfnLocationFSxONTAP`. |
| [`CfnLocationFSxOpenZFS.MountOptionsProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxOpenZFS.MountOptionsProperty) | Struct | Represents the mount options that are available for DataSync to access a Network File System (NFS) location. |
| [`CfnLocationFSxOpenZFS.NFSProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxOpenZFS.NFSProperty) | Struct | Represents the Network File System (NFS) protocol that AWS DataSync uses to access your Amazon FSx for OpenZFS file system. |
| [`CfnLocationFSxOpenZFS.ProtocolProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxOpenZFS.ProtocolProperty) | Struct | Represents the protocol that AWS DataSync uses to access your Amazon FSx for OpenZFS file system. |
| [`CfnLocationFSxOpenZFSProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxOpenZFSProps) | Struct | Properties for defining a `CfnLocationFSxOpenZFS`. |
| [`CfnLocationFSxWindows.CmkSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxWindows.CmkSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key. |
| [`CfnLocationFSxWindows.CustomSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxWindows.CustomSecretConfigProperty) | Struct | Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret. |
| [`CfnLocationFSxWindows.ManagedSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxWindows.ManagedSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location. |
| [`CfnLocationFSxWindowsProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationFSxWindowsProps) | Struct | Properties for defining a `CfnLocationFSxWindows`. |
| [`CfnLocationHDFS.CmkSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationHDFS.CmkSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key. |
| [`CfnLocationHDFS.CustomSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationHDFS.CustomSecretConfigProperty) | Struct | Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret. |
| [`CfnLocationHDFS.ManagedSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationHDFS.ManagedSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location. |
| [`CfnLocationHDFS.NameNodeProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationHDFS.NameNodeProperty) | Struct | The NameNode of the Hadoop Distributed File System (HDFS). |
| [`CfnLocationHDFS.QopConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationHDFS.QopConfigurationProperty) | Struct | 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. |
| [`CfnLocationHDFSProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationHDFSProps) | Struct | Properties for defining a `CfnLocationHDFS`. |
| [`CfnLocationNFS.MountOptionsProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationNFS.MountOptionsProperty) | Struct | Specifies the options that DataSync can use to mount your NFS file server. |
| [`CfnLocationNFS.OnPremConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationNFS.OnPremConfigProperty) | Struct | The AWS DataSync agents that can connect to your Network File System (NFS) file server. |
| [`CfnLocationNFSProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationNFSProps) | Struct | Properties for defining a `CfnLocationNFS`. |
| [`CfnLocationObjectStorage.CmkSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.CmkSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key . |
| [`CfnLocationObjectStorage.CustomSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.CustomSecretConfigProperty) | Struct | Specifies configuration information for a customer-managed Secrets Manager secret where a storage location credentials is stored in Secrets Manager as plain text (for authentication token, secret key, or password) or as binary (for Kerberos keytab). |
| [`CfnLocationObjectStorage.GoogleOidcConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.GoogleOidcConfigProperty) | Struct | Specifies the Google Cloud workload identity federation configuration that DataSync uses to obtain an access token for your Google Cloud Storage bucket. |
| [`CfnLocationObjectStorage.ManagedSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.ManagedSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location. |
| [`CfnLocationObjectStorage.ObjectStorageExternalIdentityConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.ObjectStorageExternalIdentityConfigProperty) | Struct | Specifies the external (non-AWS) identity provider that DataSync federates with to access your object storage location. |
| [`CfnLocationObjectStorage.ObjectStorageFederatedIdentityConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationObjectStorage.ObjectStorageFederatedIdentityConfigProperty) | Struct | Specifies the identity federation configuration that DataSync uses to access your object storage location using an OpenID Connect (OIDC) token. |
| [`CfnLocationObjectStorageProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationObjectStorageProps) | Struct | Properties for defining a `CfnLocationObjectStorage`. |
| [`CfnLocationS3.S3ConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationS3.S3ConfigProperty) | Struct | Specifies the Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that DataSync uses to access your S3 bucket. |
| [`CfnLocationS3Props`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationS3Props) | Struct | Properties for defining a `CfnLocationS3`. |
| [`CfnLocationSMB.CmkSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationSMB.CmkSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key . |
| [`CfnLocationSMB.CustomSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationSMB.CustomSecretConfigProperty) | Struct | Specifies configuration information for a customer-managed Secrets Manager secret where a storage location credentials is stored in Secrets Manager as plain text (for authentication token, secret key, or password) or as binary (for Kerberos keytab). |
| [`CfnLocationSMB.ManagedSecretConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationSMB.ManagedSecretConfigProperty) | Struct | Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location. |
| [`CfnLocationSMB.MountOptionsProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationSMB.MountOptionsProperty) | Struct | Specifies the version of the SMB protocol that DataSync uses to access your SMB file server. |
| [`CfnLocationSMBProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnLocationSMBProps) | Struct | Properties for defining a `CfnLocationSMB`. |
| [`CfnTask.DeletedProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.DeletedProperty) | Struct | Specifies the level of reporting for the files, objects, and directories that Datasync attempted to delete in your destination location. |
| [`CfnTask.DestinationProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.DestinationProperty) | Struct | Specifies where DataSync uploads your task report. |
| [`CfnTask.FilterRuleProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.FilterRuleProperty) | Struct | Specifies which files, folders, and objects to include or exclude when transferring files from source to destination. |
| [`CfnTask.ManifestConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.ManifestConfigProperty) | Struct | Configures a manifest, which is a list of files or objects that you want AWS DataSync to transfer. |
| [`CfnTask.ManifestConfigSourceS3Property`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.ManifestConfigSourceS3Property) | Struct | Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use. |
| [`CfnTask.OptionsProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.OptionsProperty) | Struct | Represents the options that are available to control the behavior of a [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html) operation. This behavior includes preserving metadata, such as user ID (UID), group ID (GID), and file permissions; overwriting files in the destination; data integrity verification; and so on. |
| [`CfnTask.OverridesProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.OverridesProperty) | Struct | Customizes the reporting level for aspects of your task report. |
| [`CfnTask.S3Property`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.S3Property) | Struct |  |
| [`CfnTask.SkippedProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.SkippedProperty) | Struct | Specifies the level of reporting for the files, objects, and directories that Datasync attempted to skip during your transfer. |
| [`CfnTask.SourceProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.SourceProperty) | Struct | Specifies the manifest that you want DataSync to use and where it's hosted. |
| [`CfnTask.TaskReportConfigProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.TaskReportConfigProperty) | Struct | Specifies how you want to configure a task report, which provides detailed information about for your AWS DataSync transfer. |
| [`CfnTask.TaskScheduleProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.TaskScheduleProperty) | Struct | Configures your AWS DataSync task to run on a [schedule](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) (at a minimum interval of 1 hour). |
| [`CfnTask.TransferredProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.TransferredProperty) | Struct | Specifies the level of reporting for the files, objects, and directories that Datasync attempted to transfer. |
| [`CfnTask.VerifiedProperty`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTask.VerifiedProperty) | Struct | Specifies the level of reporting for the files, objects, and directories that Datasync attempted to verify at the end of your transfer. |
| [`CfnTaskProps`](/v2/docs/aws-cdk-lib.aws_datasync.CfnTaskProps) | Struct | Properties for defining a `CfnTask`. |
