@go-to-k/cdkd 0.302.4 → 0.303.0

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.
Files changed (43) hide show
  1. package/dist/{asg-provider-CGqU-6sj.js → asg-provider-CJIPV0St.js} +11 -8
  2. package/dist/asg-provider-CJIPV0St.js.map +1 -0
  3. package/dist/{aws-client-defaults-DBXBcg0J.js → aws-client-defaults-BX9Y_fKp.js} +11 -2
  4. package/dist/{aws-client-defaults-DBXBcg0J.js.map → aws-client-defaults-BX9Y_fKp.js.map} +1 -1
  5. package/dist/{aws-clients-B_CEQGE1.js → aws-clients-BJ7dmM_T.js} +3 -8
  6. package/dist/aws-clients-BJ7dmM_T.js.map +1 -0
  7. package/dist/{aws-failure-text-e_ddrDDo.js → aws-failure-text-w5_iao51.js} +3 -2
  8. package/dist/{aws-failure-text-e_ddrDDo.js.map → aws-failure-text-w5_iao51.js.map} +1 -1
  9. package/dist/cli.js +3 -2
  10. package/dist/cli.js.map +1 -1
  11. package/dist/{db-instance-modify-retry-D0e5Ryd_.js → db-instance-modify-retry-f79-MmD9.js} +3 -3
  12. package/dist/{db-instance-modify-retry-D0e5Ryd_.js.map → db-instance-modify-retry-f79-MmD9.js.map} +1 -1
  13. package/dist/{deploy-engine-CN2w5GAK.js → deploy-engine-Bx98Q92J.js} +5433 -303
  14. package/dist/deploy-engine-Bx98Q92J.js.map +1 -0
  15. package/dist/{iam-policy-targets-DBAi38y_.js → iam-policy-targets-NZn9Idzv.js} +67 -11
  16. package/dist/iam-policy-targets-NZn9Idzv.js.map +1 -0
  17. package/dist/{iam-role-provider-Cv7YzUwO.js → iam-role-provider-C8WZMqgE.js} +13 -8
  18. package/dist/iam-role-provider-C8WZMqgE.js.map +1 -0
  19. package/dist/index.d.ts +33 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +5 -5
  22. package/dist/{neptune-provider-BcENx6g8.js → neptune-provider-NdOn7ncA.js} +39 -26
  23. package/dist/neptune-provider-NdOn7ncA.js.map +1 -0
  24. package/dist/{program-CAibYjpk.js → program-TEYrbsKm.js} +1938 -233
  25. package/dist/program-TEYrbsKm.js.map +1 -0
  26. package/dist/{provider-classes-B52ogqNj.js → provider-classes-g1s3vsUl.js} +1409 -527
  27. package/dist/provider-classes-g1s3vsUl.js.map +1 -0
  28. package/dist/{rds-provider-C6jYh60H.js → rds-provider-BlAiy5-P.js} +20 -13
  29. package/dist/rds-provider-BlAiy5-P.js.map +1 -0
  30. package/dist/{version-CNK8U3qj.js → version-BhQymxXT.js} +2 -2
  31. package/dist/{version-CNK8U3qj.js.map → version-BhQymxXT.js.map} +1 -1
  32. package/package.json +1 -1
  33. package/dist/asg-provider-CGqU-6sj.js.map +0 -1
  34. package/dist/aws-clients-B_CEQGE1.js.map +0 -1
  35. package/dist/deploy-engine-CN2w5GAK.js.map +0 -1
  36. package/dist/iam-policy-targets-DBAi38y_.js.map +0 -1
  37. package/dist/iam-role-provider-Cv7YzUwO.js.map +0 -1
  38. package/dist/neptune-provider-BcENx6g8.js.map +0 -1
  39. package/dist/program-CAibYjpk.js.map +0 -1
  40. package/dist/provider-classes-B52ogqNj.js.map +0 -1
  41. package/dist/rds-provider-C6jYh60H.js.map +0 -1
  42. package/dist/secret-redaction-BHWS-PZK.js +0 -3937
  43. package/dist/secret-redaction-BHWS-PZK.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { Q as safeMsg, T as generatedNameFor, n as describeAwsFailure, s as getLogger } from "./aws-failure-text-e_ddrDDo.js";
