@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS DataSync
@version 2018-11-09
@auth AWS SigV4
@endpoints 60
@hint download_for_search
@toc root(60)

@endpoint POST /
@desc Creates an Amazon Web Services resource for an on-premises storage system that you want DataSync Discovery to collect information about.
@required {ServerConfiguration: DiscoveryServerConfiguration, SystemType: str, AgentArns: [str], ClientToken: str, Credentials: Credentials}
@optional {CloudWatchLogGroupArn: str, Tags: [TagListEntry], Name: str}
@returns(200) {StorageSystemArn: str}

@endpoint POST /
@desc 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.
@required {TaskExecutionArn: str}

@endpoint POST /
@desc Activates an DataSync agent that you've deployed 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 the following topics to learn more:    Agent requirements     Create an agent     If you're transferring between Amazon Web Services storage services, you don't need a DataSync agent.
@required {ActivationKey: str}
@optional {AgentName: str, Tags: [TagListEntry], VpcEndpointId: str, SubnetArns: [str], SecurityGroupArns: [str]}
@returns(200) {AgentArn: str?}

@endpoint POST /
@desc 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.
@required {ContainerUrl: str, AuthenticationType: str, AgentArns: [str]}
@optional {SasConfiguration: AzureBlobSasConfiguration, BlobType: str, AccessTier: str, Subdirectory: str, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {EfsFilesystemArn: str, Ec2Config: Ec2Config}
@optional {Subdirectory: str, Tags: [TagListEntry], AccessPointArn: str, FileSystemAccessRoleArn: str, InTransitEncryption: str}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {FsxFilesystemArn: str, SecurityGroupArns: [str]}
@optional {Subdirectory: str, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {Protocol: FsxProtocol, SecurityGroupArns: [str], StorageVirtualMachineArn: str}
@optional {Subdirectory: str, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {FsxFilesystemArn: str, Protocol: FsxProtocol, SecurityGroupArns: [str]}
@optional {Subdirectory: str, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {FsxFilesystemArn: str, SecurityGroupArns: [str], User: str, Password: str}
@optional {Subdirectory: str, Tags: [TagListEntry], Domain: str}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {NameNodes: [HdfsNameNode], AuthenticationType: str, AgentArns: [str]}
@optional {Subdirectory: str, BlockSize: int, ReplicationFactor: int, KmsKeyProviderUri: str, QopConfiguration: QopConfiguration, SimpleUser: str, KerberosPrincipal: str, KerberosKeytab: bytes, KerberosKrb5Conf: bytes, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {Subdirectory: str, ServerHostname: str, OnPremConfig: OnPremConfig}
@optional {MountOptions: NfsMountOptions, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {ServerHostname: str, BucketName: str, AgentArns: [str]}
@optional {ServerPort: int, ServerProtocol: str, Subdirectory: str, AccessKey: str, SecretKey: str, Tags: [TagListEntry], ServerCertificate: bytes}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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:    Storage class considerations with Amazon S3 locations     Evaluating S3 request costs when using DataSync      For more information, see Configuring transfers with Amazon S3.
@required {S3BucketArn: str, S3Config: S3Config}
@optional {Subdirectory: str, S3StorageClass: str, AgentArns: [str], Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {Subdirectory: str, ServerHostname: str, User: str, Password: str, AgentArns: [str]}
@optional {Domain: str, MountOptions: SmbMountOptions, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@desc 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.
@required {SourceLocationArn: str, DestinationLocationArn: str}
@optional {CloudWatchLogGroupArn: str, Name: str, Options: Options, Excludes: [FilterRule], Schedule: TaskSchedule, Tags: [TagListEntry], Includes: [FilterRule], ManifestConfig: ManifestConfig, TaskReportConfig: TaskReportConfig}
@returns(200) {TaskArn: str?}

@endpoint POST /
@desc 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.
@required {AgentArn: str}

@endpoint POST /
@desc Deletes a transfer location resource from DataSync.
@required {LocationArn: str}

@endpoint POST /
@desc Deletes a transfer task resource from DataSync.
@required {TaskArn: str}

@endpoint POST /
@desc Returns information about an DataSync agent, such as its name, service endpoint type, and status.
@required {AgentArn: str}
@returns(200) {AgentArn: str?, Name: str?, Status: str?, LastConnectionTime: str(timestamp)?, CreationTime: str(timestamp)?, EndpointType: str?, PrivateLinkConfig: PrivateLinkConfig?{VpcEndpointId: str?, PrivateLinkEndpoint: str?, SubnetArns: [str]?, SecurityGroupArns: [str]?}, Platform: Platform?{Version: str?}}

@endpoint POST /
@desc Returns information about a DataSync discovery job.
@required {DiscoveryJobArn: str}
@returns(200) {StorageSystemArn: str?, DiscoveryJobArn: str?, CollectionDurationMinutes: int?, Status: str?, JobStartTime: str(timestamp)?, JobEndTime: str(timestamp)?}

@endpoint POST /
@desc Provides details about how an DataSync transfer location for Microsoft Azure Blob Storage is configured.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, AuthenticationType: str?, BlobType: str?, AccessTier: str?, AgentArns: [str]?, CreationTime: str(timestamp)?}

@endpoint POST /
@desc Provides details about how an DataSync transfer location for an Amazon EFS file system is configured.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, Ec2Config: Ec2Config?{SubnetArn: str, SecurityGroupArns: [str]}, CreationTime: str(timestamp)?, AccessPointArn: str?, FileSystemAccessRoleArn: str?, InTransitEncryption: str?}

@endpoint POST /
@desc Provides details about how an DataSync transfer location for an Amazon FSx for Lustre file system is configured.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, SecurityGroupArns: [str]?, CreationTime: str(timestamp)?}

@endpoint POST /
@desc 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.
@required {LocationArn: str}
@returns(200) {CreationTime: str(timestamp)?, LocationArn: str?, LocationUri: str?, Protocol: FsxProtocol?{NFS: FsxProtocolNfs?{MountOptions: NfsMountOptions?{Version: str?}}, SMB: FsxProtocolSmb?{Domain: str?, MountOptions: SmbMountOptions?{Version: str?}, Password: str, User: str}}, SecurityGroupArns: [str]?, StorageVirtualMachineArn: str?, FsxFilesystemArn: str?}

@endpoint POST /
@desc 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.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, SecurityGroupArns: [str]?, Protocol: FsxProtocol?{NFS: FsxProtocolNfs?{MountOptions: NfsMountOptions?{Version: str?}}, SMB: FsxProtocolSmb?{Domain: str?, MountOptions: SmbMountOptions?{Version: str?}, Password: str, User: str}}, CreationTime: str(timestamp)?}

@endpoint POST /
@desc Provides details about how an DataSync transfer location for an Amazon FSx for Windows File Server file system is configured.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, SecurityGroupArns: [str]?, CreationTime: str(timestamp)?, User: str?, Domain: str?}

@endpoint POST /
@desc Provides details about how an DataSync transfer location for a Hadoop Distributed File System (HDFS) is configured.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, NameNodes: [HdfsNameNode]?, BlockSize: int?, ReplicationFactor: int?, KmsKeyProviderUri: str?, QopConfiguration: QopConfiguration?{RpcProtection: str?, DataTransferProtection: str?}, AuthenticationType: str?, SimpleUser: str?, KerberosPrincipal: str?, AgentArns: [str]?, CreationTime: str(timestamp)?}

@endpoint POST /
@desc Provides details about how an DataSync transfer location for a Network File System (NFS) file server is configured.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, OnPremConfig: OnPremConfig?{AgentArns: [str]}, MountOptions: NfsMountOptions?{Version: str?}, CreationTime: str(timestamp)?}

@endpoint POST /
@desc Provides details about how an DataSync transfer location for an object storage system is configured.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, AccessKey: str?, ServerPort: int?, ServerProtocol: str?, AgentArns: [str]?, CreationTime: str(timestamp)?, ServerCertificate: bytes?}

