import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class S3Location { Bucket ? : Value < string > ; ETag ? : Value < string > ; Key ? : Value < string > ; Version ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EndpointConfiguration { Types ? : List < Value < string > > ; VpcEndpointIds ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface RestApiProperties { ApiKeySourceType ? : Value < string > ; BinaryMediaTypes ? : List < Value < string > > ; Body ? : { [ key ] : any ; } ; BodyS3Location ? : S3Location ; CloneFrom ? : Value < string > ; Description ? : Value < string > ; DisableExecuteApiEndpoint ? : Value < boolean > ; EndpointConfiguration ? : EndpointConfiguration ; FailOnWarnings ? : Value < boolean > ; MinimumCompressionSize ? : Value < number > ; Name ? : Value < string > ; Parameters ? : { [ key ] : Value < string > ; } ; Policy ? : { [ key ] : any ; } ; Tags ? : List < ResourceTag > ; } export default class RestApi extends ResourceBase < RestApiProperties > { static S3Location = S3Location ; static EndpointConfiguration = EndpointConfiguration ; constructor ( properties ? ) { super ( 'AWS::ApiGateway::RestApi' , properties || { } ) ; } }