@altostra/core
Version:
Core library for shared types and logic
21 lines (20 loc) • 923 B
TypeScript
import type { AwsCfnTemplate, AwsResourceCommon, CloudFormationResource } from "../CloudFormation";
import type { Api, ApiType } from "./Api";
import type { Function, FunctionType } from "./Function";
import type { SimpleTable, SimpleTableType } from "./SimpleTable";
export * from "./Function";
export * from "./common";
export * from "./Api";
export * from "./SimpleTable";
export declare type ServerlessResourceTypes = ApiType | FunctionType | SimpleTableType;
export declare type ServerlessResourceByTypes = {
[K in ApiType]: Api;
} & {
[K in FunctionType]: Function;
} & {
[K in SimpleTableType]: SimpleTable;
};
export declare type ServerlessResources = ServerlessResourceByTypes[ServerlessResourceTypes];
export interface AwsSamTemplate<TResource extends AwsResourceCommon = CloudFormationResource | ServerlessResources> extends AwsCfnTemplate<TResource> {
Transform: 'AWS::Serverless-2016-10-31';
}