2
- import { B as deleteWithProtectionCompensation, Cn as ProvisioningError, Cr as markRedactedCause, E as assertRegionMatch, F as resolveExplicitPhysicalId, It as markCreatedBeforeFailure, J as rdsFamilyProtectionSite, K as observeThenDisableProtection, L as ProtectionFlipRegistry, Sr as markNonRetryable, T as RESOURCE_NOT_FOUND, Tt as maskerOrIdentity, j as normalizeAwsTagsToCfn, nn as ambientClientDefaults, q as protectionFlipKey, u as clearOnUpdateRemoval, w as withoutServerErrorRetries, z as deleteAfterProtectionFlipWithFinalSnapshot } from "./iam-policy-targets-DBAi38y_.js";
3
- import { s as ambientRegion } from "./aws-client-defaults-DBXBcg0J.js";
4
- import { Br as stringifyIfAssigned, Ir as refuseMalformedDesiredTags, Pr as planTagDiff, Rr as tagPlanWarning, W as enclosingDeadlineRemainingMs, zr as definedAttributes } from "./deploy-engine-CN2w5GAK.js";
5
- import { t as modifyDbInstanceWhenAvailable } from "./db-instance-modify-retry-D0e5Ryd_.js";
1
+ import { Q as safeMsg, T as generatedNameFor, n as describeAwsFailure, s as getLogger } from "./aws-failure-text-w5_iao51.js";
2
+ import { Cr as markNonRetryable, D as markNotGone, Dt as maskerOrIdentity, H as deleteWithProtectionCompensation, J as observeThenDisableProtection, L as resolveExplicitPhysicalId, N as normalizeAwsTagsToCfn, O as assertRegionMatch, Rt as markCreatedBeforeFailure, T as RESOURCE_NOT_FOUND, Tn as ProvisioningError, Tr as wrapMaskedAwsError, V as deleteAfterProtectionFlipWithFinalSnapshot, X as rdsFamilyProtectionSite, Y as protectionFlipKey, in as ambientClientDefaults, sr as relayedNameCollision, u as clearOnUpdateRemoval, w as withoutServerErrorRetries, wr as markRedactedCause, z as ProtectionFlipRegistry } from "./iam-policy-targets-NZn9Idzv.js";
3
+ import { c as ambientRegion } from "./aws-client-defaults-BX9Y_fKp.js";
4
+ import { W as enclosingDeadlineRemainingMs, ci as stringifyIfAssigned, ii as refuseMalformedDesiredTags, ni as planTagDiff, oi as tagPlanWarning, si as definedAttributes } from "./deploy-engine-Bx98Q92J.js";
5
+ import { t as modifyDbInstanceWhenAvailable } from "./db-instance-modify-retry-f79-MmD9.js";
6
6
  import { DescribeSecurityGroupsCommand, EC2Client } from "@aws-sdk/client-ec2";
7
7
  import { AddTagsToResourceCommand, CreateDBClusterCommand, CreateDBInstanceCommand, CreateDBSubnetGroupCommand, DeleteDBClusterCommand, DeleteDBInstanceCommand, DeleteDBSubnetGroupCommand, DescribeDBClustersCommand, DescribeDBInstancesCommand, DescribeDBSubnetGroupsCommand, ListTagsForResourceCommand, ModifyDBClusterCommand, ModifyDBInstanceCommand, ModifyDBSubnetGroupCommand, NeptuneClient, RemoveTagsFromResourceCommand } from "@aws-sdk/client-neptune";
8
8
 
@@ -101,19 +101,20 @@ var NeptuneProvider = class {
101
101
  this.getClient();
102
102
  return this.createClient;
103
103
  }
104
- async create(logicalId, resourceType, properties) {
104
+ async create(logicalId, resourceType, properties, context) {
105
+ const mask = context?.maskSecrets;
105
106
  switch (resourceType) {
106
- case "AWS::Neptune::DBSubnetGroup": return this.createDBSubnetGroup(logicalId, resourceType, properties);
107
- case "AWS::Neptune::DBCluster": return this.createDBCluster(logicalId, resourceType, properties);
108
- case "AWS::Neptune::DBInstance": return this.createDBInstance(logicalId, resourceType, properties);
107
+ case "AWS::Neptune::DBSubnetGroup": return this.createDBSubnetGroup(logicalId, resourceType, properties, mask);
108
+ case "AWS::Neptune::DBCluster": return this.createDBCluster(logicalId, resourceType, properties, mask);
109
+ case "AWS::Neptune::DBInstance": return this.createDBInstance(logicalId, resourceType, properties, mask);
109
110
  default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId);
110
111
  }
111
112
  }
112
113
  async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
