@aws-amplify/cli-internal
Version:
Amplify CLI
56 lines • 1.93 kB
TypeScript
import { $TSAny } from '@aws-amplify/amplify-cli-core';
export interface CFNOutput {
readonly Description?: string;
Value: string | object;
}
export declare enum CFNFunction {
Equals = "Fn::Equals",
Not = "Fn::Not",
Or = "Fn::Or",
And = "Fn::And",
If = "Fn::If"
}
export type CFNIntrinsicFunctionCondition = {
readonly Condition: string;
};
export type CFNConditionFunctionStatement = string | object | CFNConditionFunction | CFNIntrinsicFunctionCondition;
export type CFNConditionFunction = {
readonly [CFNFunction.Equals]: [CFNConditionFunctionStatement, CFNConditionFunctionStatement];
} | {
readonly [CFNFunction.Not]: [CFNConditionFunctionStatement];
} | {
readonly [CFNFunction.Or]: [CFNConditionFunctionStatement, CFNConditionFunctionStatement];
} | {
readonly [CFNFunction.And]: [CFNConditionFunctionStatement, CFNConditionFunctionStatement];
};
export interface CFNResource {
readonly Type: string;
readonly Properties: Record<string, string | number | boolean | object>;
readonly Condition?: string;
UpdateReplacePolicy?: string;
DeletionPolicy?: string;
DependsOn?: string | string[];
}
export interface CFNParameter {
readonly Type: string;
readonly Default?: string;
readonly Description?: string;
readonly NoEcho?: boolean;
}
export interface CFNTemplate {
readonly Description: string;
readonly AWSTemplateFormatVersion: string;
readonly Conditions?: Record<string, CFNConditionFunction>;
readonly Parameters?: Record<string, CFNParameter>;
Resources: Record<string, CFNResource>;
Outputs?: Record<string, CFNOutput>;
Metadata?: Record<string, $TSAny>;
}
export declare enum CFNStackStatus {
UPDATE_COMPLETE = "UPDATE_COMPLETE",
CREATE_COMPLETE = "CREATE_COMPLETE"
}
export declare enum CFN_PSEUDO_PARAMETERS_REF {
StackName = "AWS::StackName"
}
//# sourceMappingURL=cfn-template.d.ts.map