@endpoint POST /
@desc Provides details about how an DataSync transfer location for an S3 bucket is configured.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, S3StorageClass: str?, S3Config: S3Config?{BucketAccessRoleArn: str}, AgentArns: [str]?, CreationTime: str(timestamp)?}

@endpoint POST /
@desc Provides details about how an DataSync transfer location for a Server Message Block (SMB) file server is configured.
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, AgentArns: [str]?, User: str?, Domain: str?, MountOptions: SmbMountOptions?{Version: str?}, CreationTime: str(timestamp)?}

@endpoint POST /
@desc Returns information about an on-premises storage system that you're using with DataSync Discovery.
@required {StorageSystemArn: str}
@returns(200) {StorageSystemArn: str?, ServerConfiguration: DiscoveryServerConfiguration?{ServerHostname: str, ServerPort: int?}, SystemType: str?, AgentArns: [str]?, Name: str?, ErrorMessage: str?, ConnectivityStatus: str?, CloudWatchLogGroupArn: str?, CreationTime: str(timestamp)?, SecretsManagerArn: str?}

@endpoint POST /
@desc Returns information, including performance data and capacity usage, which DataSync Discovery collects about a specific resource in your-premises storage system.
@required {DiscoveryJobArn: str, ResourceType: str, ResourceId: str}
@optional {StartTime: str(timestamp), EndTime: str(timestamp), MaxResults: int, NextToken: str}
@returns(200) {Metrics: [ResourceMetrics]?, NextToken: str?}

