@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 /
@required {ServerConfiguration: DiscoveryServerConfiguration, SystemType: str, AgentArns: [str], ClientToken: str, Credentials: Credentials}
@optional {CloudWatchLogGroupArn: str, Tags: [TagListEntry], Name: str}
@returns(200) {StorageSystemArn: str}

@endpoint POST /
@required {TaskExecutionArn: str}

@endpoint POST /
@required {ActivationKey: str}
@optional {AgentName: str, Tags: [TagListEntry], VpcEndpointId: str, SubnetArns: [str], SecurityGroupArns: [str]}
@returns(200) {AgentArn: str?}

@endpoint POST /
@required {ContainerUrl: str, AuthenticationType: str, AgentArns: [str]}
@optional {SasConfiguration: AzureBlobSasConfiguration, BlobType: str, AccessTier: str, Subdirectory: str, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@required {EfsFilesystemArn: str, Ec2Config: Ec2Config}
@optional {Subdirectory: str, Tags: [TagListEntry], AccessPointArn: str, FileSystemAccessRoleArn: str, InTransitEncryption: str}
@returns(200) {LocationArn: str?}

@endpoint POST /
@required {FsxFilesystemArn: str, SecurityGroupArns: [str]}
@optional {Subdirectory: str, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@required {Protocol: FsxProtocol, SecurityGroupArns: [str], StorageVirtualMachineArn: str}
@optional {Subdirectory: str, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@required {FsxFilesystemArn: str, Protocol: FsxProtocol, SecurityGroupArns: [str]}
@optional {Subdirectory: str, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@required {FsxFilesystemArn: str, SecurityGroupArns: [str], User: str, Password: str}
@optional {Subdirectory: str, Tags: [TagListEntry], Domain: str}
@returns(200) {LocationArn: str?}

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

@endpoint POST /
@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 /
@required {S3BucketArn: str, S3Config: S3Config}
@optional {Subdirectory: str, S3StorageClass: str, AgentArns: [str], Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

@endpoint POST /
@required {Subdirectory: str, ServerHostname: str, User: str, Password: str, AgentArns: [str]}
@optional {Domain: str, MountOptions: SmbMountOptions, Tags: [TagListEntry]}
@returns(200) {LocationArn: str?}

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

@endpoint POST /
@required {LocationArn: str}

@endpoint POST /
@required {TaskArn: str}

@endpoint POST /
@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 /
@required {DiscoveryJobArn: str}
@returns(200) {StorageSystemArn: str?, DiscoveryJobArn: str?, CollectionDurationMinutes: int?, Status: str?, JobStartTime: str(timestamp)?, JobEndTime: str(timestamp)?}

@endpoint POST /
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, AuthenticationType: str?, BlobType: str?, AccessTier: str?, AgentArns: [str]?, CreationTime: str(timestamp)?}

@endpoint POST /
@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 /
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, SecurityGroupArns: [str]?, CreationTime: str(timestamp)?}

@endpoint POST /
@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 /
@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 /
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, SecurityGroupArns: [str]?, CreationTime: str(timestamp)?, User: str?, Domain: str?}

@endpoint POST /
@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 /
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, OnPremConfig: OnPremConfig?{AgentArns: [str]}, MountOptions: NfsMountOptions?{Version: str?}, CreationTime: str(timestamp)?}

@endpoint POST /
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, AccessKey: str?, ServerPort: int?, ServerProtocol: str?, AgentArns: [str]?, CreationTime: str(timestamp)?, ServerCertificate: bytes?}

@endpoint POST /
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, S3StorageClass: str?, S3Config: S3Config?{BucketAccessRoleArn: str}, AgentArns: [str]?, CreationTime: str(timestamp)?}

@endpoint POST /
@required {LocationArn: str}
@returns(200) {LocationArn: str?, LocationUri: str?, AgentArns: [str]?, User: str?, Domain: str?, MountOptions: SmbMountOptions?{Version: str?}, CreationTime: str(timestamp)?}

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

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {Agents: [AgentListEntry]?, NextToken: str?}

@endpoint POST /
@optional {StorageSystemArn: str, MaxResults: int, NextToken: str}
@returns(200) {DiscoveryJobs: [DiscoveryJobListEntry]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, Filters: [LocationFilter]}
@returns(200) {Locations: [LocationListEntry]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {StorageSystems: [StorageSystemListEntry]?, NextToken: str?}

@endpoint POST /
@required {ResourceArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {Tags: [TagListEntry]?, NextToken: str?}

@endpoint POST /
@optional {TaskArn: str, MaxResults: int, NextToken: str}
@returns(200) {TaskExecutions: [TaskExecutionListEntry]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, Filters: [TaskFilter]}
@returns(200) {Tasks: [TaskListEntry]?, NextToken: str?}

@endpoint POST /
@required {StorageSystemArn: str}

@endpoint POST /
@required {StorageSystemArn: str, CollectionDurationMinutes: int, ClientToken: str}
@optional {Tags: [TagListEntry]}
@returns(200) {DiscoveryJobArn: str?}

@endpoint POST /
@required {TaskArn: str}
@optional {OverrideOptions: Options, Includes: [FilterRule], Excludes: [FilterRule], ManifestConfig: ManifestConfig, TaskReportConfig: TaskReportConfig, Tags: [TagListEntry]}
@returns(200) {TaskExecutionArn: str?}

@endpoint POST /
@required {DiscoveryJobArn: str}

@endpoint POST /
@required {ResourceArn: str, Tags: [TagListEntry]}

@endpoint POST /
@required {ResourceArn: str, Keys: [str]}

@endpoint POST /
@required {AgentArn: str}
@optional {Name: str}

@endpoint POST /
@required {DiscoveryJobArn: str, CollectionDurationMinutes: int}

@endpoint POST /
@required {LocationArn: str}
@optional {Subdirectory: str, AuthenticationType: str, SasConfiguration: AzureBlobSasConfiguration, BlobType: str, AccessTier: str, AgentArns: [str]}

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

@endpoint POST /
@required {LocationArn: str}
@optional {ServerPort: int, ServerProtocol: str, Subdirectory: str, AccessKey: str, SecretKey: str, AgentArns: [str], ServerCertificate: bytes}

@endpoint POST /
@required {LocationArn: str}
@optional {Subdirectory: str, User: str, Domain: str, Password: str, AgentArns: [str], MountOptions: SmbMountOptions}

@endpoint POST /
@required {StorageSystemArn: str}
@optional {ServerConfiguration: DiscoveryServerConfiguration, AgentArns: [str], Name: str, CloudWatchLogGroupArn: str, Credentials: Credentials}

@endpoint POST /
@required {TaskArn: str}
@optional {Options: Options, Excludes: [FilterRule], Schedule: TaskSchedule, Name: str, CloudWatchLogGroupArn: str, Includes: [FilterRule], ManifestConfig: ManifestConfig, TaskReportConfig: TaskReportConfig}

@endpoint POST /
@required {TaskExecutionArn: str, Options: Options}

@end
