/** * Which stacks should be selected from a cloud assembly */ export declare enum StackSelectionStrategy { /** * Returns all stacks in the app regardless of patterns, * including stacks inside nested assemblies. */ ALL_STACKS = "all-stacks", /** * Returns all stacks in the main (top level) assembly only. */ MAIN_ASSEMBLY = "main-assembly", /** * If the assembly includes a single stack, returns it. * Otherwise throws an exception. */ ONLY_SINGLE = "only-single", /** * Return stacks matched by patterns. * If no stacks are found, execution is halted successfully. * Most likely you don't want to use this but `StackSelectionStrategy.MUST_MATCH_PATTERN` */ PATTERN_MATCH = "pattern-match", /** * Return stacks matched by patterns. * Throws an exception if the patterns don't match at least one stack in the assembly. */ PATTERN_MUST_MATCH = "pattern-must-match", /** * Returns if exactly one stack is matched by the pattern(s). * Throws an exception if no stack, or more than exactly one stack are matched. */ PATTERN_MUST_MATCH_SINGLE = "pattern-must-match-single" } /** * When selecting stacks, what other stacks to include because of dependencies */ export declare enum ExpandStackSelection { /** * Don't select any extra stacks */ NONE = "none", /** * Include stacks that this stack depends on */ UPSTREAM = "upstream", /** * Include stacks that depend on this stack */ DOWNSTREAM = "downstream" } /** * A specification of which stacks should be selected */ export interface StackSelector { /** * How the patterns should be interpreted. */ strategy: StackSelectionStrategy; /** * A list of patterns to match the stack hierarchical ids * Only used with `PATTERN_*` selection strategies. */ patterns?: string[]; /** * Expand the selection to upstream/downstream stacks. * @default ExpandStackSelection.None only select the specified/matched stacks */ expand?: ExpandStackSelection; /** * By default, we throw an exception if the assembly contains no stacks. * Set to `false`, to halt execution for empty assemblies without error. * * Note that actions can still throw if a stack selection result is empty, * but the assembly contains stacks in principle. * * @default true */ failOnEmpty?: boolean; } //# sourceMappingURL=stack-selector.d.ts.map