@endpoint POST /
@desc Returns information that DataSync Discovery collects about resources in your on-premises storage system.
@required {DiscoveryJobArn: str, ResourceType: str}
@optional {ResourceIds: [str], Filter: map<str,[str]>, MaxResults: int, NextToken: str}
@returns(200) {ResourceDetails: ResourceDetails?{NetAppONTAPSVMs: [NetAppONTAPSVM]?, NetAppONTAPVolumes: [NetAppONTAPVolume]?, NetAppONTAPClusters: [NetAppONTAPCluster]?}, NextToken: str?}

@endpoint POST /
@desc Provides information about a task, which defines where and how DataSync transfers your data.
@required {TaskArn: str}
@returns(200) {TaskArn: str?, Status: str?, Name: str?, CurrentTaskExecutionArn: str?, SourceLocationArn: str?, DestinationLocationArn: str?, CloudWatchLogGroupArn: str?, SourceNetworkInterfaceArns: [str]?, DestinationNetworkInterfaceArns: [str]?, Options: Options?{VerifyMode: str?, OverwriteMode: str?, Atime: str?, Mtime: str?, Uid: str?, Gid: str?, PreserveDeletedFiles: str?, PreserveDevices: str?, PosixPermissions: str?, BytesPerSecond: int(i64)?, TaskQueueing: str?, LogLevel: str?, TransferMode: str?, SecurityDescriptorCopyFlags: str?, ObjectTags: str?}, Excludes: [FilterRule]?, Schedule: TaskSchedule?{ScheduleExpression: str, Status: str?}, ErrorCode: str?, ErrorDetail: str?, CreationTime: str(timestamp)?, Includes: [FilterRule]?, ManifestConfig: ManifestConfig?{Action: str?, Format: str?, Source: SourceManifestConfig?{S3: S3ManifestConfig{ManifestObjectPath: str, BucketAccessRoleArn: str, S3BucketArn: str, ManifestObjectVersionId: str?}}}, TaskReportConfig: TaskReportConfig?{Destination: ReportDestination?{S3: ReportDestinationS3?{Subdirectory: str?, S3BucketArn: str, BucketAccessRoleArn: str}}, OutputType: str?, ReportLevel: str?, ObjectVersionIds: str?, Overrides: ReportOverrides?{Transferred: ReportOverride?{ReportLevel: str?}, Verified: ReportOverride?{ReportLevel: str?}, Deleted: ReportOverride?{ReportLevel: str?}, Skipped: ReportOverride?{ReportLevel: str?}}}, ScheduleDetails: TaskScheduleDetails?{StatusUpdateTime: str(timestamp)?, DisabledReason: str?, DisabledBy: str?}}

