UNPKG

aws-cdk

Version:

CDK Toolkit, the command line tool for CDK apps

87 lines (86 loc) 3.12 kB
import * as AWS from 'aws-sdk'; import { ISDK } from './aws-auth'; import { NestedStackNames } from './nested-stack-helpers'; export interface ListStackResources { listStackResources(): Promise<AWS.CloudFormation.StackResourceSummary[]>; } export declare class LazyListStackResources implements ListStackResources { private readonly sdk; private readonly stackName; private stackResources; constructor(sdk: ISDK, stackName: string); listStackResources(): Promise<AWS.CloudFormation.StackResourceSummary[]>; private getStackResources; } export interface LookupExport { lookupExport(name: string): Promise<AWS.CloudFormation.Export | undefined>; } export declare class LookupExportError extends Error { } export declare class LazyLookupExport implements LookupExport { private readonly sdk; private cachedExports; constructor(sdk: ISDK); lookupExport(name: string): Promise<AWS.CloudFormation.Export | undefined>; private listExports; } export declare class CfnEvaluationException extends Error { } export interface ResourceDefinition { readonly LogicalId: string; readonly Type: string; readonly Properties: { [p: string]: any; }; } export interface EvaluateCloudFormationTemplateProps { readonly stackName: string; readonly template: Template; readonly parameters: { [parameterName: string]: string; }; readonly account: string; readonly region: string; readonly partition: string; readonly urlSuffix: (region: string) => string; readonly sdk: ISDK; readonly nestedStackNames?: { [nestedStackLogicalId: string]: NestedStackNames; }; } export declare class EvaluateCloudFormationTemplate { private readonly stackName; private readonly template; private readonly context; private readonly account; private readonly region; private readonly partition; private readonly urlSuffix; private readonly sdk; private readonly nestedStackNames; private readonly stackResources; private readonly lookupExport; private cachedUrlSuffix; constructor(props: EvaluateCloudFormationTemplateProps); createNestedEvaluateCloudFormationTemplate(stackName: string, nestedTemplate: Template, nestedStackParameters: { [parameterName: string]: any; }): Promise<EvaluateCloudFormationTemplate>; establishResourcePhysicalName(logicalId: string, physicalNameInCfnTemplate: any): Promise<string | undefined>; findPhysicalNameFor(logicalId: string): Promise<string | undefined>; findLogicalIdForPhysicalName(physicalName: string): Promise<string | undefined>; findReferencesTo(logicalId: string): Array<ResourceDefinition>; evaluateCfnExpression(cfnExpression: any): Promise<any>; private references; private parseIntrinsic; private findRefTarget; private findGetAttTarget; private findNestedStack; private formatResourceAttribute; private getServiceOfResource; private getResourceTypeArnPartOfResource; } export type Template = { [section: string]: { [headings: string]: any; }; };