@go-to-k/cdkd 0.278.34 → 0.278.35
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.
- package/dist/{asg-provider-Cta08VYI.js → asg-provider-8XxBHtzK.js} +2 -2
- package/dist/{asg-provider-Cta08VYI.js.map → asg-provider-8XxBHtzK.js.map} +1 -1
- package/dist/cli.js +45 -29
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-Dp2u4Ktr.js → deploy-engine-CWZlo2Il.js} +72 -4
- package/dist/{deploy-engine-Dp2u4Ktr.js.map → deploy-engine-CWZlo2Il.js.map} +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -9141,6 +9141,54 @@ async function applyRoleArnIfSet(opts) {
|
|
|
9141
9141
|
* is why `KinesisProvider`'s read of `previousProperties.StreamModeDetails`
|
|
9142
9142
|
* is deliberately left unguarded.
|
|
9143
9143
|
*
|
|
9144
|
+
* **The `??` spelling has the same failure mode (issue #1493), and it defaults
|
|
9145
|
+
* on MORE than `||` did.** The #1471 sweep measured the `||` form;
|
|
9146
|
+
* `(cfg['K'] as string) ?? 'default'` substitutes on the same `undefined` a
|
|
9147
|
+
* malformed container indexes to, and ALSO on an explicit `null` — so a
|
|
9148
|
+
* `{ Comment: null }` that used to default now refuses, per rule 4.
|
|
9149
|
+
*
|
|
9150
|
+
* Measuring it is the part worth copying, because the obvious grep is wrong.
|
|
9151
|
+
* `\] \?\? '` finds NONE of the real sites (the cast sits inside the parens) and
|
|
9152
|
+
* the cast-word form `as [A-Za-z]+\) \?\? '` misses every `as string | undefined`
|
|
9153
|
+
* / quoted-union / line-wrapped site — including four this change rolls. The
|
|
9154
|
+
* class-covering pattern is `as [A-Za-z<>,| ]+\) \?\? '` (20 sites in
|
|
9155
|
+
* `providers/` on the pre-fix tree), plus a hand pass for the wrapped ones.
|
|
9156
|
+
*
|
|
9157
|
+
* ROLLED here: the 9 sites that INDEX A NESTED CONTAINER — CodeBuild
|
|
9158
|
+
* `Source` / `SecondarySources[]` / `Artifacts` / `SecondaryArtifacts[]` and
|
|
9159
|
+
* `Environment.{Type,ComputeType}`, DynamoDB GlobalTable
|
|
9160
|
+
* `StreamSpecification`, Route 53 `HostedZoneConfig` (create + update),
|
|
9161
|
+
* CloudFront OAI config (create + update), ECS `DeploymentController` — plus
|
|
9162
|
+
* the two `AWS::Lambda::Url` `AuthType` sites the #1471 sweep's
|
|
9163
|
+
* cast-specific grep missed (`as FunctionUrlAuthType`, not `as string`),
|
|
9164
|
+
* where the default is a PUBLIC function URL.
|
|
9165
|
+
*
|
|
9166
|
+
* Deliberately NOT rolled, so the decision is challengeable rather than
|
|
9167
|
+
* invisible:
|
|
9168
|
+
*
|
|
9169
|
+
* - **TOP-LEVEL `properties['X'] ?? 'default'` reads** (EC2 `InstanceType` /
|
|
9170
|
+
* `Domain`, API Gateway `AuthorizationType`, IAM access-key `Status`, Lambda
|
|
9171
|
+
* event-invoke `Qualifier`, RDS DB-proxy `TargetGroupName`, GlobalTable
|
|
9172
|
+
* `BillingMode` on create and on the desired side of update). The container
|
|
9173
|
+
* is the provider's own property bag, so rule 2 cannot fire; only rules 3/4
|
|
9174
|
+
* would apply, and refusing a present-but-non-string value there is a
|
|
9175
|
+
* stricter-value decision with its own regression surface (an unquoted YAML
|
|
9176
|
+
* `IpProtocol: -1` is a NUMBER today and deploys fine). Tracked as issue #1513.
|
|
9177
|
+
* - **Nested reads whose value is an identity key or a label, never sent to
|
|
9178
|
+
* AWS**: EC2's `rule['IpProtocol'] ?? '-1'` (composes a physical id and is
|
|
9179
|
+
* read from BOTH the previous and next rule), `agentcore-evaluator`'s
|
|
9180
|
+
* `(tag as Record<string, unknown>)['Value'] ?? ''`, and S3's three
|
|
9181
|
+
* `rule['Id'] ?? '<unnamed>'` warning labels. These ARE nested containers —
|
|
9182
|
+
* rule 2 could fire — but a refusal would buy nothing.
|
|
9183
|
+
* - **`EC2Provider`'s two `VpcId ?? ''` reads** — they populate the returned
|
|
9184
|
+
* ATTRIBUTE cache only, and `CreateSecurityGroup` already forwards the same
|
|
9185
|
+
* value, so AWS rejects a malformed one first. On the create site a guard
|
|
9186
|
+
* would additionally throw AFTER a successful create and orphan the security
|
|
9187
|
+
* group.
|
|
9188
|
+
* - **Reads off the PREVIOUS / state side** (GlobalTable `previousProperties`
|
|
9189
|
+
* `BillingMode`, RDS DB-proxy `delete()` / `readCurrentState`) — the
|
|
9190
|
+
* desired-side-only rule above.
|
|
9191
|
+
*
|
|
9144
9192
|
* This is a provider-layer guard rather than a pre-flight template check
|
|
9145
9193
|
* because **rule 4** is only decidable AFTER intrinsic resolution: at pre-flight
|
|
9146
9194
|
* time a legitimate `Fn::If`-valued block is an object whose `Status` key does
|
|
@@ -9205,6 +9253,26 @@ function requireConfigString(value, fallback, path) {
|
|
|
9205
9253
|
return value;
|
|
9206
9254
|
}
|
|
9207
9255
|
/**
|
|
9256
|
+
* Refuse a present-but-non-ARRAY value where a CFn LIST block belongs.
|
|
9257
|
+
*
|
|
9258
|
+
* The list-shaped sibling of {@link readConfigString}, for the container one
|
|
9259
|
+
* level up from a per-item mapper. Without it a truthy non-array
|
|
9260
|
+
* (`SecondarySources: 'GITHUB'`) reaches `.map` and dies with a raw
|
|
9261
|
+
* `TypeError: … .map is not a function`, and a FALSY one (`''`) is silently
|
|
9262
|
+
* dropped by the truthiness gate that usually guards these — the same class
|
|
9263
|
+
* `readConfigString` exists for, one level up (issue #1493 review).
|
|
9264
|
+
*
|
|
9265
|
+
* Callers keep the ABSENT case themselves (`== null ? undefined : …`), because
|
|
9266
|
+
* an absent list block legitimately means "no entries" and the caller's own
|
|
9267
|
+
* `undefined` is what the SDK expects.
|
|
9268
|
+
*
|
|
9269
|
+
* @throws Error when the value is not an array.
|
|
9270
|
+
*/
|
|
9271
|
+
function requireConfigArray(value, path) {
|
|
9272
|
+
if (!Array.isArray(value)) throw new Error(`${path} must be an array (got ${describe(value)}) — check for an unresolved intrinsic or a mis-nested template value`);
|
|
9273
|
+
return value;
|
|
9274
|
+
}
|
|
9275
|
+
/**
|
|
9208
9276
|
* A plain object, i.e. something a CFn config block can legitimately be.
|
|
9209
9277
|
* Arrays are excluded on purpose: an array where an object belongs is one of
|
|
9210
9278
|
* the malformed shapes this module exists to catch, and `typeof [] === 'object'`
|
|
@@ -12584,7 +12652,7 @@ var CloudControlProvider = class {
|
|
|
12584
12652
|
if (context?.finalSnapshotIdentifier !== void 0) throw new ProvisioningError(`${logicalId} (${resourceType}) requires a final snapshot (DeletionPolicy: Snapshot), but the Cloud Control API delete route has no final-snapshot parameter. Re-run with --skip-final-snapshot after snapshotting manually, or retain the resource.`, resourceType, logicalId, physicalId);
|
|
12585
12653
|
if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
|
|
12586
12654
|
this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
|
|
12587
|
-
const { ASGProvider } = await import("./asg-provider-
|
|
12655
|
+
const { ASGProvider } = await import("./asg-provider-8XxBHtzK.js").then((n) => n.n);
|
|
12588
12656
|
await new ASGProvider().delete(logicalId, physicalId, resourceType, _properties, context);
|
|
12589
12657
|
return;
|
|
12590
12658
|
}
|
|
@@ -19081,7 +19149,7 @@ const FLUSH_INTERVAL_MS = 2e3;
|
|
|
19081
19149
|
const FLUSH_EVENT_THRESHOLD = 50;
|
|
19082
19150
|
/** Build-time cdkd version, with a dev fallback for non-built contexts. */
|
|
19083
19151
|
function getCdkdVersion() {
|
|
19084
|
-
return "0.278.
|
|
19152
|
+
return "0.278.35";
|
|
19085
19153
|
}
|
|
19086
19154
|
/**
|
|
19087
19155
|
* Generate a time-sortable unique run id, e.g.
|
|
@@ -21192,5 +21260,5 @@ var DeployEngine = class {
|
|
|
21192
21260
|
};
|
|
21193
21261
|
|
|
21194
21262
|
//#endregion
|
|
21195
|
-
export {
|
|
21196
|
-
//# sourceMappingURL=deploy-engine-
|
|
21263
|
+
export { describeTypeWithThrottleRetry as $, AwsClients as $t, red as A, Synthesizer as At, isTerminationProtectionPropagationError as B, resolveUseCdkBootstrapAssets as Bt, isStatefulRecreateTargetSync as C, isCdkdError as Cn, buildDockerImage as Ct, cyan as D, runDockerStreaming as Dt, bold as E, __exportAll as En, runDockerForeground as Et, ProviderRegistry as F, resolveAutoAssetStorage as Ft, normalizeAwsTagsToCfn as G, MIGRATE_TMP_PREFIX as Gt, cfnRefValueFromPhysicalId as H, warnDeprecatedNoPrefixCliFlag as Ht, findActionableSilentDrops as I, resolveCaptureObservedState as It, readConfigString as J, expectedOwnerParam as Jt, resolveExplicitPhysicalId as K, findLargeInlineResources as Kt, CloudControlProvider as L, resolveSkipPrefix as Lt, IAMRoleProvider as M, getDefaultStateBucketName as Mt, collectInlinePolicyNamesManagedBySiblings as N, getLegacyStateBucketName as Nt, gray as O, AssetManifestLoader as Ot, clearOnUpdateRemoval as P, resolveApp as Pt, DiffCalculator as Q, resolveBucketRegion as Qt, slowCcOperationTimeoutMs as R, resolveStateBucketWithDefault as Rt, MULTI_REGION_RECREATE_BLOCKED_TYPES as S, formatError as Sn, validateContainerRepoName as St, formatResourceLine as T, withErrorHandling as Tn, getDockerCmd as Tt, refStateLookupFromResource as U, CFN_TEMPLATE_BODY_LIMIT as Ut, IntrinsicFunctionResolver as V, stateBucketExistenceConfirmed as Vt, WAFv2WebACLProvider as W, CFN_TEMPLATE_URL_LIMIT as Wt, requireConfigString as X, processStackMessages as Xt, requireConfigArray as Y, AssemblyReader as Yt, applyRoleArnIfSet as Z, clearBucketRegionCache as Zt, createPreDeleteFinalSnapshot as _, ResourceUpdateNotSupportedError as _n, BOOTSTRAP_MARKER_PREFIX as _t, DeploymentEventsStore as a, ConfigError as an, LockManager as at, unsupportedFinalSnapshotError as b, StateError as bn, parseBootstrapMarker as bt, replayFailedOperations as c, LocalInvokeBuildError as cn, shouldRetainResource as ct, IMPLICIT_DELETE_DEPENDENCIES as d, LockError as dn, WorkGraph as dt, getAwsClients as en, withRetry as et, computeImplicitDeleteEdges as f, MissingCdkCliError as fn, buildAssetRedirectMap as ft, ccRoutedFinalSnapshotError as g, ResourceTimeoutError as gn, AssetModeResolver as gt, buildFinalSnapshotIdentifier as h, ProvisioningError as hn, rewriteTemplateAssetReferences as ht, DeploymentEventsReader as i, CdkdError as in, TemplateParser as it, yellow as j, synthesisStatusMessage as jt, green as k, getDockerImageBySourceHash as kt, replayRollback as l, LocalMigrateError as ln, AssetPublisher as lt, PRE_DELETE_SNAPSHOT_TYPES as m, PartialFailureError as mn, loadPublishableAssetManifest as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, setAwsClients as nn, isThrottlingError as nt, planFailedOps as o, DependencyError as on, S3StateBackend as ot, ATOMIC_FINAL_SNAPSHOT_TYPES as p, NestedStackChildDirectDestroyError as pn, createAssetRedirectResolver as pt, assertRegionMatch as q, uploadCfnTemplate as qt, DeployEngine as r, AssetError as rn, DagBuilder as rt, planRollback as s, DeployCancelledError as sn, rebuildClientForBucketRegion as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, resetAwsClients as tn, isRetryableTransientError as tt, withResourceDeadline as u, LocalStartServiceError as un, stringifyValue as ut, isFinalSnapshotError as v, StackHasActiveImportsError as vn, ensureAssetStorage as vt, renderStatefulReason as w, normalizeAwsError as wn, formatDockerLoginError as wt, extractDeploymentEventError as x, SynthesisError as xn, validateAssetBucketName as xt, refusesFinalSnapshot as y, StackTerminationProtectionError as yn, getBootstrapMarkerKey as yt, disableInstanceApiTermination as z, resolveStateBucketWithDefaultAndSource as zt };
|
|
21264
|
+
//# sourceMappingURL=deploy-engine-CWZlo2Il.js.map
|