@pulumi/pulumi
Advanced tools
Comparing version 3.120.1-alpha.xbefb249 to 3.120.1-alpha.xec40866
@@ -198,3 +198,3 @@ import { PulumiCommand } from "./cmd"; | ||
*/ | ||
removeStack(stackName: string): Promise<void>; | ||
removeStack(stackName: string, opts?: RemoveOptions): Promise<void>; | ||
/** | ||
@@ -466,1 +466,11 @@ * Adds environments to the end of a stack's import list. Imported environments are merged in order | ||
} | ||
export interface RemoveOptions { | ||
/** | ||
* Forces deletion of the stack, leaving behind any resources managed by the stack | ||
*/ | ||
force?: boolean; | ||
/** | ||
* Do not delete the corresponding Pulumi.<stack-name>.yaml configuration file for the stack | ||
*/ | ||
preserveConfig?: boolean; | ||
} |
@@ -360,5 +360,13 @@ "use strict"; | ||
*/ | ||
removeStack(stackName) { | ||
removeStack(stackName, opts) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
yield this.runPulumiCmd(["stack", "rm", "--yes", stackName]); | ||
const args = ["stack", "rm", "--yes"]; | ||
if (opts === null || opts === void 0 ? void 0 : opts.force) { | ||
args.push("--force"); | ||
} | ||
if (opts === null || opts === void 0 ? void 0 : opts.preserveConfig) { | ||
args.push("--preserve-config"); | ||
} | ||
args.push(stackName); | ||
yield this.runPulumiCmd(args); | ||
}); | ||
@@ -365,0 +373,0 @@ } |
import { PulumiCommand } from "./cmd"; | ||
import { ConfigMap, ConfigValue } from "./config"; | ||
import { ListOptions } from "./localWorkspace"; | ||
import { ListOptions, RemoveOptions } from "./localWorkspace"; | ||
import { ProjectSettings } from "./projectSettings"; | ||
@@ -217,3 +217,3 @@ import { OutputMap } from "./stack"; | ||
*/ | ||
removeStack(stackName: string): Promise<void>; | ||
removeStack(stackName: string, opts?: RemoveOptions): Promise<void>; | ||
/** | ||
@@ -220,0 +220,0 @@ * Returns all Stacks from the underlying backend based on the provided options. |
{ | ||
"name": "@pulumi/pulumi", | ||
"version": "3.120.1-alpha.xbefb249", | ||
"version": "3.120.1-alpha.xec40866", | ||
"description": "Pulumi's Node.js SDK", | ||
@@ -5,0 +5,0 @@ "license": "Apache-2.0", |
@@ -590,2 +590,24 @@ "use strict"; | ||
})); | ||
it(`runs through the stack lifecycle with an inline program, testing removing without destroying`, () => __awaiter(void 0, void 0, void 0, function* () { | ||
const program = () => __awaiter(void 0, void 0, void 0, function* () { | ||
class MyResource extends index_1.ComponentResource { | ||
constructor(name, opts) { | ||
super("my:module:MyResource", name, {}, opts); | ||
} | ||
} | ||
new MyResource("res"); | ||
return {}; | ||
}); | ||
const projectName = "inline_node"; | ||
const stackName = automation_1.fullyQualifiedStackName(util_1.getTestOrg(), projectName, `int_test${util_1.getTestSuffix()}`); | ||
const stack = yield automation_1.LocalWorkspace.createStack({ stackName, projectName, program }); | ||
yield stack.up({ userAgent }); | ||
// we shouldn't be able to remove the stack without force | ||
// since the stack has an active resource | ||
assert_1.default.rejects(stack.workspace.removeStack(stackName)); | ||
yield stack.workspace.removeStack(stackName, { force: true }); | ||
// we shouldn't be able to select the stack after it's been removed | ||
// we expect this error | ||
assert_1.default.rejects(stack.workspace.selectStack(stackName)); | ||
})); | ||
it(`refreshes before preview`, () => __awaiter(void 0, void 0, void 0, function* () { | ||
@@ -592,0 +614,0 @@ // We create a simple program, and scan the output for an indication |
@@ -16,3 +16,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.version = "3.120.1-alpha.xbefb249"; | ||
exports.version = "3.120.1-alpha.xec40866"; | ||
//# sourceMappingURL=version.js.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
14539291
128589