UNPKG

@altostra/core

Version:

Core library for shared types and logic

33 lines (32 loc) 2.49 kB
import type { ResourceType } from "../../Resources"; import type { BlueprintHelper } from "../BlueprintHelper"; import type { ResourceHelperByType } from "../ResourceHelper"; import type { AwsCustomResourcesUtils } from "./AwsCustomResourcesUtils"; import type { ComputeFunctionUtils } from "./Compute/ComputeFunctionUtils"; import type { FargateServerlessContainerUtils } from "./Compute/FargateServerlessContainerUtils"; import type { FargateServerlessServiceUtils } from "./Compute/FargateServerlessServiceUtils"; import type { ExternalResourceUtils } from "./ExternalResourceUtils"; import type { MessageQueueUtils } from "./MessageQueueUtils"; import type { RelationalDBProxyResourceUtils } from "./RelationalDbProxyUtils"; import type { WebSocketApiUtils, WebSocketRouteUtils } from "./WebApi"; import type { ApiEndpointUtils, ApiUtils } from "./WebApi/Api"; import { type ApiProxyEndpointUtils } from "./WebApi/Api/ApiProxyEndpointUtils"; export declare function getResourceUtilities<T extends ResourceType>(blueprint: BlueprintHelper, resource: ResourceHelperByType<T>): ResourceUtilities<T>; export { AccessConnectionHelper, FunctionExplicitVariable, FunctionGlobalVariable, FunctionImplicitVariable, FunctionImplicitVariableSource, FunctionVariable, FunctionVariableBase, VariableType, } from "./Compute/common"; export type { ComputeFunctionUtils, FargateServerlessContainerUtils, FargateServerlessServiceUtils, ApiUtils, ApiEndpointUtils, ExternalResourceUtils, MessageQueueUtils, AwsCustomResourcesUtils, RelationalDBProxyResourceUtils, }; export interface ResourceUtilitiesByResourceTypes { 'resource.compute.function': ComputeFunctionUtils; 'resource.compute.serverless-container': FargateServerlessContainerUtils; 'resource.compute.web-service': FargateServerlessServiceUtils; 'resource.api': ApiUtils; 'resource.api.endpoint': ApiEndpointUtils; 'resource.api.proxy-endpoint': ApiProxyEndpointUtils; 'resource.web-socket.api': WebSocketApiUtils; 'resource.web-socket.route': WebSocketRouteUtils; 'resource.external': ExternalResourceUtils; 'resource.message-queue': MessageQueueUtils; 'resource.message-queue.fifo': MessageQueueUtils; 'resource.cloud-formation.custom-resources': AwsCustomResourcesUtils; 'resource.rdb.proxy': RelationalDBProxyResourceUtils; } export declare type ResourceUtilities<T extends ResourceType> = T extends keyof ResourceUtilitiesByResourceTypes ? ResourceUtilitiesByResourceTypes[T] : object;