@altostra/core
Version:
Core library for shared types and logic
31 lines (30 loc) • 1.26 kB
TypeScript
import type { AwsResourceCommon } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
export declare type RouteType = 'AWS::ApiGatewayV2::Route';
export interface Route extends AwsResourceCommon {
Type: RouteType;
Properties: RouteProperties;
}
export declare type RouteProperties = HttpRouteProperties | WebSocketRouteProperties;
export interface HttpRouteProperties extends RoutePropertiesBase {
AuthorizationScopes?: string[];
AuthorizationType?: HttpAuthorizationTypes;
}
export interface WebSocketRouteProperties extends RoutePropertiesBase {
ApiKeyRequired?: boolean;
AuthorizationType?: WebSocketAuthorizationTypes;
ModelSelectionExpression?: string;
RequestModels?: object;
RequestParameters?: object;
RouteResponseSelectionExpression?: string;
}
export interface RoutePropertiesBase {
ApiId: CloudFormationValue;
AuthorizerId?: CloudFormationValue;
OperationName?: string;
RouteKey: string;
Target?: CloudFormationValue;
}
export declare type CommonAuthorizationTypes = 'AWS_IAM' | 'CUSTOM' | 'NONE';
export declare type HttpAuthorizationTypes = CommonAuthorizationTypes | 'JWT';
export declare type WebSocketAuthorizationTypes = CommonAuthorizationTypes;