aws-cdk
Version:
CDK Toolkit, the command line tool for CDK apps
87 lines (86 loc) • 3.12 kB
TypeScript
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;
};
};