@aws-amplify/cli-internal
Version:
64 lines • 2.26 kB
TypeScript
import chalk from 'chalk';
import * as cfnDiff from '@aws-cdk/cloudformation-diff';
import { $TSAny } from '@aws-amplify/amplify-cli-core';
import { Template } from 'cloudform-types';
export interface StackMutationInfo {
label: string;
consoleStyle: chalk.Chalk;
icon: string;
}
export interface StackMutationType {
CREATE: StackMutationInfo;
UPDATE: StackMutationInfo;
DELETE: StackMutationInfo;
IMPORT: StackMutationInfo;
UNLINK: StackMutationInfo;
NOCHANGE: StackMutationInfo;
}
export declare const stackMutationType: StackMutationType;
export declare const capitalize: (str: string) => string;
interface IResourcePaths {
localPreBuildCfnFile: string;
cloudPreBuildCfnFile: string;
localBuildCfnFile: string;
cloudBuildCfnFile: string;
}
export declare const globCFNFilePath: (fileFolder: string) => string;
export declare class ResourceDiff {
resourceName: string;
category: string;
provider: string;
service: string;
resourceFiles: IResourcePaths;
localBackendDir: string;
cloudBackendDir: string;
localTemplate: Template;
cloudTemplate: Template;
mutationInfo: StackMutationInfo;
constructor(category: string, resourceName: string, provider: string, mutationInfo: StackMutationInfo);
printResourceDetailStatus: (mutationInfo: StackMutationInfo) => Promise<void>;
calculateCfnDiff: () => Promise<cfnDiff.TemplateDiff>;
private safeReadCFNTemplate;
private getCfnResourceFilePaths;
private normalizeProviderForFileNames;
private printStackDiff;
private safeGlobCFNFilePath;
private isResourceTypeCDKMetada;
}
export interface IResourceDiffCollection {
updatedDiff: ResourceDiff[] | [];
deletedDiff: ResourceDiff[] | [];
createdDiff: ResourceDiff[] | [];
}
export interface ICategoryStatusCollection {
resourcesToBeCreated: $TSAny[];
resourcesToBeUpdated: $TSAny[];
resourcesToBeDeleted: $TSAny[];
resourcesToBeSynced: $TSAny[];
rootStackUpdated?: boolean;
allResources: $TSAny[];
tagsUpdated: boolean;
}
export declare const CollateResourceDiffs: (resources: any, mutationInfo: StackMutationInfo) => Promise<ResourceDiff[]>;
export {};
//# sourceMappingURL=resource-status-diff.d.ts.map