@endpoint POST /
@desc Provides information about an execution of your DataSync task. You can use this operation to help monitor the progress of an ongoing transfer or check the results of the transfer.
@required {TaskExecutionArn: str}
@returns(200) {TaskExecutionArn: str?, Status: str?, Options: Options?{VerifyMode: str?, OverwriteMode: str?, Atime: str?, Mtime: str?, Uid: str?, Gid: str?, PreserveDeletedFiles: str?, PreserveDevices: str?, PosixPermissions: str?, BytesPerSecond: int(i64)?, TaskQueueing: str?, LogLevel: str?, TransferMode: str?, SecurityDescriptorCopyFlags: str?, ObjectTags: str?}, Excludes: [FilterRule]?, Includes: [FilterRule]?, ManifestConfig: ManifestConfig?{Action: str?, Format: str?, Source: SourceManifestConfig?{S3: S3ManifestConfig{ManifestObjectPath: str, BucketAccessRoleArn: str, S3BucketArn: str, ManifestObjectVersionId: str?}}}, StartTime: str(timestamp)?, EstimatedFilesToTransfer: int(i64)?, EstimatedBytesToTransfer: int(i64)?, FilesTransferred: int(i64)?, BytesWritten: int(i64)?, BytesTransferred: int(i64)?, BytesCompressed: int(i64)?, Result: TaskExecutionResultDetail?{PrepareDuration: int(i64)?, PrepareStatus: str?, TotalDuration: int(i64)?, TransferDuration: int(i64)?, TransferStatus: str?, VerifyDuration: int(i64)?, VerifyStatus: str?, ErrorCode: str?, ErrorDetail: str?}, TaskReportConfig: TaskReportConfig?{Destination: ReportDestination?{S3: ReportDestinationS3?{Subdirectory: str?, S3BucketArn: str, BucketAccessRoleArn: str}}, OutputType: str?, ReportLevel: str?, ObjectVersionIds: str?, Overrides: ReportOverrides?{Transferred: ReportOverride?{ReportLevel: str?}, Verified: ReportOverride?{ReportLevel: str?}, Deleted: ReportOverride?{ReportLevel: str?}, Skipped: ReportOverride?{ReportLevel: str?}}}, FilesDeleted: int(i64)?, FilesSkipped: int(i64)?, FilesVerified: int(i64)?, ReportResult: ReportResult?{Status: str?, ErrorCode: str?, ErrorDetail: str?}, EstimatedFilesToDelete: int(i64)?}

@endpoint POST /
@desc 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.
@required {DiscoveryJobArn: str, ResourceIds: [str], ResourceType: str}

@endpoint POST /
@desc 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.
@optional {MaxResults: int, NextToken: str}
@returns(200) {Agents: [AgentListEntry]?, NextToken: str?}

@endpoint POST /
@desc 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.
@optional {StorageSystemArn: str, MaxResults: int, NextToken: str}
@returns(200) {DiscoveryJobs: [DiscoveryJobListEntry]?, NextToken: str?}

@endpoint POST /
@desc 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.
@optional {MaxResults: int, NextToken: str, Filters: [LocationFilter]}
@returns(200) {Locations: [LocationListEntry]?, NextToken: str?}

@endpoint POST /
@desc Lists the on-premises storage systems that you're using with DataSync Discovery.
@optional {MaxResults: int, NextToken: str}
@returns(200) {StorageSystems: [StorageSystemListEntry]?, NextToken: str?}

