import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class MethodResponse { ResponseModels ? : { [ key ] : Value < string > ; } ; ResponseParameters ? : { [ key ] : Value < boolean > ; } ; StatusCode ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Integration { CacheKeyParameters ? : List < Value < string > > ; CacheNamespace ? : Value < string > ; ConnectionId ? : Value < string > ; ConnectionType ? : Value < string > ; ContentHandling ? : Value < string > ; Credentials ? : Value < string > ; IntegrationHttpMethod ? : Value < string > ; IntegrationResponses ? : List < IntegrationResponse > ; PassthroughBehavior ? : Value < string > ; RequestParameters ? : { [ key ] : Value < string > ; } ; RequestTemplates ? : { [ key ] : Value < string > ; } ; TimeoutInMillis ? : Value < number > ; Type ? : Value < string > ; Uri ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class IntegrationResponse { ContentHandling ? : Value < string > ; ResponseParameters ? : { [ key ] : Value < string > ; } ; ResponseTemplates ? : { [ key ] : Value < string > ; } ; SelectionPattern ? : Value < string > ; StatusCode ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface MethodProperties { ApiKeyRequired ? : Value < boolean > ; AuthorizationScopes ? : List < Value < string > > ; AuthorizationType ? : Value < string > ; AuthorizerId ? : Value < string > ; HttpMethod : Value < string > ; Integration ? : Integration ; MethodResponses ? : List < MethodResponse > ; OperationName ? : Value < string > ; RequestModels ? : { [ key ] : Value < string > ; } ; RequestParameters ? : { [ key ] : Value < boolean > ; } ; RequestValidatorId ? : Value < string > ; ResourceId : Value < string > ; RestApiId : Value < string > ; } export default class Method extends ResourceBase < MethodProperties > { static MethodResponse = MethodResponse ; static Integration = Integration ; static IntegrationResponse = IntegrationResponse ; constructor ( properties ) { super ( 'AWS::ApiGateway::Method' , properties ) ; } }