113
114
  switch (resourceType) {
114
- case "AWS::Neptune::DBSubnetGroup": return this.updateDBSubnetGroup(logicalId, physicalId, resourceType, properties, previousProperties);
115
+ case "AWS::Neptune::DBSubnetGroup": return this.updateDBSubnetGroup(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets);
115
116
  case "AWS::Neptune::DBCluster": return this.updateDBCluster(logicalId, physicalId, resourceType, properties, previousProperties, context);
116
- case "AWS::Neptune::DBInstance": return this.updateDBInstance(logicalId, physicalId, resourceType, properties, previousProperties);
117
+ case "AWS::Neptune::DBInstance": return this.updateDBInstance(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets);
117
118
  default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId, physicalId);
118
119
  }
119
120
  }
@@ -125,7 +126,7 @@ var NeptuneProvider = class {
125
126
  default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId, physicalId);
126
127
  }
127
128
  }
128
- async createDBSubnetGroup(logicalId, resourceType, properties) {
129
+ async createDBSubnetGroup(logicalId, resourceType, properties, mask) {
129
130
  this.logger.debug(`Creating Neptune DBSubnetGroup ${logicalId}`);
130
131
  const tags = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
131
132
  const dbSubnetGroupName = properties["DBSubnetGroupName"] || generatedNameFor("AWS::Neptune::DBSubnetGroup", logicalId);
@@ -143,10 +144,10 @@ var NeptuneProvider = class {
143
144
  };
144
145
  } catch (error) {
145
146
  const cause = error instanceof Error ? error : void 0;
146
- throw new ProvisioningError(`Failed to create Neptune DBSubnetGroup ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, dbSubnetGroupName, cause);
147
+ throw this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to create Neptune DBSubnetGroup ${logicalId}: ${text}`, resourceType, logicalId, dbSubnetGroupName, cause));
147
148
  }
148
149
  }
