UNPKG

mira

Version:

NearForm Accelerator for Cloud Native Serverless AWS

65 lines (64 loc) 1.95 kB
import * as cdk from '@aws-cdk/core'; import { MiraServiceStack, MiraStack } from './stack'; import { Stack } from '@aws-cdk/core'; interface Prototypable { prototype: Stack; } interface StackConstructable { new (app: cdk.App, props: { env: string; }): Stack; } interface MiraStackConstructable { new (service: MiraServiceStack): MiraStack; } interface MiraServiceStackConstructable { new (app: MiraApp): MiraServiceStack; } export declare type MiraValidStack = Stack & Prototypable & MiraStackConstructable & MiraServiceStackConstructable & StackConstructable; declare type MiraStackList = Array<MiraValidStack>; /** * Main Mira class. Bootstraps CDK and loads in Stacks per user input. */ export declare class MiraApp { cdkApp: cdk.App; instance: MiraApp; mainStack: MiraStack; serviceStack: MiraServiceStack; stackName: string; stacks: MiraStackList; static cliArgs: any; constructor(); /** * Load a single stack given the filename * @param {String} fileName (Optional) Can provide an arbitary name to * lookup if name exists in configs. */ getStack(fileName: string): Promise<MiraValidStack | boolean>; /** * Loads the stacks * @param {String} stackName (Optional) Can provide an arbitary name to * lookup if name exists in configs. */ getStacks(): Promise<MiraStackList>; /** * Gets the stack file from CLI. */ static getStackFiles(): Array<string>; static getBaseStackName(suffix?: string): string; static getBaseStackNameFromParams(prefix: string, name: string, suffix?: string): string; /** * Initializes the app and stack. */ initialize(): Promise<void>; /** * Initializes the app. Not much else to see here. */ initializeApp(): void; static isVerbose(): boolean; } /** * Gets the stack name. */ export declare const getStackName: () => string; export {};