import type { StackSelector } from '../../api/cloud-assembly'; export interface CloudFormationDiffOptions { /** * Whether to run the diff against the template after the CloudFormation Transforms inside it have been executed * (as opposed to the original template, the default, which contains the unprocessed Transforms). * * @default false */ readonly compareAgainstProcessedTemplate?: boolean; } export interface ChangeSetDiffOptions extends CloudFormationDiffOptions { /** * Enable falling back to template-based diff in case creating the changeset is not possible or results in an error. * * Should be used for stacks containing nested stacks or when change set permissions aren't available. * * @default true */ readonly fallbackToTemplate?: boolean; /** * Additional parameters for CloudFormation when creating a diff change set * * @default - No parameters */ readonly parameters?: { [name: string]: string | undefined; }; /** * Whether or not the change set imports resources that already exist * * @default false */ readonly importExistingResources?: boolean; } export interface LocalFileDiffOptions { /** * Path to the local file. */ readonly path: string; } export declare class DiffMethod { readonly method: 'change-set' | 'template-only' | 'local-file'; readonly options: ChangeSetDiffOptions | CloudFormationDiffOptions | LocalFileDiffOptions; /** * Use a changeset to compute the diff. * * This will create, analyze, and subsequently delete a changeset against the CloudFormation stack. */ static ChangeSet(options?: ChangeSetDiffOptions): DiffMethod; static TemplateOnly(options?: CloudFormationDiffOptions): DiffMethod; /** * Use a local template file to compute the diff. */ static LocalFile(path: string): DiffMethod; private constructor(); } /** * Options for the diff method */ export interface DiffOptions { /** * Select the stacks * * @default - All stacks */ readonly stacks?: StackSelector; /** * The method to create a stack diff. * * Use changeset diff for the highest fidelity, including analyze resource replacements. * In this method, diff will use the deploy role instead of the lookup role. * * Use template-only diff for a faster, less accurate diff that doesn't require * permissions to create a change-set. * * Use local-template diff for a fast, local-only diff that doesn't require * any permissions or internet access. * * @default DiffMethod.ChangeSet */ readonly method?: DiffMethod; /** * Strict diff mode * When enabled, this will not filter out AWS::CDK::Metadata resources, mangled non-ASCII characters, or the CheckBootstrapVersionRule. * * @default false */ readonly strict?: boolean; /** * How many lines of context to show in the diff * * @default 3 */ readonly contextLines?: number; /** * Whether to include resource moves in the diff. These are the same moves that are detected * by the `refactor` command. * * @default false */ readonly includeMoves?: boolean; } //# sourceMappingURL=index.d.ts.map