@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Application Cost Profiler
@version 2020-09-10
@auth AWS SigV4
@endpoints 6
@toc reportDefinition(5), importApplicationUsage(1)

@group reportDefinition
@endpoint DELETE /reportDefinition/{reportId}
@required {reportId: str}
@returns(200) {reportId: str?}

@endpoint GET /reportDefinition/{reportId}
@required {reportId: str}
@returns(200) {reportId: str, reportDescription: str, reportFrequency: str, format: str, destinationS3Location: S3Location{bucket: str, prefix: str}, createdAt: str(timestamp), lastUpdated: str(timestamp)}

@endgroup

@group importApplicationUsage
@endpoint POST /importApplicationUsage
@required {sourceS3Location: SourceS3Location}
@returns(200) {importId: str}

@endgroup

@group reportDefinition
@endpoint GET /reportDefinition
@optional {nextToken: str, maxResults: int}
@returns(200) {reportDefinitions: [ReportDefinition]?, nextToken: str?}

@endpoint POST /reportDefinition
@required {reportId: str, reportDescription: str, reportFrequency: str, format: str, destinationS3Location: S3Location}
@returns(200) {reportId: str?}

@endpoint PUT /reportDefinition/{reportId}
@required {reportId: str, reportDescription: str, reportFrequency: str, format: str, destinationS3Location: S3Location}
@returns(200) {reportId: str?}

@endgroup

@end
