@go-to-k/cdkd 0.311.0 → 0.312.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.
- package/README.md +2 -2
- package/dist/{asg-provider-CIg_guZ-.js → asg-provider-CVLTQtQr.js} +3 -3
- package/dist/{asg-provider-CIg_guZ-.js.map → asg-provider-CVLTQtQr.js.map} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{created-resource-sink-DlzoIY-1.js → created-resource-sink-BT2Dfnpt.js} +2 -2
- package/dist/{created-resource-sink-DlzoIY-1.js.map → created-resource-sink-BT2Dfnpt.js.map} +1 -1
- package/dist/{db-instance-modify-retry-1y0kIPCO.js → db-instance-modify-retry-D7wXWxVo.js} +2 -2
- package/dist/{db-instance-modify-retry-1y0kIPCO.js.map → db-instance-modify-retry-D7wXWxVo.js.map} +1 -1
- package/dist/{deploy-engine-BF5exXUb.js → deploy-engine-CVNzK__j.js} +303 -78
- package/dist/deploy-engine-CVNzK__j.js.map +1 -0
- package/dist/{iam-role-provider-qvhlVnrn.js → iam-role-provider-DM7bN9m1.js} +3 -3
- package/dist/{iam-role-provider-qvhlVnrn.js.map → iam-role-provider-DM7bN9m1.js.map} +1 -1
- package/dist/index.js +3 -3
- package/dist/{neptune-provider-D9ac71Ca.js → neptune-provider-qdoLunCh.js} +53 -6
- package/dist/neptune-provider-qdoLunCh.js.map +1 -0
- package/dist/{program-DbnTHlwR.js → program-Nk_95KKk.js} +16 -10
- package/dist/program-Nk_95KKk.js.map +1 -0
- package/dist/{provider-classes-DktsDsTf.js → provider-classes-Dz0pYmlJ.js} +1045 -80
- package/dist/provider-classes-Dz0pYmlJ.js.map +1 -0
- package/dist/{rds-provider-0LUsn9Wl.js → rds-provider-CXSZq1c8.js} +25 -14
- package/dist/rds-provider-CXSZq1c8.js.map +1 -0
- package/dist/{version-BA4rBBLp.js → version-BqCEt5Wu.js} +2 -2
- package/dist/{version-BA4rBBLp.js.map → version-BqCEt5Wu.js.map} +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-BF5exXUb.js.map +0 -1
- package/dist/neptune-provider-D9ac71Ca.js.map +0 -1
- package/dist/program-DbnTHlwR.js.map +0 -1
- package/dist/provider-classes-DktsDsTf.js.map +0 -1
- package/dist/rds-provider-0LUsn9Wl.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { c as __exportAll, r as getAwsClients } from "./aws-clients-Bu9EMILF.js";
|
|
2
2
|
import { A as isNameGeneration, B as SECRET_REF_MAX_CODE_POINTS, D as getCurrentStackInstanceId, E as getCurrentSkipPrefix, F as withSkipPrefix, G as displayAwsMessage, H as UNRENDERABLE, I as withStackScope, J as displayStackName, K as displayIdent, L as withStackScopeBeforeStateRead, N as stackInstanceNameSuffix, O as getCurrentStackName, P as withNameGeneration, Q as safeMsg, R as withoutGeneratedFallbackName, S as fallbackNamePropertyFor, T as generatedNameFor, U as asIsMessage, V as STACK_REF_MAX_CODE_POINTS, Y as isPasteableIdent, Z as plainIdentOr, a as safeStringify$1, c as isStdoutReservedForPayload, et as terminalSafe, f as currentLogLineMasker, j as looksLikeCdkdGeneratedName, m as getLiveRenderer, n as describeAwsFailure, p as installLogLineMaskerSource, q as displaySafe, s as getLogger, t as VERBOSE_POINTER, tt as truncateCodePoints, v as applyDefaultNameForFallback, w as generateResourceNameWithFallback, x as explicitNamePropertyFor, y as currentNameGeneration, z as SAFE_MSG_ALTERED_CHAR } from "./aws-failure-text-NSBdKPYK.js";
|
|
3
|
-
import { $
|
|
3
|
+
import { $n as plainOrDescribed, $t as formatLockOperation, A as withoutServerErrorRetries, Ar as markNonRetryable, At as createMaskedLogSinks, B as quotedRemedyLogicalId, Bt as createdResourceIdentityBeforeFailure, Cn as DynamicReferenceRegionAmbiguousError, Cr as isIamPropagationError, Ct as compositeIdSeparatorRefusal, Dn as LockError, Dt as resourceTypeShown, Er as retryClassificationText, Ft as withDerivedNameMasks, G as ProtectionFlipRegistry, Gn as SHELL_ACTIVE, Gt as markCreatedBeforeFailure, Hn as normalizeAwsError, Ht as isAuxiliaryFailure, It as RETRY_AUXILIARY_OWNER, J as deleteWithProtectionCompensation, Jn as commandHole, Jt as UNREPRODUCIBLE_LOCK_CLAUSE, K as compensateProtectionFlip, Kn as SHELL_ACTIVE_WHY, Ln as StateError, Lt as carryCreatedBeforeFailure, M as isMarkedNotGone, Mn as ProvisioningError, Mr as wrapMaskedAwsError, Mt as isSecretDerivedValue, N as markNotGone, Nn as ResourceTimeoutError, Nt as maskDeep, On as MacroExpansionError, Or as isMarkedNonRetryable, Ot as segmentAfterAnchor, P as assertRegionMatch, Pn as ResourceUpdateNotSupportedError, Pt as maskerOrIdentity, Q as isTerminalDeleteFailure, Qn as physicalIdShownBesideCommand, Qt as formatLockExpiry, R as isQuotableImportValue, Rn as SynthesisError, Sn as DeploymentNotApprovedError, Tr as isTransientServerError, Tt as logicalIdShown, U as resolveExplicitPhysicalId, Ut as isAuxiliaryMarkOf, V as refusalTypeShown, Vn as isSoftAbort, Vt as hasCreatedBeforeFailure, Wt as markAuxiliaryFailure, Xn as isInertUnquoted, Yt as buildForceUnlockCommand, Zn as pasteableCommand, _ as removalWarning, _n as CdkdError, a as retractCreatedResource, an as injectiveKey, b as withoutInjectedRemovals, bn as DependencyError, br as isAmbiguousCcHandlerErrorCode, bt as startInterruptWatch, cn as producerRecordKey, cr as isNameCollisionErrorFrom, dn as ambientClientDefaults, dr as isReplayedNameCollisionFrom, dt as protectedReplacementAdvice, en as formatLockOwner, er as quotedOrDescribed, et as observeThenDisableProtection, fn as ambientCredentialConfig, g as prepareRemovalForUpdate, gn as AssetError, gr as stripControlChars, hn as AccountIdUnavailableError, hr as escapeRegExp$3, ht as monotonicNowMs, i as reportCreatedResource, in as DEFAULT_STATE_PREFIX, j as RESOURCE_NOT_FOUND, jr as markRedactedCause, jt as createMaskedRetryLogger, kn as MalformedProducerRecordRefusalError, kr as isThrottlingError, kt as stateOrphanRecordRemedy, l as holdsSecretDerivedEntry, lr as isNameCooldownError, m as withUnchangedSecretPrincipalLists, mn as credentialFingerprint, mr as relayedNameCollision, mt as ElapsedBudgetRegistry, n as clearCreatedReport, nn as sanitizeRecoveryValue, nr as shellQuote, or as isUpdateUnsupportedError, ot as DELETION_PROTECTION_DOC_POINTER, pn as clientDefaultsFor, pr as markReplayMayCollide, qn as UNSHOWABLE_VALUE, qt as replayMadeAnotherResource, r as collectCreatedResources, rn as CUSTOM_RESOURCE_RESPONSE_PREFIX, rr as withheldTargetClause, rt as runDeleteAttempt, sr as hasReplayMayCollide, t as CreatedResourceSink, tn as recoveryCommandFlags, tr as shellBoundedDisplay, tt as protectionFlipKey, un as withPasteableAwsProfile, ur as isRecreateRetryableError, ut as pasteableAwsCommand, wn as IntrinsicResolutionRefusalError, wr as isRetryableTransientError, xr as isAmbiguousOutcomeError, xt as canonicalizeRoute53QueryName, yn as CrossAccountSecretRefusalError, yr as formatRetryClassificationSignals, yt as isInterruptedWaitError, z as normalizeAwsTagsToCfn, zt as createdBeforeFailure } from "./created-resource-sink-BT2Dfnpt.js";
|
|
4
4
|
import { a as setAssumedRoleCredentials, c as ambientRegion, i as getPreAssumeEnvCredentials, n as awsClientDefaults, o as setPreAssumeEnvCredentials, r as getAssumedRoleCredentials, s as quietS3Logger, t as SECOND_ROLE_PUBLISH_REFUSAL } from "./aws-client-defaults-BX9Y_fKp.js";
|
|
5
|
-
import { t as getCdkdVersion } from "./version-
|
|
5
|
+
import { t as getCdkdVersion } from "./version-BqCEt5Wu.js";
|
|
6
6
|
import { createHash, randomUUID } from "node:crypto";
|
|
7
7
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
8
8
|
import { CreateBucketCommand, DeleteObjectCommand, DeleteObjectsCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketReplicationCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchKey, PutBucketEncryptionCommand, PutBucketLifecycleConfigurationCommand, PutBucketPolicyCommand, PutObjectCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
|
|
@@ -12697,6 +12697,20 @@ function elastiCachePreferredAvailabilityZonesMovedToDisjoint(oldValue, newValue
|
|
|
12697
12697
|
if (![...oldValue, ...newValue].every((z) => typeof z === "string")) return false;
|
|
12698
12698
|
return !newValue.some((z) => oldValue.includes(z));
|
|
12699
12699
|
}
|
|
12700
|
+
function elastiCacheLeftSingleAzWithoutZones(siblings) {
|
|
12701
|
+
if (siblings === void 0) return false;
|
|
12702
|
+
const { oldProperties: prev, newProperties: next } = siblings;
|
|
12703
|
+
return prev["Engine"] === "memcached" && next["Engine"] === "memcached" && prev["PreferredAvailabilityZone"] == null && next["PreferredAvailabilityZone"] == null && next["PreferredAvailabilityZones"] == null && (next["AZMode"] == null || next["AZMode"] === "single-az");
|
|
12704
|
+
}
|
|
12705
|
+
function elastiCacheAzModeRemovedFromSingleAz(oldValue, newValue, siblings) {
|
|
12706
|
+
return oldValue === "single-az" && newValue == null && elastiCacheLeftSingleAzWithoutZones(siblings);
|
|
12707
|
+
}
|
|
12708
|
+
function elastiCachePreferredAvailabilityZonesRemovedFromSingleAz(oldValue, newValue, siblings) {
|
|
12709
|
+
return Array.isArray(oldValue) && oldValue.length > 0 && newValue == null && siblings?.oldProperties["AZMode"] === "single-az" && elastiCacheLeftSingleAzWithoutZones(siblings);
|
|
12710
|
+
}
|
|
12711
|
+
function elastiCachePreferredAvailabilityZonesReplaced(oldValue, newValue, siblings) {
|
|
12712
|
+
return elastiCachePreferredAvailabilityZonesMovedToDisjoint(oldValue, newValue) || elastiCachePreferredAvailabilityZonesRemovedFromSingleAz(oldValue, newValue, siblings);
|
|
12713
|
+
}
|
|
12700
12714
|
function emrClusterInstancesReplaced(oldValue, newValue) {
|
|
12701
12715
|
if (oldValue === void 0 && newValue === void 0) return true;
|
|
12702
12716
|
return !isDeepStrictEqual(emrInstancesReplacingPart(oldValue), emrInstancesReplacingPart(newValue));
|
|
@@ -13031,13 +13045,23 @@ var ReplacementRulesRegistry = class {
|
|
|
13031
13045
|
this.rules.set("AWS::RDS::DBProxy", { replacementProperties: /* @__PURE__ */ new Set([
|
|
13032
13046
|
"DBProxyName",
|
|
13033
13047
|
"EngineFamily",
|
|
13034
|
-
"VpcSubnetIds"
|
|
13048
|
+
"VpcSubnetIds",
|
|
13049
|
+
"EndpointNetworkType",
|
|
13050
|
+
"TargetConnectionNetworkType"
|
|
13035
13051
|
]) });
|
|
13036
13052
|
this.rules.set("AWS::RDS::DBProxyEndpoint", { replacementProperties: /* @__PURE__ */ new Set([
|
|
13037
13053
|
"DBProxyName",
|
|
13038
13054
|
"DBProxyEndpointName",
|
|
13039
13055
|
"VpcSubnetIds",
|
|
13040
|
-
"TargetRole"
|
|
13056
|
+
"TargetRole",
|
|
13057
|
+
"EndpointNetworkType"
|
|
13058
|
+
]) });
|
|
13059
|
+
this.rules.set("AWS::S3Tables::Table", { replacementProperties: /* @__PURE__ */ new Set([
|
|
13060
|
+
"TableBucketARN",
|
|
13061
|
+
"OpenTableFormat",
|
|
13062
|
+
"IcebergMetadata",
|
|
13063
|
+
"StorageClassConfiguration",
|
|
13064
|
+
"WithoutMetadata"
|
|
13041
13065
|
]) });
|
|
13042
13066
|
this.rules.set("AWS::RDS::DBProxyTargetGroup", { replacementProperties: /* @__PURE__ */ new Set(["DBProxyName", "TargetGroupName"]) });
|
|
13043
13067
|
this.rules.set("AWS::EC2::VPC", {
|
|
@@ -13115,7 +13139,7 @@ var ReplacementRulesRegistry = class {
|
|
|
13115
13139
|
});
|
|
13116
13140
|
this.rules.set("AWS::ElastiCache::CacheCluster", {
|
|
13117
13141
|
replacementProperties: /* @__PURE__ */ new Set(),
|
|
13118
|
-
conditionalReplacements: /* @__PURE__ */ new Map([["PreferredAvailabilityZones",
|
|
13142
|
+
conditionalReplacements: /* @__PURE__ */ new Map([["AZMode", elastiCacheAzModeRemovedFromSingleAz], ["PreferredAvailabilityZones", elastiCachePreferredAvailabilityZonesReplaced]])
|
|
13119
13143
|
});
|
|
13120
13144
|
this.rules.set("AWS::EMR::Cluster", {
|
|
13121
13145
|
replacementProperties: /* @__PURE__ */ new Set(),
|
|
@@ -13935,7 +13959,8 @@ const CREATE_ONLY_PATHS_SNAPSHOT = /* @__PURE__ */ new Map([
|
|
|
13935
13959
|
["SourceDbClusterResourceId"],
|
|
13936
13960
|
["SourceRegion"],
|
|
13937
13961
|
["StorageEncrypted"],
|
|
13938
|
-
["UseLatestRestorableTime"]
|
|
13962
|
+
["UseLatestRestorableTime"],
|
|
13963
|
+
["WithExpressConfiguration"]
|
|
13939
13964
|
]],
|
|
13940
13965
|
["AWS::RDS::DBInstance", [
|
|
13941
13966
|
["BackupTarget"],
|
|
@@ -16508,7 +16533,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
16508
16533
|
]),
|
|
16509
16534
|
silentDrop: /* @__PURE__ */ new Map([["Triggers", "not yet implemented by cdkd"]]),
|
|
16510
16535
|
createOnlyDrops: /* @__PURE__ */ new Set(),
|
|
16511
|
-
readOnly: /* @__PURE__ */ new Set(["Arn"
|
|
16536
|
+
readOnly: /* @__PURE__ */ new Set(["Arn"]),
|
|
16512
16537
|
ccRouteUnavailable: true
|
|
16513
16538
|
}],
|
|
16514
16539
|
["AWS::CodeCommit::Repository", {
|
|
@@ -16700,6 +16725,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
16700
16725
|
["MultiRegionConsistency", "not yet implemented by cdkd"],
|
|
16701
16726
|
["ReadOnDemandThroughputSettings", "not yet implemented by cdkd"],
|
|
16702
16727
|
["ReadProvisionedThroughputSettings", "not yet implemented by cdkd"],
|
|
16728
|
+
["TableType", "not yet implemented by cdkd"],
|
|
16703
16729
|
["VectorIndexes", "not yet implemented by cdkd"],
|
|
16704
16730
|
["WarmThroughput", "not yet implemented by cdkd"]
|
|
16705
16731
|
]),
|
|
@@ -16731,9 +16757,10 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
16731
16757
|
"TableName",
|
|
16732
16758
|
"Tags",
|
|
16733
16759
|
"TimeToLiveSpecification",
|
|
16760
|
+
"VectorIndexes",
|
|
16734
16761
|
"WarmThroughput"
|
|
16735
16762
|
]),
|
|
16736
|
-
silentDrop: /* @__PURE__ */ new Map([["ImportSourceSpecification", "S3 import uses the separate ImportTable API (not CreateTable) and is create-only with no readback; deferred to a dedicated import-from-S3 PR"]
|
|
16763
|
+
silentDrop: /* @__PURE__ */ new Map([["ImportSourceSpecification", "S3 import uses the separate ImportTable API (not CreateTable) and is create-only with no readback; deferred to a dedicated import-from-S3 PR"]]),
|
|
16737
16764
|
createOnlyDrops: /* @__PURE__ */ new Set(["ImportSourceSpecification"]),
|
|
16738
16765
|
readOnly: /* @__PURE__ */ new Set(["Arn", "StreamArn"]),
|
|
16739
16766
|
ccRouteUnavailable: false
|
|
@@ -17101,7 +17128,7 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
17101
17128
|
"VolumeConfigurations",
|
|
17102
17129
|
"VpcLatticeConfigurations"
|
|
17103
17130
|
]),
|
|
17104
|
-
silentDrop: /* @__PURE__ */ new Map(),
|
|
17131
|
+
silentDrop: /* @__PURE__ */ new Map([["GatewayConnectors", "not yet implemented by cdkd"]]),
|
|
17105
17132
|
createOnlyDrops: /* @__PURE__ */ new Set(),
|
|
17106
17133
|
readOnly: /* @__PURE__ */ new Set(["Name", "ServiceArn"]),
|
|
17107
17134
|
ccRouteUnavailable: false
|
|
@@ -18180,7 +18207,8 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18180
18207
|
["SourceDbClusterResourceId", "not yet implemented by cdkd"],
|
|
18181
18208
|
["SourceRegion", "not yet implemented by cdkd"],
|
|
18182
18209
|
["StorageType", "not yet implemented by cdkd"],
|
|
18183
|
-
["UseLatestRestorableTime", "not yet implemented by cdkd"]
|
|
18210
|
+
["UseLatestRestorableTime", "not yet implemented by cdkd"],
|
|
18211
|
+
["WithExpressConfiguration", "not yet implemented by cdkd"]
|
|
18184
18212
|
]),
|
|
18185
18213
|
createOnlyDrops: /* @__PURE__ */ new Set([
|
|
18186
18214
|
"ClusterScalabilityType",
|
|
@@ -18192,7 +18220,8 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18192
18220
|
"SourceDBClusterIdentifier",
|
|
18193
18221
|
"SourceDbClusterResourceId",
|
|
18194
18222
|
"SourceRegion",
|
|
18195
|
-
"UseLatestRestorableTime"
|
|
18223
|
+
"UseLatestRestorableTime",
|
|
18224
|
+
"WithExpressConfiguration"
|
|
18196
18225
|
]),
|
|
18197
18226
|
readOnly: /* @__PURE__ */ new Set([
|
|
18198
18227
|
"DBClusterArn",
|
|
@@ -18329,20 +18358,19 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18329
18358
|
"Auth",
|
|
18330
18359
|
"DBProxyName",
|
|
18331
18360
|
"DebugLogging",
|
|
18361
|
+
"DefaultAuthScheme",
|
|
18362
|
+
"EndpointNetworkType",
|
|
18332
18363
|
"EngineFamily",
|
|
18333
18364
|
"IdleClientTimeout",
|
|
18334
18365
|
"RequireTLS",
|
|
18335
18366
|
"RoleArn",
|
|
18336
18367
|
"Tags",
|
|
18368
|
+
"TargetConnectionNetworkType",
|
|
18337
18369
|
"VpcSecurityGroupIds",
|
|
18338
18370
|
"VpcSubnetIds"
|
|
18339
18371
|
]),
|
|
18340
|
-
silentDrop: /* @__PURE__ */ new Map(
|
|
18341
|
-
|
|
18342
|
-
["EndpointNetworkType", "not yet implemented by cdkd"],
|
|
18343
|
-
["TargetConnectionNetworkType", "not yet implemented by cdkd"]
|
|
18344
|
-
]),
|
|
18345
|
-
createOnlyDrops: /* @__PURE__ */ new Set(["EndpointNetworkType", "TargetConnectionNetworkType"]),
|
|
18372
|
+
silentDrop: /* @__PURE__ */ new Map(),
|
|
18373
|
+
createOnlyDrops: /* @__PURE__ */ new Set(),
|
|
18346
18374
|
readOnly: /* @__PURE__ */ new Set([
|
|
18347
18375
|
"DBProxyArn",
|
|
18348
18376
|
"Endpoint",
|
|
@@ -18354,13 +18382,14 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18354
18382
|
handled: /* @__PURE__ */ new Set([
|
|
18355
18383
|
"DBProxyEndpointName",
|
|
18356
18384
|
"DBProxyName",
|
|
18385
|
+
"EndpointNetworkType",
|
|
18357
18386
|
"Tags",
|
|
18358
18387
|
"TargetRole",
|
|
18359
18388
|
"VpcSecurityGroupIds",
|
|
18360
18389
|
"VpcSubnetIds"
|
|
18361
18390
|
]),
|
|
18362
|
-
silentDrop: /* @__PURE__ */ new Map(
|
|
18363
|
-
createOnlyDrops: /* @__PURE__ */ new Set(
|
|
18391
|
+
silentDrop: /* @__PURE__ */ new Map(),
|
|
18392
|
+
createOnlyDrops: /* @__PURE__ */ new Set(),
|
|
18364
18393
|
readOnly: /* @__PURE__ */ new Set([
|
|
18365
18394
|
"DBProxyEndpointArn",
|
|
18366
18395
|
"Endpoint",
|
|
@@ -18507,26 +18536,21 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18507
18536
|
}],
|
|
18508
18537
|
["AWS::S3Tables::Table", {
|
|
18509
18538
|
handled: /* @__PURE__ */ new Set([
|
|
18539
|
+
"Compaction",
|
|
18510
18540
|
"Format",
|
|
18541
|
+
"IcebergMetadata",
|
|
18511
18542
|
"Name",
|
|
18512
18543
|
"Namespace",
|
|
18513
18544
|
"OpenTableFormat",
|
|
18545
|
+
"SnapshotManagement",
|
|
18546
|
+
"StorageClassConfiguration",
|
|
18514
18547
|
"TableBucketARN",
|
|
18515
18548
|
"TableName",
|
|
18516
|
-
"Tags"
|
|
18517
|
-
]),
|
|
18518
|
-
silentDrop: /* @__PURE__ */ new Map([
|
|
18519
|
-
["Compaction", "not yet implemented by cdkd"],
|
|
18520
|
-
["IcebergMetadata", "not yet implemented by cdkd"],
|
|
18521
|
-
["SnapshotManagement", "not yet implemented by cdkd"],
|
|
18522
|
-
["StorageClassConfiguration", "not yet implemented by cdkd"],
|
|
18523
|
-
["WithoutMetadata", "not yet implemented by cdkd"]
|
|
18524
|
-
]),
|
|
18525
|
-
createOnlyDrops: /* @__PURE__ */ new Set([
|
|
18526
|
-
"IcebergMetadata",
|
|
18527
|
-
"StorageClassConfiguration",
|
|
18549
|
+
"Tags",
|
|
18528
18550
|
"WithoutMetadata"
|
|
18529
18551
|
]),
|
|
18552
|
+
silentDrop: /* @__PURE__ */ new Map(),
|
|
18553
|
+
createOnlyDrops: /* @__PURE__ */ new Set(),
|
|
18530
18554
|
readOnly: /* @__PURE__ */ new Set([
|
|
18531
18555
|
"TableARN",
|
|
18532
18556
|
"VersionToken",
|
|
@@ -18535,14 +18559,16 @@ const PROPERTY_COVERAGE_BY_TYPE = /* @__PURE__ */ new Map([
|
|
|
18535
18559
|
ccRouteUnavailable: false
|
|
18536
18560
|
}],
|
|
18537
18561
|
["AWS::S3Tables::TableBucket", {
|
|
18538
|
-
handled: /* @__PURE__ */ new Set([
|
|
18539
|
-
|
|
18540
|
-
|
|
18541
|
-
|
|
18542
|
-
|
|
18543
|
-
|
|
18544
|
-
|
|
18562
|
+
handled: /* @__PURE__ */ new Set([
|
|
18563
|
+
"EncryptionConfiguration",
|
|
18564
|
+
"MetricsConfiguration",
|
|
18565
|
+
"ReplicationConfiguration",
|
|
18566
|
+
"StorageClassConfiguration",
|
|
18567
|
+
"TableBucketName",
|
|
18568
|
+
"Tags",
|
|
18569
|
+
"UnreferencedFileRemoval"
|
|
18545
18570
|
]),
|
|
18571
|
+
silentDrop: /* @__PURE__ */ new Map(),
|
|
18546
18572
|
createOnlyDrops: /* @__PURE__ */ new Set(),
|
|
18547
18573
|
readOnly: /* @__PURE__ */ new Set(["TableBucketARN"]),
|
|
18548
18574
|
ccRouteUnavailable: false
|
|
@@ -19133,7 +19159,8 @@ const NON_PROVISIONABLE_TYPES = /* @__PURE__ */ new Set([
|
|
|
19133
19159
|
"AWS::WAFRegional::XssMatchSet",
|
|
19134
19160
|
"AWS::Wisdom::Session",
|
|
19135
19161
|
"AWS::WorkSpaces::WorkSpaceApplication",
|
|
19136
|
-
"AWS::WorkSpaces::WorkspaceBundle"
|
|
19162
|
+
"AWS::WorkSpaces::WorkspaceBundle",
|
|
19163
|
+
"AWS::WorkSpaces::WorkspaceImage"
|
|
19137
19164
|
]);
|
|
19138
19165
|
|
|
19139
19166
|
//#endregion
|
|
@@ -19256,21 +19283,39 @@ function excludeCreateOnly(resourceType, names) {
|
|
|
19256
19283
|
return names.filter((property) => !createOnly.has(property));
|
|
19257
19284
|
}
|
|
19258
19285
|
function withoutUnwrittenSilentDropProperties(resourceType, recordedProperties, desiredProperties, allowedKeys, evidence) {
|
|
19259
|
-
const drops = findSilentDropProperties(resourceType, recordedProperties);
|
|
19260
|
-
if (drops.length === 0) return recordedProperties;
|
|
19261
19286
|
const createOnly = getPropertyCoverage(resourceType)?.createOnlyDrops;
|
|
19262
|
-
const
|
|
19263
|
-
const removable = drops.map(({ property }) => property).filter((property) => createOnly?.has(property) !== true || evidence.has(property) && !accepted.has(property));
|
|
19287
|
+
const removable = findSilentDropProperties(resourceType, recordedProperties).map(({ property }) => property).filter((property) => createOnly?.has(property) !== true).concat(evidenceNamedUnwritten(resourceType, recordedProperties, desiredProperties, allowedKeys, evidence).filter((property) => desiredProperties === void 0 || !Object.hasOwn(desiredProperties, property) || askedUnchanged(recordedProperties, desiredProperties, property)));
|
|
19264
19288
|
if (removable.length === 0) return recordedProperties;
|
|
19265
19289
|
const narrowed = { ...recordedProperties };
|
|
19266
19290
|
for (const property of removable) delete narrowed[property];
|
|
19267
19291
|
return narrowed;
|
|
19268
19292
|
}
|
|
19269
19293
|
function findUnwrittenCreateOnlyDrops(resourceType, recordedProperties, desiredProperties, allowedKeys, evidence) {
|
|
19270
|
-
|
|
19271
|
-
|
|
19294
|
+
return evidenceNamedUnwritten(resourceType, recordedProperties, desiredProperties, allowedKeys, evidence).filter((property) => Object.hasOwn(desiredProperties, property) && askedUnchanged(recordedProperties, desiredProperties, property));
|
|
19295
|
+
}
|
|
19296
|
+
function evidenceNamedUnwritten(resourceType, recordedProperties, desiredProperties, allowedKeys, evidence) {
|
|
19297
|
+
if (evidence.size === 0) return [];
|
|
19298
|
+
const createOnly = getPropertyCoverage(resourceType)?.createOnlyDrops ?? /* @__PURE__ */ new Set();
|
|
19272
19299
|
const accepted = new Set(findAcceptedSilentDrops(resourceType, desiredProperties, allowedKeys, recordedProperties));
|
|
19273
|
-
return findSilentDropProperties(resourceType, recordedProperties).map(({ property }) => property).filter((property) => createOnly.has(property) && evidence.has(property) && !accepted.has(property)
|
|
19300
|
+
return [...findSilentDropProperties(resourceType, recordedProperties).map(({ property }) => property).filter((property) => createOnly.has(property) && evidence.has(property) && !accepted.has(property)), ...findHandledUnwrittenCreateOnly(resourceType, recordedProperties, evidence)].sort((a, b) => a.localeCompare(b));
|
|
19301
|
+
}
|
|
19302
|
+
function askedUnchanged(recordedProperties, desiredProperties, property) {
|
|
19303
|
+
return sameJsonValue(recordedProperties[property], desiredProperties[property], "unchanged");
|
|
19304
|
+
}
|
|
19305
|
+
function findHandledUnwrittenCreateOnly(resourceType, recordedProperties, evidence) {
|
|
19306
|
+
if (evidence.size === 0) return [];
|
|
19307
|
+
const handled = getPropertyCoverage(resourceType)?.handled;
|
|
19308
|
+
if (handled === void 0) return [];
|
|
19309
|
+
const createOnlyRoots = new Set((CREATE_ONLY_PATHS_SNAPSHOT.get(resourceType) ?? []).filter((path) => path.length === 1).map((path) => path[0]));
|
|
19310
|
+
return [...evidence].filter((property) => handled.has(property) && createOnlyRoots.has(property) && Object.hasOwn(recordedProperties, property)).sort((a, b) => a.localeCompare(b));
|
|
19311
|
+
}
|
|
19312
|
+
function acceptedCreateOnlyDropsEvidence(recordedProperties, resourceType, provisionedBy, carried) {
|
|
19313
|
+
if (provisionedBy !== "sdk") return void 0;
|
|
19314
|
+
const createOnly = getPropertyCoverage(resourceType)?.createOnlyDrops ?? /* @__PURE__ */ new Set();
|
|
19315
|
+
const names = findSilentDropProperties(resourceType, recordedProperties).map(({ property }) => property).filter((property) => createOnly.has(property) && (carried === void 0 || carried.has(property)));
|
|
19316
|
+
const handled = carried === void 0 ? [] : findHandledUnwrittenCreateOnly(resourceType, recordedProperties, carried);
|
|
19317
|
+
const all = [...names, ...handled].sort((a, b) => a.localeCompare(b));
|
|
19318
|
+
return all.length > 0 ? all : void 0;
|
|
19274
19319
|
}
|
|
19275
19320
|
function unwrittenCreateOnlyReplacement(resourceType, recordedProperties, desiredProperties, allowedKeys, evidence, replacingPaths) {
|
|
19276
19321
|
if (replacingPaths.length === 0) return [];
|
|
@@ -21110,6 +21155,9 @@ const REF_RETURNS_ARN_FROM_STATE = /* @__PURE__ */ new Map([
|
|
|
21110
21155
|
["AWS::AppSync::DataSource", ["DataSourceArn"]],
|
|
21111
21156
|
["AWS::AppSync::Resolver", ["ResolverArn"]]
|
|
21112
21157
|
]);
|
|
21158
|
+
function graphQLSchemaCfnId(physicalId) {
|
|
21159
|
+
return /^[a-z0-9]+$/.test(physicalId) ? `${physicalId}GraphQLSchema` : physicalId;
|
|
21160
|
+
}
|
|
21113
21161
|
function isStalePlaceholderArnAttribute(resourceType, attributeName, value) {
|
|
21114
21162
|
if (!REF_RETURNS_ARN_FROM_STATE.get(resourceType)?.includes(attributeName)) return false;
|
|
21115
21163
|
return typeof value === "string" && isPlaceholderArn(value);
|
|
@@ -21190,6 +21238,7 @@ function lacksRecordedTableArn(resource) {
|
|
|
21190
21238
|
}
|
|
21191
21239
|
function cfnRefValueFromPhysicalId(resourceType, physicalId, stateLookup) {
|
|
21192
21240
|
if (resourceType === "AWS::S3Tables::Table") return s3TablesTableRefFromPhysicalId(physicalId, stateLookup);
|
|
21241
|
+
if (resourceType === "AWS::AppSync::GraphQLSchema") return graphQLSchemaCfnId(physicalId);
|
|
21193
21242
|
if (resourceType === "AWS::Glue::Table") {
|
|
21194
21243
|
const tableName = glueTableRefFromPhysicalId(physicalId, stateLookup);
|
|
21195
21244
|
if (tableName !== void 0) return tableName;
|
|
@@ -23959,6 +24008,7 @@ async function constructAttributeForAppTypes(resolver, resource, attributeName,
|
|
|
23959
24008
|
case "ApiId": return physicalId;
|
|
23960
24009
|
default: return guardedPhysicalIdFallback(resolver, logicalId, attributeName, resourceType, physicalId, context);
|
|
23961
24010
|
}
|
|
24011
|
+
if (resourceType === "AWS::AppSync::GraphQLSchema" && attributeName === "Id") return graphQLSchemaCfnId(physicalId);
|
|
23962
24012
|
if (resourceType === "AWS::ApiGatewayV2::Api") switch (attributeName) {
|
|
23963
24013
|
case "ExecuteApiArn": return `arn:${partition}:execute-api:${region}:${accountId}:${physicalId}`;
|
|
23964
24014
|
case "ApiId": return physicalId;
|
|
@@ -28740,7 +28790,7 @@ var CloudControlProvider = class {
|
|
|
28740
28790
|
const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
|
|
28741
28791
|
if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
|
|
28742
28792
|
this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
|
|
28743
|
-
const { ASGProvider } = await import("./asg-provider-
|
|
28793
|
+
const { ASGProvider } = await import("./asg-provider-CVLTQtQr.js");
|
|
28744
28794
|
const delegateRegion = ambientRegion();
|
|
28745
28795
|
let asgProvider = this.asgDeleteDelegates.get(delegateRegion);
|
|
28746
28796
|
if (asgProvider === void 0) {
|
|
@@ -28849,7 +28899,7 @@ var CloudControlProvider = class {
|
|
|
28849
28899
|
const family = SDK_DELETE_FAMILIES.get(resourceType);
|
|
28850
28900
|
const cached = this.sdkDeleteDelegates.get(family);
|
|
28851
28901
|
if (cached !== void 0 && cached.region === ccRegion) return cached.provider;
|
|
28852
|
-
const provider = family === "rds" ? new (await (import("./rds-provider-
|
|
28902
|
+
const provider = family === "rds" ? new (await (import("./rds-provider-CXSZq1c8.js"))).RDSProvider({ region: ccRegion }) : new (await (import("./neptune-provider-qdoLunCh.js"))).NeptuneProvider({ region: ccRegion });
|
|
28853
28903
|
this.sdkDeleteDelegates.set(family, {
|
|
28854
28904
|
region: ccRegion,
|
|
28855
28905
|
provider
|
|
@@ -31661,6 +31711,7 @@ const NESTED_REQUIRED = /* @__PURE__ */ new Map([
|
|
|
31661
31711
|
["Source.Auth", ["Type"]],
|
|
31662
31712
|
["Source.GitSubmodulesConfig", ["FetchSubmodules"]],
|
|
31663
31713
|
["Tags", ["Key", "Value"]],
|
|
31714
|
+
["Triggers.FilterGroups", ["Pattern", "Type"]],
|
|
31664
31715
|
["Triggers.PullRequestBuildPolicy", ["RequiresCommentApproval"]],
|
|
31665
31716
|
["Triggers.ScopeConfiguration", ["Name"]]
|
|
31666
31717
|
])],
|
|
@@ -31839,6 +31890,7 @@ const NESTED_REQUIRED = /* @__PURE__ */ new Map([
|
|
|
31839
31890
|
["DeploymentConfiguration.DeploymentCircuitBreaker.ThresholdConfiguration", ["Type", "Value"]],
|
|
31840
31891
|
["DeploymentConfiguration.LifecycleHooks", ["LifecycleStages"]],
|
|
31841
31892
|
["ForceNewDeployment", ["EnableForceNewDeployment"]],
|
|
31893
|
+
["GatewayConnectors", ["PortName"]],
|
|
31842
31894
|
["LoadBalancers.AdvancedConfiguration", ["AlternateTargetGroupArn"]],
|
|
31843
31895
|
["Monitoring", ["MetricConfigurations"]],
|
|
31844
31896
|
["Monitoring.MetricConfigurations", ["MetricNames", "ResolutionSeconds"]],
|
|
@@ -31868,6 +31920,8 @@ const NESTED_REQUIRED = /* @__PURE__ */ new Map([
|
|
|
31868
31920
|
["ContainerDefinitions.LogConfiguration", ["LogDriver"]],
|
|
31869
31921
|
["ContainerDefinitions.LogConfiguration.SecretOptions", ["Name", "ValueFrom"]],
|
|
31870
31922
|
["ContainerDefinitions.ResourceRequirements", ["Type"]],
|
|
31923
|
+
["ContainerDefinitions.ResourceRequirements.SharingStrategy", ["NvidiaMps"]],
|
|
31924
|
+
["ContainerDefinitions.ResourceRequirements.SharingStrategy.NvidiaMps", ["Memory"]],
|
|
31871
31925
|
["ContainerDefinitions.Secrets", ["Name", "ValueFrom"]],
|
|
31872
31926
|
["ContainerDefinitions.Ulimits", [
|
|
31873
31927
|
"HardLimit",
|
|
@@ -32945,6 +32999,7 @@ const PROPERTY_SHAPES = /* @__PURE__ */ new Map([
|
|
|
32945
32999
|
["AWS::CloudFront::OriginAccessControl", "{\"OriginAccessControlConfig\":\"object\"}"],
|
|
32946
33000
|
["AWS::CloudTrail::Trail", "{\"AdvancedEventSelectors\":\"array\",\"AdvancedEventSelectors[]\":\"object\",\"AdvancedEventSelectors[].FieldSelectors\":\"array\",\"AdvancedEventSelectors[].FieldSelectors[]\":\"object\",\"AdvancedEventSelectors[].FieldSelectors[].EndsWith\":\"array\",\"AdvancedEventSelectors[].FieldSelectors[].Equals\":\"array\",\"AdvancedEventSelectors[].FieldSelectors[].NotEndsWith\":\"array\",\"AdvancedEventSelectors[].FieldSelectors[].NotEquals\":\"array\",\"AdvancedEventSelectors[].FieldSelectors[].NotStartsWith\":\"array\",\"AdvancedEventSelectors[].FieldSelectors[].StartsWith\":\"array\",\"AggregationConfigurations\":\"array\",\"AggregationConfigurations[]\":\"object\",\"AggregationConfigurations[].Templates\":\"array\",\"EventSelectors\":\"array\",\"EventSelectors[]\":\"object\",\"EventSelectors[].DataResources\":\"array\",\"EventSelectors[].DataResources[]\":\"object\",\"EventSelectors[].DataResources[].Values\":\"array\",\"EventSelectors[].ExcludeManagementEventSources\":\"array\",\"InsightSelectors\":\"array\",\"InsightSelectors[]\":\"object\",\"InsightSelectors[].EventCategories\":\"array\",\"Tags\":\"array\",\"Tags[]\":\"object\"}"],
|
|
32947
33001
|
["AWS::CloudWatch::Alarm", "{\"ActionConfiguration\":\"object\",\"ActionConfiguration.AlarmTagsPropagation\":\"object\",\"ActionConfiguration.AlarmTagsPropagation.ExcludedTagKeys\":\"array\",\"ActionConfiguration.AlarmTagsPropagation.IncludedTagKeys\":\"array\",\"AlarmActions\":\"array\",\"Dimensions\":\"array\",\"Dimensions[]\":\"object\",\"EvaluationCriteria\":\"object\",\"EvaluationCriteria.PromQLCriteria\":\"object\",\"EvaluationWindow\":\"object\",\"EvaluationWindow.SlidingWindow\":\"object\",\"EvaluationWindow.WallClockWindow\":\"object\",\"InsufficientDataActions\":\"array\",\"Metrics\":\"array\",\"Metrics[]\":\"object\",\"Metrics[].MetricStat\":\"object\",\"Metrics[].MetricStat.Metric\":\"object\",\"Metrics[].MetricStat.Metric.Dimensions\":\"array\",\"Metrics[].MetricStat.Metric.Dimensions[]\":\"object\",\"OKActions\":\"array\",\"Tags\":\"array\",\"Tags[]\":\"object\",\"WarmUpConfiguration\":\"object\"}"],
|
|
33002
|
+
["AWS::CodeBuild::Project", "{\"Artifacts\":\"object\",\"BuildBatchConfig\":\"object\",\"BuildBatchConfig.Restrictions\":\"object\",\"BuildBatchConfig.Restrictions.ComputeTypesAllowed\":\"array\",\"BuildBatchConfig.Restrictions.FleetsAllowed\":\"array\",\"Cache\":\"object\",\"Cache.Modes\":\"array\",\"Environment\":\"object\",\"Environment.DockerServer\":\"object\",\"Environment.DockerServer.SecurityGroupIds\":\"array\",\"Environment.EnvironmentVariables\":\"array\",\"Environment.EnvironmentVariables[]\":\"object\",\"Environment.Fleet\":\"object\",\"Environment.RegistryCredential\":\"object\",\"FileSystemLocations\":\"array\",\"FileSystemLocations[]\":\"object\",\"LogsConfig\":\"object\",\"LogsConfig.CloudWatchLogs\":\"object\",\"LogsConfig.S3Logs\":\"object\",\"SecondaryArtifacts\":\"array\",\"SecondaryArtifacts[]\":\"object\",\"SecondarySourceVersions\":\"array\",\"SecondarySourceVersions[]\":\"object\",\"SecondarySources\":\"array\",\"SecondarySources[]\":\"object\",\"SecondarySources[].Auth\":\"object\",\"SecondarySources[].BuildStatusConfig\":\"object\",\"SecondarySources[].GitSubmodulesConfig\":\"object\",\"Source\":\"object\",\"Source.Auth\":\"object\",\"Source.BuildStatusConfig\":\"object\",\"Source.GitSubmodulesConfig\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\",\"Triggers\":\"object\",\"Triggers.FilterGroups\":\"array\",\"Triggers.FilterGroups[]\":\"array\",\"Triggers.FilterGroups[][]\":\"object\",\"Triggers.PullRequestBuildPolicy\":\"object\",\"Triggers.PullRequestBuildPolicy.ApproverRoles\":\"array\",\"Triggers.ScopeConfiguration\":\"object\",\"VpcConfig\":\"object\",\"VpcConfig.SecurityGroupIds\":\"array\",\"VpcConfig.Subnets\":\"array\"}"],
|
|
32948
33003
|
["AWS::CodeCommit::Repository", "{\"Code\":\"object\",\"Code.S3\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\",\"Triggers\":\"array\",\"Triggers[]\":\"object\",\"Triggers[].Branches\":\"array\",\"Triggers[].Events\":\"array\"}"],
|
|
32949
33004
|
["AWS::Cognito::UserPool", "{\"AccountRecoverySetting\":\"object\",\"AccountRecoverySetting.RecoveryMechanisms\":\"array\",\"AccountRecoverySetting.RecoveryMechanisms[]\":\"object\",\"AdminCreateUserConfig\":\"object\",\"AdminCreateUserConfig.InviteMessageTemplate\":\"object\",\"AliasAttributes\":\"array\",\"AutoVerifiedAttributes\":\"array\",\"DeviceConfiguration\":\"object\",\"EmailConfiguration\":\"object\",\"EnabledMfas\":\"array\",\"IssuerConfiguration\":\"object\",\"KeyConfiguration\":\"object\",\"LambdaConfig\":\"object\",\"LambdaConfig.CustomEmailSender\":\"object\",\"LambdaConfig.CustomSMSSender\":\"object\",\"LambdaConfig.InboundFederation\":\"object\",\"LambdaConfig.PreTokenGenerationConfig\":\"object\",\"Policies\":\"object\",\"Policies.PasswordPolicy\":\"object\",\"Policies.SignInPolicy\":\"object\",\"Policies.SignInPolicy.AllowedFirstAuthFactors\":\"array\",\"Schema\":\"array\",\"Schema[]\":\"object\",\"Schema[].NumberAttributeConstraints\":\"object\",\"Schema[].StringAttributeConstraints\":\"object\",\"SmsConfiguration\":\"object\",\"SmsConfiguration.EumsSms\":\"object\",\"UserAttributeUpdateSettings\":\"object\",\"UserAttributeUpdateSettings.AttributesRequireVerificationBeforeUpdate\":\"array\",\"UserPoolAddOns\":\"object\",\"UserPoolAddOns.AdvancedSecurityAdditionalFlows\":\"object\",\"UserPoolTags\":\"object\",\"UsernameAttributes\":\"array\",\"UsernameConfiguration\":\"object\",\"VerificationMessageTemplate\":\"object\"}"],
|
|
32950
33005
|
["AWS::DLM::LifecyclePolicy", "{\"CrossRegionCopyTargets\":\"array\",\"CrossRegionCopyTargets[]\":\"object\",\"Exclusions\":\"object\",\"Exclusions.ExcludeTags\":\"array\",\"Exclusions.ExcludeTags[]\":\"object\",\"Exclusions.ExcludeVolumeTypes\":\"array\",\"PolicyDetails\":\"object\",\"PolicyDetails.Actions\":\"array\",\"PolicyDetails.Actions[]\":\"object\",\"PolicyDetails.Actions[].CrossRegionCopy\":\"array\",\"PolicyDetails.Actions[].CrossRegionCopy[]\":\"object\",\"PolicyDetails.Actions[].CrossRegionCopy[].EncryptionConfiguration\":\"object\",\"PolicyDetails.Actions[].CrossRegionCopy[].RetainRule\":\"object\",\"PolicyDetails.CrossRegionCopyTargets\":\"array\",\"PolicyDetails.CrossRegionCopyTargets[]\":\"object\",\"PolicyDetails.EventSource\":\"object\",\"PolicyDetails.EventSource.Parameters\":\"object\",\"PolicyDetails.EventSource.Parameters.SnapshotOwner\":\"array\",\"PolicyDetails.Exclusions\":\"object\",\"PolicyDetails.Exclusions.ExcludeTags\":\"array\",\"PolicyDetails.Exclusions.ExcludeTags[]\":\"object\",\"PolicyDetails.Exclusions.ExcludeVolumeTypes\":\"array\",\"PolicyDetails.Parameters\":\"object\",\"PolicyDetails.Parameters.ExcludeDataVolumeTags\":\"array\",\"PolicyDetails.Parameters.ExcludeDataVolumeTags[]\":\"object\",\"PolicyDetails.ResourceLocations\":\"array\",\"PolicyDetails.ResourceTypes\":\"array\",\"PolicyDetails.Schedules\":\"array\",\"PolicyDetails.Schedules[]\":\"object\",\"PolicyDetails.Schedules[].ArchiveRule\":\"object\",\"PolicyDetails.Schedules[].ArchiveRule.RetainRule\":\"object\",\"PolicyDetails.Schedules[].ArchiveRule.RetainRule.RetentionArchiveTier\":\"object\",\"PolicyDetails.Schedules[].CreateRule\":\"object\",\"PolicyDetails.Schedules[].CreateRule.Scripts\":\"array\",\"PolicyDetails.Schedules[].CreateRule.Scripts[]\":\"object\",\"PolicyDetails.Schedules[].CreateRule.Scripts[].Stages\":\"array\",\"PolicyDetails.Schedules[].CreateRule.Times\":\"array\",\"PolicyDetails.Schedules[].CrossRegionCopyRules\":\"array\",\"PolicyDetails.Schedules[].CrossRegionCopyRules[]\":\"object\",\"PolicyDetails.Schedules[].CrossRegionCopyRules[].DeprecateRule\":\"object\",\"PolicyDetails.Schedules[].CrossRegionCopyRules[].RetainRule\":\"object\",\"PolicyDetails.Schedules[].DeprecateRule\":\"object\",\"PolicyDetails.Schedules[].FastRestoreRule\":\"object\",\"PolicyDetails.Schedules[].FastRestoreRule.AvailabilityZoneIds\":\"array\",\"PolicyDetails.Schedules[].FastRestoreRule.AvailabilityZones\":\"array\",\"PolicyDetails.Schedules[].RetainRule\":\"object\",\"PolicyDetails.Schedules[].ShareRules\":\"array\",\"PolicyDetails.Schedules[].ShareRules[]\":\"object\",\"PolicyDetails.Schedules[].ShareRules[].TargetAccounts\":\"array\",\"PolicyDetails.Schedules[].TagsToAdd\":\"array\",\"PolicyDetails.Schedules[].TagsToAdd[]\":\"object\",\"PolicyDetails.Schedules[].VariableTags\":\"array\",\"PolicyDetails.Schedules[].VariableTags[]\":\"object\",\"PolicyDetails.TargetTags\":\"array\",\"PolicyDetails.TargetTags[]\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\"}"],
|
|
@@ -32963,8 +33018,8 @@ const PROPERTY_SHAPES = /* @__PURE__ */ new Map([
|
|
|
32963
33018
|
["AWS::EC2::VPC", "{\"CidrBlockAssociations\":\"array\",\"Ipv6CidrBlocks\":\"array\",\"Tags\":\"array\",\"Tags[]\":\"object\",\"VpcEncryptionControl\":\"object\",\"VpcEncryptionControl.ResourceExclusions\":\"object\",\"VpcEncryptionControl.ResourceExclusions.EgressOnlyInternetGateway\":\"object\",\"VpcEncryptionControl.ResourceExclusions.ElasticFileSystem\":\"object\",\"VpcEncryptionControl.ResourceExclusions.InternetGateway\":\"object\",\"VpcEncryptionControl.ResourceExclusions.Lambda\":\"object\",\"VpcEncryptionControl.ResourceExclusions.NatGateway\":\"object\",\"VpcEncryptionControl.ResourceExclusions.VirtualPrivateGateway\":\"object\",\"VpcEncryptionControl.ResourceExclusions.VpcLattice\":\"object\",\"VpcEncryptionControl.ResourceExclusions.VpcPeering\":\"object\"}"],
|
|
32964
33019
|
["AWS::ECR::Repository", "{\"EncryptionConfiguration\":\"object\",\"ImageScanningConfiguration\":\"object\",\"ImageTagMutabilityExclusionFilters\":\"array\",\"ImageTagMutabilityExclusionFilters[]\":\"object\",\"LifecyclePolicy\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\"}"],
|
|
32965
33020
|
["AWS::ECS::Cluster", "{\"CapacityProviders\":\"array\",\"ClusterSettings\":\"array\",\"ClusterSettings[]\":\"object\",\"Configuration\":\"object\",\"Configuration.ExecuteCommandConfiguration\":\"object\",\"Configuration.ExecuteCommandConfiguration.LogConfiguration\":\"object\",\"Configuration.ManagedStorageConfiguration\":\"object\",\"DefaultCapacityProviderStrategy\":\"array\",\"DefaultCapacityProviderStrategy[]\":\"object\",\"ServiceConnectDefaults\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\"}"],
|
|
32966
|
-
["AWS::ECS::Service", "{\"CapacityProviderStrategy\":\"array\",\"CapacityProviderStrategy[]\":\"object\",\"DeploymentConfiguration\":\"object\",\"DeploymentConfiguration.Alarms\":\"object\",\"DeploymentConfiguration.Alarms.AlarmNames\":\"array\",\"DeploymentConfiguration.CanaryConfiguration\":\"object\",\"DeploymentConfiguration.DeploymentCircuitBreaker\":\"object\",\"DeploymentConfiguration.DeploymentCircuitBreaker.ThresholdConfiguration\":\"object\",\"DeploymentConfiguration.EarlySuccessCriteria\":\"object\",\"DeploymentConfiguration.LifecycleHooks\":\"array\",\"DeploymentConfiguration.LifecycleHooks[]\":\"object\",\"DeploymentConfiguration.LifecycleHooks[].LifecycleStages\":\"array\",\"DeploymentConfiguration.LifecycleHooks[].TimeoutConfiguration\":\"object\",\"DeploymentConfiguration.LinearConfiguration\":\"object\",\"DeploymentController\":\"object\",\"ForceNewDeployment\":\"object\",\"LoadBalancers\":\"array\",\"LoadBalancers[]\":\"object\",\"LoadBalancers[].AdvancedConfiguration\":\"object\",\"Monitoring\":\"object\",\"Monitoring.MetricConfigurations\":\"array\",\"Monitoring.MetricConfigurations[]\":\"object\",\"Monitoring.MetricConfigurations[].MetricNames\":\"array\",\"NetworkConfiguration\":\"object\",\"NetworkConfiguration.AwsvpcConfiguration\":\"object\",\"NetworkConfiguration.AwsvpcConfiguration.SecurityGroups\":\"array\",\"NetworkConfiguration.AwsvpcConfiguration.Subnets\":\"array\",\"PlacementConstraints\":\"array\",\"PlacementConstraints[]\":\"object\",\"PlacementStrategies\":\"array\",\"PlacementStrategies[]\":\"object\",\"ServiceConnectConfiguration\":\"object\",\"ServiceConnectConfiguration.AccessLogConfiguration\":\"object\",\"ServiceConnectConfiguration.LogConfiguration\":\"object\",\"ServiceConnectConfiguration.LogConfiguration.Options\":\"object\",\"ServiceConnectConfiguration.LogConfiguration.SecretOptions\":\"array\",\"ServiceConnectConfiguration.LogConfiguration.SecretOptions[]\":\"object\",\"ServiceConnectConfiguration.Services\":\"array\",\"ServiceConnectConfiguration.Services[]\":\"object\",\"ServiceConnectConfiguration.Services[].ClientAliases\":\"array\",\"ServiceConnectConfiguration.Services[].ClientAliases[]\":\"object\",\"ServiceConnectConfiguration.Services[].ClientAliases[].TestTrafficRules\":\"object\",\"ServiceConnectConfiguration.Services[].ClientAliases[].TestTrafficRules.Header\":\"object\",\"ServiceConnectConfiguration.Services[].ClientAliases[].TestTrafficRules.Header.Value\":\"object\",\"ServiceConnectConfiguration.Services[].Timeout\":\"object\",\"ServiceConnectConfiguration.Services[].Tls\":\"object\",\"ServiceConnectConfiguration.Services[].Tls.IssuerCertificateAuthority\":\"object\",\"ServiceRegistries\":\"array\",\"ServiceRegistries[]\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\",\"VolumeConfigurations\":\"array\",\"VolumeConfigurations[]\":\"object\",\"VolumeConfigurations[].ManagedEBSVolume\":\"object\",\"VolumeConfigurations[].ManagedEBSVolume.TagSpecifications\":\"array\",\"VolumeConfigurations[].ManagedEBSVolume.TagSpecifications[]\":\"object\",\"VolumeConfigurations[].ManagedEBSVolume.TagSpecifications[].Tags\":\"array\",\"VolumeConfigurations[].ManagedEBSVolume.TagSpecifications[].Tags[]\":\"object\",\"VpcLatticeConfigurations\":\"array\",\"VpcLatticeConfigurations[]\":\"object\",\"VpcLatticeConfigurations[].AdvancedConfiguration\":\"object\"}"],
|
|
32967
|
-
["AWS::ECS::TaskDefinition", "{\"ContainerDefinitions\":\"array\",\"ContainerDefinitions[]\":\"object\",\"ContainerDefinitions[].Command\":\"array\",\"ContainerDefinitions[].CredentialSpecs\":\"array\",\"ContainerDefinitions[].DependsOn\":\"array\",\"ContainerDefinitions[].DependsOn[]\":\"object\",\"ContainerDefinitions[].DnsSearchDomains\":\"array\",\"ContainerDefinitions[].DnsServers\":\"array\",\"ContainerDefinitions[].DockerLabels\":\"object\",\"ContainerDefinitions[].DockerSecurityOptions\":\"array\",\"ContainerDefinitions[].EntryPoint\":\"array\",\"ContainerDefinitions[].Environment\":\"array\",\"ContainerDefinitions[].EnvironmentFiles\":\"array\",\"ContainerDefinitions[].EnvironmentFiles[]\":\"object\",\"ContainerDefinitions[].Environment[]\":\"object\",\"ContainerDefinitions[].ExtraHosts\":\"array\",\"ContainerDefinitions[].ExtraHosts[]\":\"object\",\"ContainerDefinitions[].FirelensConfiguration\":\"object\",\"ContainerDefinitions[].FirelensConfiguration.Options\":\"object\",\"ContainerDefinitions[].HealthCheck\":\"object\",\"ContainerDefinitions[].HealthCheck.Command\":\"array\",\"ContainerDefinitions[].Links\":\"array\",\"ContainerDefinitions[].LinuxParameters\":\"object\",\"ContainerDefinitions[].LinuxParameters.Capabilities\":\"object\",\"ContainerDefinitions[].LinuxParameters.Capabilities.Add\":\"array\",\"ContainerDefinitions[].LinuxParameters.Capabilities.Drop\":\"array\",\"ContainerDefinitions[].LinuxParameters.Devices\":\"array\",\"ContainerDefinitions[].LinuxParameters.Devices[]\":\"object\",\"ContainerDefinitions[].LinuxParameters.Devices[].Permissions\":\"array\",\"ContainerDefinitions[].LinuxParameters.Tmpfs\":\"array\",\"ContainerDefinitions[].LinuxParameters.Tmpfs[]\":\"object\",\"ContainerDefinitions[].LinuxParameters.Tmpfs[].MountOptions\":\"array\",\"ContainerDefinitions[].LogConfiguration\":\"object\",\"ContainerDefinitions[].LogConfiguration.Options\":\"object\",\"ContainerDefinitions[].LogConfiguration.SecretOptions\":\"array\",\"ContainerDefinitions[].LogConfiguration.SecretOptions[]\":\"object\",\"ContainerDefinitions[].MountPoints\":\"array\",\"ContainerDefinitions[].MountPoints[]\":\"object\",\"ContainerDefinitions[].PortMappings\":\"array\",\"ContainerDefinitions[].PortMappings[]\":\"object\",\"ContainerDefinitions[].RepositoryCredentials\":\"object\",\"ContainerDefinitions[].ResourceRequirements\":\"array\",\"ContainerDefinitions[].ResourceRequirements[]\":\"object\",\"ContainerDefinitions[].RestartPolicy\":\"object\",\"ContainerDefinitions[].RestartPolicy.IgnoredExitCodes\":\"array\",\"ContainerDefinitions[].Secrets\":\"array\",\"ContainerDefinitions[].Secrets[]\":\"object\",\"ContainerDefinitions[].SystemControls\":\"array\",\"ContainerDefinitions[].SystemControls[]\":\"object\",\"ContainerDefinitions[].Ulimits\":\"array\",\"ContainerDefinitions[].Ulimits[]\":\"object\",\"ContainerDefinitions[].VolumesFrom\":\"array\",\"ContainerDefinitions[].VolumesFrom[]\":\"object\",\"EphemeralStorage\":\"object\",\"InferenceAccelerators\":\"array\",\"InferenceAccelerators[]\":\"object\",\"PlacementConstraints\":\"array\",\"PlacementConstraints[]\":\"object\",\"ProxyConfiguration\":\"object\",\"ProxyConfiguration.ProxyConfigurationProperties\":\"array\",\"ProxyConfiguration.ProxyConfigurationProperties[]\":\"object\",\"RequiresCompatibilities\":\"array\",\"RuntimePlatform\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\",\"Volumes\":\"array\",\"Volumes[]\":\"object\",\"Volumes[].DockerVolumeConfiguration\":\"object\",\"Volumes[].DockerVolumeConfiguration.DriverOpts\":\"object\",\"Volumes[].DockerVolumeConfiguration.Labels\":\"object\",\"Volumes[].EFSVolumeConfiguration\":\"object\",\"Volumes[].EFSVolumeConfiguration.AuthorizationConfig\":\"object\",\"Volumes[].FSxWindowsFileServerVolumeConfiguration\":\"object\",\"Volumes[].FSxWindowsFileServerVolumeConfiguration.AuthorizationConfig\":\"object\",\"Volumes[].Host\":\"object\",\"Volumes[].S3FilesVolumeConfiguration\":\"object\"}"],
|
|
33021
|
+
["AWS::ECS::Service", "{\"CapacityProviderStrategy\":\"array\",\"CapacityProviderStrategy[]\":\"object\",\"DeploymentConfiguration\":\"object\",\"DeploymentConfiguration.Alarms\":\"object\",\"DeploymentConfiguration.Alarms.AlarmNames\":\"array\",\"DeploymentConfiguration.CanaryConfiguration\":\"object\",\"DeploymentConfiguration.DeploymentCircuitBreaker\":\"object\",\"DeploymentConfiguration.DeploymentCircuitBreaker.ThresholdConfiguration\":\"object\",\"DeploymentConfiguration.EarlySuccessCriteria\":\"object\",\"DeploymentConfiguration.LifecycleHooks\":\"array\",\"DeploymentConfiguration.LifecycleHooks[]\":\"object\",\"DeploymentConfiguration.LifecycleHooks[].LifecycleStages\":\"array\",\"DeploymentConfiguration.LifecycleHooks[].TimeoutConfiguration\":\"object\",\"DeploymentConfiguration.LinearConfiguration\":\"object\",\"DeploymentController\":\"object\",\"ForceNewDeployment\":\"object\",\"GatewayConnectors\":\"array\",\"GatewayConnectors[]\":\"object\",\"GatewayConnectors[].Filters\":\"object\",\"GatewayConnectors[].Filters.AccessTypes\":\"array\",\"GatewayConnectors[].HealthCheck\":\"object\",\"GatewayConnectors[].HealthCheck.Matcher\":\"object\",\"LoadBalancers\":\"array\",\"LoadBalancers[]\":\"object\",\"LoadBalancers[].AdvancedConfiguration\":\"object\",\"Monitoring\":\"object\",\"Monitoring.MetricConfigurations\":\"array\",\"Monitoring.MetricConfigurations[]\":\"object\",\"Monitoring.MetricConfigurations[].MetricNames\":\"array\",\"NetworkConfiguration\":\"object\",\"NetworkConfiguration.AwsvpcConfiguration\":\"object\",\"NetworkConfiguration.AwsvpcConfiguration.SecurityGroups\":\"array\",\"NetworkConfiguration.AwsvpcConfiguration.Subnets\":\"array\",\"PlacementConstraints\":\"array\",\"PlacementConstraints[]\":\"object\",\"PlacementStrategies\":\"array\",\"PlacementStrategies[]\":\"object\",\"ServiceConnectConfiguration\":\"object\",\"ServiceConnectConfiguration.AccessLogConfiguration\":\"object\",\"ServiceConnectConfiguration.ContainerConfigurations\":\"array\",\"ServiceConnectConfiguration.ContainerConfigurations[]\":\"object\",\"ServiceConnectConfiguration.LogConfiguration\":\"object\",\"ServiceConnectConfiguration.LogConfiguration.Options\":\"object\",\"ServiceConnectConfiguration.LogConfiguration.SecretOptions\":\"array\",\"ServiceConnectConfiguration.LogConfiguration.SecretOptions[]\":\"object\",\"ServiceConnectConfiguration.Services\":\"array\",\"ServiceConnectConfiguration.Services[]\":\"object\",\"ServiceConnectConfiguration.Services[].ClientAliases\":\"array\",\"ServiceConnectConfiguration.Services[].ClientAliases[]\":\"object\",\"ServiceConnectConfiguration.Services[].ClientAliases[].TestTrafficRules\":\"object\",\"ServiceConnectConfiguration.Services[].ClientAliases[].TestTrafficRules.Header\":\"object\",\"ServiceConnectConfiguration.Services[].ClientAliases[].TestTrafficRules.Header.Value\":\"object\",\"ServiceConnectConfiguration.Services[].Timeout\":\"object\",\"ServiceConnectConfiguration.Services[].Tls\":\"object\",\"ServiceConnectConfiguration.Services[].Tls.IssuerCertificateAuthority\":\"object\",\"ServiceRegistries\":\"array\",\"ServiceRegistries[]\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\",\"VolumeConfigurations\":\"array\",\"VolumeConfigurations[]\":\"object\",\"VolumeConfigurations[].ManagedEBSVolume\":\"object\",\"VolumeConfigurations[].ManagedEBSVolume.TagSpecifications\":\"array\",\"VolumeConfigurations[].ManagedEBSVolume.TagSpecifications[]\":\"object\",\"VolumeConfigurations[].ManagedEBSVolume.TagSpecifications[].Tags\":\"array\",\"VolumeConfigurations[].ManagedEBSVolume.TagSpecifications[].Tags[]\":\"object\",\"VpcLatticeConfigurations\":\"array\",\"VpcLatticeConfigurations[]\":\"object\",\"VpcLatticeConfigurations[].AdvancedConfiguration\":\"object\"}"],
|
|
33022
|
+
["AWS::ECS::TaskDefinition", "{\"ContainerDefinitions\":\"array\",\"ContainerDefinitions[]\":\"object\",\"ContainerDefinitions[].Command\":\"array\",\"ContainerDefinitions[].CredentialSpecs\":\"array\",\"ContainerDefinitions[].DependsOn\":\"array\",\"ContainerDefinitions[].DependsOn[]\":\"object\",\"ContainerDefinitions[].DnsSearchDomains\":\"array\",\"ContainerDefinitions[].DnsServers\":\"array\",\"ContainerDefinitions[].DockerLabels\":\"object\",\"ContainerDefinitions[].DockerSecurityOptions\":\"array\",\"ContainerDefinitions[].EntryPoint\":\"array\",\"ContainerDefinitions[].Environment\":\"array\",\"ContainerDefinitions[].EnvironmentFiles\":\"array\",\"ContainerDefinitions[].EnvironmentFiles[]\":\"object\",\"ContainerDefinitions[].Environment[]\":\"object\",\"ContainerDefinitions[].ExtraHosts\":\"array\",\"ContainerDefinitions[].ExtraHosts[]\":\"object\",\"ContainerDefinitions[].FirelensConfiguration\":\"object\",\"ContainerDefinitions[].FirelensConfiguration.Options\":\"object\",\"ContainerDefinitions[].HealthCheck\":\"object\",\"ContainerDefinitions[].HealthCheck.Command\":\"array\",\"ContainerDefinitions[].Links\":\"array\",\"ContainerDefinitions[].LinuxParameters\":\"object\",\"ContainerDefinitions[].LinuxParameters.Capabilities\":\"object\",\"ContainerDefinitions[].LinuxParameters.Capabilities.Add\":\"array\",\"ContainerDefinitions[].LinuxParameters.Capabilities.Drop\":\"array\",\"ContainerDefinitions[].LinuxParameters.Devices\":\"array\",\"ContainerDefinitions[].LinuxParameters.Devices[]\":\"object\",\"ContainerDefinitions[].LinuxParameters.Devices[].Permissions\":\"array\",\"ContainerDefinitions[].LinuxParameters.Tmpfs\":\"array\",\"ContainerDefinitions[].LinuxParameters.Tmpfs[]\":\"object\",\"ContainerDefinitions[].LinuxParameters.Tmpfs[].MountOptions\":\"array\",\"ContainerDefinitions[].LogConfiguration\":\"object\",\"ContainerDefinitions[].LogConfiguration.Options\":\"object\",\"ContainerDefinitions[].LogConfiguration.SecretOptions\":\"array\",\"ContainerDefinitions[].LogConfiguration.SecretOptions[]\":\"object\",\"ContainerDefinitions[].MountPoints\":\"array\",\"ContainerDefinitions[].MountPoints[]\":\"object\",\"ContainerDefinitions[].PortMappings\":\"array\",\"ContainerDefinitions[].PortMappings[]\":\"object\",\"ContainerDefinitions[].RepositoryCredentials\":\"object\",\"ContainerDefinitions[].ResourceRequirements\":\"array\",\"ContainerDefinitions[].ResourceRequirements[]\":\"object\",\"ContainerDefinitions[].ResourceRequirements[].SharingStrategy\":\"object\",\"ContainerDefinitions[].ResourceRequirements[].SharingStrategy.NvidiaMps\":\"object\",\"ContainerDefinitions[].RestartPolicy\":\"object\",\"ContainerDefinitions[].RestartPolicy.IgnoredExitCodes\":\"array\",\"ContainerDefinitions[].Secrets\":\"array\",\"ContainerDefinitions[].Secrets[]\":\"object\",\"ContainerDefinitions[].SystemControls\":\"array\",\"ContainerDefinitions[].SystemControls[]\":\"object\",\"ContainerDefinitions[].Ulimits\":\"array\",\"ContainerDefinitions[].Ulimits[]\":\"object\",\"ContainerDefinitions[].VolumesFrom\":\"array\",\"ContainerDefinitions[].VolumesFrom[]\":\"object\",\"EphemeralStorage\":\"object\",\"InferenceAccelerators\":\"array\",\"InferenceAccelerators[]\":\"object\",\"PlacementConstraints\":\"array\",\"PlacementConstraints[]\":\"object\",\"ProxyConfiguration\":\"object\",\"ProxyConfiguration.ProxyConfigurationProperties\":\"array\",\"ProxyConfiguration.ProxyConfigurationProperties[]\":\"object\",\"RequiresCompatibilities\":\"array\",\"RuntimePlatform\":\"object\",\"Tags\":\"array\",\"Tags[]\":\"object\",\"Volumes\":\"array\",\"Volumes[]\":\"object\",\"Volumes[].DockerVolumeConfiguration\":\"object\",\"Volumes[].DockerVolumeConfiguration.DriverOpts\":\"object\",\"Volumes[].DockerVolumeConfiguration.Labels\":\"object\",\"Volumes[].EFSVolumeConfiguration\":\"object\",\"Volumes[].EFSVolumeConfiguration.AuthorizationConfig\":\"object\",\"Volumes[].FSxWindowsFileServerVolumeConfiguration\":\"object\",\"Volumes[].FSxWindowsFileServerVolumeConfiguration.AuthorizationConfig\":\"object\",\"Volumes[].Host\":\"object\",\"Volumes[].S3FilesVolumeConfiguration\":\"object\"}"],
|
|
32968
33023
|
["AWS::EFS::AccessPoint", "{\"AccessPointTags\":\"array\",\"AccessPointTags[]\":\"object\",\"PosixUser\":\"object\",\"PosixUser.SecondaryGids\":\"array\",\"RootDirectory\":\"object\",\"RootDirectory.CreationInfo\":\"object\"}"],
|
|
32969
33024
|
["AWS::EFS::FileSystem", "{\"BackupPolicy\":\"object\",\"FileSystemPolicy\":\"object\",\"FileSystemProtection\":\"object\",\"FileSystemTags\":\"array\",\"FileSystemTags[]\":\"object\",\"LifecyclePolicies\":\"array\",\"LifecyclePolicies[]\":\"object\",\"ReplicationConfiguration\":\"object\",\"ReplicationConfiguration.Destinations\":\"array\",\"ReplicationConfiguration.Destinations[]\":\"object\"}"],
|
|
32970
33025
|
["AWS::EFS::MountTarget", "{\"SecurityGroups\":\"array\"}"],
|
|
@@ -40438,11 +40493,13 @@ async function replayReverseReplacement(s) {
|
|
|
40438
40493
|
}
|
|
40439
40494
|
const { observedProperties: _staleObserved, ...prevRecord } = prev;
|
|
40440
40495
|
recordNoEchoAttributeValues(createResult, secrets, resolvedPrevProps);
|
|
40496
|
+
const restoredProperties = recordedPropertiesAfterReplayCreate(prevRecord, createResult);
|
|
40441
40497
|
stateResources[op.logicalId] = redactRollbackRecord({
|
|
40442
40498
|
...withNameGenerationReached(prevRecord, op.logicalId, op.nameGeneration),
|
|
40443
40499
|
physicalId: createResult.physicalId,
|
|
40444
40500
|
attributes: createResult.attributes ?? {},
|
|
40445
|
-
properties:
|
|
40501
|
+
properties: restoredProperties,
|
|
40502
|
+
acceptedCreateOnlyDrops: acceptedCreateOnlyDropsEvidence(restoredProperties, oldType, createProvisionedBy)
|
|
40446
40503
|
}, secrets, prevRecord.properties, prevRecord.attributes);
|
|
40447
40504
|
if (!adoptedLiveNewResource) inlinePolicyWriters.record(op.logicalId, "create", stateResources[op.logicalId], false, createProvisionedBy);
|
|
40448
40505
|
const deferral = s.deferral !== void 0 && !deletedNewFirst && !adoptedLiveNewResource && !rollbackRetainsNewResource(current) ? s.deferral : void 0;
|
|
@@ -46635,12 +46692,8 @@ function extractTemplateAttributes(template, logicalId) {
|
|
|
46635
46692
|
};
|
|
46636
46693
|
}
|
|
46637
46694
|
function acceptedCreateOnlyDropsField(recordedProperties, resourceType, provisionedBy, mode, previous) {
|
|
46638
|
-
if (provisionedBy !== "sdk") return { acceptedCreateOnlyDrops: void 0 };
|
|
46639
|
-
const createOnly = getPropertyCoverage(resourceType)?.createOnlyDrops;
|
|
46640
|
-
if (createOnly === void 0 || createOnly.size === 0) return { acceptedCreateOnlyDrops: void 0 };
|
|
46641
46695
|
const carried = mode === "in-place" ? acceptedCreateOnlyDropsOf(previous) : void 0;
|
|
46642
|
-
|
|
46643
|
-
return { acceptedCreateOnlyDrops: names.length > 0 ? names : void 0 };
|
|
46696
|
+
return { acceptedCreateOnlyDrops: acceptedCreateOnlyDropsEvidence(recordedProperties, resourceType, provisionedBy, carried) };
|
|
46644
46697
|
}
|
|
46645
46698
|
function secretNamedAttributesField(result, previous) {
|
|
46646
46699
|
const reported = result.secretNamedAttributeNames;
|
|
@@ -47247,12 +47300,17 @@ const INDEX_TRANSITIONAL_STATUSES = /* @__PURE__ */ new Set([
|
|
|
47247
47300
|
function hasTransitionalIndex(indexes) {
|
|
47248
47301
|
return (indexes ?? []).some((gsi) => INDEX_TRANSITIONAL_STATUSES.has(gsi.IndexStatus ?? ""));
|
|
47249
47302
|
}
|
|
47303
|
+
function hasTransitionalTableIndex(table) {
|
|
47304
|
+
return hasTransitionalIndex(table?.GlobalSecondaryIndexes) || hasTransitionalIndex(table?.VectorIndexes);
|
|
47305
|
+
}
|
|
47306
|
+
const GSI_INDEX_NOUN = "a global secondary index";
|
|
47307
|
+
const TABLE_INDEX_NOUN = "a global secondary index or vector index";
|
|
47250
47308
|
const INDEX_BUSY_DELETE_MESSAGE = /cannot delete table while indexes are being/i;
|
|
47251
47309
|
function isIndexBusyDeleteError(message) {
|
|
47252
47310
|
return INDEX_BUSY_DELETE_MESSAGE.test(message);
|
|
47253
47311
|
}
|
|
47254
|
-
function relayedIndexBusyDelete(withheldText) {
|
|
47255
|
-
return isIndexBusyDeleteError(withheldText) ?
|
|
47312
|
+
function relayedIndexBusyDelete(withheldText, indexNoun = GSI_INDEX_NOUN) {
|
|
47313
|
+
return isIndexBusyDeleteError(withheldText) ? ` AWS reports that ${indexNoun} is still being created, updated or deleted; re-running the destroy succeeds once the index is ACTIVE.` : "";
|
|
47256
47314
|
}
|
|
47257
47315
|
const DELETE_INDEX_BUSY_REARM_MAX_ATTEMPTS = 60;
|
|
47258
47316
|
const INDEX_SETTLE_POLL_INTERVAL_MS = 1e3;
|
|
@@ -47260,21 +47318,43 @@ const DELETE_INDEX_WAIT_PROCEED_NOTE = `the DeleteTable goes ahead anyway and AW
|
|
|
47260
47318
|
async function waitForIndexesSettled(opts) {
|
|
47261
47319
|
const { tableName, logicalId, logger, describeTable, maxAttempts, proceedNote } = opts;
|
|
47262
47320
|
const budgetWait = opts.budgetWait;
|
|
47321
|
+
const shortCap = opts.shortCapUnlessVectorBusy;
|
|
47322
|
+
let vectorOnlyBusy = false;
|
|
47323
|
+
let stoppedAtShortCap = false;
|
|
47324
|
+
let announced = false;
|
|
47325
|
+
const effectiveCap = () => shortCap !== void 0 && !vectorOnlyBusy ? Math.min(shortCap, maxAttempts) : maxAttempts;
|
|
47263
47326
|
const watch = startInterruptWatch(`index settle wait on ${tableName}`);
|
|
47264
47327
|
let attempt = 0;
|
|
47265
47328
|
try {
|
|
47266
|
-
|
|
47329
|
+
for (;;) {
|
|
47330
|
+
if (shortCap !== void 0 && attempt >= shortCap && !vectorOnlyBusy) {
|
|
47331
|
+
stoppedAtShortCap = true;
|
|
47332
|
+
break;
|
|
47333
|
+
}
|
|
47334
|
+
if (!(budgetWait ? budgetWait.nextPoll() : attempt < maxAttempts)) break;
|
|
47267
47335
|
attempt += 1;
|
|
47268
47336
|
if (watch.isInterrupted()) {
|
|
47269
47337
|
logger.debug(`Interrupted while waiting for indexes on ${tableName} (${logicalId}) after ${attempt - 1} DescribeTable polls; ${proceedNote}`);
|
|
47270
47338
|
return;
|
|
47271
47339
|
}
|
|
47272
47340
|
try {
|
|
47273
|
-
|
|
47341
|
+
const response = await describeTable();
|
|
47342
|
+
if (!hasTransitionalTableIndex(response.Table)) {
|
|
47343
|
+
if (attempt > 1) logger.debug(safeMsg`Indexes on ${tableName} (${logicalId}) settled after ${attempt} DescribeTable polls`);
|
|
47344
|
+
return;
|
|
47345
|
+
}
|
|
47346
|
+
const gsiBusy = hasTransitionalIndex(response.Table?.GlobalSecondaryIndexes);
|
|
47347
|
+
const vectorBusy = hasTransitionalIndex(response.Table?.VectorIndexes);
|
|
47348
|
+
vectorOnlyBusy = vectorBusy && !gsiBusy;
|
|
47349
|
+
if (!announced) {
|
|
47350
|
+
announced = true;
|
|
47351
|
+
const busyKinds = gsiBusy ? vectorBusy ? "a global secondary index and a vector index" : "a global secondary index" : "a vector index";
|
|
47352
|
+
logger.debug(safeMsg`Index settle wait on ${tableName} (${logicalId}): ${busyKinds} still transitioning (poll ${attempt})`);
|
|
47353
|
+
}
|
|
47274
47354
|
} catch (err) {
|
|
47275
47355
|
const message = describeAwsFailure(err).detail;
|
|
47276
47356
|
if (isThrottlingError(err)) {
|
|
47277
|
-
logger.debug(`DescribeTable throttled while waiting for indexes on ${tableName} (attempt ${attempt}/${
|
|
47357
|
+
logger.debug(`DescribeTable throttled while waiting for indexes on ${tableName} (attempt ${attempt}/${effectiveCap()}); still waiting: ${message}`);
|
|
47278
47358
|
await new Promise((resolve) => setTimeout(resolve, INDEX_SETTLE_POLL_INTERVAL_MS));
|
|
47279
47359
|
continue;
|
|
47280
47360
|
}
|
|
@@ -47293,14 +47373,14 @@ async function waitForIndexesSettled(opts) {
|
|
|
47293
47373
|
watch.dispose();
|
|
47294
47374
|
}
|
|
47295
47375
|
const pollSeconds = INDEX_SETTLE_POLL_INTERVAL_MS / 1e3;
|
|
47296
|
-
const pollsRun = budgetWait ? budgetWait.pollsRun :
|
|
47297
|
-
logger.warn(`Indexes on ${tableName} (${logicalId}) did not all reach ACTIVE within ${pollsRun} DescribeTable polls (~${pollSeconds}s apart, so a little over ${pollsRun * pollSeconds}s of wall clock).${budgetWait?.note() ?? ""} ${proceedNote}`);
|
|
47376
|
+
const pollsRun = budgetWait ? budgetWait.pollsRun : attempt;
|
|
47377
|
+
logger.warn(`Indexes on ${tableName} (${logicalId}) did not all reach ACTIVE within ${pollsRun} DescribeTable polls (~${pollSeconds}s apart, so a little over ${pollsRun * pollSeconds}s of wall clock).${stoppedAtShortCap ? "" : budgetWait?.note(shortCap !== void 0 && !vectorOnlyBusy ? shortCap : void 0) ?? ""} ${proceedNote}`);
|
|
47298
47378
|
}
|
|
47299
47379
|
function indexBusyRetryWarning(opts) {
|
|
47300
47380
|
const remainingAttempts = Math.max(0, 1 + opts.maxRetries - opts.attemptNumber);
|
|
47301
47381
|
const settleFloorMinutes = Math.max(1, Math.round((remainingAttempts + 1) * 60 * INDEX_SETTLE_POLL_INTERVAL_MS / 6e4));
|
|
47302
47382
|
const pollSeconds = INDEX_SETTLE_POLL_INTERVAL_MS / 1e3;
|
|
47303
|
-
return `DynamoDB ${opts.typeLabel} ${opts.logicalId}: AWS refused DeleteTable on ${opts.physicalId} because a global secondary index is still being created, updated or deleted — application auto-scaling can start an index capacity change at any moment, including during this destroy. Waiting for the index to settle and retrying (this attempt plus up to ${remainingAttempts} more attempts; each one first waits up to ${60} DescribeTable polls ~${pollSeconds}s apart before its DeleteTable, so cdkd will not give up for at least ~${settleFloorMinutes} more minutes while those settle waits run). Nothing is wrong with the table; a large index backfill can outlast this budget, in which case the destroy fails on AWS's refusal (re-run with --verbose for AWS's own message) and re-running it succeeds once the index is ACTIVE.`;
|
|
47383
|
+
return `DynamoDB ${opts.typeLabel} ${opts.logicalId}: AWS refused DeleteTable on ${opts.physicalId} because ${opts.indexNoun ?? "a global secondary index"} is still being created, updated or deleted — application auto-scaling can start an index capacity change at any moment, including during this destroy. Waiting for the index to settle and retrying (this attempt plus up to ${remainingAttempts} more attempts; each one first waits up to ${60} DescribeTable polls ~${pollSeconds}s apart before its DeleteTable, so cdkd will not give up for at least ~${settleFloorMinutes} more minutes while those settle waits run). Nothing is wrong with the table; a large index backfill can outlast this budget, in which case the destroy fails on AWS's refusal (re-run with --verbose for AWS's own message) and re-running it succeeds once the index is ACTIVE.`;
|
|
47304
47384
|
}
|
|
47305
47385
|
async function deleteTableWithIndexBusyRetry(opts) {
|
|
47306
47386
|
let deleteAttempts = 0;
|
|
@@ -47308,12 +47388,13 @@ async function deleteTableWithIndexBusyRetry(opts) {
|
|
|
47308
47388
|
try {
|
|
47309
47389
|
await withRetry(async () => {
|
|
47310
47390
|
if (deleteAttempts++ > 0) {
|
|
47311
|
-
if (deleteAttempts === 2) opts.logger.warn(indexBusyRetryWarning({
|
|
47391
|
+
if (deleteAttempts === 2) opts.logger.warn(opts.retryWarning?.() ?? indexBusyRetryWarning({
|
|
47312
47392
|
typeLabel: opts.typeLabel,
|
|
47313
47393
|
logicalId: opts.logicalId,
|
|
47314
47394
|
physicalId: opts.physicalId,
|
|
47315
47395
|
attemptNumber: deleteAttempts,
|
|
47316
|
-
maxRetries: opts.maxRetries
|
|
47396
|
+
maxRetries: opts.maxRetries,
|
|
47397
|
+
...opts.indexNoun !== void 0 && { indexNoun: opts.indexNoun }
|
|
47317
47398
|
}));
|
|
47318
47399
|
await opts.reArm();
|
|
47319
47400
|
}
|
|
@@ -47336,6 +47417,7 @@ async function deleteTableWithIndexBusyRetry(opts) {
|
|
|
47336
47417
|
const DYNAMODB_DELETE_POLL_RTT_MS = 200;
|
|
47337
47418
|
const DYNAMODB_DELETE_POLL_COST_MS = INDEX_SETTLE_POLL_INTERVAL_MS + 200;
|
|
47338
47419
|
const DYNAMODB_DELETE_BUDGET_MS = 156e4;
|
|
47420
|
+
const DYNAMODB_DELETE_DEADLINE_MARGIN_MS = 24e4;
|
|
47339
47421
|
const DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS = 18e5;
|
|
47340
47422
|
const dynamoDbDeleteBudgetOverride = {};
|
|
47341
47423
|
function resolveDynamoDbDeleteBudgetMs() {
|
|
@@ -47394,11 +47476,12 @@ var DeleteWaitImpl = class {
|
|
|
47394
47476
|
get cutShort() {
|
|
47395
47477
|
return this.endedByBudget && this.ran < 60;
|
|
47396
47478
|
}
|
|
47397
|
-
note() {
|
|
47479
|
+
note(shownCap) {
|
|
47398
47480
|
if (!this.endedByBudget) return "";
|
|
47481
|
+
const cap = shownCap ?? this.cap;
|
|
47399
47482
|
const minutes = Math.max(1, Math.round((this.budget?.totalMs ?? 0) / 6e4));
|
|
47400
|
-
if (this.cutShort) return ` — cdkd's shared ~${minutes}-minute delete allowance was already spent, so this wait made only ${this.ran} of its ${
|
|
47401
|
-
return ` (cdkd's shared ~${minutes}-minute delete allowance capped this wait at ${this.ran} of its ${
|
|
47483
|
+
if (this.cutShort) return ` — cdkd's shared ~${minutes}-minute delete allowance was already spent, so this wait made only ${this.ran} of its ${cap} polls and AWS was not given a real wait. Nothing is necessarily wrong with the table; re-run the destroy.`;
|
|
47484
|
+
return ` (cdkd's shared ~${minutes}-minute delete allowance capped this wait at ${this.ran} of its ${cap} polls.)`;
|
|
47402
47485
|
}
|
|
47403
47486
|
};
|
|
47404
47487
|
function beginDeleteWait(cap, budget) {
|
|
@@ -48518,6 +48601,11 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
48518
48601
|
const warn = log.warn;
|
|
48519
48602
|
log.debug(`Creating DynamoDB GlobalTable ${logicalId}`);
|
|
48520
48603
|
const desiredReplicaTags = refuseMalformedReplicaTags(properties, resourceType, logicalId);
|
|
48604
|
+
const disassociationRefusal = disassociationProtectionRefusal(properties, void 0, logicalId);
|
|
48605
|
+
if (disassociationRefusal !== void 0) {
|
|
48606
|
+
if (context?.replayingState !== true) throw new ProvisioningError(log.mask(disassociationRefusal), resourceType, logicalId);
|
|
48607
|
+
warn(`${disassociationRefusal} Proceeding: this create replays a cdkd state record.`);
|
|
48608
|
+
}
|
|
48521
48609
|
const tableName = properties["TableName"] || generatedNameFor("AWS::DynamoDB::GlobalTable", logicalId);
|
|
48522
48610
|
const keySchema = properties["KeySchema"];
|
|
48523
48611
|
const attributeDefinitions = properties["AttributeDefinitions"];
|
|
@@ -48689,6 +48777,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
48689
48777
|
await this.applyCrossRegionReplicaTagsDiff(tableInfo.tableArn, region, void 0, replicaTags, resourceType, logicalId, tableName, maskSecrets);
|
|
48690
48778
|
}
|
|
48691
48779
|
await this.applyReplicaSettings(tableName, logicalId, currentRegion, wiringProperties, void 0, /* @__PURE__ */ new Set(), false, replayWarn(log, context).onUnusable !== void 0, /* @__PURE__ */ new Set(), void 0, warn, maskSecrets);
|
|
48780
|
+
await this.convergeReplicaDisassociationProtection(tableName, logicalId, currentRegion, wiringProperties, void 0, context?.replayingState === true ? "replay" : "template", warn, maskSecrets);
|
|
48692
48781
|
const createTtl = planTimeToLive(properties["TimeToLiveSpecification"], void 0, "create");
|
|
48693
48782
|
if (createTtl.kind === "enable") await this.dynamoDBClient.send(new UpdateTimeToLiveCommand({
|
|
48694
48783
|
TableName: tableName,
|
|
@@ -48816,14 +48905,14 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
48816
48905
|
DeletionProtectionEnabled: enabled
|
|
48817
48906
|
}));
|
|
48818
48907
|
}
|
|
48819
|
-
async waitForReplicaProtectionSettled(tableName, region, enabled, logicalId, maskSecrets, budget) {
|
|
48908
|
+
async waitForReplicaProtectionSettled(tableName, region, enabled, logicalId, maskSecrets, budget, member = "DeletionProtectionEnabled", replicaClient = this.getRegionalClient(region)) {
|
|
48820
48909
|
const wait = beginDeleteWait(60, budget);
|
|
48821
|
-
const watch = startInterruptWatch(maskSecrets(`DynamoDB replica ${region} deletion-protection change on ${tableName}`));
|
|
48910
|
+
const watch = startInterruptWatch(maskSecrets(`DynamoDB replica ${region} ${member === "DeletionProtectionEnabled" ? "deletion-protection" : "disassociation-protection"} change on ${tableName}`));
|
|
48822
48911
|
try {
|
|
48823
48912
|
while (wait.nextPoll()) {
|
|
48824
48913
|
if (watch.isInterrupted()) throw watch.onInterrupted();
|
|
48825
|
-
const replica = await
|
|
48826
|
-
if (replica.Table?.TableStatus === "ACTIVE" && replica.Table
|
|
48914
|
+
const replica = await replicaClient.send(new DescribeTableCommand({ TableName: tableName }));
|
|
48915
|
+
if (replica.Table?.TableStatus === "ACTIVE" && replica.Table[member] === enabled) {
|
|
48827
48916
|
if ((await this.dynamoDBClient.send(new DescribeTableCommand({ TableName: tableName }))).Table?.TableStatus === "ACTIVE") return;
|
|
48828
48917
|
}
|
|
48829
48918
|
await new Promise((resolve) => setTimeout(resolve, REPLICA_PROTECTION_SETTLE_POLL_MS));
|
|
@@ -48831,7 +48920,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
48831
48920
|
} finally {
|
|
48832
48921
|
watch.dispose();
|
|
48833
48922
|
}
|
|
48834
|
-
throw new ProvisioningError(maskSecrets(
|
|
48923
|
+
throw new ProvisioningError(maskSecrets(`${member}=${enabled} on the ${region} replica of ${tableName} did not settle within ${wait.pollsRun} polls${wait.note()}`), "AWS::DynamoDB::GlobalTable", logicalId, tableName);
|
|
48835
48924
|
}
|
|
48836
48925
|
async convergeReplicaDeletionProtection(tableName, logicalId, currentRegion, previousProperties, properties, addedRegions, desiredFromReadback, warn, maskSecrets) {
|
|
48837
48926
|
const desired = Array.isArray(properties["Replicas"]) ? properties["Replicas"] : [];
|
|
@@ -48860,6 +48949,63 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
48860
48949
|
if (typeof live === "boolean" && live !== newDpe) await this.setReplicaDeletionProtection(tableName, region, newDpe, logicalId, maskSecrets);
|
|
48861
48950
|
}
|
|
48862
48951
|
}
|
|
48952
|
+
async convergeReplicaDisassociationProtection(tableName, logicalId, currentRegion, properties, previousProperties, origin, warn, maskSecrets) {
|
|
48953
|
+
const desired = Array.isArray(properties["Replicas"]) ? properties["Replicas"] : [];
|
|
48954
|
+
let wrote = false;
|
|
48955
|
+
const multiRegion = isMultiRegionReplicaSet(properties);
|
|
48956
|
+
for (const entry of desired) {
|
|
48957
|
+
const replica = asRecord(entry);
|
|
48958
|
+
const region = replica?.["Region"];
|
|
48959
|
+
if (typeof region !== "string" || region === "") continue;
|
|
48960
|
+
const declared = readReplicaDisassociationProtection(replica);
|
|
48961
|
+
const previous = previousProperties === void 0 ? void 0 : readReplicaDisassociationProtection(localReplicaEntry(previousProperties, region));
|
|
48962
|
+
const clientFor = () => region === currentRegion ? this.dynamoDBClient : this.getRegionalClient(region);
|
|
48963
|
+
const readLive = async () => {
|
|
48964
|
+
const client = clientFor();
|
|
48965
|
+
try {
|
|
48966
|
+
return (await client.send(new DescribeTableCommand({ TableName: tableName }))).Table?.DisassociationProtectionEnabled;
|
|
48967
|
+
} catch (readError) {
|
|
48968
|
+
this.logger.debug(maskSecrets(`Could not read ${DISASSOCIATION_PROTECTION_KEY} on the ${region} replica of ${tableName}: ${describeAwsFailure(readError).detail}`));
|
|
48969
|
+
return;
|
|
48970
|
+
}
|
|
48971
|
+
};
|
|
48972
|
+
if (!multiRegion) {
|
|
48973
|
+
if (declared !== void 0) {
|
|
48974
|
+
const message = `${DISASSOCIATION_PROTECTION_KEY}=${declared} on the ${region} replica of ${tableName} is not sent: DynamoDB applies it only to a replica of a multi-Region global table, and this table's Replicas name a single Region.`;
|
|
48975
|
+
const justShrunk = previousProperties !== void 0 && isMultiRegionReplicaSet(previousProperties);
|
|
48976
|
+
if (origin === "template" && (justShrunk || declared !== previous)) warn(message);
|
|
48977
|
+
else this.logger.debug(maskSecrets(message));
|
|
48978
|
+
} else if (origin !== "readback" && replica?.[DISASSOCIATION_PROTECTION_KEY] === void 0 && previous !== void 0) warn(`${DISASSOCIATION_PROTECTION_KEY} was removed from the ${region} replica of ${tableName}, whose Replicas now name a single Region, so nothing is sent and the replica keeps its current setting (${previous} when last deployed).`);
|
|
48979
|
+
continue;
|
|
48980
|
+
}
|
|
48981
|
+
if (declared === void 0) {
|
|
48982
|
+
if (replica?.[DISASSOCIATION_PROTECTION_KEY] !== void 0 || previous === void 0) continue;
|
|
48983
|
+
if (origin === "template") warn(`${DISASSOCIATION_PROTECTION_KEY} was removed from the ${region} replica of ${tableName}; DynamoDB keeps the replica's current setting (${previous} when last deployed), so nothing is sent. Declare it to change it.`);
|
|
48984
|
+
else if (origin === "replay" && previous === false && await readLive() === false) {
|
|
48985
|
+
await this.setReplicaDisassociationProtection(tableName, region, clientFor(), true, logicalId, maskSecrets);
|
|
48986
|
+
wrote = true;
|
|
48987
|
+
}
|
|
48988
|
+
continue;
|
|
48989
|
+
}
|
|
48990
|
+
const changed = declared !== previous || isUnsettled("Replicas");
|
|
48991
|
+
const live = await readLive();
|
|
48992
|
+
if (live === declared) continue;
|
|
48993
|
+
if (live === void 0 && !changed) continue;
|
|
48994
|
+
await this.setReplicaDisassociationProtection(tableName, region, clientFor(), declared, logicalId, maskSecrets);
|
|
48995
|
+
wrote = true;
|
|
48996
|
+
}
|
|
48997
|
+
if (wrote) await this.waitForGlobalTableSettled(tableName, logicalId, maskSecrets);
|
|
48998
|
+
}
|
|
48999
|
+
async setReplicaDisassociationProtection(tableName, region, client, enabled, logicalId, maskSecrets) {
|
|
49000
|
+
await this.waitForGlobalTableSettled(tableName, logicalId, maskSecrets, client === this.dynamoDBClient ? {} : { region });
|
|
49001
|
+
markUnsettled("Replicas");
|
|
49002
|
+
this.logger.debug(maskSecrets(`Sending UpdateTable ${DISASSOCIATION_PROTECTION_KEY}=${enabled} to the ${region} replica of ${tableName}`));
|
|
49003
|
+
await client.send(new UpdateTableCommand({
|
|
49004
|
+
TableName: tableName,
|
|
49005
|
+
DisassociationProtectionEnabled: enabled
|
|
49006
|
+
}));
|
|
49007
|
+
await this.waitForReplicaProtectionSettled(tableName, region, enabled, logicalId, maskSecrets, void 0, DISASSOCIATION_PROTECTION_KEY, client);
|
|
49008
|
+
}
|
|
48863
49009
|
async convergeReplicaSettings(tableName, logicalId, currentRegion, properties, addedRegions, maskSecrets) {
|
|
48864
49010
|
const kept = (Array.isArray(properties["Replicas"]) ? properties["Replicas"] : []).map(asRecord).filter((r) => typeof r?.["Region"] === "string" && r["Region"] !== currentRegion && !addedRegions.has(r["Region"]));
|
|
48865
49011
|
if (kept.every((r) => readReplicaTableClass(r) === void 0)) return;
|
|
@@ -49454,6 +49600,11 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
49454
49600
|
const debug = log.debug;
|
|
49455
49601
|
debug(`Updating DynamoDB GlobalTable ${logicalId}: ${log.value(physicalId)}`);
|
|
49456
49602
|
refuseMalformedReplicaTags(properties, resourceType, logicalId, physicalId);
|
|
49603
|
+
const disassociationRefusal = disassociationProtectionRefusal(properties, previousProperties, logicalId);
|
|
49604
|
+
if (disassociationRefusal !== void 0) {
|
|
49605
|
+
if (context?.replayingState !== true && context?.desiredFromAwsReadback !== true) throw new ProvisioningError(log.mask(disassociationRefusal), resourceType, logicalId, physicalId);
|
|
49606
|
+
warn(`${disassociationRefusal} Proceeding: this update restores a recorded or read-back configuration.`);
|
|
49607
|
+
}
|
|
49457
49608
|
const replaceFlags = "cdkd deploy --replace --force-stateful-recreation";
|
|
49458
49609
|
const replaceRemedy = async () => {
|
|
49459
49610
|
let guardRegion = "";
|
|
@@ -49732,7 +49883,10 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
49732
49883
|
if (indexUpdates.length > 0) billingUpdate.GlobalSecondaryIndexUpdates = indexUpdates;
|
|
49733
49884
|
}
|
|
49734
49885
|
markUnsettled("BillingMode", "WriteProvisionedThroughputSettings");
|
|
49735
|
-
if (billingUpdate.GlobalSecondaryIndexUpdates !== void 0)
|
|
49886
|
+
if (billingUpdate.GlobalSecondaryIndexUpdates !== void 0) {
|
|
49887
|
+
markUnsettled("GlobalSecondaryIndexes");
|
|
49888
|
+
for (const indexUpdate of billingUpdate.GlobalSecondaryIndexUpdates) debug(`Sending UpdateTable GlobalSecondaryIndexUpdates Update for index ${maskSecrets(indexUpdate.Update?.IndexName ?? "")} on ${physicalId} (with the billing mode change)`);
|
|
49889
|
+
}
|
|
49736
49890
|
await this.dynamoDBClient.send(new UpdateTableCommand(billingUpdate));
|
|
49737
49891
|
await this.waitForTableActiveAfterUpdate(physicalId, logicalId, void 0, void 0, maskSecrets);
|
|
49738
49892
|
}
|
|
@@ -49856,6 +50010,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
49856
50010
|
"streamTags"
|
|
49857
50011
|
] : context?.replayingState === true ? ["pitr"] : []);
|
|
49858
50012
|
await this.applyReplicaSettings(physicalId, logicalId, currentRegion, properties, previousProperties, addedReplicaRegions, !deepEqual(asRecord(properties["StreamSpecification"])?.["StreamViewType"], asRecord(previousProperties["StreamSpecification"])?.["StreamViewType"]), context?.replayingState === true || context?.desiredFromAwsReadback === true, replicaKeepOnRemoval, describeResp.Table?.LatestStreamArn, warn, maskSecrets);
|
|
50013
|
+
await this.convergeReplicaDisassociationProtection(physicalId, logicalId, currentRegion, properties, previousProperties, context?.desiredFromAwsReadback === true ? "readback" : context?.replayingState === true ? "replay" : "template", warn, maskSecrets);
|
|
49859
50014
|
const previousTranslatedIndexes = toSdkGlobalSecondaryIndexes(previousProperties, currentRegion, oldBilling, "min", void 0, onUnusablePreviousGsiBlock, maskSecrets);
|
|
49860
50015
|
const previousSdkIndexes = previousGsiUnusable ? buildLiveRecoveryGsiBaseline(desiredSdkIndexes, describeResp.Table?.GlobalSecondaryIndexes, {
|
|
49861
50016
|
carryLiveValues: oldBilling === newBilling && liveBillingMode === newBilling,
|
|
@@ -49879,6 +50034,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
49879
50034
|
if (!gsi.IndexName) continue;
|
|
49880
50035
|
const gsiUpdate = { Delete: { IndexName: gsi.IndexName } };
|
|
49881
50036
|
markUnsettled("GlobalSecondaryIndexes");
|
|
50037
|
+
debug(`Sending UpdateTable GlobalSecondaryIndexUpdates Delete for index ${maskSecrets(gsi.IndexName)} on ${physicalId}`);
|
|
49882
50038
|
await this.dynamoDBClient.send(new UpdateTableCommand({
|
|
49883
50039
|
TableName: physicalId,
|
|
49884
50040
|
GlobalSecondaryIndexUpdates: [gsiUpdate]
|
|
@@ -49897,6 +50053,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
49897
50053
|
...addedWarmToSend && { WarmThroughput: addedWarmToSend }
|
|
49898
50054
|
} };
|
|
49899
50055
|
markUnsettled("GlobalSecondaryIndexes");
|
|
50056
|
+
debug(`Sending UpdateTable GlobalSecondaryIndexUpdates Create for index ${maskSecrets(gsi.IndexName ?? "")} on ${physicalId}`);
|
|
49900
50057
|
await this.dynamoDBClient.send(new UpdateTableCommand({
|
|
49901
50058
|
TableName: physicalId,
|
|
49902
50059
|
AttributeDefinitions: newAttrs,
|
|
@@ -49939,6 +50096,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
49939
50096
|
}
|
|
49940
50097
|
const gsiUpdate = { Update: update };
|
|
49941
50098
|
markUnsettled("GlobalSecondaryIndexes");
|
|
50099
|
+
debug(`Sending UpdateTable GlobalSecondaryIndexUpdates Update for index ${maskSecrets(gsi.IndexName ?? "")} on ${physicalId}`);
|
|
49942
50100
|
await this.dynamoDBClient.send(new UpdateTableCommand({
|
|
49943
50101
|
TableName: physicalId,
|
|
49944
50102
|
GlobalSecondaryIndexUpdates: [gsiUpdate]
|
|
@@ -50570,13 +50728,16 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
50570
50728
|
const subs = await this.readReplicaSubSpecs(client, tableNameForSubs, regionLabel, declaredReplica);
|
|
50571
50729
|
Object.assign(entry, subs);
|
|
50572
50730
|
let protection;
|
|
50731
|
+
let disassociationProtection;
|
|
50573
50732
|
let streamArn;
|
|
50574
50733
|
if (isLocal) {
|
|
50575
50734
|
protection = table.DeletionProtectionEnabled;
|
|
50735
|
+
disassociationProtection = table.DisassociationProtectionEnabled;
|
|
50576
50736
|
streamArn = table.LatestStreamArn;
|
|
50577
50737
|
} else try {
|
|
50578
50738
|
const regional = await client.send(new DescribeTableCommand({ TableName: tableNameForSubs }));
|
|
50579
50739
|
protection = regional.Table?.DeletionProtectionEnabled;
|
|
50740
|
+
disassociationProtection = regional.Table?.DisassociationProtectionEnabled;
|
|
50580
50741
|
streamArn = regional.Table?.LatestStreamArn;
|
|
50581
50742
|
} catch (err) {
|
|
50582
50743
|
if (strictFor("Replicas") && !(err instanceof ResourceNotFoundException$1)) throw err;
|
|
@@ -50584,6 +50745,7 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
50584
50745
|
else this.logger.debug(safeMsg`Could not read the ${regionLabel} replica of ${tableNameForSubs}: ${describeAwsFailure(err).detail}`);
|
|
50585
50746
|
}
|
|
50586
50747
|
if (typeof protection === "boolean") entry["DeletionProtectionEnabled"] = protection;
|
|
50748
|
+
if (typeof disassociationProtection === "boolean" && declaredReplica?.[DISASSOCIATION_PROTECTION_KEY] !== void 0) entry[DISASSOCIATION_PROTECTION_KEY] = disassociationProtection;
|
|
50587
50749
|
await this.readReplicaPolicies(client, tableNameForSubs, regionLabel, replicaArn, streamArn, declaredReplica, afterOwnWrite, entry);
|
|
50588
50750
|
if (replicaArn) try {
|
|
50589
50751
|
const tagsResp = await client.send(new ListTagsOfResourceCommand({ ResourceArn: replicaArn }));
|
|
@@ -50979,6 +51141,46 @@ function refuseMalformedReplicaTags(properties, resourceType, logicalId, physica
|
|
|
50979
51141
|
});
|
|
50980
51142
|
return tagsByReplica;
|
|
50981
51143
|
}
|
|
51144
|
+
const DISASSOCIATION_PROTECTION_KEY = "DisassociationProtectionEnabled";
|
|
51145
|
+
function disassociationProtectionRefusal(properties, previousProperties, logicalId) {
|
|
51146
|
+
const replicas = properties["Replicas"];
|
|
51147
|
+
if (!Array.isArray(replicas)) return void 0;
|
|
51148
|
+
const malformed = [];
|
|
51149
|
+
const singleRegion = [];
|
|
51150
|
+
const multiRegion = isMultiRegionReplicaSet(properties);
|
|
51151
|
+
replicas.forEach((entry, index) => {
|
|
51152
|
+
const replica = asRecord(entry);
|
|
51153
|
+
if (replica === void 0) return;
|
|
51154
|
+
const refusal = configBooleanRefusal(replica, DISASSOCIATION_PROTECTION_KEY, `Replicas[${index}]`);
|
|
51155
|
+
if (refusal !== void 0) {
|
|
51156
|
+
malformed.push(refusal);
|
|
51157
|
+
return;
|
|
51158
|
+
}
|
|
51159
|
+
const declared = readReplicaDisassociationProtection(replica);
|
|
51160
|
+
if (declared === void 0 || multiRegion) return;
|
|
51161
|
+
const region = replica["Region"];
|
|
51162
|
+
const previous = previousProperties === void 0 || typeof region !== "string" ? void 0 : readReplicaDisassociationProtection(localReplicaEntry(previousProperties, region));
|
|
51163
|
+
if (declared === false && declared !== previous) singleRegion.push(`Replicas[${index}].${DISASSOCIATION_PROTECTION_KEY}`);
|
|
51164
|
+
});
|
|
51165
|
+
const parts = [];
|
|
51166
|
+
if (malformed.length > 0) parts.push(`${malformed.join("; ")}. That replica's disassociation protection is left as it is.`);
|
|
51167
|
+
if (singleRegion.length > 0) parts.push(`${singleRegion.join(", ")} is applied by DynamoDB only to a replica of a multi-Region (MREC) global table, and this table's Replicas name a single Region, so cdkd does not send it. Remove ${DISASSOCIATION_PROTECTION_KEY}, or add a replica in another Region.`);
|
|
51168
|
+
if (parts.length === 0) return void 0;
|
|
51169
|
+
return `AWS::DynamoDB::GlobalTable ${logicalId}: ${parts.join(" ")}`;
|
|
51170
|
+
}
|
|
51171
|
+
function isMultiRegionReplicaSet(properties) {
|
|
51172
|
+
const replicas = properties["Replicas"];
|
|
51173
|
+
if (!Array.isArray(replicas)) return false;
|
|
51174
|
+
const regions = /* @__PURE__ */ new Set();
|
|
51175
|
+
for (const entry of replicas) {
|
|
51176
|
+
const region = asRecord(entry)?.["Region"];
|
|
51177
|
+
if (typeof region === "string" && region !== "") regions.add(region);
|
|
51178
|
+
}
|
|
51179
|
+
return regions.size > 1;
|
|
51180
|
+
}
|
|
51181
|
+
function readReplicaDisassociationProtection(replica) {
|
|
51182
|
+
return coerceCfnBoolean(replica?.[DISASSOCIATION_PROTECTION_KEY]);
|
|
51183
|
+
}
|
|
50982
51184
|
function completeLegacyLocalReplica(baseline, aws, localRegion) {
|
|
50983
51185
|
const key = "Replicas";
|
|
50984
51186
|
const baselineReplicas = baseline[key];
|
|
@@ -53262,6 +53464,8 @@ async function provisionUpdate(engine, logicalId, change, stateResources, stackN
|
|
|
53262
53464
|
unwritten,
|
|
53263
53465
|
routeDriving: findActionableSilentDrops(resourceType, desiredForSkipCheck, allowedForRecord, currentProps).map(({ property }) => property),
|
|
53264
53466
|
nested: engine.options.parentStackInfo !== void 0,
|
|
53467
|
+
nowWritten: findHandledUnwrittenCreateOnly(resourceType, currentProps, createOnlyEvidence),
|
|
53468
|
+
evidence: [...createOnlyEvidence],
|
|
53265
53469
|
protectionEvidence: recordedProtectionEvidence(resourceType, currentProps, currentResource.observedProperties, engine.stackRegion)
|
|
53266
53470
|
}), "CREATE_ONLY_DROP_NEEDS_REPLACEMENT")));
|
|
53267
53471
|
}
|
|
@@ -53373,13 +53577,34 @@ async function provisionUpdate(engine, logicalId, change, stateResources, stackN
|
|
|
53373
53577
|
}
|
|
53374
53578
|
function unwrittenCreateOnlyRefusal(input) {
|
|
53375
53579
|
const { logicalId, resourceType, unwritten, routeDriving, nested, protectionEvidence } = input;
|
|
53580
|
+
const nowWritten = (input.nowWritten ?? []).filter((property) => unwritten.includes(property));
|
|
53581
|
+
if (nowWritten.length > 0) return nowWrittenCreateOnlyRefusal({
|
|
53582
|
+
...input,
|
|
53583
|
+
nowWritten
|
|
53584
|
+
});
|
|
53376
53585
|
const one = unwritten.length === 1;
|
|
53377
53586
|
const list = unwritten.join(", ");
|
|
53378
53587
|
const keep = [.../* @__PURE__ */ new Set([...unwritten, ...routeDriving])].sort((a, b) => a.localeCompare(b)).map((property) => `${resourceType}:${property}`).join(",");
|
|
53379
|
-
const replaceFlags =
|
|
53588
|
+
const replaceFlags = unwrittenReplaceFlags(logicalId, nested);
|
|
53380
53589
|
const routed = [...routeDriving].sort((a, b) => a.localeCompare(b)).join(", ");
|
|
53381
53590
|
return safeMsg`${logicalId} (${resourceType}): ${list} ${one ? "is" : "are"} create-only, and the ` + `state record holds ${one ? "it" : "them"} although this type's SDK provider never writes ${one ? "it" : "them"}, so AWS does not. This deploy routes the resource through ` + safeMsg`Cloud Control (--prefer-sdk-route does not cover ${routed}), and applying a create-only ` + `property means replacing the resource, which cdkd does not do on its own. This ` + safeMsg`resource was not changed. To replace it and apply ${list}, re-run with ${replaceFlags}; a ` + `stateful resource also needs --force-stateful-recreation.` + (protectionEvidence !== void 0 ? safeMsg` ${recordedProtectionNote(protectionEvidence, nested ? "--replace" : `--recreate-via-cc-api ${logicalId} or --replace`)}` : "") + safeMsg` To keep dropping ${one ? "it" : "them"}, re-run with --prefer-sdk-route ${keep}.`;
|
|
53382
53591
|
}
|
|
53592
|
+
function unwrittenReplaceFlags(logicalId, nested) {
|
|
53593
|
+
return nested ? "--replace (which creates the new resource before deleting the old one, so a resource holding a unique value other than its name, such as a CIDR block, collides)" : `--recreate-via-cc-api ${logicalId}, which deletes the old resource first (--replace also works, but creates the new one first, so a resource holding a unique value other than its name, such as a CIDR block, collides)`;
|
|
53594
|
+
}
|
|
53595
|
+
function nowWrittenCreateOnlyRefusal(input) {
|
|
53596
|
+
const { logicalId, resourceType, unwritten, routeDriving, nested, protectionEvidence } = input;
|
|
53597
|
+
const nowWritten = input.nowWritten;
|
|
53598
|
+
const one = unwritten.length === 1;
|
|
53599
|
+
const list = unwritten.join(", ");
|
|
53600
|
+
const written = nowWritten.join(", ");
|
|
53601
|
+
const writtenOne = nowWritten.length === 1;
|
|
53602
|
+
const stillDropped = unwritten.filter((property) => !nowWritten.includes(property));
|
|
53603
|
+
const keep = [.../* @__PURE__ */ new Set([...stillDropped, ...routeDriving])].filter((property) => !nowWritten.includes(property)).sort((a, b) => a.localeCompare(b)).map((property) => `${resourceType}:${property}`).join(",");
|
|
53604
|
+
const routed = [...routeDriving].sort((a, b) => a.localeCompare(b)).join(", ");
|
|
53605
|
+
const replaceFlags = unwrittenReplaceFlags(logicalId, nested);
|
|
53606
|
+
return safeMsg`${logicalId} (${resourceType}): ${list} ${one ? "is" : "are"} create-only, and the ` + `state record holds ${one ? "it" : "them"} although the SDK provider that built the resource did not write ${one ? "it" : "them"} (an earlier deploy accepted dropping ${one ? "it" : "them"} with --prefer-sdk-route), so AWS does not. ` + safeMsg`This cdkd version's SDK provider writes ${written}, so no flag keeps ` + `${writtenOne ? "it" : "them"} dropped any more` + (routed.length > 0 ? safeMsg`, and this deploy routes the resource through Cloud Control (--prefer-sdk-route does not cover ${routed})` : "") + "; applying a create-only property means replacing the resource, which cdkd does not do on its own. This " + safeMsg`resource was not changed. To replace it and apply ${list}, re-run with ${replaceFlags}; a ` + `stateful resource also needs --force-stateful-recreation.` + (protectionEvidence !== void 0 ? safeMsg` ${recordedProtectionNote(protectionEvidence, nested ? "--replace" : `--recreate-via-cc-api ${logicalId} or --replace`)}` : "") + safeMsg` To keep the resource as it is, remove ${written} from the template` + (keep.length > 0 ? safeMsg` and re-run with --prefer-sdk-route ${keep}.` : ".") + (nested || stillDropped.length > 0 || (input.evidence ?? []).some((property) => !nowWritten.includes(property)) ? "" : safeMsg` If AWS already holds ${written} (cdkd drift compares it), re-record the ` + safeMsg`resource instead: cdkd import with --resource '${logicalId}=PHYSICAL_ID' (its physical ` + `id, quoted) and --force writes a record without this evidence and changes nothing in AWS.`);
|
|
53607
|
+
}
|
|
53383
53608
|
function scalarLeavesOf(value, into = /* @__PURE__ */ new Set()) {
|
|
53384
53609
|
if (typeof value === "string") into.add(value);
|
|
53385
53610
|
else if (typeof value === "number") into.add(String(value));
|
|
@@ -55273,5 +55498,5 @@ function sameGenerationClaimsOf(record) {
|
|
|
55273
55498
|
}
|
|
55274
55499
|
|
|
55275
55500
|
//#endregion
|
|
55276
|
-
export { IMPLICIT_DELETE_DEPENDENCIES as $, envCredentialsAreAssumedRole as $a, maskSecretsInError as $c, withPrintingSecrets as $i, PhaseClock as $l, resourcesNamingDeclaredParameter as $n, malformedScrubResourceEntriesRefusalMessage as $o, noEchoComparisonForTemplate as $r, coerceCfnBoolean as $s, isAccessDeniedError as $t, stateBucketExistenceConfirmed as $u, DYNAMODB_DELETE_POLL_COST_MS as A, poisonRenderedSpellingsCollidingIn as Aa, noEchoOutputsComparison as Ac, injectedAwsRegionValue as Ad, DeploymentEventsStore as Ai, rebuildClientForBucketRegion as Al, replacementNeverSwapped as An, displayLogicalId as Ao, proposeRenames as Ar, repairMalformedResourcePropertiesForReadOnly as As, NESTED_PENDING_PARENT_REASON as At, isDockerClientEnvKey as Au, relayedIndexBusyDelete as B, keepHeldTokenProvenance as Ba, snapshotPassProvenance as Bc, tagPlanWarning as Bi, acceptedCreateOnlyDropsOf as Bl, redactedDeleteAddressSkip as Bn, malformedLocalResourceEntriesWarning as Bo, red as Br, NO_CC_HANDLERS_REASON as Bs, collectNestedChildUnaddressed as Bt, getDockerImageBySourceHash as Bu, planContributorInsightsOp as C, isUsableAttemptedName as Ca, isMarkedCoordinate as Cc, ownValue as Cd, unsupportedFinalSnapshotError as Ci, recordProvenPublicExpression as Cl, demoteSupersededOrphans as Cn, JSON_LISTING_HOLE_VALUE as Co, movedToHint as Cr, refuseMalformedResourcesForDestroy as Cs, makeCanonicalizePropertiesFn as Ct, describeDockerCapturedOutput as Cu, reverseMapTableContributorInsights as D, withUnsettledProperties as Da, maskedLeafCoordinatesOf as Dc, renderAssemblyPathEscape as Dd, withCreateTokenLedger as Di, LockManager as Dl, planRollback as Dn, UNREADABLE_RESOURCES_MAP_ROW as Do, looselyEqual as Dr, repairMalformedOrphansForReadOnly as Ds, resolvePendingCloudControlRequests as Dt, finchSecretArgvRefusal as Du, reverseMapIndexContributorInsights as E, unsettledPropertiesOf as Ea, maskWholeValue as Ec, displayAssemblyPath as Ed, reserveStackCreateToken as Ei, isSingleDynamicReferenceToken as El, planFailedOps as En, UNREADABLE_ORPHANS_CONTAINER_ROW as Eo, isPairableType as Er, repairMalformedOrphanRecordsForReadOnly as Es, pendingRequestCount as Et, dockerSpawnEnvWithSensitive as Eu, resolveDynamoDbDeleteBudgetMs as F, s3BucketRegionalDomainName as Fa, valueAtCoordinate as Fc, DBPROXY_TAG_OPTIONS as Fi, isAccessDenied$1 as Fl, getCurrentProducerRegions as Fn, isReadableResourceEntry as Fo, replacedDeleteFailureVerdict as Fr, withheldAccountClause as Fs, nestedChildStackName as Ft, redactedDockerCause as Fu, readTtlSpec as G, assertFlagRoleArn as Ga, logOnlyValueCount as Gc, ccBrokenReason as Gi, hasUnverifiableParameterRefusal as Gl, nameScopeOf as Gn, malformedOrphansRefusalMessage as Go, isSupersededResourceRecord as Gr, isStatefulRecreateTargetForReplace as Gs, dropFailedHint as Gt, loadCdkJson as Gu, isTtlAlreadyDisabled as H, recordedOutputReferenceRegions as Ha, createUnionSecretMasker as Hc, stringifyIfAssigned as Hi, exportNamesCarriedFrom as Hl, updatePartialReason as Hn, malformedOrphanRecordsRefusalMessage as Ho, addSuperseded as Hr, findReplacedReadersOfRecreateTargets as Hs, withNestedStackContext as Ht, synthesisStatusMessage as Hu, DELETE_INDEX_WAIT_PROCEED_NOTE as I, s3BucketWebsiteUrl as Ia, liveMatchesUnresolvedTokenFrame as Ic, planTagDiff as Ii, isNotImplemented as Il, inheritProducerRegions as In, malformedDriftResourcePropertiesWarning as Io, bold as Ir, findActionableSilentDrops as Is, recordDisplacedSkips as It, runDockerForeground as Iu, S3_AUTO_DELETE_OBJECTS_TAG as J, isIamRoleArn as Ja, recordLogOnlyValue as Jc, waitForLambdaFunctionActive as Ji, isReadableBag as Jl, retiredNameGenerationsLeaving as Jn, malformedOutputsWarning as Jo, supersededHeldByOtherTypeWarning as Jr, WARM_THROUGHPUT_MEMBERS as Js, loadJournaledOrphans as Jt, resolveCaptureObservedState as Ju, sendTtlWaitingOutRateLimit as K, assertSendableRoleArn as Ka, printingCorpusOf as Kc, isCustomResource as Ki, importableOutputKeys as Kl, retiredAfterRollback as Kn, malformedOrphansWarning as Ko, removeSuperseded as Kr, isStatefulRecreateTargetSync as Ks, isHandledOrphan as Kt, resolveApp as Ku, INDEX_SETTLE_POLL_INTERVAL_MS as L, resolveDynamicReferences as La, markSameGenerationBag as Lc, readTagList as Li, stackInstanceIdOf as Ll, REDACTED_DELETE_ADDRESS_SKIP_REASON as Ln, malformedExportNamesWarning as Lo, cyan as Lr, findSilentDropProperties as Ls, revertNestedChildFromJournal as Lt, runDockerStreaming as Lu, compensateRemovedDeletionProtection as M, s3BucketArn as Ma, readbackPathFor as Mc, resolveBucketRegion as Md, isRefusedByName as Mi, CrossPrefixScanCache as Ml, seedsDeleteFirstGuard as Mn, hasReadableOutputs as Mo, destroyStackRecordsView as Mr, unpreviewableOrphanRecords as Ms, displacedPhysicalIdShown as Mt, partitionSensitiveEnv as Mu, deleteBudgetKey as N, s3BucketDomainName as Na, readsNoEchoSource as Nc, markDeleteStarted as Ni, applyCrossPrefixScan as Nl, orphanNeedsIdentity as Nn, hasReadableResources as No, getStackRecords as Nr, unreadableOrphanRecords as Ns, dropSettledNestedJournals as Nt, redactDockerArgvValues as Nu, stripIndexContributorInsights as O, withoutUnsettledProperties as Oa, noEchoCoordinatesOf as Oc, resolveAssemblyPath as Od, acquireIdempotencyToken as Oi, isLockInfoExpired as Ol, recheckFailedPlan as On, accountArgs as Oo, mappingPairs as Or, repairMalformedOutputsForReadOnly as Os, keptForRetainedRecord as Ot, formatDockerLoginError as Ou, resolveDynamoDbDeleteBudgetClock as P, s3BucketDualStackDomainName as Pa, recordedNoEchoValuesOf as Pc, DBPROXY_TAGS_WHAT as Pi, crossPrefixDeniedWarning as Pl, findNestedStackTypeChanges as Pn, isReadableOrphanRecord as Po, withStackRecords as Pr, unreadableResourceEntries as Ps, getNestedRevertRun as Pt, redactedCause as Pu, markRefusedBeforeApplying as Q, callerEnvCredentials as Qa, errorCauseChain as Qc, getCurrentResourceSecrets as Qi, stackInstanceIdCarriedFrom as Ql, reachableDivergentParameters as Qn, malformedResourcesWarning as Qo, noEchoAttributeNamesOf as Qr, toFiniteNumber as Qs, chunks as Qt, resolveUseCdkBootstrapAssets as Qu, deleteTableWithIndexBusyRetry as R, producerLookupOver as Ra, redactForState as Rc, refuseMalformedDesiredTags as Ri, withStackInstanceIdWithheld as Rl, isRedactedRecordedValue as Rn, malformedExportSourceWarning as Ro, gray as Rr, unwrittenCreateOnlyReplacement as Rs, revertedNestedRowIds as Rt, warnFinchArgvExposure as Ru, indexDeclaresContributorInsights as S, INTRINSIC_KEYS as Sa, canonicalCoordinates as Sc, nullPrototypeRecord as Sd, refusesFinalSnapshot as Si, recordNoEchoParameterFreshValue as Sl, undeclaredEmptyObservedKeys as Sn, declaresNoEcho as So, hintSidesOf as Sr, refuseMalformedResourcesForDeploy as Ss, mergeNoChangeOutputs as St, resolveDockerContextDirectory as Su, readContributorInsightsSpec as T, unsettledItemsOf as Ta, maskReadbackAtCoordinates as Tc, describeFileReadFailure as Td, ledgerForStack as Ti, WHOLE_DYNAMIC_REFERENCE_PATTERN as Tl, isReplacementOrphan as Tn, STATE_RESOURCES_MALFORMED as To, withMovedTo as Tr, refuseMalformedState as Ts, planOrphanAdoption as Tt, describeDockerFailure as Tu, isTtlRateLimited as U, recordedReferenceRegions as Ua, hasMaskableValues as Uc, CC_BROKEN_REASON as Ui, hasReadableExportSet as Ul, nameGenerationCarriedFrom as Un, malformedOrphanRecordsWarning as Uo, deleteSupersededEntry as Ur, shownType as Us, deleteJournaledOrphans as Ut, getDefaultStateBucketName as Uu, waitForIndexesSettled as V, outputReferenceProvenanceOf as Va, carryLogOnlyValues as Vc, definedAttributes as Vi, describeRegionValueKind as Vl, updatePartialMessage as Vn, malformedLocalResourcesWarning as Vo, yellow as Vr, hasNoCloudControlHandlers as Vs, getCurrentNestedStackContext as Vt, Synthesizer as Vu, planTimeToLive as W, applyRoleArnIfSet as Wa, literalSplitDelimitersOf as Wc, ProviderRegistry as Wi, hasReasonlessBaselineRefusal as Wl, nameGenerationHighWaterOf as Wn, malformedOrphanRowsKeptWarning as Wo, holdsSupersededResources as Wr, MULTI_REGION_RECREATE_BLOCKED_TYPES as Ws, dropFailedCommands as Wt, getLegacyStateBucketName as Wu, isTruthyCfnBoolean as X, AWS_CREDENTIAL_ENV_KEYS as Xa, unionOfSecretBags as Xc, readsNoEchoDeleteValues as Xi, orphansCarriedFrom as Xl, computeParameterTaint as Xn, malformedResourceEntriesWarning as Xo, supersededResourcesOf as Xr, isWarmThroughputDecrease as Xs, sameJournaledOrphans as Xt, resolveStateBucketWithDefault as Xu, hasCdkAutoDeleteTag as Y, sendableAssumeRoleCommand as Ya, shareLogOnlyValues as Yc, TemplateNoEchoReresolver as Yi, orphansAfterRollback as Yl, withNameGenerationReached as Yn, malformedRenderedContainersWarning as Yo, supersededHolderOf as Yr, coerceWarmThroughput as Ys, makeForeignHolderScan as Yt, resolveSkipPrefix as Yu, getPriorAttempts as Z, applyCallerIdentityCredentials as Za, createSecretMasker as Zc, isCustomResourceType as Zi, shouldRetainResource as Zl, namesAnyDeclaredParameter as Zn, malformedResourcePropertiesWarning as Zo, withoutSuperseded as Zr, toCfnInteger as Zs, formatResourceLine as Zt, resolveStateBucketWithDefaultAndSource as Zu, streamMemberRefusals as _, isTerminationProtectionPropagationError as _a, canonicalLambdaFunctionName as _c, parseFailureDebugDetail as _d, buildFinalSnapshotIdentifier as _i, carriesSecretMask as _l, settleUnsettledPrevious as _n, refStateLookupFromResource as _o, maskingRetryLogger as _r, refuseMalformedResourceEntriesForOrphan as _s, enclosingDeadlineRemainingMs as _t, readBootstrapMarkerBody as _u, isProtectionValueActive as a, onlySecretReferencesDiffer as aa, replayWarn as ac, findLargeInlineResources as ad, journaledOrphanPrintingBag as ai, dynamicReferenceTokens as al, refactorMarkerRefusalMessage as an, isUnboundTemplateParameter as ao, secretSafeKeyDisplay as ar, refuseMalformedOrphanRecordsForDestroy as as, serviceTokenBlockingReason as at, WorkGraph as au, CONTRIBUTOR_INSIGHTS_KEY as b, reEnableInstanceApiTermination as ba, DagBuilder as bc, hasOwnKey as bd, effectiveDeletionPolicy as bi, recordMaskOnlyValuesIn as bl, equalModuloMarkedMask as bn, parameterInputsFor as bo, formatDestructiveChange as br, refuseMalformedResourcePropertiesForExport as bs, isSecretBearingReferenceString as bt, buildDenyExternalAccessPolicy as bu, DynamoDBGlobalTableProvider as c, UNSPECIFIED_SKIP_REASON as ca, requireConfigString as cc, decodeListingKey as cd, orphanRecordsPrintingBag as ci, spelledKeysOf as cl, updateRefactorMarker as cn, isImpossibleEmptyStoredAttribute as co, exportNameSecretExposure as cr, refuseMalformedOrphansForOrphan as cs, isAbsoluteAssetPath as ct, loadPublishableAssetManifest as cu, declaredStreamPolicyMember as d, deleteSkipReason as da, describeTypeWithThrottleRetry as dc, canonicalizeRegion as dd, secretNamedAttributeNamesOf as di, recordNestedStackParameterExpressions as dl, pendingMovesRefusalMessage as dn, isNamelessDynamicReferenceError as do, collectDeclaredOutputNames as dr, refuseMalformedResourceAttributesForOrphan as ds, templateIdentity as dt, BOOTSTRAP_MARKER_PREFIX as du, CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID as ea, coerceCfnInteger as ec, warnDeprecatedNoPrefixCliFlag as ed, noEchoExactEchoLeavesOf as ei, maskSecretsInText as el, lookupEachName as en, classifyRecordedSecretRegion as eo, WITHHELD_NAME_DISPLAY as er, malformedStateRefusalMessage as es, computeImplicitDeleteEdges as et, renderPhaseTimings as eu, declaredStreamTagsMember as f, withIndeterminateGuard as fa, withRetry as fc, derivePartitionAndUrlSuffix as fd, secretNamedRecordNeedles as fi, recoverMaskedOutput as fl, refusePendingMovesOut as fn, keepsSecretReferenceToken as fo, collectPublishedOutputNames as fr, refuseMalformedResourceEntries as fs, conditionFingerprint as ft, assertAssetBucketRegion as fu, streamDeclaresTags as g, ec2InstanceProtectionSite as ga, emrClusterInstancesReplaced as gc, describeJsonParseFailure as gd, PRE_DELETE_SNAPSHOT_TYPES as gi, splitGetAttStringForm as gl, recordAfterRollbackUpdate as gn, lacksRecordedTableArn as go, DEFAULT_RESOURCE_WARN_AFTER_MS as gr, refuseMalformedResourceEntriesForImportSave as gs, enclosingDeadlineExpired as gt, parseBootstrapMarker as gu, streamDeclaresPolicy as h, disableInstanceApiTermination as ha, ecsServiceLaunchTypeSetOrChanged as hc, processStackMessages as hd, ATOMIC_FINAL_SNAPSHOT_TYPES as hi, recordPhysicalNameCopy as hl, removeProtectionTypeList as hn, isStalePlaceholderArnAttribute as ho, DEFAULT_RESOURCE_TIMEOUT_MS as hr, refuseMalformedResourceEntriesForImport as hs, readRecordedConditionVerdicts as ht, isCrossRegionRedirect as hu, PROTECTION_PROPERTY_BY_TYPE as i, slowCcOperationTimeoutMs as ia, readConfigString as ic, MIGRATE_TMP_PREFIX as id, completedReplayEntries as ii, DYNAMIC_REFERENCE_TOKEN_SCAN as il, refactorMarkerMovesOf as in, coerceParameterTypedValue as io, secretBearingStateKeyWarning as ir, refuseMalformedOrphanRecords as is, findServiceTokenRefusals as it, stringifyValue as iu, beginDeleteWait as j, isSettledInstanceState as ja, passedNoEchoParametersOf as jc, clearBucketRegionCache as jd, extractDeploymentEventError as ji, CrossPrefixReadError as jl, resolveReplacementOldType as jn, hasReadableOrphans as jo, awaitInFlightSibling as jr, repairMalformedResourcesForReadOnly as js, displacedOpClause as jt, isMalformedEnvKey as ju, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as k, IntrinsicFunctionResolver as ka, noEchoLeavesOf as kc, injectAwsRegion as kd, DeploymentEventsReader as ki, S3StateBackend as kl, recordUnderIdIsNotOwn as kn, deployRefusesOrphanRowsReason as ko, parseMappingFile as kr, repairMalformedResourceEntriesForReadOnly as ks, recordRetainedForReadoption as kt, getDockerCmd as ku, STREAM_POLICY_KEY as l, deleteIndeterminateGuards as la, prefetchCreateOnlyPropertyPaths as lc, expectedOwnerParam as ld, secretNamePrintingBag as li, identityKeyFor as ll, hasPendingMovesOut as ln, carriesDynamicReference as lo, isWholeDynamicReferenceValue as lr, refuseMalformedOutputs as ls, listNestedTemplateRows as lt, rewriteTemplateAssetReferences as lu, reverseMapStreamPolicy as m, markWaitAbandoned as ma, dbInstanceEngineChangeIsInPlace as mc, StageLoadError as md, storedSecretNameNeedles as mi, recordAttributeIdCopy as ml, replayRollback as mn, cfnRefValueFromPhysicalId as mo, bindingSkippedOutputs as mr, refuseMalformedResourceEntriesForDestroy as ms, parentSuppliedValues as mt, getBootstrapMarkerKey as mu, recordedProtectionEvidence as n, customResourceResponseExpirationWarning as na, configIntegerRefusal as nc, CFN_TEMPLATE_BODY_LIMIT as nd, withAttemptedItemsMasked as ni, withPhysicalNameCopies as nl, readRefactorMarker as nn, producerRegionsFromState as no, exportAliasCollisionScrubWarning as nr, refuseDivergentRecordRegionForDestroy as ns, inheritedProvenanceForChildDiff as nt, AssetPublisher as nu, perType as o, unchangedBehindSecretReference as oa, requireConfigArray as oc, uploadCfnTemplate as od, maskEventTextWithBoundBags as oi, isUncertifiedBaselineMaskPosition as ol, refuseRefactorMarker as on, parameterTypeMayLoseSecretIdentity as oo, carriedExportAliasExposure as or, refuseMalformedOrphans as os, childTemplateLoader as ot, buildAssetRedirectMap as ou, planStreamMemberOps as p, isWaitAbandonedError as pa, blockDeviceMappingsDifferOnlyInDeleteOnTermination as pc, AssemblyReader as pd, stateSecretNameNeedles as pi, physicalNameCopiesOf as pl, replayFailedOperations as pn, AWS_NO_VALUE as po, isExportAliasCollision as pr, refuseMalformedResourceEntriesForDeploy as ps, conditionInputsFrom as pt, ensureAssetStorage as pu, ECR_AUTO_DELETE_IMAGES_TAG as q, explicitRoleArnOrThrow as qa, recordLogOnlyParameterValue as qc, wouldReturnToSdkProvider as qi, importableOutputs as ql, retiredNameGenerationsAfter as qn, malformedOutputsRefusalMessage as qo, supersededAfterRollback as qr, renderStatefulReason as qs, journaledOrphanLines as qt, resolveAutoAssetStorage as qu, recordedProtectionNote as r, CloudControlProvider as ra, configStringRefusal as rc, CFN_TEMPLATE_URL_LIMIT as rd, createReadOnlyAttributeHealerFactory as ri, withoutPhysicalNameCopies as rl, readRefactorMarkerOnce as rn, regionLessSecretName as ro, secretBearing as rr, refuseMalformedNestedChildOutputs as rs, deferredServiceTokenWarning as rt, isSensitiveAttributeName as ru, readProtection as s, RollbackInlinePolicyWriters as sa, requireConfigObject as sc, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as sd, namingSecretsWithRecordedNoEcho as si, pathCrossesDottedKey as sl, sameMove as sn, getAccountInfo as so, exportNameNoEchoParameters as sr, refuseMalformedOrphansForDestroy as ss, findNestedTemplateTreeDefect as st, createAssetRedirectResolver as su, DeployEngine as t, applyCustomResourceResponseExpiration as ta, configBooleanRefusal as tc, ssmResolvedValueType as td, noEchoParameterNamesOf as ti, scrubResourceRecord as tl, withApiLimit as tn, classifyReplaySecretRegion as to, displayTextOrWithheld as tr, previewableOrphanRecords as ts, crossStackOutputProvenanceSource as tt, timePhase as tu, STREAM_TAGS_KEY as u, deleteLeftInPlace as ua, templateResourceTypes as uc, PARTITION_TABLE as ud, secretNamePrintingBags as ui, inheritNestedStackParameterAssociations as ul, pendingMovesOutOf as un, carriesFetchableDynamicReference as uo, noEchoParameterValueSeed as ur, refuseMalformedOutputsForDestroy as us, renderNestedTemplateTreeDefect as ut, AssetModeResolver as uu, streamPolicyMatchesDeclared as v, observeThenDisableInstanceApiTermination as va, lambdaFunctionNameForMask as vc, utf8ByteLength as vd, ccRoutedFinalSnapshotError as vi, provenPublicValue as vl, withUnprovenUnsettled as vn, parseWebACLArn as vo, constructPathOf as vr, refuseMalformedResourcePropertiesForDestroy as vs, withResourceDeadline as vt, validateAssetBucketName as vu, planIndexContributorInsightsOps as w, unsettledItemsField as wa, maskAtCoordinates as wc, absoluteAssemblyPathEscape as wd, earliestDefined as wi, wholeStringLeavesOf as wl, isJournaledOrphan as wn, STATE_REGION_DIVERGED as wo, rollbackOrphanIds as wr, refuseMalformedResourcesForExport as ws, makeSiblingClaimReader as wt, describeDockerExecFailure as wu, contributorInsightsRefusals as x, DiffCalculator as xa, TemplateParser as xc, hasPlainPrototype$1 as xd, isFinalSnapshotError as xi, recordNoEchoAttributeValues as xl, equalModuloMask as xn, passedParameterClassesOf as xo, findRefactorHints as xr, refuseMalformedResourcePropertiesForOrphan as xs, keptWholeReasonText as xt, buildDockerImage as xu, streamTagsMatchDeclared as y, reDisableInstanceApiTermination as ya, sameLambdaFunctionAddress as yc, defineOwnKey as yd, createPreDeleteFinalSnapshot as yi, recordMaskOnlyValue as yl, calculateResourceDrift as yn, withSharedDrainBudget as yo, findDestructiveChanges as yr, refuseMalformedResourcePropertiesForDrift as ys, diffSecurity as yt, validateContainerRepoName as yu, maskedLogger as z, refuseUnreadableCdkCrossAccountRefs as za, recordReferenceProvenanceEntry as zc, tagMapAsList as zi, splitImportedOps as zl, redactedDeleteAddressFields as zn, malformedLocalOutputsWarning as zo, green as zr, withoutSilentDropProperties as zs, withNestedRevertRun as zt, AssetManifestLoader as zu };
|
|
55277
|
-
//# sourceMappingURL=deploy-engine-
|
|
55501
|
+
export { getPriorAttempts as $, applyCallerIdentityCredentials as $a, unionOfSecretBags as $c, isCustomResourceType as $i, orphansCarriedFrom as $l, namesAnyDeclaredParameter as $n, malformedResourcePropertiesWarning as $o, withoutSuperseded as $r, isWarmThroughputDecrease as $s, formatResourceLine as $t, resolveStateBucketWithDefault as $u, DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS as A, withoutUnsettledProperties as Aa, maskedLeafCoordinatesOf as Ac, renderAssemblyPathEscape as Ad, acquireIdempotencyToken as Ai, LockManager as Al, recheckFailedPlan as An, accountArgs as Ao, mappingPairs as Ar, repairMalformedOutputsForReadOnly as As, keptForRetainedRecord as At, finchSecretArgvRefusal as Au, deleteTableWithIndexBusyRetry as B, producerLookupOver as Ba, markSameGenerationBag as Bc, refuseMalformedDesiredTags as Bi, stackInstanceIdOf as Bl, isRedactedRecordedValue as Bn, malformedExportSourceWarning as Bo, gray as Br, findSilentDropProperties as Bs, revertedNestedRowIds as Bt, runDockerStreaming as Bu, planContributorInsightsOp as C, DiffCalculator as Ca, DagBuilder as Cc, hasOwnKey as Cd, isFinalSnapshotError as Ci, recordMaskOnlyValuesIn as Cl, equalModuloMask as Cn, passedParameterClassesOf as Co, findRefactorHints as Cr, refuseMalformedResourcePropertiesForOrphan as Cs, keptWholeReasonText as Ct, buildDenyExternalAccessPolicy as Cu, reverseMapTableContributorInsights as D, unsettledItemsOf as Da, maskAtCoordinates as Dc, absoluteAssemblyPathEscape as Dd, ledgerForStack as Di, wholeStringLeavesOf as Dl, isReplacementOrphan as Dn, STATE_RESOURCES_MALFORMED as Do, withMovedTo as Dr, refuseMalformedState as Ds, planOrphanAdoption as Dt, describeDockerExecFailure as Du, reverseMapIndexContributorInsights as E, unsettledItemsField as Ea, isMarkedCoordinate as Ec, ownValue as Ed, earliestDefined as Ei, recordProvenPublicExpression as El, isJournaledOrphan as En, STATE_REGION_DIVERGED as Eo, rollbackOrphanIds as Er, refuseMalformedResourcesForExport as Es, makeSiblingClaimReader as Et, describeDockerCapturedOutput as Eu, resolveDynamoDbDeleteBudgetClock as F, s3BucketDomainName as Fa, readbackPathFor as Fc, resolveBucketRegion as Fd, markDeleteStarted as Fi, CrossPrefixScanCache as Fl, orphanNeedsIdentity as Fn, hasReadableResources as Fo, getStackRecords as Fr, unreadableOrphanRecords as Fs, dropSettledNestedJournals as Ft, partitionSensitiveEnv as Fu, isTtlRateLimited as G, recordedReferenceRegions as Ga, createUnionSecretMasker as Gc, CC_BROKEN_REASON as Gi, exportNamesCarriedFrom as Gl, nameGenerationCarriedFrom as Gn, malformedOrphanRecordsWarning as Go, deleteSupersededEntry as Gr, findReplacedReadersOfRecreateTargets as Gs, deleteJournaledOrphans as Gt, synthesisStatusMessage as Gu, relayedIndexBusyDelete as H, keepHeldTokenProvenance as Ha, recordReferenceProvenanceEntry as Hc, tagPlanWarning as Hi, splitImportedOps as Hl, redactedDeleteAddressSkip as Hn, malformedLocalResourceEntriesWarning as Ho, red as Hr, withoutSilentDropProperties as Hs, collectNestedChildUnaddressed as Ht, AssetManifestLoader as Hu, resolveDynamoDbDeleteBudgetMs as I, s3BucketDualStackDomainName as Ia, readsNoEchoSource as Ic, DBPROXY_TAGS_WHAT as Ii, applyCrossPrefixScan as Il, findNestedStackTypeChanges as In, isReadableOrphanRecord as Io, withStackRecords as Ir, unreadableResourceEntries as Is, getNestedRevertRun as It, redactDockerArgvValues as Iu, sendTtlWaitingOutRateLimit as J, assertSendableRoleArn as Ja, logOnlyValueCount as Jc, isCustomResource as Ji, hasUnverifiableParameterRefusal as Jl, retiredAfterRollback as Jn, malformedOrphansWarning as Jo, removeSuperseded as Jr, isStatefulRecreateTargetForReplace as Js, isHandledOrphan as Jt, loadCdkJson as Ju, planTimeToLive as K, applyRoleArnIfSet as Ka, hasMaskableValues as Kc, ProviderRegistry as Ki, hasReadableExportSet as Kl, nameGenerationHighWaterOf as Kn, malformedOrphanRowsKeptWarning as Ko, holdsSupersededResources as Kr, shownType as Ks, dropFailedCommands as Kt, getDefaultStateBucketName as Ku, DELETE_INDEX_WAIT_PROCEED_NOTE as L, s3BucketRegionalDomainName as La, recordedNoEchoValuesOf as Lc, DBPROXY_TAG_OPTIONS as Li, crossPrefixDeniedWarning as Ll, getCurrentProducerRegions as Ln, isReadableResourceEntry as Lo, replacedDeleteFailureVerdict as Lr, withheldAccountClause as Ls, nestedChildStackName as Lt, redactedCause as Lu, beginDeleteWait as M, poisonRenderedSpellingsCollidingIn as Ma, noEchoLeavesOf as Mc, injectAwsRegion as Md, DeploymentEventsStore as Mi, S3StateBackend as Ml, replacementNeverSwapped as Mn, displayLogicalId as Mo, proposeRenames as Mr, repairMalformedResourcePropertiesForReadOnly as Ms, NESTED_PENDING_PARENT_REASON as Mt, getDockerCmd as Mu, compensateRemovedDeletionProtection as N, isSettledInstanceState as Na, noEchoOutputsComparison as Nc, injectedAwsRegionValue as Nd, extractDeploymentEventError as Ni, rebuildClientForBucketRegion as Nl, resolveReplacementOldType as Nn, hasReadableOrphans as No, awaitInFlightSibling as Nr, repairMalformedResourcesForReadOnly as Ns, displacedOpClause as Nt, isDockerClientEnvKey as Nu, stripIndexContributorInsights as O, unsettledPropertiesOf as Oa, maskReadbackAtCoordinates as Oc, describeFileReadFailure as Od, reserveStackCreateToken as Oi, WHOLE_DYNAMIC_REFERENCE_PATTERN as Ol, planFailedOps as On, UNREADABLE_ORPHANS_CONTAINER_ROW as Oo, isPairableType as Or, repairMalformedOrphanRecordsForReadOnly as Os, pendingRequestCount as Ot, describeDockerFailure as Ou, deleteBudgetKey as P, s3BucketArn as Pa, passedNoEchoParametersOf as Pc, clearBucketRegionCache as Pd, isRefusedByName as Pi, CrossPrefixReadError as Pl, seedsDeleteFirstGuard as Pn, hasReadableOutputs as Po, destroyStackRecordsView as Pr, unpreviewableOrphanRecords as Ps, displacedPhysicalIdShown as Pt, isMalformedEnvKey as Pu, isTruthyCfnBoolean as Q, AWS_CREDENTIAL_ENV_KEYS as Qa, shareLogOnlyValues as Qc, readsNoEchoDeleteValues as Qi, orphansAfterRollback as Ql, computeParameterTaint as Qn, malformedResourceEntriesWarning as Qo, supersededResourcesOf as Qr, coerceWarmThroughput as Qs, sameJournaledOrphans as Qt, resolveSkipPrefix as Qu, INDEX_SETTLE_POLL_INTERVAL_MS as R, s3BucketWebsiteUrl as Ra, valueAtCoordinate as Rc, planTagDiff as Ri, isAccessDenied$1 as Rl, inheritProducerRegions as Rn, malformedDriftResourcePropertiesWarning as Ro, bold as Rr, findActionableSilentDrops as Rs, recordDisplacedSkips as Rt, redactedDockerCause as Ru, indexDeclaresContributorInsights as S, reEnableInstanceApiTermination as Sa, sameLambdaFunctionAddress as Sc, defineOwnKey as Sd, effectiveDeletionPolicy as Si, recordMaskOnlyValue as Sl, equalModuloMarkedMask as Sn, parameterInputsFor as So, formatDestructiveChange as Sr, refuseMalformedResourcePropertiesForExport as Ss, isSecretBearingReferenceString as St, validateContainerRepoName as Su, readContributorInsightsSpec as T, isUsableAttemptedName as Ta, canonicalCoordinates as Tc, nullPrototypeRecord as Td, unsupportedFinalSnapshotError as Ti, recordNoEchoParameterFreshValue as Tl, demoteSupersededOrphans as Tn, JSON_LISTING_HOLE_VALUE as To, movedToHint as Tr, refuseMalformedResourcesForDestroy as Ts, makeCanonicalizePropertiesFn as Tt, resolveDockerContextDirectory as Tu, waitForIndexesSettled as U, outputReferenceProvenanceOf as Ua, snapshotPassProvenance as Uc, definedAttributes as Ui, acceptedCreateOnlyDropsOf as Ul, updatePartialMessage as Un, malformedLocalResourcesWarning as Uo, yellow as Ur, NO_CC_HANDLERS_REASON as Us, getCurrentNestedStackContext as Ut, getDockerImageBySourceHash as Uu, maskedLogger as V, refuseUnreadableCdkCrossAccountRefs as Va, redactForState as Vc, tagMapAsList as Vi, withStackInstanceIdWithheld as Vl, redactedDeleteAddressFields as Vn, malformedLocalOutputsWarning as Vo, green as Vr, unwrittenCreateOnlyReplacement as Vs, withNestedRevertRun as Vt, warnFinchArgvExposure as Vu, isTtlAlreadyDisabled as W, recordedOutputReferenceRegions as Wa, carryLogOnlyValues as Wc, stringifyIfAssigned as Wi, describeRegionValueKind as Wl, updatePartialReason as Wn, malformedOrphanRecordsRefusalMessage as Wo, addSuperseded as Wr, hasNoCloudControlHandlers as Ws, withNestedStackContext as Wt, Synthesizer as Wu, S3_AUTO_DELETE_OBJECTS_TAG as X, isIamRoleArn as Xa, recordLogOnlyParameterValue as Xc, waitForLambdaFunctionActive as Xi, importableOutputs as Xl, retiredNameGenerationsLeaving as Xn, malformedOutputsWarning as Xo, supersededHeldByOtherTypeWarning as Xr, renderStatefulReason as Xs, loadJournaledOrphans as Xt, resolveAutoAssetStorage as Xu, ECR_AUTO_DELETE_IMAGES_TAG as Y, explicitRoleArnOrThrow as Ya, printingCorpusOf as Yc, wouldReturnToSdkProvider as Yi, importableOutputKeys as Yl, retiredNameGenerationsAfter as Yn, malformedOutputsRefusalMessage as Yo, supersededAfterRollback as Yr, isStatefulRecreateTargetSync as Ys, journaledOrphanLines as Yt, resolveApp as Yu, hasCdkAutoDeleteTag as Z, sendableAssumeRoleCommand as Za, recordLogOnlyValue as Zc, TemplateNoEchoReresolver as Zi, isReadableBag as Zl, withNameGenerationReached as Zn, malformedRenderedContainersWarning as Zo, supersededHolderOf as Zr, WARM_THROUGHPUT_MEMBERS as Zs, makeForeignHolderScan as Zt, resolveCaptureObservedState as Zu, streamMemberRefusals as _, disableInstanceApiTermination as _a, dbInstanceEngineChangeIsInPlace as _c, StageLoadError as _d, ATOMIC_FINAL_SNAPSHOT_TYPES as _i, recordAttributeIdCopy as _l, removeProtectionTypeList as _n, isStalePlaceholderArnAttribute as _o, DEFAULT_RESOURCE_TIMEOUT_MS as _r, refuseMalformedResourceEntriesForImport as _s, readRecordedConditionVerdicts as _t, getBootstrapMarkerKey as _u, isProtectionValueActive as a, CloudControlProvider as aa, configIntegerRefusal as ac, CFN_TEMPLATE_BODY_LIMIT as ad, createReadOnlyAttributeHealerFactory as ai, withPhysicalNameCopies as al, readRefactorMarkerOnce as an, regionLessSecretName as ao, secretBearing as ar, refuseMalformedNestedChildOutputs as as, deferredServiceTokenWarning as at, AssetPublisher as au, CONTRIBUTOR_INSIGHTS_KEY as b, observeThenDisableInstanceApiTermination as ba, canonicalLambdaFunctionName as bc, parseFailureDebugDetail as bd, ccRoutedFinalSnapshotError as bi, carriesSecretMask as bl, withUnprovenUnsettled as bn, parseWebACLArn as bo, constructPathOf as br, refuseMalformedResourcePropertiesForDestroy as bs, withResourceDeadline as bt, readBootstrapMarkerBody as bu, DynamoDBGlobalTableProvider as c, unchangedBehindSecretReference as ca, replayWarn as cc, findLargeInlineResources as cd, maskEventTextWithBoundBags as ci, dynamicReferenceTokens as cl, refuseRefactorMarker as cn, parameterTypeMayLoseSecretIdentity as co, carriedExportAliasExposure as cr, refuseMalformedOrphans as cs, childTemplateLoader as ct, WorkGraph as cu, declaredStreamPolicyMember as d, deleteIndeterminateGuards as da, requireConfigString as dc, decodeListingKey as dd, secretNamePrintingBag as di, spelledKeysOf as dl, hasPendingMovesOut as dn, carriesDynamicReference as do, isWholeDynamicReferenceValue as dr, refuseMalformedOutputs as ds, listNestedTemplateRows as dt, loadPublishableAssetManifest as du, getCurrentResourceSecrets as ea, toCfnInteger as ec, resolveStateBucketWithDefaultAndSource as ed, noEchoAttributeNamesOf as ei, createSecretMasker as el, chunks as en, callerEnvCredentials as eo, reachableDivergentParameters as er, malformedResourcesWarning as es, markRefusedBeforeApplying as et, shouldRetainResource as eu, declaredStreamTagsMember as f, deleteLeftInPlace as fa, prefetchCreateOnlyPropertyPaths as fc, expectedOwnerParam as fd, secretNamePrintingBags as fi, identityKeyFor as fl, pendingMovesOutOf as fn, carriesFetchableDynamicReference as fo, noEchoParameterValueSeed as fr, refuseMalformedOutputsForDestroy as fs, renderNestedTemplateTreeDefect as ft, rewriteTemplateAssetReferences as fu, streamDeclaresTags as g, markWaitAbandoned as ga, blockDeviceMappingsDifferOnlyInDeleteOnTermination as gc, AssemblyReader as gd, storedSecretNameNeedles as gi, physicalNameCopiesOf as gl, replayRollback as gn, cfnRefValueFromPhysicalId as go, bindingSkippedOutputs as gr, refuseMalformedResourceEntriesForDestroy as gs, parentSuppliedValues as gt, ensureAssetStorage as gu, streamDeclaresPolicy as h, isWaitAbandonedError as ha, withRetry as hc, derivePartitionAndUrlSuffix as hd, stateSecretNameNeedles as hi, recoverMaskedOutput as hl, replayFailedOperations as hn, AWS_NO_VALUE as ho, isExportAliasCollision as hr, refuseMalformedResourceEntriesForDeploy as hs, conditionInputsFrom as ht, assertAssetBucketRegion as hu, PROTECTION_PROPERTY_BY_TYPE as i, customResourceResponseExpirationWarning as ia, configBooleanRefusal as ic, ssmResolvedValueType as id, withAttemptedItemsMasked as ii, scrubResourceRecord as il, readRefactorMarker as in, producerRegionsFromState as io, exportAliasCollisionScrubWarning as ir, refuseDivergentRecordRegionForDestroy as is, inheritedProvenanceForChildDiff as it, timePhase as iu, DYNAMODB_DELETE_POLL_COST_MS as j, IntrinsicFunctionResolver as ja, noEchoCoordinatesOf as jc, resolveAssemblyPath as jd, DeploymentEventsReader as ji, isLockInfoExpired as jl, recordUnderIdIsNotOwn as jn, deployRefusesOrphanRowsReason as jo, parseMappingFile as jr, repairMalformedResourceEntriesForReadOnly as js, recordRetainedForReadoption as jt, formatDockerLoginError as ju, DYNAMODB_DELETE_DEADLINE_MARGIN_MS as k, withUnsettledProperties as ka, maskWholeValue as kc, displayAssemblyPath as kd, withCreateTokenLedger as ki, isSingleDynamicReferenceToken as kl, planRollback as kn, UNREADABLE_RESOURCES_MAP_ROW as ko, looselyEqual as kr, repairMalformedOrphansForReadOnly as ks, resolvePendingCloudControlRequests as kt, dockerSpawnEnvWithSensitive as ku, STREAM_POLICY_KEY as l, RollbackInlinePolicyWriters as la, requireConfigArray as lc, uploadCfnTemplate as ld, namingSecretsWithRecordedNoEcho as li, isUncertifiedBaselineMaskPosition as ll, sameMove as ln, getAccountInfo as lo, exportNameNoEchoParameters as lr, refuseMalformedOrphansForDestroy as ls, findNestedTemplateTreeDefect as lt, buildAssetRedirectMap as lu, reverseMapStreamPolicy as m, withIndeterminateGuard as ma, describeTypeWithThrottleRetry as mc, canonicalizeRegion as md, secretNamedRecordNeedles as mi, recordNestedStackParameterExpressions as ml, refusePendingMovesOut as mn, keepsSecretReferenceToken as mo, collectPublishedOutputNames as mr, refuseMalformedResourceEntries as ms, conditionFingerprint as mt, BOOTSTRAP_MARKER_PREFIX as mu, recordedProtectionEvidence as n, CUSTOM_RESOURCE_RESPONSE_LIFECYCLE_RULE_ID as na, coerceCfnBoolean as nc, stateBucketExistenceConfirmed as nd, noEchoExactEchoLeavesOf as ni, maskSecretsInError as nl, lookupEachName as nn, classifyRecordedSecretRegion as no, WITHHELD_NAME_DISPLAY as nr, malformedStateRefusalMessage as ns, computeImplicitDeleteEdges as nt, PhaseClock as nu, perType as o, slowCcOperationTimeoutMs as oa, configStringRefusal as oc, CFN_TEMPLATE_URL_LIMIT as od, completedReplayEntries as oi, withoutPhysicalNameCopies as ol, refactorMarkerMovesOf as on, coerceParameterTypedValue as oo, secretBearingStateKeyWarning as or, refuseMalformedOrphanRecords as os, findServiceTokenRefusals as ot, isSensitiveAttributeName as ou, planStreamMemberOps as p, deleteSkipReason as pa, templateResourceTypes as pc, PARTITION_TABLE as pd, secretNamedAttributeNamesOf as pi, inheritNestedStackParameterAssociations as pl, pendingMovesRefusalMessage as pn, isNamelessDynamicReferenceError as po, collectDeclaredOutputNames as pr, refuseMalformedResourceAttributesForOrphan as ps, templateIdentity as pt, AssetModeResolver as pu, readTtlSpec as q, assertFlagRoleArn as qa, literalSplitDelimitersOf as qc, ccBrokenReason as qi, hasReasonlessBaselineRefusal as ql, nameScopeOf as qn, malformedOrphansRefusalMessage as qo, isSupersededResourceRecord as qr, MULTI_REGION_RECREATE_BLOCKED_TYPES as qs, dropFailedHint as qt, getLegacyStateBucketName as qu, recordedProtectionNote as r, applyCustomResourceResponseExpiration as ra, coerceCfnInteger as rc, warnDeprecatedNoPrefixCliFlag as rd, noEchoParameterNamesOf as ri, maskSecretsInText as rl, withApiLimit as rn, classifyReplaySecretRegion as ro, displayTextOrWithheld as rr, previewableOrphanRecords as rs, crossStackOutputProvenanceSource as rt, renderPhaseTimings as ru, readProtection as s, onlySecretReferencesDiffer as sa, readConfigString as sc, MIGRATE_TMP_PREFIX as sd, journaledOrphanPrintingBag as si, DYNAMIC_REFERENCE_TOKEN_SCAN as sl, refactorMarkerRefusalMessage as sn, isUnboundTemplateParameter as so, secretSafeKeyDisplay as sr, refuseMalformedOrphanRecordsForDestroy as ss, serviceTokenBlockingReason as st, stringifyValue as su, DeployEngine as t, withPrintingSecrets as ta, toFiniteNumber as tc, resolveUseCdkBootstrapAssets as td, noEchoComparisonForTemplate as ti, errorCauseChain as tl, isAccessDeniedError as tn, envCredentialsAreAssumedRole as to, resourcesNamingDeclaredParameter as tr, malformedScrubResourceEntriesRefusalMessage as ts, IMPLICIT_DELETE_DEPENDENCIES as tt, stackInstanceIdCarriedFrom as tu, STREAM_TAGS_KEY as u, UNSPECIFIED_SKIP_REASON as ua, requireConfigObject as uc, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as ud, orphanRecordsPrintingBag as ui, pathCrossesDottedKey as ul, updateRefactorMarker as un, isImpossibleEmptyStoredAttribute as uo, exportNameSecretExposure as ur, refuseMalformedOrphansForOrphan as us, isAbsoluteAssetPath as ut, createAssetRedirectResolver as uu, streamPolicyMatchesDeclared as v, ec2InstanceProtectionSite as va, ecsServiceLaunchTypeSetOrChanged as vc, processStackMessages as vd, PRE_DELETE_SNAPSHOT_TYPES as vi, recordPhysicalNameCopy as vl, recordAfterRollbackUpdate as vn, lacksRecordedTableArn as vo, DEFAULT_RESOURCE_WARN_AFTER_MS as vr, refuseMalformedResourceEntriesForImportSave as vs, enclosingDeadlineExpired as vt, isCrossRegionRedirect as vu, planIndexContributorInsightsOps as w, INTRINSIC_KEYS as wa, TemplateParser as wc, hasPlainPrototype$1 as wd, refusesFinalSnapshot as wi, recordNoEchoAttributeValues as wl, undeclaredEmptyObservedKeys as wn, declaresNoEcho as wo, hintSidesOf as wr, refuseMalformedResourcesForDeploy as ws, mergeNoChangeOutputs as wt, buildDockerImage as wu, contributorInsightsRefusals as x, reDisableInstanceApiTermination as xa, lambdaFunctionNameForMask as xc, utf8ByteLength as xd, createPreDeleteFinalSnapshot as xi, provenPublicValue as xl, calculateResourceDrift as xn, withSharedDrainBudget as xo, findDestructiveChanges as xr, refuseMalformedResourcePropertiesForDrift as xs, diffSecurity as xt, validateAssetBucketName as xu, streamTagsMatchDeclared as y, isTerminationProtectionPropagationError as ya, emrClusterInstancesReplaced as yc, describeJsonParseFailure as yd, buildFinalSnapshotIdentifier as yi, splitGetAttStringForm as yl, settleUnsettledPrevious as yn, refStateLookupFromResource as yo, maskingRetryLogger as yr, refuseMalformedResourceEntriesForOrphan as ys, enclosingDeadlineRemainingMs as yt, parseBootstrapMarker as yu, TABLE_INDEX_NOUN as z, resolveDynamicReferences as za, liveMatchesUnresolvedTokenFrame as zc, readTagList as zi, isNotImplemented as zl, REDACTED_DELETE_ADDRESS_SKIP_REASON as zn, malformedExportNamesWarning as zo, cyan as zr, findHandledUnwrittenCreateOnly as zs, revertNestedChildFromJournal as zt, runDockerForeground as zu };
|
|
55502
|
+
//# sourceMappingURL=deploy-engine-CVNzK__j.js.map
|