@endpoint POST /
@desc Returns all the tags associated with an Amazon Web Services resource.
@required {ResourceArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {Tags: [TagListEntry]?, NextToken: str?}

@endpoint POST /
@desc Returns a list of executions for an DataSync transfer task.
@optional {TaskArn: str, MaxResults: int, NextToken: str}
@returns(200) {TaskExecutions: [TaskExecutionListEntry]?, NextToken: str?}

@endpoint POST /
@desc Returns a list of the DataSync tasks you created.
@optional {MaxResults: int, NextToken: str, Filters: [TaskFilter]}
@returns(200) {Tasks: [TaskListEntry]?, NextToken: str?}

@endpoint POST /
@desc Permanently removes a storage system resource from DataSync Discovery, including the associated discovery jobs, collected data, and recommendations.
@required {StorageSystemArn: str}

@endpoint POST /
@desc 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.
@required {StorageSystemArn: str, CollectionDurationMinutes: int, ClientToken: str}
@optional {Tags: [TagListEntry]}
@returns(200) {DiscoveryJobArn: str?}

@endpoint POST /
@desc Starts an DataSync transfer task. For each task, you can only run one task execution at a time. There are several phases 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.
@required {TaskArn: str}
@optional {OverrideOptions: Options, Includes: [FilterRule], Excludes: [FilterRule], ManifestConfig: ManifestConfig, TaskReportConfig: TaskReportConfig, Tags: [TagListEntry]}
@returns(200) {TaskExecutionArn: str?}

@endpoint POST /
@desc 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.
@required {DiscoveryJobArn: str}

@endpoint POST /
@desc 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.
@required {ResourceArn: str, Tags: [TagListEntry]}

@endpoint POST /
@desc Removes tags from an Amazon Web Services resource.
@required {ResourceArn: str, Keys: [str]}

@endpoint POST /
@desc Updates the name of an DataSync agent.
@required {AgentArn: str}
@optional {Name: str}

@endpoint POST /
@desc Edits a DataSync discovery job configuration.
@required {DiscoveryJobArn: str, CollectionDurationMinutes: int}

@endpoint POST /
@desc Modifies some configurations of the Microsoft Azure Blob Storage transfer location that you're using with DataSync.
@required {LocationArn: str}
@optional {Subdirectory: str, AuthenticationType: str, SasConfiguration: AzureBlobSasConfiguration, BlobType: str, AccessTier: str, AgentArns: [str]}

@endpoint POST /
@desc Updates some parameters of a previously created location for a Hadoop Distributed File System cluster.
@required {LocationArn: str}
@optional {Subdirectory: str, NameNodes: [HdfsNameNode], BlockSize: int, ReplicationFactor: int, KmsKeyProviderUri: str, QopConfiguration: QopConfiguration, AuthenticationType: str, SimpleUser: str, KerberosPrincipal: str, KerberosKeytab: bytes, KerberosKrb5Conf: bytes, AgentArns: [str]}

@endpoint POST /
@desc 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.
@required {LocationArn: str}
@optional {Subdirectory: str, OnPremConfig: OnPremConfig, MountOptions: NfsMountOptions}

@endpoint POST /
@desc Updates some parameters of an existing DataSync location for an object storage system.
@required {LocationArn: str}
@optional {ServerPort: int, ServerProtocol: str, Subdirectory: str, AccessKey: str, SecretKey: str, AgentArns: [str], ServerCertificate: bytes}

@endpoint POST /
@desc Updates some of the parameters of a Server Message Block (SMB) file server location that you can use for DataSync transfers.
@required {LocationArn: str}
@optional {Subdirectory: str, User: str, Domain: str, Password: str, AgentArns: [str], MountOptions: SmbMountOptions}

@endpoint POST /
@desc Modifies some configurations of an on-premises storage system resource that you're using with DataSync Discovery.
@required {StorageSystemArn: str}
@optional {ServerConfiguration: DiscoveryServerConfiguration, AgentArns: [str], Name: str, CloudWatchLogGroupArn: str, Credentials: Credentials}

@endpoint POST /
@desc Updates the configuration of a task, which defines where and how DataSync transfers your data.
@required {TaskArn: str}
@optional {Options: Options, Excludes: [FilterRule], Schedule: TaskSchedule, Name: str, CloudWatchLogGroupArn: str, Includes: [FilterRule], ManifestConfig: ManifestConfig, TaskReportConfig: TaskReportConfig}

@endpoint POST /
@desc 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.
@required {TaskExecutionArn: str, Options: Options}

@end