149
- async updateDBSubnetGroup(logicalId, physicalId, resourceType, properties, previousProperties) {
150
+ async updateDBSubnetGroup(logicalId, physicalId, resourceType, properties, previousProperties, mask) {
150
151
  this.logger.debug(`Updating Neptune DBSubnetGroup ${logicalId}: ${physicalId}`);
151
152
  refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
152
153
  try {
@@ -168,7 +169,7 @@ var NeptuneProvider = class {
168
169
  };
169
170
  } catch (error) {
170
171
  const cause = error instanceof Error ? error : void 0;
171
- throw new ProvisioningError(`Failed to update Neptune DBSubnetGroup ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
172
+ throw this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to update Neptune DBSubnetGroup ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
172
173
  }
173
174
  }
174
175
  async deleteDBSubnetGroup(logicalId, physicalId, resourceType, context) {
@@ -184,10 +185,10 @@ var NeptuneProvider = class {
184
185
  return;
185
186
  }
186
187
  const cause = error instanceof Error ? error : void 0;
187
- throw new ProvisioningError(`Failed to delete Neptune DBSubnetGroup ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
188
+ throw this.wrapDeleteError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete Neptune DBSubnetGroup ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
188
189
  }
189
190
  }
190
- async createDBCluster(logicalId, resourceType, properties) {
191
+ async createDBCluster(logicalId, resourceType, properties, mask) {
191
192
  this.logger.debug(`Creating Neptune DBCluster ${logicalId}`);
192
193
  const tags = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
193
194
  const dbClusterIdentifier = properties["DBClusterIdentifier"] || generatedNameFor("AWS::Neptune::DBCluster", logicalId);
@@ -221,7 +222,7 @@ var NeptuneProvider = class {
221
222
  attributes: clusterAttributes(await this.describeDBCluster(dbClusterIdentifier))
222
223
  };
223
224
  } catch (error) {
224
- const thrown = error instanceof ProvisioningError ? error : new ProvisioningError(`Failed to create Neptune DBCluster ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, dbClusterIdentifier, error instanceof Error ? error : void 0);
225
+ const thrown = error instanceof ProvisioningError ? error : this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to create Neptune DBCluster ${logicalId}: ${text}`, resourceType, logicalId, dbClusterIdentifier, error instanceof Error ? error : void 0));
225
226
  if (clusterCreated) markCreatedBeforeFailure(thrown, logicalId, resourceType, dbClusterIdentifier, createdResourceId);
226
227
  throw thrown;
227
228
  }
@@ -259,7 +260,7 @@ var NeptuneProvider = class {
259
260
  } catch (error) {
260
261
  if (error instanceof ProvisioningError) throw error;
261
262
  const cause = error instanceof Error ? error : void 0;
262
- throw new ProvisioningError(`Failed to update Neptune DBCluster ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
263
+ throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to update Neptune DBCluster ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
263
264
  }
264
265
  }
265
266
  async deleteDBCluster(logicalId, physicalId, resourceType, context) {
@@ -336,10 +337,10 @@ var NeptuneProvider = class {
336
337
  return;
337
338
  }
338
339
  const cause = error instanceof Error ? error : void 0;
339
- throw new ProvisioningError(`Failed to delete Neptune DBCluster ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
340
+ throw this.wrapDeleteError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete Neptune DBCluster ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
340
341
  }
341
342
  }
342
- async createDBInstance(logicalId, resourceType, properties) {
343
+ async createDBInstance(logicalId, resourceType, properties, mask) {
343
344
  this.logger.debug(`Creating Neptune DBInstance ${logicalId}`);
344
345
  const tags = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
345
346
  const dbInstanceIdentifier = properties["DBInstanceIdentifier"] || generatedNameFor("AWS::Neptune::DBInstance", logicalId);
@@ -369,12 +370,12 @@ var NeptuneProvider = class {
369
370
  attributes: instanceAttributes(await this.describeDBInstance(dbInstanceIdentifier))
370
371
  };
371
372
  } catch (error) {
372
- const thrown = error instanceof ProvisioningError ? error : new ProvisioningError(`Failed to create Neptune DBInstance ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, dbInstanceIdentifier, error instanceof Error ? error : void 0);
373
+ const thrown = error instanceof ProvisioningError ? error : this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to create Neptune DBInstance ${logicalId}: ${text}`, resourceType, logicalId, dbInstanceIdentifier, error instanceof Error ? error : void 0));
373
374
  if (instanceCreated) markCreatedBeforeFailure(thrown, logicalId, resourceType, dbInstanceIdentifier, createdResourceId);
374
375
  throw thrown;
375
376
  }
376
377
  }
377
- async updateDBInstance(logicalId, physicalId, resourceType, properties, previousProperties) {
378
+ async updateDBInstance(logicalId, physicalId, resourceType, properties, previousProperties, mask) {
378
379
  this.logger.debug(`Updating Neptune DBInstance ${logicalId}: ${physicalId}`);
379
380
  refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
380
381
  try {
@@ -405,7 +406,7 @@ var NeptuneProvider = class {
405
406
  };
406
407
  } catch (error) {
407
408
  const cause = error instanceof Error ? error : void 0;
408
- throw new ProvisioningError(`Failed to update Neptune DBInstance ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
409
+ throw this.wrapCaughtError(mask, error, (text) => new ProvisioningError(`Failed to update Neptune DBInstance ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
409
410
  }
410
411
  }
411
412
  async deleteDBInstance(logicalId, physicalId, resourceType, context) {
@@ -475,9 +476,21 @@ var NeptuneProvider = class {
475
476
  return;
476
477
  }
477
478
  const cause = error instanceof Error ? error : void 0;
478
- throw new ProvisioningError(`Failed to delete Neptune DBInstance ${logicalId}: ${describeAwsFailure(error).detail}`, resourceType, logicalId, physicalId, cause);
479
+ throw this.wrapDeleteError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete Neptune DBInstance ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
479
480
  }
480
481
  }
482
+ wrapCaughtError(mask, error, build) {
483
+ const m = maskerOrIdentity(mask);
484
+ const failure = describeAwsFailure(error);
485
+ if (!failure.redacted) return wrapMaskedAwsError(m, error, build);
486
+ this.logger.debug(m(build(m(failure.detail)).message));
487
+ const wrapped = build(`${m(failure.summary)}${relayedNameCollision(failure.detail)}`);
488
+ return error instanceof Error ? markRedactedCause(wrapped) : wrapped;
489
+ }
490
+ wrapDeleteError(mask, error, build) {
491
+ const thrown = this.wrapCaughtError(mask, error, build);
492
+ return error instanceof Error && error.name.includes("NotFound") ? markNotGone(thrown) : thrown;
493
+ }
481
494
  async applyTagDiff(arn, resourceType, logicalId, oldTagsRaw, newTagsRaw) {
482
495
  const plan = planTagDiff(oldTagsRaw, newTagsRaw);
483
496
  const tagWarning = tagPlanWarning(plan, resourceType, logicalId);
@@ -862,4 +875,4 @@ function securityGroupListChanged(sent, previous) {
862
875
 
863
876
  //#endregion
864
877
  export { NeptuneProvider };
865
- //# sourceMappingURL=neptune-provider-BcENx6g8.js.map
878
+ //# sourceMappingURL=neptune-provider-NdOn7ncA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neptune-provider-NdOn7ncA.js","names":[],"sources":["../src/provisioning/providers/neptune-provider.ts"],"mappings":"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"}