UNPKG

@altostra/core

Version:

Core library for shared types and logic

77 lines (76 loc) 3.67 kB
import type { CloudFormationResourceByType } from "../CloudFormation/Types"; import type { AwsApiGatewayBasePath, AwsApiGatewayDeployment, AwsApiGatewayDomain, AwsApiGatewayMethod, AwsApiGatewayResource, AwsApiGatewayRestApi, AwsApiGatewayStage } from "./AwsApiGateway"; import type { AwsCloudFormationStack } from "./AwsCloudFormation"; import type { AwsCloudFrontDistribution } from "./AwsCloudFront"; import type { AwsCloudWatchResources } from "./AwsCloudWatch"; import type { AwsCustomResource } from "./AwsCustomResource"; import type { AwsDynamoDbTable } from "./AwsDynamoDb"; import type { AwsIamRole } from "./AwsIam"; import type { AwsKinesisDataStreamResource, AwsKinesisDeliveryStream } from "./AwsKinesis"; import type { AwsLambdaPermission } from "./AwsLambda"; import type { AwsS3Bucket } from "./AwsS3"; import type { AwsSamServerlessApi, AwsSamServerlessFunction, AwsSamServerlessSimpleTable } from "./AwsSamServerless"; import type { AwsSnsTopic, AwsSnsTopicSubscriptionResource } from "./AwsSns"; import type { AwsSimpleQueueResource } from "./AwsSqs"; import type { HostedZone, RecordSet } from "./Route53"; export { type AwsTemplateOutput, type CloudFormationTag, type CloudFormationTags, isAwsTemplateOutput, mergeTemplates, type S3Location, } from "../CloudFormation"; export { type CloudFormationString, isCloudFormationString, isCloudFormationValue as isCloudFormationStringValidation, } from "../CloudFormation/IntrinsicFunctions"; export { AwsSamTemplate, ServerlessTags } from "../ServerlessAppModel"; /** * API Reference * https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction * https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html */ export declare type AwsResourceByType = CloudFormationResourceByType & { [K in AwsApiGatewayBasePath['Type']]: AwsApiGatewayBasePath; } & { [K in AwsApiGatewayDeployment['Type']]: AwsApiGatewayDeployment; } & { [K in AwsApiGatewayDomain['Type']]: AwsApiGatewayDomain; } & { [K in AwsApiGatewayMethod['Type']]: AwsApiGatewayMethod; } & { [K in AwsApiGatewayResource['Type']]: AwsApiGatewayResource; } & { [K in AwsApiGatewayRestApi['Type']]: AwsApiGatewayRestApi; } & { [K in AwsApiGatewayStage['Type']]: AwsApiGatewayStage; } & { [K in AwsCloudFormationStack['Type']]: AwsCloudFormationStack; } & { [K in AwsCloudFrontDistribution['Type']]: AwsCloudFrontDistribution; } & { [K in AwsCustomResource['Type']]: AwsCustomResource; } & { [K in AwsDynamoDbTable['Type']]: AwsDynamoDbTable; } & { [K in AwsIamRole['Type']]: AwsIamRole; } & { [K in AwsKinesisDataStreamResource['Type']]: AwsKinesisDataStreamResource; } & { [K in AwsKinesisDeliveryStream['Type']]: AwsKinesisDeliveryStream; } & { [K in AwsLambdaPermission['Type']]: AwsLambdaPermission; } & { [K in AwsS3Bucket['Type']]: AwsS3Bucket; } & { [K in AwsSamServerlessApi['Type']]: AwsSamServerlessApi; } & { [K in AwsSamServerlessFunction['Type']]: AwsSamServerlessFunction; } & { [K in AwsSamServerlessSimpleTable['Type']]: AwsSamServerlessSimpleTable; } & { [K in AwsSimpleQueueResource['Type']]: AwsSimpleQueueResource; } & { [K in AwsSnsTopic['Type']]: AwsSnsTopic; } & { [K in AwsSnsTopicSubscriptionResource['Type']]: AwsSnsTopicSubscriptionResource; } & { [K in HostedZone['Type']]: HostedZone; } & { [K in keyof AwsCloudWatchResources]: AwsCloudWatchResources[K]; } & { [K in RecordSet['Type']]: RecordSet; }; export declare type AwsResourceType = keyof AwsResourceByType; export declare type AwsResource = AwsResourceByType[AwsResourceType];