takomo 9.0.0-alpha.4 → 9.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,7 @@ import { createTargetListenerInternal } from "../config-set/target-listener.js";
6
6
  import { formatCommandStatus } from "../formatters.js";
7
7
  import { createDeployStacksIO } from "../stacks/deploy-stacks/deploy-stacks-io.js";
8
8
  import { createUndeployStacksIO } from "../stacks/undeploy-stacks-io.js";
9
+ import { isCustomStack } from "../../stacks/custom-stack.js";
9
10
  const makeChoices = ({ confirmAnswerCancel, confirmAnswerContinueAndReview, confirmAnswerContinueNoReview, }) => [
10
11
  {
11
12
  name: confirmAnswerCancel,
@@ -46,6 +47,7 @@ export const createDeploymentTargetsOperationIO = (props) => {
46
47
  .cell("Command path", result.commandPath)
47
48
  .cell("Stack path", stackResult.stack.path)
48
49
  .cell("Stack name", stackResult.stack.name)
50
+ .cell("Stack type", isCustomStack(stackResult.stack) ? "custom" : "standard")
49
51
  .cell("Status", formatCommandStatus(stackResult.status))
50
52
  .cell("Time", stackResult.timer.getFormattedTimeElapsed())
51
53
  .cell("Message", stackResult.message)
@@ -60,6 +62,7 @@ export const createDeploymentTargetsOperationIO = (props) => {
60
62
  .cell("Command path", result.commandPath)
61
63
  .cell("Stack path", "-")
62
64
  .cell("Stack name", "-")
65
+ .cell("Stack type", "-")
63
66
  .cell("Status", formatCommandStatus(result.status))
64
67
  .cell("Time", result.result.timer.getFormattedTimeElapsed())
65
68
  .cell("Message", result.result.message)
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-operation-io.js","sourceRoot":"","sources":["../../../src/cli-io/deployment-targets/deployment-operation-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment-operation-io.js","sourceRoot":"","sources":["../../../src/cli-io/deployment-targets/deployment-operation-io.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { ResourceStatus, StackDriftStatus, StackEvent, StackStatus } from "../aws/cloudformation/model.js";
2
+ import { StackInfo } from "../command/stacks/list/model.js";
2
3
  import { CustomStackStatus } from "../stacks/custom-stack.js";
3
4
  import { CommandStatus } from "../takomo-core/command.js";
4
5
  export declare const formatCommandStatus: (status: CommandStatus) => string;
5
6
  export declare const formatResourceStatus: (status: ResourceStatus) => string;
6
7
  export declare const formatCustomStackStatus: (status: CustomStackStatus) => string;
7
8
  export declare const formatStandardStackStatus: (status?: StackStatus) => string;
9
+ export declare const formatStackInfoStatus: (info: StackInfo) => string;
8
10
  export declare const formatDriftStatus: (status?: StackDriftStatus) => string;
9
11
  export declare const formatStackEvent: (e: StackEvent) => string;
@@ -1,4 +1,4 @@
1
- import { cyan, green, grey, red, yellow } from "../utils/colors.js";
1
+ import { cyan, green, grey, orange, red, yellow } from "../utils/colors.js";
2
2
  import { exhaustiveCheck } from "../utils/exhaustive-check.js";
3
3
  export const formatCommandStatus = (status) => {
4
4
  switch (status) {
@@ -36,6 +36,8 @@ export const formatCustomStackStatus = (status) => {
36
36
  return green(status);
37
37
  case "PENDING":
38
38
  return cyan(status);
39
+ case "UNKNOWN":
40
+ return orange(status);
39
41
  default:
40
42
  return exhaustiveCheck(status);
41
43
  }
@@ -74,6 +76,16 @@ export const formatStandardStackStatus = (status) => {
74
76
  return status;
75
77
  }
76
78
  };
79
+ export const formatStackInfoStatus = (info) => {
80
+ switch (info.type) {
81
+ case "custom":
82
+ return formatCustomStackStatus(info.status);
83
+ case "standard":
84
+ return formatStandardStackStatus(info.status);
85
+ default:
86
+ return exhaustiveCheck(info);
87
+ }
88
+ };
77
89
  export const formatDriftStatus = (status) => {
78
90
  if (!status) {
79
91
  return grey("NOT_CHECKED");
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/cli-io/formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/cli-io/formatters.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import Table from "easy-table";
2
2
  import { toPrettyJson } from "../../utils/json.js";
3
3
  import { formatYaml } from "../../utils/yaml.js";
4
4
  import { createBaseIO } from "../cli-io.js";
5
- import { formatStandardStackStatus } from "../formatters.js";
5
+ import { formatStackInfoStatus } from "../formatters.js";
6
6
  import { formatDate } from "./common.js";
7
7
  export const createListStacksIO = (props) => {
8
8
  const { logger } = props;
@@ -41,7 +41,7 @@ export const createListStacksIO = (props) => {
41
41
  .cell("Path", stack.path)
42
42
  .cell("Name", stack.name)
43
43
  .cell("Type", stack.type)
44
- .cell("Status", formatStandardStackStatus(stack.status))
44
+ .cell("Status", formatStackInfoStatus(stack))
45
45
  .cell("Created", formatDate(stack.createdTime))
46
46
  .cell("Updated", formatDate(stack.updatedTime))
47
47
  .newRow();
@@ -1 +1 @@
1
- {"version":3,"file":"list-stacks-io.js","sourceRoot":"","sources":["../../../src/cli-io/stacks/list-stacks-io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAK9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAW,MAAM,aAAa,CAAA;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAgB,EAAE;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAE9B,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAoB,EAAE;QACjE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QACxC,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,EAAE,CAAC,OAAO,CAAC;oBACT,IAAI,EAAE,YAAY,CAAC;wBACjB,OAAO;wBACP,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;qBACpC,CAAC;iBACH,CAAC,CAAA;gBACF,MAAK;YACP,KAAK,MAAM;gBACT,EAAE,CAAC,OAAO,CAAC;oBACT,IAAI,EAAE,UAAU,CAAC;wBACf,OAAO;wBACP,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;qBACpC,CAAC;iBACH,CAAC,CAAA;gBACF,MAAK;YACP;gBACE,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;gBAEzB,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACxB,KAAK;yBACF,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;yBACxB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;yBACxB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;yBACxB,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;yBACvD,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;yBAC9C,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;yBAC9C,MAAM,EAAE,CAAA;gBACb,CAAC,CAAC,CAAA;gBAEF,EAAE,CAAC,OAAO,CAAC;oBACT,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE;oBACtB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAA;QACN,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,OAAO;QACL,GAAG,EAAE;QACL,GAAG,MAAM;QACT,WAAW;KACZ,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"list-stacks-io.js","sourceRoot":"","sources":["../../../src/cli-io/stacks/list-stacks-io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAK9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAW,MAAM,aAAa,CAAA;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAgB,EAAE;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAE9B,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAoB,EAAE;QACjE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QACxC,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,EAAE,CAAC,OAAO,CAAC;oBACT,IAAI,EAAE,YAAY,CAAC;wBACjB,OAAO;wBACP,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;qBACpC,CAAC;iBACH,CAAC,CAAA;gBACF,MAAK;YACP,KAAK,MAAM;gBACT,EAAE,CAAC,OAAO,CAAC;oBACT,IAAI,EAAE,UAAU,CAAC;wBACf,OAAO;wBACP,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;qBACpC,CAAC;iBACH,CAAC,CAAA;gBACF,MAAK;YACP;gBACE,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;gBAEzB,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACxB,KAAK;yBACF,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;yBACxB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;yBACxB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;yBACxB,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;yBAC5C,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;yBAC9C,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;yBAC9C,MAAM,EAAE,CAAA;gBACb,CAAC,CAAC,CAAA;gBAEF,EAAE,CAAC,OAAO,CAAC;oBACT,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE;oBACtB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAA;QACN,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IAED,OAAO;QACL,GAAG,EAAE;QACL,GAAG,MAAM;QACT,WAAW;KACZ,CAAA;AACH,CAAC,CAAA"}
@@ -47,6 +47,10 @@ export const loadCurrentStandardStacks = async (logger, stacks) => {
47
47
  };
48
48
  export const getCustomStackState = async (ctx, stack) => {
49
49
  const { customStackHandler, customConfig, logger, path } = stack;
50
+ if (!customStackHandler.getCurrentState) {
51
+ logger.debug(`Custom stack handler '${customStackHandler.type}' does not implement getCurrentState() for stack ${path}, returning UNKNOWN state`);
52
+ return { status: "UNKNOWN" };
53
+ }
50
54
  try {
51
55
  const result = await customStackHandler.getCurrentState({
52
56
  logger,
@@ -1 +1 @@
1
- {"version":3,"file":"load-current-cf-stacks.js","sourceRoot":"","sources":["../../../../src/command/stacks/common/load-current-cf-stacks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-current-cf-stacks.js","sourceRoot":"","sources":["../../../../src/command/stacks/common/load-current-cf-stacks.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,37 @@ export class UnexpectedChangesInCustomStackError extends TakomoError {
7
7
  super(message);
8
8
  }
9
9
  }
10
+ const getChangesInternal = async ({ customStackHandler, logger, stack, currentState, ctx, parameters, tags, }) => {
11
+ if (!customStackHandler.getChanges) {
12
+ logger.debug(`Custom stack handler '${customStackHandler.type}' does not implement getChanges(), assuming changes are present`);
13
+ return {
14
+ success: true,
15
+ changes: [{ description: "Changes present but no details available" }],
16
+ };
17
+ }
18
+ try {
19
+ return await customStackHandler.getChanges({
20
+ config: stack.customConfig,
21
+ currentState,
22
+ logger,
23
+ parameters,
24
+ tags,
25
+ ctx,
26
+ stack,
27
+ });
28
+ }
29
+ catch (e) {
30
+ logger.error("Failed to get custom stack changes", e);
31
+ return {
32
+ success: false,
33
+ message: "Failed to get custom stack changes",
34
+ error: e,
35
+ };
36
+ }
37
+ };
10
38
  export const getChanges = async (state) => {
11
- const { transitions, expectNoChanges, customStackHandler, logger, parameters, tags, ctx, stack, currentState, } = state;
12
- const result = await customStackHandler.getChanges({
13
- config: stack.customConfig,
14
- currentState,
15
- logger,
16
- parameters,
17
- tags,
18
- ctx,
19
- stack,
20
- });
39
+ const { transitions, expectNoChanges, logger } = state;
40
+ const result = await getChangesInternal(state);
21
41
  if (!result.success) {
22
42
  logger.error("Failed to get custom stack changes", result.error);
23
43
  return transitions.failStackOperation({
@@ -1 +1 @@
1
- {"version":3,"file":"get-changes.js","sourceRoot":"","sources":["../../../../../../src/command/stacks/deploy/custom-stack/steps/get-changes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAI7D,MAAM,OAAO,mCAAoC,SAAQ,WAAW;IAClE,YAAY,OAAyC;QACnD,IAAI,OAAO,GAAG,mCAAmC,CAAA;QACjD,OAAO,IAAI,iBAAiB,WAAW,CACrC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CACtC,MAAM,CAAA;QAEP,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAmC,KAAK,EAAE,KAAK,EAAE,EAAE;IACxE,MAAM,EACJ,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,MAAM,EACN,UAAU,EACV,IAAI,EACJ,GAAG,EACH,KAAK,EACL,YAAY,GACb,GAAG,KAAK,CAAA;IAET,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC;QACjD,MAAM,EAAE,KAAK,CAAC,YAAY;QAC1B,YAAY;QACZ,MAAM;QACN,UAAU;QACV,IAAI;QACJ,GAAG;QACH,KAAK;KACN,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhE,OAAO,WAAW,CAAC,kBAAkB,CAAC;YACpC,GAAG,KAAK;YACR,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,uBAAuB;SACnD,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACxC,OAAO,WAAW,CAAC,sBAAsB,CAAC;YACxC,GAAG,KAAK;YACR,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,WAAW,CAAC,kBAAkB,CAAC;YACpC,GAAG,KAAK;YACR,OAAO,EAAE,8BAA8B;YACvC,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,IAAI,mCAAmC,CAAC,OAAO,CAAC;SACxD,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,GAAG,KAAK;QACR,OAAO;KACR,CAAA;IAED,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;AACnD,CAAC,CAAA"}
1
+ {"version":3,"file":"get-changes.js","sourceRoot":"","sources":["../../../../../../src/command/stacks/deploy/custom-stack/steps/get-changes.ts"],"names":[],"mappings":"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"}
@@ -29,4 +29,5 @@ export interface StacksDeployPlan {
29
29
  readonly operations: ReadonlyArray<StackDeployOperation>;
30
30
  }
31
31
  export declare const resolveOperationType: (status?: StackStatus) => StackOperationType;
32
+ export declare const resolveCustomStackOperationType: (currentState: CustomStackState) => StackOperationType;
32
33
  export declare const buildStacksDeployPlan: (stacks: ReadonlyArray<InternalStack>, commandPath: CommandPath, ignoreDependencies: boolean, logger: TkmLogger, ctx: StacksContext) => Promise<StacksDeployPlan>;
@@ -42,6 +42,18 @@ export const resolveOperationType = (status) => {
42
42
  throw new Error(`Unsupported stack status: ${status}`);
43
43
  }
44
44
  };
45
+ export const resolveCustomStackOperationType = (currentState) => {
46
+ switch (currentState.status) {
47
+ case "CREATE_COMPLETE":
48
+ case "UPDATE_COMPLETE":
49
+ return "UPDATE";
50
+ case "UNKNOWN":
51
+ case "PENDING":
52
+ return "CREATE";
53
+ default:
54
+ return exhaustiveCheck(currentState.status);
55
+ }
56
+ };
45
57
  const convertToOperation = (pair) => {
46
58
  if (isStandardStackPair(pair)) {
47
59
  return {
@@ -54,9 +66,10 @@ const convertToOperation = (pair) => {
54
66
  if (isCustomStackPair(pair)) {
55
67
  return {
56
68
  stack: pair.stack,
57
- type: pair.currentState?.status === "PENDING" ? "CREATE" : "UPDATE",
69
+ type: resolveCustomStackOperationType(pair.currentState),
58
70
  currentState: pair.currentState,
59
- stackExistedBeforeOperation: pair.currentState.status !== "PENDING",
71
+ stackExistedBeforeOperation: pair.currentState.status !== "PENDING" &&
72
+ pair.currentState.status !== "UNKNOWN",
60
73
  };
61
74
  }
62
75
  return exhaustiveCheck(pair);
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../src/command/stacks/deploy/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../src/command/stacks/deploy/plan.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { isNotObsolete } from "../../../takomo-stacks-model/util.js";
2
2
  import { isCustomStackPair, isStandardStackPair, loadCurrentStacks, } from "../common/load-current-cf-stacks.js";
3
+ import { exhaustiveCheck } from "../../../utils/exhaustive-check.js";
3
4
  export const listStacks = async (ctx, input, logger) => {
4
5
  const { timer, commandPath, outputFormat } = input;
5
6
  const stacksWithinCommandPath = ctx.stacks
@@ -12,9 +13,7 @@ export const listStacks = async (ctx, input, logger) => {
12
13
  path: pair.stack.path,
13
14
  name: pair.stack.name,
14
15
  type: "custom",
15
- status: (pair.currentState
16
- ? "CREATE_COMPLETE"
17
- : "PENDING"),
16
+ status: pair.currentState.status,
18
17
  createdTime: pair.currentState?.creationTime,
19
18
  updatedTime: pair.currentState?.lastUpdatedTime,
20
19
  };
@@ -29,7 +28,7 @@ export const listStacks = async (ctx, input, logger) => {
29
28
  updatedTime: pair.currentStack?.lastUpdatedTime,
30
29
  };
31
30
  }
32
- throw new Error(`Unknown stack pair type`);
31
+ return exhaustiveCheck(pair);
33
32
  });
34
33
  return {
35
34
  success: true,
@@ -1 +1 @@
1
- {"version":3,"file":"list-stacks.js","sourceRoot":"","sources":["../../../../src/command/stacks/list/list-stacks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qCAAqC,CAAA;AAG5C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,GAA0B,EAC1B,KAAsB,EACtB,MAAiB,EACU,EAAE;IAC7B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;IAElD,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM;SACvC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SACrD,MAAM,CAAC,aAAa,CAAC,CAAA;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,MAAM,EACN,uBAAuB,EACvB,GAAG,CACJ,CAAA;IAED,MAAM,OAAO,GAA6B,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChE,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY;oBACxB,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,SAAS,CAAgB;gBAC7B,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY;gBAC5C,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe;aAChD,CAAA;QACH,CAAC;QAED,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM;gBACjC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY;gBAC5C,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe;aAChD,CAAA;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,YAAY;QACZ,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;QACnB,OAAO;KACR,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"list-stacks.js","sourceRoot":"","sources":["../../../../src/command/stacks/list/list-stacks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,GAA0B,EAC1B,KAAsB,EACtB,MAAiB,EACU,EAAE;IAC7B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;IAElD,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM;SACvC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SACrD,MAAM,CAAC,aAAa,CAAC,CAAA;IAExB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,MAAM,EACN,uBAAuB,EACvB,GAAG,CACJ,CAAA;IAED,MAAM,OAAO,GAA6B,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChE,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;gBAChC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY;gBAC5C,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe;aAChD,CAAA;QACH,CAAC;QAED,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM;gBACjC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY;gBAC5C,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe;aAChD,CAAA;QACH,CAAC;QAED,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,YAAY;QACZ,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;QACnB,OAAO;KACR,CAAA;AACH,CAAC,CAAA"}
@@ -1,17 +1,28 @@
1
1
  import { StackName, StackStatus } from "../../../aws/cloudformation/model.js";
2
+ import { CustomStackStatus } from "../../../stacks/custom-stack.js";
2
3
  import { StackPath } from "../../../stacks/stack.js";
3
4
  import { CommandInput, IO, ResultsOutput } from "../../../takomo-core/command.js";
4
5
  import { CommandPath } from "../../command-model.js";
5
- export interface StackInfo {
6
+ type BaseStackInfo = {
7
+ readonly type: "custom" | "standard";
6
8
  readonly path: StackPath;
7
9
  readonly name: StackName;
8
- readonly type: "custom" | "standard";
9
- readonly status?: StackStatus;
10
+ readonly status?: StackStatus | CustomStackStatus;
10
11
  readonly createdTime?: Date;
11
12
  readonly updatedTime?: Date;
12
- }
13
+ };
14
+ export type CustomStackInfo = BaseStackInfo & {
15
+ readonly type: "custom";
16
+ readonly status: CustomStackStatus;
17
+ };
18
+ export type StandardStackInfo = BaseStackInfo & {
19
+ readonly type: "standard";
20
+ readonly status?: StackStatus;
21
+ };
22
+ export type StackInfo = CustomStackInfo | StandardStackInfo;
13
23
  export interface ListStacksInput extends CommandInput {
14
24
  readonly commandPath: CommandPath;
15
25
  }
16
26
  export type ListStacksOutput = ResultsOutput<StackInfo>;
17
27
  export type ListStacksIO = IO<ListStacksOutput>;
28
+ export {};
@@ -11,6 +11,7 @@ export const resolveUndeployCustomStackOperationType = (currentState) => {
11
11
  switch (currentState.status) {
12
12
  case "CREATE_COMPLETE":
13
13
  case "UPDATE_COMPLETE":
14
+ case "UNKNOWN":
14
15
  return "DELETE";
15
16
  case "PENDING":
16
17
  return "SKIP";
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../src/command/stacks/undeploy/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../src/command/stacks/undeploy/plan.ts"],"names":[],"mappings":"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"}
@@ -446,22 +446,26 @@ export interface CustomStackHandler<CONFIG, STATE extends CustomStackState> {
446
446
  /**
447
447
  * Retrieves the current state of the custom stack from the target environment.
448
448
  *
449
- * This method is crucial for determining the stack's lifecycle operations:
449
+ * This function is crucial for determining the stack's lifecycle operations:
450
450
  * - During deployment: determines whether to create a new stack or update an existing one
451
451
  * - During undeployment: determines whether a stack exists and needs to be deleted
452
452
  *
453
453
  * The implementation should query the actual infrastructure to determine the
454
454
  * real state, not just return cached or assumed values.
455
455
  *
456
+ * Implementing this function is optional; if not provided, the stack will be assumed to be in a "UNKNOWN" state.
457
+ * - During deployment; stacks with "UNKNOWN" state are assumed to require creation (i.e. create function is always invoked).
458
+ * - During undeployment; stacks with "UNKNOWN" state are assumed to require deletion (i.e. delete function is always invoked).
459
+ *
456
460
  * @param props - Configuration and context needed to query the stack state
457
461
  * @returns A promise resolving to the current state or an error result
458
462
  */
459
- readonly getCurrentState: (props: GetCurrentStateProps<CONFIG>) => Promise<GetCurrentStateResult<STATE>>;
463
+ readonly getCurrentState?: (props: GetCurrentStateProps<CONFIG>) => Promise<GetCurrentStateResult<STATE>>;
460
464
  /**
461
465
  * Analyzes and returns the changes that would be applied to bring the stack
462
466
  * from its current state to the desired state defined by the configuration.
463
467
  *
464
- * This method is invoked during deployment of existing stacks to:
468
+ * This function is invoked during deployment of existing stacks to:
465
469
  * - Show users what changes will be made before applying them
466
470
  * - Determine if any changes are actually required
467
471
  * - Enable dry-run functionality for planning purposes
@@ -470,14 +474,17 @@ export interface CustomStackHandler<CONFIG, STATE extends CustomStackState> {
470
474
  * configuration and return a detailed list of changes that would be applied.
471
475
  * The format and granularity of changes is up to the implementation.
472
476
  *
477
+ * Implementing this function is optional; if not provided, Takomo will assume that
478
+ * changes are always present but no detailed change information is available.
479
+ *
473
480
  * @param props - Current state, desired configuration, and context for comparison
474
481
  * @returns A promise resolving to the detected changes or an error result
475
482
  */
476
- readonly getChanges: (props: GetChangesProps<CONFIG, STATE>) => Promise<GetChangesResult>;
483
+ readonly getChanges?: (props: GetChangesProps<CONFIG, STATE>) => Promise<GetChangesResult>;
477
484
  /**
478
485
  * Validates and parses the raw configuration for this custom stack type.
479
486
  *
480
- * This method is responsible for:
487
+ * This function is responsible for:
481
488
  * - Validating the configuration against the expected schema
482
489
  * - Converting raw configuration data into a typed configuration object
483
490
  * - Providing meaningful error messages for invalid configurations
@@ -493,7 +500,7 @@ export interface CustomStackHandler<CONFIG, STATE extends CustomStackState> {
493
500
  /**
494
501
  * Creates a new instance of the custom stack in the target environment.
495
502
  *
496
- * This method should:
503
+ * This function should:
497
504
  * - Provision all necessary infrastructure resources
498
505
  * - Apply the specified parameters and tags
499
506
  * - Return the final state of the created stack
@@ -508,7 +515,7 @@ export interface CustomStackHandler<CONFIG, STATE extends CustomStackState> {
508
515
  /**
509
516
  * Updates an existing custom stack to match the desired configuration.
510
517
  *
511
- * This method should:
518
+ * This function should:
512
519
  * - Apply configuration changes to the existing stack
513
520
  * - Update parameters and tags as specified
514
521
  * - Handle resource modifications, additions, and removals
@@ -524,7 +531,7 @@ export interface CustomStackHandler<CONFIG, STATE extends CustomStackState> {
524
531
  /**
525
532
  * Removes the custom stack and all its associated resources from the target environment.
526
533
  *
527
- * This method should:
534
+ * This function should:
528
535
  * - Clean up all resources created by the stack
529
536
  * - Ensure complete removal without leaving orphaned resources
530
537
  * - Handle cases where some resources have already been deleted
@@ -1,7 +1,7 @@
1
1
  import { InternalCredentialManager } from "../aws/common/credentials.js";
2
2
  import { CustomStackHandler } from "../custom-stacks/custom-stack-handler.js";
3
3
  import { BaseInternalStack, CustomStackType, InternalStack, Stack, StackProps } from "./stack.js";
4
- export type CustomStackStatus = "PENDING" | "CREATE_COMPLETE" | "UPDATE_COMPLETE";
4
+ export type CustomStackStatus = "UNKNOWN" | "PENDING" | "CREATE_COMPLETE" | "UPDATE_COMPLETE";
5
5
  export interface CustomStackProps extends StackProps {
6
6
  customType: CustomStackType;
7
7
  customConfig: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"custom-stack.js","sourceRoot":"","sources":["../../src/stacks/custom-stack.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAuB,EACF,EAAE;IACvB,MAAM,EACJ,IAAI,EACJ,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,OAAO,EACP,MAAM,EACN,cAAc,EACd,IAAI,EACJ,qBAAqB,EACrB,OAAO,EACP,OAAO,EACP,UAAU,EACV,YAAY,EACZ,kBAAkB,GACnB,GAAG,KAAK,CAAA;IAET,OAAO;QACL,IAAI;QACJ,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,UAAU;QACV,WAAW;QACX,iBAAiB;QACjB,IAAI;QACJ,UAAU;QACV,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,UAAU;QACV,IAAI;QACJ,OAAO;QACP,MAAM;QACN,cAAc;QACd,IAAI;QACJ,qBAAqB;QACrB,OAAO;QACP,OAAO;QACP,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE;QACxD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;KACrB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,GAAY,EAAW,EAAE,CAC9C,GAAG,KAAK,SAAS;IACjB,GAAG,KAAK,IAAI;IACZ,OAAO,GAAG,KAAK,QAAQ;IACvB,YAAY,IAAI,GAAG;IACnB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAA;AAE9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAiB,EACU,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAoB,EACU,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAwB,EAAE,CAClE,aAAa,CAAC,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"custom-stack.js","sourceRoot":"","sources":["../../src/stacks/custom-stack.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAuB,EACF,EAAE;IACvB,MAAM,EACJ,IAAI,EACJ,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,OAAO,EACP,MAAM,EACN,cAAc,EACd,IAAI,EACJ,qBAAqB,EACrB,OAAO,EACP,OAAO,EACP,UAAU,EACV,YAAY,EACZ,kBAAkB,GACnB,GAAG,KAAK,CAAA;IAET,OAAO;QACL,IAAI;QACJ,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,UAAU;QACV,WAAW;QACX,iBAAiB;QACjB,IAAI;QACJ,UAAU;QACV,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,UAAU;QACV,IAAI;QACJ,OAAO;QACP,MAAM;QACN,cAAc;QACd,IAAI;QACJ,qBAAqB;QACrB,OAAO;QACP,OAAO;QACP,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE;QACxD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;KACrB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,GAAY,EAAW,EAAE,CAC9C,GAAG,KAAK,SAAS;IACjB,GAAG,KAAK,IAAI;IACZ,OAAO,GAAG,KAAK,QAAQ;IACvB,YAAY,IAAI,GAAG;IACnB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAA;AAE9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAiB,EACU,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAoB,EACU,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAwB,EAAE,CAClE,aAAa,CAAC,KAAK,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "takomo",
3
- "version": "9.0.0-alpha.4",
3
+ "version": "9.0.0-alpha.6",
4
4
  "description": "Organize, configure and deploy CloudFormation stacks.",
5
5
  "keywords": [
6
6
  "aws",