@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Kinesis Firehose
@version 2015-08-04
@auth AWS SigV4
@endpoints 12
@toc root(12)

@endpoint POST /
@required {DeliveryStreamName: str}
@optional {DeliveryStreamType: str, KinesisStreamSourceConfiguration: KinesisStreamSourceConfiguration, DeliveryStreamEncryptionConfigurationInput: DeliveryStreamEncryptionConfigurationInput, S3DestinationConfiguration: S3DestinationConfiguration, ExtendedS3DestinationConfiguration: ExtendedS3DestinationConfiguration, RedshiftDestinationConfiguration: RedshiftDestinationConfiguration, ElasticsearchDestinationConfiguration: ElasticsearchDestinationConfiguration, AmazonopensearchserviceDestinationConfiguration: AmazonopensearchserviceDestinationConfiguration, SplunkDestinationConfiguration: SplunkDestinationConfiguration, HttpEndpointDestinationConfiguration: HttpEndpointDestinationConfiguration, Tags: [Tag], AmazonOpenSearchServerlessDestinationConfiguration: AmazonOpenSearchServerlessDestinationConfiguration, MSKSourceConfiguration: MSKSourceConfiguration, SnowflakeDestinationConfiguration: SnowflakeDestinationConfiguration, IcebergDestinationConfiguration: IcebergDestinationConfiguration}
@returns(200) {DeliveryStreamARN: str?}

@endpoint POST /
@required {DeliveryStreamName: str}
@optional {AllowForceDelete: bool}

@endpoint POST /
@required {DeliveryStreamName: str}
@optional {Limit: int, ExclusiveStartDestinationId: str}
@returns(200) {DeliveryStreamDescription: DeliveryStreamDescription{DeliveryStreamName: str, DeliveryStreamARN: str, DeliveryStreamStatus: str, FailureDescription: FailureDescription?{Type: str, Details: str}, DeliveryStreamEncryptionConfiguration: DeliveryStreamEncryptionConfiguration?{KeyARN: str?, KeyType: str?, Status: str?, FailureDescription: FailureDescription?{Type: str, Details: str}}, DeliveryStreamType: str, VersionId: str, CreateTimestamp: str(timestamp)?, LastUpdateTimestamp: str(timestamp)?, Source: SourceDescription?{KinesisStreamSourceDescription: KinesisStreamSourceDescription?{KinesisStreamARN: str?, RoleARN: str?, DeliveryStartTimestamp: str(timestamp)?}, MSKSourceDescription: MSKSourceDescription?{MSKClusterARN: str?, TopicName: str?, AuthenticationConfiguration: AuthenticationConfiguration?, DeliveryStartTimestamp: str(timestamp)?, ReadFromTimestamp: str(timestamp)?}}, Destinations: [DestinationDescription], HasMoreDestinations: bool}}

@endpoint POST /
@optional {Limit: int, DeliveryStreamType: str, ExclusiveStartDeliveryStreamName: str}
@returns(200) {DeliveryStreamNames: [str], HasMoreDeliveryStreams: bool}

@endpoint POST /
@required {DeliveryStreamName: str}
@optional {ExclusiveStartTagKey: str, Limit: int}
@returns(200) {Tags: [Tag], HasMoreTags: bool}

@endpoint POST /
@required {DeliveryStreamName: str, Record: Record}
@returns(200) {RecordId: str, Encrypted: bool?}

@endpoint POST /
@required {DeliveryStreamName: str, Records: [Record]}
@returns(200) {FailedPutCount: int, Encrypted: bool?, RequestResponses: [PutRecordBatchResponseEntry]}

@endpoint POST /
@required {DeliveryStreamName: str}
@optional {DeliveryStreamEncryptionConfigurationInput: DeliveryStreamEncryptionConfigurationInput}

@endpoint POST /
@required {DeliveryStreamName: str}

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

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

@endpoint POST /
@required {DeliveryStreamName: str, CurrentDeliveryStreamVersionId: str, DestinationId: str}
@optional {S3DestinationUpdate: S3DestinationUpdate, ExtendedS3DestinationUpdate: ExtendedS3DestinationUpdate, RedshiftDestinationUpdate: RedshiftDestinationUpdate, ElasticsearchDestinationUpdate: ElasticsearchDestinationUpdate, AmazonopensearchserviceDestinationUpdate: AmazonopensearchserviceDestinationUpdate, SplunkDestinationUpdate: SplunkDestinationUpdate, HttpEndpointDestinationUpdate: HttpEndpointDestinationUpdate, AmazonOpenSearchServerlessDestinationUpdate: AmazonOpenSearchServerlessDestinationUpdate, SnowflakeDestinationUpdate: SnowflakeDestinationUpdate, IcebergDestinationUpdate: IcebergDestinationUpdate}

@end
