@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Timestream Write
@version 2018-11-01
@auth AWS SigV4
@endpoints 19
@toc root(19)

@endpoint POST /
@required {DataSourceConfiguration: DataSourceConfiguration, ReportConfiguration: ReportConfiguration, TargetDatabaseName: str, TargetTableName: str}
@optional {ClientToken: str, DataModelConfiguration: DataModelConfiguration, RecordVersion: int(i64)}
@returns(200) {TaskId: str}

@endpoint POST /
@required {DatabaseName: str}
@optional {KmsKeyId: str, Tags: [Tag]}
@returns(200) {Database: Database?{Arn: str?, DatabaseName: str?, TableCount: int(i64)?, KmsKeyId: str?, CreationTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?}}

@endpoint POST /
@required {DatabaseName: str, TableName: str}
@optional {RetentionProperties: RetentionProperties, Tags: [Tag], MagneticStoreWriteProperties: MagneticStoreWriteProperties, Schema: Schema}
@returns(200) {Table: Table?{Arn: str?, TableName: str?, DatabaseName: str?, TableStatus: str?, RetentionProperties: RetentionProperties?{MemoryStoreRetentionPeriodInHours: int(i64), MagneticStoreRetentionPeriodInDays: int(i64)}, CreationTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?, MagneticStoreWriteProperties: MagneticStoreWriteProperties?{EnableMagneticStoreWrites: bool, MagneticStoreRejectedDataLocation: MagneticStoreRejectedDataLocation?{S3Configuration: S3Configuration?}}, Schema: Schema?{CompositePartitionKey: [PartitionKey]?}}}

@endpoint POST /
@required {DatabaseName: str}

@endpoint POST /
@required {DatabaseName: str, TableName: str}

@endpoint POST /
@required {TaskId: str}
@returns(200) {BatchLoadTaskDescription: BatchLoadTaskDescription{TaskId: str?, ErrorMessage: str?, DataSourceConfiguration: DataSourceConfiguration?{DataSourceS3Configuration: DataSourceS3Configuration{BucketName: str, ObjectKeyPrefix: str?}, CsvConfiguration: CsvConfiguration?{ColumnSeparator: str?, EscapeChar: str?, QuoteChar: str?, NullValue: str?, TrimWhiteSpace: bool?}, DataFormat: str}, ProgressReport: BatchLoadProgressReport?{RecordsProcessed: int(i64)?, RecordsIngested: int(i64)?, ParseFailures: int(i64)?, RecordIngestionFailures: int(i64)?, FileFailures: int(i64)?, BytesMetered: int(i64)?}, ReportConfiguration: ReportConfiguration?{ReportS3Configuration: ReportS3Configuration?{BucketName: str, ObjectKeyPrefix: str?, EncryptionOption: str?, KmsKeyId: str?}}, DataModelConfiguration: DataModelConfiguration?{DataModel: DataModel?{TimeColumn: str?, TimeUnit: str?, DimensionMappings: [DimensionMapping], MultiMeasureMappings: MultiMeasureMappings?, MixedMeasureMappings: [MixedMeasureMapping]?, MeasureNameColumn: str?}, DataModelS3Configuration: DataModelS3Configuration?{BucketName: str?, ObjectKey: str?}}, TargetDatabaseName: str?, TargetTableName: str?, TaskStatus: str?, RecordVersion: int(i64)?, CreationTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?, ResumableUntil: str(timestamp)?}}

@endpoint POST /
@required {DatabaseName: str}
@returns(200) {Database: Database?{Arn: str?, DatabaseName: str?, TableCount: int(i64)?, KmsKeyId: str?, CreationTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?}}

@endpoint POST /
@returns(200) {Endpoints: [Endpoint]}

@endpoint POST /
@required {DatabaseName: str, TableName: str}
@returns(200) {Table: Table?{Arn: str?, TableName: str?, DatabaseName: str?, TableStatus: str?, RetentionProperties: RetentionProperties?{MemoryStoreRetentionPeriodInHours: int(i64), MagneticStoreRetentionPeriodInDays: int(i64)}, CreationTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?, MagneticStoreWriteProperties: MagneticStoreWriteProperties?{EnableMagneticStoreWrites: bool, MagneticStoreRejectedDataLocation: MagneticStoreRejectedDataLocation?{S3Configuration: S3Configuration?}}, Schema: Schema?{CompositePartitionKey: [PartitionKey]?}}}

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

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

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

@endpoint POST /
@required {ResourceARN: str}
@returns(200) {Tags: [Tag]?}

@endpoint POST /
@required {TaskId: str}

@endpoint POST /
@required {ResourceARN: str, Tags: [Tag]}

@endpoint POST /
@required {ResourceARN: str, TagKeys: [str]}

@endpoint POST /
@required {DatabaseName: str, KmsKeyId: str}
@returns(200) {Database: Database?{Arn: str?, DatabaseName: str?, TableCount: int(i64)?, KmsKeyId: str?, CreationTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?}}

@endpoint POST /
@required {DatabaseName: str, TableName: str}
@optional {RetentionProperties: RetentionProperties, MagneticStoreWriteProperties: MagneticStoreWriteProperties, Schema: Schema}
@returns(200) {Table: Table?{Arn: str?, TableName: str?, DatabaseName: str?, TableStatus: str?, RetentionProperties: RetentionProperties?{MemoryStoreRetentionPeriodInHours: int(i64), MagneticStoreRetentionPeriodInDays: int(i64)}, CreationTime: str(timestamp)?, LastUpdatedTime: str(timestamp)?, MagneticStoreWriteProperties: MagneticStoreWriteProperties?{EnableMagneticStoreWrites: bool, MagneticStoreRejectedDataLocation: MagneticStoreRejectedDataLocation?{S3Configuration: S3Configuration?}}, Schema: Schema?{CompositePartitionKey: [PartitionKey]?}}}

@endpoint POST /
@required {DatabaseName: str, TableName: str, Records: [Record]}
@optional {CommonAttributes: Record}
@returns(200) {RecordsIngested: RecordsIngested?{Total: int?, MemoryStore: int?, MagneticStore: int?}}

@end
