@go-to-k/cdkd 0.285.12 → 0.285.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{asg-provider-CXkE2U3z.js → asg-provider-BvIH9Ivw.js} +11 -4
- package/dist/asg-provider-BvIH9Ivw.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/{deploy-engine-C3epVkTj.js → deploy-engine-CA50haPO.js} +367 -76
- package/dist/deploy-engine-CA50haPO.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/{program-C5evYwxk.js → program-BSanOkkV.js} +370 -149
- package/dist/{program-C5evYwxk.js.map → program-BSanOkkV.js.map} +1 -1
- package/dist/{version-CS-eKBJA.js → version-DP5kGlzj.js} +2 -2
- package/dist/{version-CS-eKBJA.js.map → version-DP5kGlzj.js.map} +1 -1
- package/package.json +1 -7
- package/dist/asg-provider-CXkE2U3z.js.map +0 -1
- package/dist/deploy-engine-C3epVkTj.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { $ as DEFAULT_STATE_PREFIX, $n as resolveUseCdkBootstrapAssets, $t as isSingleDynamicReferenceToken, A as bold, An as validateAssetBucketName, Ar as
|
|
1
|
+
import { $ as DEFAULT_STATE_PREFIX, $n as resolveUseCdkBootstrapAssets, $r as retryClassificationText, $t as isSingleDynamicReferenceToken, A as bold, An as validateAssetBucketName, Ar as LocalMigrateError, At as requireConfigObject, B as secretBearingStateKeyWarning, Bn as runDockerStreaming, Br as StackTerminationProtectionError, Bt as DiffCalculator, C as unsupportedFinalSnapshotError, Cn as BOOTSTRAP_MARKER_PREFIX, Ct as assertRegionMatch, D as isStatefulRecreateTargetSync, Dn as isCrossRegionRedirect, Dr as DynamicReferenceRegionAmbiguousError, Dt as readConfigString, E as MULTI_REGION_RECREATE_BLOCKED_TYPES, En as getBootstrapMarkerKey, Er as DeployCancelledError, Et as configStringRefusal, F as yellow, Fn as dockerSpawnEnvWithSensitive, Fr as PartialFailureError, Ft as s3BucketDomainName, G as clearOnUpdateRemoval, Gn as getDefaultStateBucketName, Gr as normalizeAwsError, Gt as TemplateParser, H as getCurrentResourceSecrets, Hn as getDockerImageBySourceHash, Ht as describeTypeWithThrottleRetry, I as collectDeclaredOutputNames, In as formatDockerLoginError, Ir as ProvisioningError, It as s3BucketDualStackDomainName, J as findSilentDropProperties, Jn as resolveAutoAssetStorage, Jr as isRetryableTransientError, Jt as TEMPLATE_SOURCED_RULES, K as ProviderRegistry, Kn as getLegacyStateBucketName, Kr as withErrorHandling, Kt as STATE_SOURCED_CROSS_GENERATION_RULES, L as collectPublishedOutputNames, Ln as getDockerCmd, Lr as ResourceTimeoutError, Lt as s3BucketRegionalDomainName, M as gray, Mn as buildDenyExternalAccessPolicy, Mt as classifyReplaySecretRegion, N as green, Nn as describeAwsFailure, Nr as MissingCdkCliError, Nt as producerRegionsFromState, O as renderStatefulReason, On as parseBootstrapMarker, Or as IntrinsicResolutionRefusalError, Ot as replayWarn, P as red, Pn as buildDockerImage, Pr as NestedStackChildDirectDestroyError, Pt as s3BucketArn, Q as CUSTOM_RESOURCE_RESPONSE_PREFIX, Qn as resolveStateBucketWithDefaultAndSource, Qr as markRedactedCause, Qt as errorCauseChain, R as exportAliasCollisionScrubWarning, Rn as partitionSensitiveEnv, Rr as ResourceUpdateNotSupportedError, Rt as s3BucketWebsiteUrl, S as refusesFinalSnapshot, Sn as AssetModeResolver, Sr as CdkdError, St as resolveExplicitPhysicalId, T as extractDeploymentEventError, Tn as ensureAssetStorage, Tt as configBooleanRefusal, U as IAMRoleProvider, Un as Synthesizer, Ut as withRetry, V as stateKeySecretExposure, Vn as AssetManifestLoader, Vt as INTRINSIC_KEYS, W as collectInlinePolicyNamesManagedBySiblings, Wn as synthesisStatusMessage, Wt as DagBuilder, X as maskDeep, Xn as resolveSkipPrefix, Xr as isTransientServerError, Xt as createSecretMasker, Y as createMaskedRetryLogger, Yn as resolveCaptureObservedState, Yr as isThrottlingError, Yt as carriesSecretMask, Z as maskerOrIdentity, Zn as resolveStateBucketWithDefault, Zr as markNonRetryable, Zt as dynamicReferenceTokens, _ as PRE_DELETE_SNAPSHOT_TYPES, _n as createAssetRedirectResolver, _r as AwsClients, _t as isUnboundTemplateParameter, a as DeploymentEventsStore, an as scrubResourceRecord, ar as findLargeInlineResources, at as CloudControlProvider, b as createPreDeleteFinalSnapshot, bn as escapeRegExp, br as setAwsClients, bt as WAFv2WebACLProvider, c as replayFailedOperations, cn as rebuildClientForBucketRegion, cr as displaySafe, ct as deleteIndeterminateGuards, d as updatePartialReason, dn as importableOutputs, dr as canonicalizeRegion, dt as isTerminationProtectionPropagationError, en as maskSecretsInError, er as stateBucketExistenceConfirmed, et as beginCommandInterruptScope, f as withResourceDeadline, fn as shouldRetainResource, fr as derivePartitionAndUrlSuffix, ft as IntrinsicFunctionResolver, g as ATOMIC_FINAL_SNAPSHOT_TYPES, gn as buildAssetRedirectMap, gr as resolveBucketRegion, gt as getAccountInfo, h as computeImplicitDeleteEdges, hn as WorkGraph, ht as coerceParameterTypedValue, i as DeploymentEventsReader, in as redactSecretsForState, ir as MIGRATE_TMP_PREFIX, it as startInterruptWatch, j as cyan, jn as validateContainerRepoName, jr as LocalStartServiceError, jt as requireConfigString, k as formatResourceLine, kn as readBootstrapMarkerBody, kr as LocalInvokeBuildError$1, kt as requireConfigArray, l as replayRollback, ln as exportNamesCarriedFrom, lr as expectedOwnerParam, lt as deleteSkipReason, m as IMPLICIT_DELETE_DEPENDENCIES, mn as stringifyValue, mr as processStackMessages, mt as cfnRefValueFromPhysicalId, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as recordMaskOnlyValue, nr as CFN_TEMPLATE_BODY_LIMIT, nt as interruptWatchListenerCount, o as planFailedOps, on as LockManager, or as uploadCfnTemplate, ot as slowCcOperationTimeoutMs, p as maskingRetryLogger, pn as AssetPublisher, pr as AssemblyReader, pt as carriesDynamicReference, q as findActionableSilentDrops, qn as resolveApp, qr as isMarkedNonRetryable, qt as STATE_SOURCED_READBACK_RULES, r as DeployEngine, rn as recoverMaskedOutput, rr as CFN_TEMPLATE_URL_LIMIT, rt as isInterruptedWaitError, s as planRollback, sn as S3StateBackend, sr as CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION, st as UNSPECIFIED_SKIP_REASON, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as maskSecretsInText, tr as warnDeprecatedNoPrefixCliFlag, tt as endCommandInterruptScope, u as updatePartialMessage, un as importableOutputKeys, ur as PARTITION_TABLE, ut as disableInstanceApiTermination, v as buildFinalSnapshotIdentifier, vn as loadPublishableAssetManifest, vr as getAwsClients, vt as parameterTypeMayLoseSecretIdentity, w as makeCanonicalizePropertiesFn, wn as assertAssetBucketRegion, wr as CrossAccountSecretRefusalError, wt as coerceCfnBoolean, x as isFinalSnapshotError, xn as stripControlChars, xt as normalizeAwsTagsToCfn, y as ccRoutedFinalSnapshotError, yn as rewriteTemplateAssetReferences, yr as resetAwsClients, yt as refStateLookupFromResource, z as isExportAliasCollision, zn as runDockerForeground, zr as StackHasActiveImportsError, zt as applyRoleArnIfSet } from "./deploy-engine-CA50haPO.js";
|
|
2
2
|
import { _ as withStackName, c as PATTERN_B_NAME_OPTIONS, f as generateResourceName, g as withSkipPrefix, i as reserveStdoutForPayload, l as PATTERN_B_NAME_PROPERTIES, m as getCurrentStackName, n as getLogger, o as runStackBuffered, p as generateResourceNameWithFallback, s as getLiveRenderer, u as PATTERN_B_RESOURCE_TYPES } from "./logger-Dw-3y48G.js";
|
|
3
3
|
import { t as awsClientDefaults } from "./aws-client-defaults-D-iYiIJ6.js";
|
|
4
|
-
import { t as getCdkdVersion } from "./version-
|
|
5
|
-
import { t as ASGProvider } from "./asg-provider-
|
|
4
|
+
import { t as getCdkdVersion } from "./version-DP5kGlzj.js";
|
|
5
|
+
import { t as ASGProvider } from "./asg-provider-BvIH9Ivw.js";
|
|
6
6
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
7
7
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
8
8
|
import { CopyObjectCommand, CreateBucketCommand, DeleteBucketAnalyticsConfigurationCommand, DeleteBucketCommand, DeleteBucketCorsCommand, DeleteBucketEncryptionCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketOwnershipControlsCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectsCommand, GetBucketAccelerateConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketNotificationConfigurationCommand, GetBucketOwnershipControlsCommand, GetBucketPolicyCommand, GetBucketReplicationCommand, GetBucketTaggingCommand, GetBucketVersioningCommand, GetBucketWebsiteCommand, GetObjectCommand, GetObjectLockConfigurationCommand, GetPublicAccessBlockCommand, HeadBucketCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchBucket, PutBucketAccelerateConfigurationCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectCommand, PutObjectLockConfigurationCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
|
|
@@ -1098,7 +1098,10 @@ async function resolveSdkDefaultRegion(profile) {
|
|
|
1098
1098
|
const { STSClient } = await import("@aws-sdk/client-sts");
|
|
1099
1099
|
let client;
|
|
1100
1100
|
try {
|
|
1101
|
-
client = new STSClient({
|
|
1101
|
+
client = new STSClient({
|
|
1102
|
+
...awsClientDefaults({ profile }),
|
|
1103
|
+
...profile && { profile }
|
|
1104
|
+
});
|
|
1102
1105
|
return await client.config.region() || void 0;
|
|
1103
1106
|
} catch {
|
|
1104
1107
|
return;
|
|
@@ -1290,6 +1293,7 @@ async function emptyAndDeleteBucket(s3Client, bucket, accountId, label, logger,
|
|
|
1290
1293
|
*/
|
|
1291
1294
|
async function deleteContainerRepo(containerRepo, region, profile, logger) {
|
|
1292
1295
|
const ecrClient = new ECRClient({
|
|
1296
|
+
...awsClientDefaults({ profile }),
|
|
1293
1297
|
region,
|
|
1294
1298
|
...profile && { profile }
|
|
1295
1299
|
});
|
|
@@ -1390,6 +1394,7 @@ async function bootstrapDestroyCommand(options) {
|
|
|
1390
1394
|
let region = effective.region;
|
|
1391
1395
|
if (regionNeedsReconciliation(effective)) {
|
|
1392
1396
|
const probeBackend = new S3StateBackend(new S3Client({
|
|
1397
|
+
...awsClientDefaults({ profile: options.profile }),
|
|
1393
1398
|
region: effective.region,
|
|
1394
1399
|
...options.profile && { profile: options.profile }
|
|
1395
1400
|
}), {
|
|
@@ -1418,6 +1423,7 @@ async function bootstrapDestroyCommand(options) {
|
|
|
1418
1423
|
if (awsClients !== accountClients) accountClients.destroy();
|
|
1419
1424
|
setAwsClients(awsClients);
|
|
1420
1425
|
const markerS3Client = new S3Client({
|
|
1426
|
+
...awsClientDefaults({ profile: options.profile }),
|
|
1421
1427
|
region,
|
|
1422
1428
|
...options.profile && { profile: options.profile }
|
|
1423
1429
|
});
|
|
@@ -19281,7 +19287,10 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
19281
19287
|
getRegionalClient(region) {
|
|
19282
19288
|
const cached = this.regionalClientCache.get(region);
|
|
19283
19289
|
if (cached) return cached;
|
|
19284
|
-
const client = new DynamoDBClient({
|
|
19290
|
+
const client = new DynamoDBClient({
|
|
19291
|
+
...awsClientDefaults(),
|
|
19292
|
+
region
|
|
19293
|
+
});
|
|
19285
19294
|
this.regionalClientCache.set(region, client);
|
|
19286
19295
|
return client;
|
|
19287
19296
|
}
|
|
@@ -19299,7 +19308,10 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
19299
19308
|
getRegionalAutoScalingClient(region) {
|
|
19300
19309
|
const cached = this.regionalAutoScalingClientCache.get(region);
|
|
19301
19310
|
if (cached) return cached;
|
|
19302
|
-
const client = new ApplicationAutoScalingClient({
|
|
19311
|
+
const client = new ApplicationAutoScalingClient({
|
|
19312
|
+
...awsClientDefaults(),
|
|
19313
|
+
region
|
|
19314
|
+
});
|
|
19303
19315
|
this.regionalAutoScalingClientCache.set(region, client);
|
|
19304
19316
|
return client;
|
|
19305
19317
|
}
|
|
@@ -19314,7 +19326,10 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
19314
19326
|
async getLocalAutoScalingClient() {
|
|
19315
19327
|
if (this.localAutoScalingClient) return this.localAutoScalingClient;
|
|
19316
19328
|
const region = await this.dynamoDBClient.config.region() ?? "";
|
|
19317
|
-
this.localAutoScalingClient = new ApplicationAutoScalingClient({
|
|
19329
|
+
this.localAutoScalingClient = new ApplicationAutoScalingClient({
|
|
19330
|
+
...awsClientDefaults(),
|
|
19331
|
+
region
|
|
19332
|
+
});
|
|
19318
19333
|
return this.localAutoScalingClient;
|
|
19319
19334
|
}
|
|
19320
19335
|
/**
|
|
@@ -20916,7 +20931,10 @@ var DynamoDBGlobalTableProvider = class {
|
|
|
20916
20931
|
async readAutoScalingSettings(tableName, scalableDimension, client, indexName) {
|
|
20917
20932
|
const resourceId = autoScalingResourceId(tableName, indexName);
|
|
20918
20933
|
try {
|
|
20919
|
-
const asClient = client ?? new ApplicationAutoScalingClient({
|
|
20934
|
+
const asClient = client ?? new ApplicationAutoScalingClient({
|
|
20935
|
+
...awsClientDefaults(),
|
|
20936
|
+
region: await this.dynamoDBClient.config.region() ?? ""
|
|
20937
|
+
});
|
|
20920
20938
|
const targets = (await asClient.send(new DescribeScalableTargetsCommand({
|
|
20921
20939
|
ServiceNamespace: "dynamodb",
|
|
20922
20940
|
ResourceIds: [resourceId],
|
|
@@ -30593,7 +30611,10 @@ var ApiGatewayV2Provider = class {
|
|
|
30593
30611
|
["CredentialsArn", "Quick-create shortcut (paired with RouteKey/Target); cdkd models the integration as an explicit AWS::ApiGatewayV2::Integration resource instead."]
|
|
30594
30612
|
])]]);
|
|
30595
30613
|
getClient() {
|
|
30596
|
-
if (!this.client) this.client = new ApiGatewayV2Client(
|
|
30614
|
+
if (!this.client) this.client = new ApiGatewayV2Client({
|
|
30615
|
+
...awsClientDefaults(),
|
|
30616
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
30617
|
+
});
|
|
30597
30618
|
return this.client;
|
|
30598
30619
|
}
|
|
30599
30620
|
/**
|
|
@@ -34319,11 +34340,17 @@ var StepFunctionsProvider = class {
|
|
|
34319
34340
|
"EncryptionConfiguration"
|
|
34320
34341
|
])]]);
|
|
34321
34342
|
getClient() {
|
|
34322
|
-
if (!this.sfnClient) this.sfnClient = new SFNClient(
|
|
34343
|
+
if (!this.sfnClient) this.sfnClient = new SFNClient({
|
|
34344
|
+
...awsClientDefaults(),
|
|
34345
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
34346
|
+
});
|
|
34323
34347
|
return this.sfnClient;
|
|
34324
34348
|
}
|
|
34325
34349
|
getS3Client() {
|
|
34326
|
-
if (!this.s3Client) this.s3Client = new S3Client(
|
|
34350
|
+
if (!this.s3Client) this.s3Client = new S3Client({
|
|
34351
|
+
...awsClientDefaults(),
|
|
34352
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
34353
|
+
});
|
|
34327
34354
|
return this.s3Client;
|
|
34328
34355
|
}
|
|
34329
34356
|
/**
|
|
@@ -34950,7 +34977,10 @@ var ECSProvider = class {
|
|
|
34950
34977
|
]);
|
|
34951
34978
|
unhandledByDesign = /* @__PURE__ */ new Map([["AWS::ECS::TaskDefinition", /* @__PURE__ */ new Map([["InferenceAccelerators", "AWS Elastic Inference end-of-life 2024-04; use AWS Inferentia / Trainium accelerator instance families instead"]])]]);
|
|
34952
34979
|
getClient() {
|
|
34953
|
-
if (!this.ecsClient) this.ecsClient = new ECSClient(
|
|
34980
|
+
if (!this.ecsClient) this.ecsClient = new ECSClient({
|
|
34981
|
+
...awsClientDefaults(),
|
|
34982
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
34983
|
+
});
|
|
34954
34984
|
return this.ecsClient;
|
|
34955
34985
|
}
|
|
34956
34986
|
async create(logicalId, resourceType, properties) {
|
|
@@ -36738,7 +36768,10 @@ var ELBv2Provider = class {
|
|
|
36738
36768
|
])]
|
|
36739
36769
|
]);
|
|
36740
36770
|
getClient() {
|
|
36741
|
-
if (!this.elbv2Client) this.elbv2Client = new ElasticLoadBalancingV2Client(
|
|
36771
|
+
if (!this.elbv2Client) this.elbv2Client = new ElasticLoadBalancingV2Client({
|
|
36772
|
+
...awsClientDefaults(),
|
|
36773
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
36774
|
+
});
|
|
36742
36775
|
return this.elbv2Client;
|
|
36743
36776
|
}
|
|
36744
36777
|
/**
|
|
@@ -38007,7 +38040,10 @@ var RDSProvider = class {
|
|
|
38007
38040
|
["DeleteAutomatedBackups", "delete-time lifecycle flag not threaded through cdkd destroy; final snapshots are governed by DeletionPolicy: Snapshot (issue #1352), which this flag does not control"]
|
|
38008
38041
|
])]]);
|
|
38009
38042
|
getClient() {
|
|
38010
|
-
if (!this.rdsClient) this.rdsClient = new RDSClient(
|
|
38043
|
+
if (!this.rdsClient) this.rdsClient = new RDSClient({
|
|
38044
|
+
...awsClientDefaults(),
|
|
38045
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
38046
|
+
});
|
|
38011
38047
|
return this.rdsClient;
|
|
38012
38048
|
}
|
|
38013
38049
|
async create(logicalId, resourceType, properties) {
|
|
@@ -38758,7 +38794,10 @@ var RDSDBProxyProvider = class {
|
|
|
38758
38794
|
"Tags"
|
|
38759
38795
|
])]]);
|
|
38760
38796
|
getClient() {
|
|
38761
|
-
if (!this.rdsClient) this.rdsClient = new RDSClient(
|
|
38797
|
+
if (!this.rdsClient) this.rdsClient = new RDSClient({
|
|
38798
|
+
...awsClientDefaults(),
|
|
38799
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
38800
|
+
});
|
|
38762
38801
|
return this.rdsClient;
|
|
38763
38802
|
}
|
|
38764
38803
|
async create(logicalId, resourceType, properties) {
|
|
@@ -39090,7 +39129,10 @@ var RDSDBProxyEndpointProvider = class {
|
|
|
39090
39129
|
"Tags"
|
|
39091
39130
|
])]]);
|
|
39092
39131
|
getClient() {
|
|
39093
|
-
if (!this.rdsClient) this.rdsClient = new RDSClient(
|
|
39132
|
+
if (!this.rdsClient) this.rdsClient = new RDSClient({
|
|
39133
|
+
...awsClientDefaults(),
|
|
39134
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
39135
|
+
});
|
|
39094
39136
|
return this.rdsClient;
|
|
39095
39137
|
}
|
|
39096
39138
|
async create(logicalId, resourceType, properties) {
|
|
@@ -39396,7 +39438,10 @@ var RDSDBProxyTargetGroupProvider = class {
|
|
|
39396
39438
|
"ConnectionPoolConfigurationInfo"
|
|
39397
39439
|
])]]);
|
|
39398
39440
|
getClient() {
|
|
39399
|
-
if (!this.rdsClient) this.rdsClient = new RDSClient(
|
|
39441
|
+
if (!this.rdsClient) this.rdsClient = new RDSClient({
|
|
39442
|
+
...awsClientDefaults(),
|
|
39443
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
39444
|
+
});
|
|
39400
39445
|
return this.rdsClient;
|
|
39401
39446
|
}
|
|
39402
39447
|
async create(logicalId, resourceType, properties, context) {
|
|
@@ -39707,7 +39752,10 @@ var DocDBProvider = class {
|
|
|
39707
39752
|
])]
|
|
39708
39753
|
]);
|
|
39709
39754
|
getClient() {
|
|
39710
|
-
if (!this.docdbClient) this.docdbClient = new DocDBClient(
|
|
39755
|
+
if (!this.docdbClient) this.docdbClient = new DocDBClient({
|
|
39756
|
+
...awsClientDefaults(),
|
|
39757
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
39758
|
+
});
|
|
39711
39759
|
return this.docdbClient;
|
|
39712
39760
|
}
|
|
39713
39761
|
async create(logicalId, resourceType, properties) {
|
|
@@ -40340,7 +40388,10 @@ var NeptuneProvider = class {
|
|
|
40340
40388
|
])]
|
|
40341
40389
|
]);
|
|
40342
40390
|
getClient() {
|
|
40343
|
-
if (!this.neptuneClient) this.neptuneClient = new NeptuneClient(
|
|
40391
|
+
if (!this.neptuneClient) this.neptuneClient = new NeptuneClient({
|
|
40392
|
+
...awsClientDefaults(),
|
|
40393
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
40394
|
+
});
|
|
40344
40395
|
return this.neptuneClient;
|
|
40345
40396
|
}
|
|
40346
40397
|
async create(logicalId, resourceType, properties) {
|
|
@@ -41101,7 +41152,10 @@ var Route53Provider = class {
|
|
|
41101
41152
|
"CidrRoutingConfig"
|
|
41102
41153
|
])]]);
|
|
41103
41154
|
getClient() {
|
|
41104
|
-
if (!this.route53Client) this.route53Client = new Route53Client(
|
|
41155
|
+
if (!this.route53Client) this.route53Client = new Route53Client({
|
|
41156
|
+
...awsClientDefaults(),
|
|
41157
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
41158
|
+
});
|
|
41105
41159
|
return this.route53Client;
|
|
41106
41160
|
}
|
|
41107
41161
|
async create(logicalId, resourceType, properties, context) {
|
|
@@ -43113,7 +43167,10 @@ var CognitoUserPoolProvider = class {
|
|
|
43113
43167
|
return narrowMfaConfiguration(properties);
|
|
43114
43168
|
}
|
|
43115
43169
|
getClient() {
|
|
43116
|
-
if (!this.cognitoClient) this.cognitoClient = new CognitoIdentityProviderClient(
|
|
43170
|
+
if (!this.cognitoClient) this.cognitoClient = new CognitoIdentityProviderClient({
|
|
43171
|
+
...awsClientDefaults(),
|
|
43172
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
43173
|
+
});
|
|
43117
43174
|
return this.cognitoClient;
|
|
43118
43175
|
}
|
|
43119
43176
|
/**
|
|
@@ -43865,7 +43922,10 @@ var ElastiCacheProvider = class {
|
|
|
43865
43922
|
])]]);
|
|
43866
43923
|
unhandledByDesign = /* @__PURE__ */ new Map([["AWS::ElastiCache::CacheCluster", /* @__PURE__ */ new Map([["CacheSecurityGroupNames", "EC2-Classic-only — use VpcSecurityGroupIds for VPC-deployed clusters (EC2-Classic retired 2022-08-15)"]])]]);
|
|
43867
43924
|
getClient() {
|
|
43868
|
-
if (!this.client) this.client = new ElastiCacheClient(
|
|
43925
|
+
if (!this.client) this.client = new ElastiCacheClient({
|
|
43926
|
+
...awsClientDefaults(),
|
|
43927
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
43928
|
+
});
|
|
43869
43929
|
return this.client;
|
|
43870
43930
|
}
|
|
43871
43931
|
async create(logicalId, resourceType, properties) {
|
|
@@ -44394,11 +44454,17 @@ var ServiceDiscoveryProvider = class ServiceDiscoveryProvider {
|
|
|
44394
44454
|
])]
|
|
44395
44455
|
]);
|
|
44396
44456
|
getClient() {
|
|
44397
|
-
if (!this.client) this.client = new ServiceDiscoveryClient(
|
|
44457
|
+
if (!this.client) this.client = new ServiceDiscoveryClient({
|
|
44458
|
+
...awsClientDefaults(),
|
|
44459
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
44460
|
+
});
|
|
44398
44461
|
return this.client;
|
|
44399
44462
|
}
|
|
44400
44463
|
getStsClient() {
|
|
44401
|
-
if (!this.stsClient) this.stsClient = new STSClient(
|
|
44464
|
+
if (!this.stsClient) this.stsClient = new STSClient({
|
|
44465
|
+
...awsClientDefaults(),
|
|
44466
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
44467
|
+
});
|
|
44402
44468
|
return this.stsClient;
|
|
44403
44469
|
}
|
|
44404
44470
|
/**
|
|
@@ -45444,7 +45510,10 @@ var AppSyncProvider = class {
|
|
|
45444
45510
|
])]
|
|
45445
45511
|
]);
|
|
45446
45512
|
getClient() {
|
|
45447
|
-
if (!this.client) this.client = new AppSyncClient(
|
|
45513
|
+
if (!this.client) this.client = new AppSyncClient({
|
|
45514
|
+
...awsClientDefaults(),
|
|
45515
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
45516
|
+
});
|
|
45448
45517
|
return this.client;
|
|
45449
45518
|
}
|
|
45450
45519
|
/**
|
|
@@ -45636,7 +45705,10 @@ var AppSyncProvider = class {
|
|
|
45636
45705
|
* implementation).
|
|
45637
45706
|
*/
|
|
45638
45707
|
getS3Client() {
|
|
45639
|
-
if (!this.s3Client) this.s3Client = new S3Client(
|
|
45708
|
+
if (!this.s3Client) this.s3Client = new S3Client({
|
|
45709
|
+
...awsClientDefaults(),
|
|
45710
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
45711
|
+
});
|
|
45640
45712
|
return this.s3Client;
|
|
45641
45713
|
}
|
|
45642
45714
|
async create(logicalId, resourceType, properties, context) {
|
|
@@ -47267,7 +47339,10 @@ var GlueProvider = class {
|
|
|
47267
47339
|
"OpenTableFormatInput"
|
|
47268
47340
|
])]]);
|
|
47269
47341
|
getClient() {
|
|
47270
|
-
if (!this.client) this.client = new GlueClient(
|
|
47342
|
+
if (!this.client) this.client = new GlueClient({
|
|
47343
|
+
...awsClientDefaults(),
|
|
47344
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
47345
|
+
});
|
|
47271
47346
|
return this.client;
|
|
47272
47347
|
}
|
|
47273
47348
|
async create(logicalId, resourceType, properties, context) {
|
|
@@ -48118,7 +48193,10 @@ var GlueWorkflowProvider = class {
|
|
|
48118
48193
|
"Tags"
|
|
48119
48194
|
])]]);
|
|
48120
48195
|
getClient() {
|
|
48121
|
-
if (!this.client) this.client = new GlueClient(
|
|
48196
|
+
if (!this.client) this.client = new GlueClient({
|
|
48197
|
+
...awsClientDefaults(),
|
|
48198
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
48199
|
+
});
|
|
48122
48200
|
return this.client;
|
|
48123
48201
|
}
|
|
48124
48202
|
async create(logicalId, resourceType, properties) {
|
|
@@ -48244,7 +48322,10 @@ var GlueWorkflowProvider = class {
|
|
|
48244
48322
|
}
|
|
48245
48323
|
async getAccountId() {
|
|
48246
48324
|
if (this.cachedAccountId) return this.cachedAccountId;
|
|
48247
|
-
if (!this.stsClient) this.stsClient = new STSClient(
|
|
48325
|
+
if (!this.stsClient) this.stsClient = new STSClient({
|
|
48326
|
+
...awsClientDefaults(),
|
|
48327
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
48328
|
+
});
|
|
48248
48329
|
const identity = await this.stsClient.send(new GetCallerIdentityCommand({}));
|
|
48249
48330
|
if (!identity.Account) throw new Error("Failed to resolve AWS account id from STS");
|
|
48250
48331
|
this.cachedAccountId = identity.Account;
|
|
@@ -48269,7 +48350,10 @@ var GlueSecurityConfigurationProvider = class {
|
|
|
48269
48350
|
logger = getLogger().child("GlueSecurityConfigurationProvider");
|
|
48270
48351
|
handledProperties = /* @__PURE__ */ new Map([["AWS::Glue::SecurityConfiguration", /* @__PURE__ */ new Set(["Name", "EncryptionConfiguration"])]]);
|
|
48271
48352
|
getClient() {
|
|
48272
|
-
if (!this.client) this.client = new GlueClient(
|
|
48353
|
+
if (!this.client) this.client = new GlueClient({
|
|
48354
|
+
...awsClientDefaults(),
|
|
48355
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
48356
|
+
});
|
|
48273
48357
|
return this.client;
|
|
48274
48358
|
}
|
|
48275
48359
|
async create(logicalId, resourceType, properties) {
|
|
@@ -48628,11 +48712,17 @@ var GlueJobProvider = class {
|
|
|
48628
48712
|
"Tags"
|
|
48629
48713
|
])]]);
|
|
48630
48714
|
getClient() {
|
|
48631
|
-
if (!this.client) this.client = new GlueClient(
|
|
48715
|
+
if (!this.client) this.client = new GlueClient({
|
|
48716
|
+
...awsClientDefaults(),
|
|
48717
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
48718
|
+
});
|
|
48632
48719
|
return this.client;
|
|
48633
48720
|
}
|
|
48634
48721
|
getStsClient() {
|
|
48635
|
-
if (!this.stsClient) this.stsClient = new STSClient(
|
|
48722
|
+
if (!this.stsClient) this.stsClient = new STSClient({
|
|
48723
|
+
...awsClientDefaults(),
|
|
48724
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
48725
|
+
});
|
|
48636
48726
|
return this.stsClient;
|
|
48637
48727
|
}
|
|
48638
48728
|
async create(logicalId, resourceType, properties) {
|
|
@@ -48998,11 +49088,17 @@ var GlueCrawlerProvider = class {
|
|
|
48998
49088
|
"Tags"
|
|
48999
49089
|
])]]);
|
|
49000
49090
|
getClient() {
|
|
49001
|
-
if (!this.client) this.client = new GlueClient(
|
|
49091
|
+
if (!this.client) this.client = new GlueClient({
|
|
49092
|
+
...awsClientDefaults(),
|
|
49093
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
49094
|
+
});
|
|
49002
49095
|
return this.client;
|
|
49003
49096
|
}
|
|
49004
49097
|
getStsClient() {
|
|
49005
|
-
if (!this.stsClient) this.stsClient = new STSClient(
|
|
49098
|
+
if (!this.stsClient) this.stsClient = new STSClient({
|
|
49099
|
+
...awsClientDefaults(),
|
|
49100
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
49101
|
+
});
|
|
49006
49102
|
return this.stsClient;
|
|
49007
49103
|
}
|
|
49008
49104
|
async create(logicalId, resourceType, properties) {
|
|
@@ -49306,7 +49402,10 @@ var GlueConnectionProvider = class {
|
|
|
49306
49402
|
logger = getLogger().child("GlueConnectionProvider");
|
|
49307
49403
|
handledProperties = /* @__PURE__ */ new Map([["AWS::Glue::Connection", /* @__PURE__ */ new Set(["ConnectionInput", "CatalogId"])]]);
|
|
49308
49404
|
getClient() {
|
|
49309
|
-
if (!this.client) this.client = new GlueClient(
|
|
49405
|
+
if (!this.client) this.client = new GlueClient({
|
|
49406
|
+
...awsClientDefaults(),
|
|
49407
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
49408
|
+
});
|
|
49310
49409
|
return this.client;
|
|
49311
49410
|
}
|
|
49312
49411
|
async create(logicalId, resourceType, properties) {
|
|
@@ -49468,11 +49567,17 @@ var GlueTriggerProvider = class {
|
|
|
49468
49567
|
"Tags"
|
|
49469
49568
|
])]]);
|
|
49470
49569
|
getClient() {
|
|
49471
|
-
if (!this.client) this.client = new GlueClient(
|
|
49570
|
+
if (!this.client) this.client = new GlueClient({
|
|
49571
|
+
...awsClientDefaults(),
|
|
49572
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
49573
|
+
});
|
|
49472
49574
|
return this.client;
|
|
49473
49575
|
}
|
|
49474
49576
|
getStsClient() {
|
|
49475
|
-
if (!this.stsClient) this.stsClient = new STSClient(
|
|
49577
|
+
if (!this.stsClient) this.stsClient = new STSClient({
|
|
49578
|
+
...awsClientDefaults(),
|
|
49579
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
49580
|
+
});
|
|
49476
49581
|
return this.stsClient;
|
|
49477
49582
|
}
|
|
49478
49583
|
async create(logicalId, resourceType, properties) {
|
|
@@ -49686,7 +49791,10 @@ var KMSProvider = class {
|
|
|
49686
49791
|
"BypassPolicyLockoutSafetyCheck"
|
|
49687
49792
|
])], ["AWS::KMS::Alias", /* @__PURE__ */ new Set(["AliasName", "TargetKeyId"])]]);
|
|
49688
49793
|
getClient() {
|
|
49689
|
-
if (!this.client) this.client = new KMSClient(
|
|
49794
|
+
if (!this.client) this.client = new KMSClient({
|
|
49795
|
+
...awsClientDefaults(),
|
|
49796
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
49797
|
+
});
|
|
49690
49798
|
return this.client;
|
|
49691
49799
|
}
|
|
49692
49800
|
async create(logicalId, resourceType, properties) {
|
|
@@ -50125,7 +50233,10 @@ var BudgetsBudgetProvider = class {
|
|
|
50125
50233
|
"ResourceTags"
|
|
50126
50234
|
])]]);
|
|
50127
50235
|
getClient() {
|
|
50128
|
-
if (!this.client) this.client = new BudgetsClient(
|
|
50236
|
+
if (!this.client) this.client = new BudgetsClient({
|
|
50237
|
+
...awsClientDefaults(),
|
|
50238
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
50239
|
+
});
|
|
50129
50240
|
return this.client;
|
|
50130
50241
|
}
|
|
50131
50242
|
/**
|
|
@@ -50738,7 +50849,10 @@ var KinesisStreamProvider = class {
|
|
|
50738
50849
|
"MaxRecordSizeInKiB"
|
|
50739
50850
|
])]]);
|
|
50740
50851
|
getClient() {
|
|
50741
|
-
if (!this.client) this.client = new KinesisClient(
|
|
50852
|
+
if (!this.client) this.client = new KinesisClient({
|
|
50853
|
+
...awsClientDefaults(),
|
|
50854
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
50855
|
+
});
|
|
50742
50856
|
return this.client;
|
|
50743
50857
|
}
|
|
50744
50858
|
/**
|
|
@@ -51210,7 +51324,10 @@ var KinesisStreamConsumerProvider = class {
|
|
|
51210
51324
|
"Tags"
|
|
51211
51325
|
])]]);
|
|
51212
51326
|
getClient() {
|
|
51213
|
-
if (!this.client) this.client = new KinesisClient(
|
|
51327
|
+
if (!this.client) this.client = new KinesisClient({
|
|
51328
|
+
...awsClientDefaults(),
|
|
51329
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
51330
|
+
});
|
|
51214
51331
|
return this.client;
|
|
51215
51332
|
}
|
|
51216
51333
|
/**
|
|
@@ -51494,7 +51611,10 @@ var SchedulerScheduleProvider = class {
|
|
|
51494
51611
|
"Target"
|
|
51495
51612
|
])]]);
|
|
51496
51613
|
getClient() {
|
|
51497
|
-
if (!this.client) this.client = new SchedulerClient(
|
|
51614
|
+
if (!this.client) this.client = new SchedulerClient({
|
|
51615
|
+
...awsClientDefaults(),
|
|
51616
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
51617
|
+
});
|
|
51498
51618
|
return this.client;
|
|
51499
51619
|
}
|
|
51500
51620
|
/**
|
|
@@ -51787,7 +51907,10 @@ var EFSProvider = class {
|
|
|
51787
51907
|
]);
|
|
51788
51908
|
unhandledByDesign = /* @__PURE__ */ new Map([["AWS::EFS::FileSystem", /* @__PURE__ */ new Map([["ReplicationConfiguration", "Cross-region EFS replication (CreateReplicationConfiguration) provisions a separate destination file system in another region with its own lifecycle, KMS key, and availability-zone placement; replicating + then tearing down the destination on destroy is a multi-resource, cross-region orchestration that is out of scope for the single-resource SDK provider. Tracked as a follow-up to issue #609."]])], ["AWS::EFS::AccessPoint", /* @__PURE__ */ new Map([["ClientToken", "cdkd supplies its own retry-stable ClientToken on CreateAccessPoint (issues #2039 and #2080), so a template-supplied value would be overwritten. The SDK does not own this field either: measured against @aws-sdk/client-efs 3.1018.0, an omitted ClientToken is auto-filled with a FRESH uuid per attempt, which leaves a retried 500 free to mint a second access point, while a caller-supplied value goes on the wire verbatim."]])]]);
|
|
51789
51909
|
getClient() {
|
|
51790
|
-
if (!this.client) this.client = new EFSClient(
|
|
51910
|
+
if (!this.client) this.client = new EFSClient({
|
|
51911
|
+
...awsClientDefaults(),
|
|
51912
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
51913
|
+
});
|
|
51791
51914
|
return this.client;
|
|
51792
51915
|
}
|
|
51793
51916
|
async create(logicalId, resourceType, properties) {
|
|
@@ -52701,7 +52824,10 @@ var FSxFileSystemProvider = class {
|
|
|
52701
52824
|
])]]);
|
|
52702
52825
|
unhandledByDesign = /* @__PURE__ */ new Map();
|
|
52703
52826
|
getClient() {
|
|
52704
|
-
if (!this.client) this.client = new FSxClient(
|
|
52827
|
+
if (!this.client) this.client = new FSxClient({
|
|
52828
|
+
...awsClientDefaults(),
|
|
52829
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
52830
|
+
});
|
|
52705
52831
|
return this.client;
|
|
52706
52832
|
}
|
|
52707
52833
|
/**
|
|
@@ -53809,7 +53935,10 @@ var EMRClusterProvider = class {
|
|
|
53809
53935
|
"VisibleToAllUsers"
|
|
53810
53936
|
])]]);
|
|
53811
53937
|
getClient() {
|
|
53812
|
-
if (!this.client) this.client = new EMRClient(
|
|
53938
|
+
if (!this.client) this.client = new EMRClient({
|
|
53939
|
+
...awsClientDefaults(),
|
|
53940
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
53941
|
+
});
|
|
53813
53942
|
return this.client;
|
|
53814
53943
|
}
|
|
53815
53944
|
/**
|
|
@@ -54571,7 +54700,10 @@ var EMRInstanceGroupConfigProvider = class {
|
|
|
54571
54700
|
"Name"
|
|
54572
54701
|
])]]);
|
|
54573
54702
|
getClient() {
|
|
54574
|
-
if (!this.client) this.client = new EMRClient(
|
|
54703
|
+
if (!this.client) this.client = new EMRClient({
|
|
54704
|
+
...awsClientDefaults(),
|
|
54705
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
54706
|
+
});
|
|
54575
54707
|
return this.client;
|
|
54576
54708
|
}
|
|
54577
54709
|
getMinResourceTimeoutMs() {
|
|
@@ -54884,7 +55016,10 @@ var EMRInstanceFleetConfigProvider = class {
|
|
|
54884
55016
|
"TargetSpotCapacity"
|
|
54885
55017
|
])]]);
|
|
54886
55018
|
getClient() {
|
|
54887
|
-
if (!this.client) this.client = new EMRClient(
|
|
55019
|
+
if (!this.client) this.client = new EMRClient({
|
|
55020
|
+
...awsClientDefaults(),
|
|
55021
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
55022
|
+
});
|
|
54888
55023
|
return this.client;
|
|
54889
55024
|
}
|
|
54890
55025
|
getMinResourceTimeoutMs() {
|
|
@@ -55182,7 +55317,10 @@ var FirehoseProvider = class {
|
|
|
55182
55317
|
"DeliveryStreamEncryptionConfigurationInput"
|
|
55183
55318
|
])]]);
|
|
55184
55319
|
getClient() {
|
|
55185
|
-
if (!this.client) this.client = new FirehoseClient(
|
|
55320
|
+
if (!this.client) this.client = new FirehoseClient({
|
|
55321
|
+
...awsClientDefaults(),
|
|
55322
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
55323
|
+
});
|
|
55186
55324
|
return this.client;
|
|
55187
55325
|
}
|
|
55188
55326
|
/**
|
|
@@ -56527,7 +56665,10 @@ var CloudTrailProvider = class {
|
|
|
56527
56665
|
"IsOrganizationTrail"
|
|
56528
56666
|
])]]);
|
|
56529
56667
|
getClient() {
|
|
56530
|
-
if (!this.client) this.client = new CloudTrailClient(
|
|
56668
|
+
if (!this.client) this.client = new CloudTrailClient({
|
|
56669
|
+
...awsClientDefaults(),
|
|
56670
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
56671
|
+
});
|
|
56531
56672
|
return this.client;
|
|
56532
56673
|
}
|
|
56533
56674
|
async create(logicalId, resourceType, properties) {
|
|
@@ -56869,7 +57010,10 @@ var CodeBuildProvider = class {
|
|
|
56869
57010
|
"AutoRetryLimit"
|
|
56870
57011
|
])]]);
|
|
56871
57012
|
getClient() {
|
|
56872
|
-
if (!this.client) this.client = new CodeBuildClient(
|
|
57013
|
+
if (!this.client) this.client = new CodeBuildClient({
|
|
57014
|
+
...awsClientDefaults(),
|
|
57015
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
57016
|
+
});
|
|
56873
57017
|
return this.client;
|
|
56874
57018
|
}
|
|
56875
57019
|
/**
|
|
@@ -57430,11 +57574,17 @@ var CodeCommitRepositoryProvider = class {
|
|
|
57430
57574
|
"Triggers"
|
|
57431
57575
|
])]]);
|
|
57432
57576
|
getClient() {
|
|
57433
|
-
if (!this.client) this.client = new CodeCommitClient(
|
|
57577
|
+
if (!this.client) this.client = new CodeCommitClient({
|
|
57578
|
+
...awsClientDefaults(),
|
|
57579
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
57580
|
+
});
|
|
57434
57581
|
return this.client;
|
|
57435
57582
|
}
|
|
57436
57583
|
getS3Client() {
|
|
57437
|
-
if (!this.s3Client) this.s3Client = new S3Client(
|
|
57584
|
+
if (!this.s3Client) this.s3Client = new S3Client({
|
|
57585
|
+
...awsClientDefaults(),
|
|
57586
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
57587
|
+
});
|
|
57438
57588
|
return this.s3Client;
|
|
57439
57589
|
}
|
|
57440
57590
|
/**
|
|
@@ -57864,7 +58014,10 @@ var DLMLifecyclePolicyProvider = class {
|
|
|
57864
58014
|
"Exclusions"
|
|
57865
58015
|
])]]);
|
|
57866
58016
|
getClient() {
|
|
57867
|
-
if (!this.client) this.client = new DLMClient(
|
|
58017
|
+
if (!this.client) this.client = new DLMClient({
|
|
58018
|
+
...awsClientDefaults(),
|
|
58019
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
58020
|
+
});
|
|
57868
58021
|
return this.client;
|
|
57869
58022
|
}
|
|
57870
58023
|
/**
|
|
@@ -58156,7 +58309,10 @@ var S3VectorsProvider = class {
|
|
|
58156
58309
|
"Tags"
|
|
58157
58310
|
])]]);
|
|
58158
58311
|
getClient() {
|
|
58159
|
-
if (!this.client) this.client = new S3VectorsClient(
|
|
58312
|
+
if (!this.client) this.client = new S3VectorsClient({
|
|
58313
|
+
...awsClientDefaults(),
|
|
58314
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
58315
|
+
});
|
|
58160
58316
|
return this.client;
|
|
58161
58317
|
}
|
|
58162
58318
|
async create(logicalId, resourceType, properties) {
|
|
@@ -58406,7 +58562,10 @@ var S3DirectoryBucketProvider = class {
|
|
|
58406
58562
|
this.stsClient = awsClients.sts;
|
|
58407
58563
|
}
|
|
58408
58564
|
getEc2Client() {
|
|
58409
|
-
if (!this.ec2Client) this.ec2Client = new EC2Client(
|
|
58565
|
+
if (!this.ec2Client) this.ec2Client = new EC2Client({
|
|
58566
|
+
...awsClientDefaults(),
|
|
58567
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
58568
|
+
});
|
|
58410
58569
|
return this.ec2Client;
|
|
58411
58570
|
}
|
|
58412
58571
|
/**
|
|
@@ -58417,7 +58576,10 @@ var S3DirectoryBucketProvider = class {
|
|
|
58417
58576
|
* `s3express:UntagResource` / `s3express:ListTagsForResource` permissions).
|
|
58418
58577
|
*/
|
|
58419
58578
|
getS3ControlClient() {
|
|
58420
|
-
if (!this.s3ControlClient) this.s3ControlClient = new S3ControlClient(
|
|
58579
|
+
if (!this.s3ControlClient) this.s3ControlClient = new S3ControlClient({
|
|
58580
|
+
...awsClientDefaults(),
|
|
58581
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
58582
|
+
});
|
|
58421
58583
|
return this.s3ControlClient;
|
|
58422
58584
|
}
|
|
58423
58585
|
/**
|
|
@@ -58829,7 +58991,10 @@ var S3TablesProvider = class {
|
|
|
58829
58991
|
])]
|
|
58830
58992
|
]);
|
|
58831
58993
|
getClient() {
|
|
58832
|
-
if (!this.client) this.client = new S3TablesClient(
|
|
58994
|
+
if (!this.client) this.client = new S3TablesClient({
|
|
58995
|
+
...awsClientDefaults(),
|
|
58996
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
58997
|
+
});
|
|
58833
58998
|
return this.client;
|
|
58834
58999
|
}
|
|
58835
59000
|
async create(logicalId, resourceType, properties, context) {
|
|
@@ -59622,7 +59787,10 @@ var ECRProvider = class {
|
|
|
59622
59787
|
"ImageTagMutabilityExclusionFilters"
|
|
59623
59788
|
])]]);
|
|
59624
59789
|
getClient() {
|
|
59625
|
-
if (!this.client) this.client = new ECRClient(
|
|
59790
|
+
if (!this.client) this.client = new ECRClient({
|
|
59791
|
+
...awsClientDefaults(),
|
|
59792
|
+
...this.providerRegion ? { region: this.providerRegion } : {}
|
|
59793
|
+
});
|
|
59626
59794
|
return this.client;
|
|
59627
59795
|
}
|
|
59628
59796
|
/**
|
|
@@ -62194,7 +62362,10 @@ async function deployCommand(stacks, options) {
|
|
|
62194
62362
|
});
|
|
62195
62363
|
await synthesizer.expandMacrosForStacks(targetStacks, synthOptions);
|
|
62196
62364
|
const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
|
|
62197
|
-
const stsClient = new STSClient({
|
|
62365
|
+
const stsClient = new STSClient({
|
|
62366
|
+
...awsClientDefaults(),
|
|
62367
|
+
region: namedCliRegion(options.region) ?? "us-east-1"
|
|
62368
|
+
});
|
|
62198
62369
|
const accountId = (await stsClient.send(new GetCallerIdentityCommand({}))).Account;
|
|
62199
62370
|
stsClient.destroy();
|
|
62200
62371
|
const assetPublisher = new AssetPublisher();
|
|
@@ -65220,15 +65391,14 @@ const DYNAMIC_REFERENCE_OPENING = "{{resolve:";
|
|
|
65220
65391
|
* unactionable for prose. Requiring the service makes the count a count of
|
|
65221
65392
|
* SECRET references rather than of the characters `{{resolve:`.
|
|
65222
65393
|
*
|
|
65223
|
-
*
|
|
65224
|
-
* `
|
|
65225
|
-
* classifies the tokens below — the same set on both sides, so the
|
|
65226
|
-
* the classification never disagree about what is in scope.
|
|
65227
|
-
*
|
|
65228
|
-
*
|
|
65229
|
-
*
|
|
65230
|
-
*
|
|
65231
|
-
* the guard correct the day that arm changes.
|
|
65394
|
+
* All three mirror `REPLAY_SECRET_SERVICES` in
|
|
65395
|
+
* `secret-region-classification.ts`, whose {@link classifyReplaySecretRegion}
|
|
65396
|
+
* is what classifies the tokens below — the same set on both sides, so the
|
|
65397
|
+
* count and the classification never disagree about what is in scope. Until
|
|
65398
|
+
* issue #2482 `ssm-secure` was counted here AHEAD of that set (cdkd did not
|
|
65399
|
+
* resolve it, so it could never become a wrong-region needle, and counting it
|
|
65400
|
+
* kept the guard correct for the day the resolver's arm changed); that day
|
|
65401
|
+
* came, and the two lists agree again.
|
|
65232
65402
|
*
|
|
65233
65403
|
* THE TRADE, stated rather than hidden: an `Fn::Join` that splits BEFORE the
|
|
65234
65404
|
* service name (`['{{resolve:', 'secretsmanager:db:SecretString:pw}}']`) has no
|
|
@@ -67580,9 +67750,9 @@ var DriftDetectedError = class DriftDetectedError extends CdkdError {
|
|
|
67580
67750
|
*
|
|
67581
67751
|
* SCOPED TO THE CLEARABLE CAUSES, not to everything the report calls
|
|
67582
67752
|
* `notCompared`. The roll-up also contains resources whose only problem is a
|
|
67583
|
-
* surviving `{{resolve
|
|
67584
|
-
*
|
|
67585
|
-
* create. Exiting non-zero for them would break `cdkd drift` in CI forever over
|
|
67753
|
+
* surviving `{{resolve:...}}` token cdkd resolves for nobody — a look-alike
|
|
67754
|
+
* spelling, since issue #2482 moved `ssm-secure` onto the `ssm` path — which
|
|
67755
|
+
* can never clear on a re-run, and which this change did not create. Exiting non-zero for them would break `cdkd drift` in CI forever over
|
|
67586
67756
|
* an unrelated defect, so the exit reads `refused` and `readFailed` while the
|
|
67587
67757
|
* report covers all three. See `NotComparedCause` and `outcomeExitSignal`.
|
|
67588
67758
|
*
|
|
@@ -67616,12 +67786,15 @@ var DriftDetectedError = class DriftDetectedError extends CdkdError {
|
|
|
67616
67786
|
* honest SENTENCE, since their no-drift line claimed a clean bill of health for
|
|
67617
67787
|
* a stack they had not read. See {@link incompleteRemediationMessage}.
|
|
67618
67788
|
*
|
|
67619
|
-
* WHAT DOES NOT TRIGGER IT: a stack whose properties
|
|
67620
|
-
*
|
|
67621
|
-
* compared and the report says so, but nothing REFUSED them — cdkd has
|
|
67622
|
-
* resolved that spelling — so the condition is permanent, unclearable by
|
|
67623
|
-
* action the user can take, and predates this change. It is reported as
|
|
67624
|
-
* information and kept out of the exit code.
|
|
67789
|
+
* WHAT DOES NOT TRIGGER IT: a stack whose properties carry a `{{resolve:...}}`
|
|
67790
|
+
* spelling cdkd resolves for nobody still exits 0. Those properties genuinely
|
|
67791
|
+
* are not compared and the report says so, but nothing REFUSED them — cdkd has
|
|
67792
|
+
* never resolved that spelling — so the condition is permanent, unclearable by
|
|
67793
|
+
* any action the user can take, and predates this change. It is reported as
|
|
67794
|
+
* information and kept out of the exit code. (`ssm-secure` was that spelling
|
|
67795
|
+
* when this was written; since issue #2482 it resolves like `ssm`, and a
|
|
67796
|
+
* lookup that fails for it lands with the other resolution failures, not
|
|
67797
|
+
* here.)
|
|
67625
67798
|
*
|
|
67626
67799
|
* Carries no message of its own for the same reason {@link DriftDetectedError}
|
|
67627
67800
|
* does -- the report was already printed.
|
|
@@ -67692,8 +67865,7 @@ function notComparedOutcomes(report) {
|
|
|
67692
67865
|
* code covers only the CLEARABLE ones — `refused` (the population #2108 created)
|
|
67693
67866
|
* and `readFailed` (issues #2151 / #1945). Exiting non-zero on
|
|
67694
67867
|
* `unresolvedToken` would break `cdkd drift` in CI forever for every stack
|
|
67695
|
-
* holding
|
|
67696
|
-
* and unrelated. See {@link NotComparedCause}.
|
|
67868
|
+
* holding such a spelling — permanent, unclearable, and unrelated. See {@link NotComparedCause}.
|
|
67697
67869
|
*
|
|
67698
67870
|
* A `drifted` outcome reports `drifted` even when its own comparison was
|
|
67699
67871
|
* refused: drift is the stronger, actionable signal and the caller ranks it
|
|
@@ -67829,7 +68001,7 @@ function uncomparedTally(reports) {
|
|
|
67829
68001
|
*
|
|
67830
68002
|
* - The TRIGGER is `anyIncomplete`, i.e. {@link outcomeExitSignal}'s
|
|
67831
68003
|
* `incomplete`. It is narrow on purpose: a stack whose ONLY uncompared
|
|
67832
|
-
* resource holds a `{{resolve
|
|
68004
|
+
* resource holds a `{{resolve:...}}` token cdkd resolves for nobody must not start
|
|
67833
68005
|
* shouting on every run about a comparison no action of the user's can ever
|
|
67834
68006
|
* complete -- the same CI-forever hazard that cause is kept out of the exit
|
|
67835
68007
|
* code on.
|
|
@@ -68114,25 +68286,6 @@ function carriesRecordedSecret(value, secrets) {
|
|
|
68114
68286
|
return false;
|
|
68115
68287
|
}
|
|
68116
68288
|
/**
|
|
68117
|
-
* Is this unresolvable token one whose value is a SECRET by definition?
|
|
68118
|
-
*
|
|
68119
|
-
* `ssm-secure` is the only such spelling, and it is decidable with no lookup:
|
|
68120
|
-
* CloudFormation defines exactly three dynamic-reference services (`ssm`,
|
|
68121
|
-
* `ssm-secure`, `secretsmanager`), cdkd resolves the other two, and
|
|
68122
|
-
* `ssm-secure` is the encrypted one.
|
|
68123
|
-
*
|
|
68124
|
-
* Anything else reaching the survivor arm is not a CloudFormation dynamic
|
|
68125
|
-
* reference at all — it is text that merely looks like one — and treating it as
|
|
68126
|
-
* secret is not the safe direction it appears to be: the path would be masked
|
|
68127
|
-
* to `***`, refused by `--accept`, and pinned to the live value by
|
|
68128
|
-
* {@link preserveLiveValuesAtUnresolvedTokens}, which is permanently stuck
|
|
68129
|
-
* drift with no remedy the user can apply. Such a token is still REPORTED; it
|
|
68130
|
-
* just does not claim to be a secret.
|
|
68131
|
-
*/
|
|
68132
|
-
function isSecretBySpelling(token) {
|
|
68133
|
-
return token.startsWith("{{resolve:ssm-secure:");
|
|
68134
|
-
}
|
|
68135
|
-
/**
|
|
68136
68289
|
* Every `{{resolve:...}}` token still present in `value`.
|
|
68137
68290
|
*
|
|
68138
68291
|
* Used to NAME an unresolvable reference without quoting the string it sits in.
|
|
@@ -68285,10 +68438,13 @@ var DriftSecretRefusalError = class DriftSecretRefusalError extends CdkdError {
|
|
|
68285
68438
|
/**
|
|
68286
68439
|
* Whether an error thrown out of `resolveStateSecretExpressions` is a
|
|
68287
68440
|
* deliberate REFUSAL rather than a failed read. See
|
|
68288
|
-
* {@link DriftSecretRefusalError}
|
|
68441
|
+
* {@link DriftSecretRefusalError} — drift's own region refusal — and
|
|
68442
|
+
* `IntrinsicResolutionRefusalError`, the resolver's: since issue #2482 the
|
|
68443
|
+
* `ssm-secure` arm refuses a definitive `String` / `StringList` parameter with
|
|
68444
|
+
* the latter, and that is a decision, not an IAM problem to go hunting for.
|
|
68289
68445
|
*/
|
|
68290
68446
|
function isDriftSecretRefusal(err) {
|
|
68291
|
-
return err instanceof DriftSecretRefusalError;
|
|
68447
|
+
return err instanceof DriftSecretRefusalError || err instanceof IntrinsicResolutionRefusalError;
|
|
68292
68448
|
}
|
|
68293
68449
|
/**
|
|
68294
68450
|
* One-line human phrasing for a {@link NotComparedCause}, used per entry in the
|
|
@@ -68467,17 +68623,19 @@ async function resolveDriftLeafByRegion(leaf, propertyPath, logicalId, consumerR
|
|
|
68467
68623
|
*
|
|
68468
68624
|
* A `{{resolve:...}}` token that SURVIVES the pass is reported through
|
|
68469
68625
|
* `onUnresolved` and left in place — it is not an error. The resolver's
|
|
68470
|
-
* unsupported-service arm (`ssm-secure:`
|
|
68471
|
-
*
|
|
68472
|
-
*
|
|
68473
|
-
*
|
|
68474
|
-
*
|
|
68475
|
-
*
|
|
68476
|
-
*
|
|
68626
|
+
* unsupported-service arm warns and returns the literal (`ssm-secure:` was the
|
|
68627
|
+
* live example until issue #2482 gave it an arm; what reaches it now is text
|
|
68628
|
+
* that merely looks like a reference), and `cdkd deploy` resolves through the
|
|
68629
|
+
* very same code, so AWS is ALREADY holding that literal string and state
|
|
68630
|
+
* records it. Replaying it is therefore a correct no-op, and failing the
|
|
68631
|
+
* resource over it would take every other drifted property on that resource
|
|
68632
|
+
* down with it (plus exit 2). The report exists so the user learns cdkd is
|
|
68633
|
+
* shipping a token it cannot resolve, which is a real thing to know and not a
|
|
68634
|
+
* reason to stop.
|
|
68477
68635
|
*
|
|
68478
68636
|
* Only the TOKENS are reported, never the leaf that held them: the leaf is
|
|
68479
68637
|
* partially substituted by this point, so a mixed `secretsmanager` +
|
|
68480
|
-
*
|
|
68638
|
+
* look-alike string comes back carrying real plaintext.
|
|
68481
68639
|
*
|
|
68482
68640
|
* Returns the input by identity when it holds no dynamic reference, so the
|
|
68483
68641
|
* non-secret path is unchanged down to object identity.
|
|
@@ -68500,10 +68658,7 @@ async function resolveStateSecretExpressions(props, resolvers, secrets, options)
|
|
|
68500
68658
|
if (!v.includes("{{resolve:")) return v;
|
|
68501
68659
|
const resolved = await resolveDriftLeafByRegion(v, path, logicalId, consumerRegion, producerRegions, resolvers, ctx);
|
|
68502
68660
|
const survivors = survivingDynamicReferences(resolved).filter((t) => v.includes(t));
|
|
68503
|
-
if (survivors.length > 0)
|
|
68504
|
-
if (survivors.some(isSecretBySpelling)) secretPaths?.add(path);
|
|
68505
|
-
onUnresolved?.(survivors, path);
|
|
68506
|
-
}
|
|
68661
|
+
if (survivors.length > 0) onUnresolved?.(survivors, path);
|
|
68507
68662
|
if (carriesRecordedSecret(resolved, secrets)) secretPaths?.add(path);
|
|
68508
68663
|
return resolved;
|
|
68509
68664
|
}
|
|
@@ -68763,7 +68918,7 @@ async function runDriftForStack(stackName, region, stateBackend, providerRegistr
|
|
|
68763
68918
|
logger.warn(`${logicalId} (${resource.resourceType}): ` + (refused ? "refused to resolve a dynamic reference this resource's state records, so its secret-bearing properties are NOT compared — " : "could not resolve the dynamic reference(s) this resource's state records, so its secret-bearing properties are NOT compared — ") + `${maskSecretsInText(err instanceof Error ? err.message : String(err), secrets)}`);
|
|
68764
68919
|
secrets.clear();
|
|
68765
68920
|
}
|
|
68766
|
-
if (unresolvedTokens.size > 0) logger.warn(`${logicalId} (${resource.resourceType}): cdkd cannot resolve ${maskSecretsInText([...unresolvedTokens].join(", "), secrets)} — those properties are NOT compared. A revert leaves a property whose WHOLE value is one of these tokens untouched; where a token is EMBEDDED in a longer string, the revert writes that string with the token literal, exactly as 'cdkd deploy' does — so a resolved value AWS holds there WOULD be overwritten. cdkd resolves 'secretsmanager' and 'ssm' references
|
|
68921
|
+
if (unresolvedTokens.size > 0) logger.warn(`${logicalId} (${resource.resourceType}): cdkd cannot resolve ${maskSecretsInText([...unresolvedTokens].join(", "), secrets)} — those properties are NOT compared. A revert leaves a property whose WHOLE value is one of these tokens untouched; where a token is EMBEDDED in a longer string, the revert writes that string with the token literal, exactly as 'cdkd deploy' does — so a resolved value AWS holds there WOULD be overwritten. cdkd resolves 'secretsmanager', 'ssm' and 'ssm-secure' references; anything else is left as written.`);
|
|
68767
68922
|
const observedIgnorePaths = useObserved ? undeclaredEmptyObservedKeys(resource.observedProperties, resource.properties ?? {}) : [];
|
|
68768
68923
|
const normalized = await canonicalizePrincipalUniqueIds(comparisonBaseline, aws, resolvePrincipalUniqueId);
|
|
68769
68924
|
const protocolNormalized = canonicalizeIpProtocols(normalized.baseline, normalized.aws, resource.resourceType);
|
|
@@ -69334,19 +69489,24 @@ function mergeUntemplatedValue(awsValue, desiredValue) {
|
|
|
69334
69489
|
* warning, on the premise that `cdkd deploy` resolves through the
|
|
69335
69490
|
* resolver's same unsupported-service arm — so AWS already holds the literal
|
|
69336
69491
|
* and replaying it is a no-op. **That premise holds only for records cdkd
|
|
69337
|
-
* deployed.**
|
|
69338
|
-
*
|
|
69339
|
-
*
|
|
69340
|
-
*
|
|
69341
|
-
*
|
|
69342
|
-
*
|
|
69343
|
-
*
|
|
69492
|
+
* deployed.** A record adopted by `cdkd import --migrate-from-cloudformation`,
|
|
69493
|
+
* or one whose position was edited out of band, holds something ELSE there.
|
|
69494
|
+
* `diffAt` skips such a leaf, so it never drifts — but
|
|
69495
|
+
* `buildRevertNewProperties` overlays the whole top-level subtree when any
|
|
69496
|
+
* SIBLING key drifts, which would push the literal token over that value. That
|
|
69497
|
+
* is defect 1 of this issue surviving in a narrower case, on a live AWS write.
|
|
69498
|
+
*
|
|
69499
|
+
* (When this was written the population was `ssm-secure`, which CloudFormation
|
|
69500
|
+
* resolves SERVER-side, so a migrated record held the PLAINTEXT on AWS. Since
|
|
69501
|
+
* issue #2482 cdkd resolves that spelling itself and the token never reaches
|
|
69502
|
+
* this pass; what survives is a spelling nobody resolves, so the live value
|
|
69503
|
+
* here is whatever the user or another tool put at that position.)
|
|
69344
69504
|
*
|
|
69345
69505
|
* Deciding by PROVENANCE would need a flag state does not carry. Deciding by
|
|
69346
69506
|
* what AWS actually holds needs nothing and is exact in both directions: for a
|
|
69347
69507
|
* cdkd-deployed record AWS holds the token, so copying it back is the same
|
|
69348
|
-
* no-op the premise described; for
|
|
69349
|
-
*
|
|
69508
|
+
* no-op the premise described; for any other record AWS holds a value cdkd
|
|
69509
|
+
* cannot compare, which is left untouched.
|
|
69350
69510
|
*
|
|
69351
69511
|
* Falls back to KEEPING the token wherever AWS has nothing at that position —
|
|
69352
69512
|
* that is what `cdkd deploy` sends, so it is the safe residual rather than
|
|
@@ -69354,12 +69514,11 @@ function mergeUntemplatedValue(awsValue, desiredValue) {
|
|
|
69354
69514
|
* and bails to that same residual on any length mismatch, since a reordered
|
|
69355
69515
|
* readback cannot be positioned against.
|
|
69356
69516
|
*/
|
|
69357
|
-
function preserveLiveValuesAtUnresolvedTokens(send, awsProperties
|
|
69517
|
+
function preserveLiveValuesAtUnresolvedTokens(send, awsProperties) {
|
|
69358
69518
|
const walk = (value, live) => {
|
|
69359
69519
|
if (typeof value === "string" && value.includes("{{resolve:")) {
|
|
69360
69520
|
if (!isSingleDynamicReferenceToken(value)) return value;
|
|
69361
69521
|
if (live === void 0) return value;
|
|
69362
|
-
if (typeof live === "string" && live.length >= MIN_SECRET_NEEDLE_LENGTH && isSecretBySpelling(value)) secrets.set(live, value);
|
|
69363
69522
|
return live;
|
|
69364
69523
|
}
|
|
69365
69524
|
if (Array.isArray(value)) {
|
|
@@ -69713,7 +69872,7 @@ async function runRevert(reports, providerRegistry, stateBackend, stateConfig, a
|
|
|
69713
69872
|
let newProperties;
|
|
69714
69873
|
try {
|
|
69715
69874
|
const overlaid = buildRevertNewProperties(outcome.changes, desiredProperties, outcome.awsProperties, { preserveUntemplated: stateResource.observedProperties === void 0 });
|
|
69716
|
-
const maskPreserved = preserveLiveValuesAtMaskedLeaves(unresolvedTokens.size > 0 ? preserveLiveValuesAtUnresolvedTokens(overlaid, outcome.awsProperties
|
|
69875
|
+
const maskPreserved = preserveLiveValuesAtMaskedLeaves(unresolvedTokens.size > 0 ? preserveLiveValuesAtUnresolvedTokens(overlaid, outcome.awsProperties) : overlaid, outcome.awsProperties, secrets);
|
|
69717
69876
|
if (maskPreserved.unpreservablePaths.length > 0) {
|
|
69718
69877
|
totalUnresolvable++;
|
|
69719
69878
|
logger.error(` ✗ ${report.stackName}/${outcome.logicalId} (${outcome.resourceType}): refused to revert ${maskPreserved.unpreservablePaths.join(", ")} — the recorded baseline holds only the redaction mask there (a NoEcho custom-resource value), and AWS reports nothing to preserve, so cdkd has no value it may write. Force that custom resource to update (change one of its properties, e.g. a nonce) and re-deploy, so its handler runs again and supplies the value — an ordinary re-deploy leaves it unchanged and the mask stays.`);
|
|
@@ -70485,7 +70644,11 @@ async function stateMigrateCommand(options) {
|
|
|
70485
70644
|
logger.info("Migrating state bucket:");
|
|
70486
70645
|
logger.info(` source: ${legacyBucket} (resolved for --region ${region})`);
|
|
70487
70646
|
logger.info(` destination: ${newBucket}`);
|
|
70488
|
-
const
|
|
70647
|
+
const probeRegion = "us-east-1";
|
|
70648
|
+
const probe = new S3Client({
|
|
70649
|
+
...awsClientDefaults(),
|
|
70650
|
+
region: probeRegion
|
|
70651
|
+
});
|
|
70489
70652
|
let sourceExists;
|
|
70490
70653
|
try {
|
|
70491
70654
|
sourceExists = await bucketExists(probe, legacyBucket);
|
|
@@ -70495,7 +70658,10 @@ async function stateMigrateCommand(options) {
|
|
|
70495
70658
|
if (!sourceExists) throw new Error(`Source bucket '${legacyBucket}' does not exist. Nothing to migrate. (Tip: run \`cdkd state info\` to confirm which bucket cdkd is reading from.)`);
|
|
70496
70659
|
const legacyRegion = await resolveBucketRegion(legacyBucket);
|
|
70497
70660
|
logger.info(` source bucket actual region: ${legacyRegion}`);
|
|
70498
|
-
const legacyS3 = new S3Client({
|
|
70661
|
+
const legacyS3 = new S3Client({
|
|
70662
|
+
...awsClientDefaults(),
|
|
70663
|
+
region: legacyRegion
|
|
70664
|
+
});
|
|
70499
70665
|
try {
|
|
70500
70666
|
await assertNoActiveLocks(legacyS3, legacyBucket);
|
|
70501
70667
|
const sourceObjects = await listAllObjects(legacyS3, legacyBucket);
|
|
@@ -70595,7 +70761,10 @@ async function assertNoActiveLocks(s3, bucket) {
|
|
|
70595
70761
|
}
|
|
70596
70762
|
}
|
|
70597
70763
|
async function ensureDestinationBucket(bucketName, region, accountId, logger) {
|
|
70598
|
-
const probe = new S3Client({
|
|
70764
|
+
const probe = new S3Client({
|
|
70765
|
+
...awsClientDefaults(),
|
|
70766
|
+
region
|
|
70767
|
+
});
|
|
70599
70768
|
let exists;
|
|
70600
70769
|
try {
|
|
70601
70770
|
exists = await bucketExists(probe, bucketName);
|
|
@@ -70606,10 +70775,16 @@ async function ensureDestinationBucket(bucketName, region, accountId, logger) {
|
|
|
70606
70775
|
logger.info(`Destination bucket ${bucketName} already exists; reusing it.`);
|
|
70607
70776
|
const actual = await resolveBucketRegion(bucketName);
|
|
70608
70777
|
if (actual !== region) logger.warn(`Destination bucket lives in ${actual}, but source is in ${region}. Cross-region copy is supported but slower; objects will be replicated to ${actual}.`);
|
|
70609
|
-
return new S3Client({
|
|
70778
|
+
return new S3Client({
|
|
70779
|
+
...awsClientDefaults(),
|
|
70780
|
+
region: actual
|
|
70781
|
+
});
|
|
70610
70782
|
}
|
|
70611
70783
|
logger.info(`Creating destination bucket ${bucketName} in ${region}...`);
|
|
70612
|
-
const s3 = new S3Client({
|
|
70784
|
+
const s3 = new S3Client({
|
|
70785
|
+
...awsClientDefaults(),
|
|
70786
|
+
region
|
|
70787
|
+
});
|
|
70613
70788
|
const createParams = { Bucket: bucketName };
|
|
70614
70789
|
if (region !== "us-east-1") createParams.CreateBucketConfiguration = { LocationConstraint: region };
|
|
70615
70790
|
await s3.send(new CreateBucketCommand(createParams));
|
|
@@ -71871,7 +72046,7 @@ const PRE_DELETE_HANDLERS = {
|
|
|
71871
72046
|
const { ApiGatewayV2Client, DeleteStageCommand, NotFoundException } = await import("@aws-sdk/client-apigatewayv2");
|
|
71872
72047
|
const apiId = entry.properties["ApiId"];
|
|
71873
72048
|
if (typeof apiId !== "string" || !apiId) throw new Error(`cdkd state's properties for ${entry.logicalId} (${entry.resourceType}) is missing 'ApiId'`);
|
|
71874
|
-
const client = new ApiGatewayV2Client({});
|
|
72049
|
+
const client = new ApiGatewayV2Client({ ...awsClientDefaults() });
|
|
71875
72050
|
try {
|
|
71876
72051
|
await client.send(new DeleteStageCommand({
|
|
71877
72052
|
ApiId: apiId,
|
|
@@ -71890,7 +72065,7 @@ const PRE_DELETE_HANDLERS = {
|
|
|
71890
72065
|
const users = entry.properties["Users"];
|
|
71891
72066
|
const groups = entry.properties["Groups"];
|
|
71892
72067
|
if (!((roles?.length ?? 0) + (users?.length ?? 0) + (groups?.length ?? 0) > 0)) throw new Error(`cdkd state's properties for ${entry.logicalId} (${entry.resourceType}) has no Roles/Users/Groups attachment recorded — cannot pre-delete the inline policy. State may be from a pre-v0.74 cdkd binary; re-run \`cdkd state refresh-observed\` before export.`);
|
|
71893
|
-
const client = new IAMClient({});
|
|
72068
|
+
const client = new IAMClient({ ...awsClientDefaults() });
|
|
71894
72069
|
const deleteSafely = async (op) => {
|
|
71895
72070
|
try {
|
|
71896
72071
|
await op();
|
|
@@ -74316,7 +74491,7 @@ async function confirmPrompt$3(prompt) {
|
|
|
74316
74491
|
return confirmOrRefuse(prompt, { refusal: "The cdkd export confirmation prompt cannot run in a non-interactive environment. Pass -y / --yes to confirm, or run the command from a real terminal." });
|
|
74317
74492
|
}
|
|
74318
74493
|
function createExportCommand() {
|
|
74319
|
-
const cmd = new Command("export").description("Hand a cdkd-managed stack over to CloudFormation via CFn IMPORT (changeset). AWS resources are unchanged; cdkd state for the stack is deleted on success. Mirror of `cdkd import` (AWS → cdkd) in the reverse direction (cdkd → CFn). Accepts JSON and YAML templates (YAML via a CFn-aware codec that preserves !Ref / !GetAtt / !Sub shorthand). Aborts if any resource is not CFn-importable.").argument("[stack]", "Stack name to export (auto-detected for single-stack apps)").option("--cfn-stack-name <name>", "Name of the destination CloudFormation stack for the root stack. Defaults to the cdkd stack name (or the cdkd2cfnStackName mapping when the name contains '~'). For per-nested-child overrides, use --cfn-child-stack-name.").option("--cfn-child-stack-name <pair...>", "Per-nested-child CFn stack-name override. Repeatable. Format: '<cdkdName>=<cfnName>' (e.g. --cfn-child-stack-name 'MyApp~Database=my-app-db'). The cdkd stack name for a nested child is '<parent>~<childLogicalId>' (v6 state-key form). Without an override the CFn name is derived by replacing '~' with '-'. Only consulted when the exported stack tree contains nested children; ignored for flat stacks.").option("--template <path>", "Path to a pre-rendered CloudFormation template (JSON or YAML — format auto-detected). Skips synth.").option("--stack-region <region>", "Region of the cdkd state record to operate on. Required when the same stack name has state in multiple regions.").option("--dry-run", "Print the import plan without creating a changeset.", false).option("--accept-transient-context", "Allow CLI -c key=value overrides at export time even though they are not persisted to cdk.json / cdk.context.json (default: refuse). When set, the user is responsible for passing the same -c flags to every future cdk deploy.", false).option("--include-non-importable", "Run a 2-phase migration when the stack contains non-importable resources (Custom::*). Phase 1 imports the importable resources; phase 2 CFn-CREATEs the non-importable ones, which re-invokes each Custom Resource's onCreate handler. Make sure onCreate is idempotent before enabling.", false).option("--parameter <key=value...>", "CFn template Parameter override, repeatable. Required when the synthesized template has Parameters without Default values; otherwise overrides the template's default value. Format: --parameter Key=Value.").option("--strict-cross-stack", "Refuse to export when sibling cdkd stacks in the same CDK app reference the exporting stack via Fn::GetStackOutput. Without the flag, cdkd warns and proceeds — the consumers keep resolving via the CloudFormation fallback (weak reference) unless they deploy with --no-cfn-fallback.", false).option("--skip-import-support-preflight", "Skip the pre-flight that refuses resource types whose CloudFormation registry schema says CFn cannot IMPORT them (no read handler AND NON_PROVISIONABLE), and let CreateChangeSet answer instead. The pre-flight is a registry HEURISTIC, not AWS's supported-for-import list, so this is the escape hatch for a type AWS has since made importable. Expect the changeset to be rejected if the heuristic was right.", false).option("--no-recreate-import-unsupported", "Block instead of auto-handling resource types AWS does NOT support in IMPORT changesets (
|
|
74494
|
+
const cmd = new Command("export").description("Hand a cdkd-managed stack over to CloudFormation via CFn IMPORT (changeset). AWS resources are unchanged; cdkd state for the stack is deleted on success. Mirror of `cdkd import` (AWS → cdkd) in the reverse direction (cdkd → CFn). Accepts JSON and YAML templates (YAML via a CFn-aware codec that preserves !Ref / !GetAtt / !Sub shorthand). Aborts if any resource is not CFn-importable.").argument("[stack]", "Stack name to export (auto-detected for single-stack apps)").option("--cfn-stack-name <name>", "Name of the destination CloudFormation stack for the root stack. Defaults to the cdkd stack name (or the cdkd2cfnStackName mapping when the name contains '~'). For per-nested-child overrides, use --cfn-child-stack-name.").option("--cfn-child-stack-name <pair...>", "Per-nested-child CFn stack-name override. Repeatable. Format: '<cdkdName>=<cfnName>' (e.g. --cfn-child-stack-name 'MyApp~Database=my-app-db'). The cdkd stack name for a nested child is '<parent>~<childLogicalId>' (v6 state-key form). Without an override the CFn name is derived by replacing '~' with '-'. Only consulted when the exported stack tree contains nested children; ignored for flat stacks.").option("--template <path>", "Path to a pre-rendered CloudFormation template (JSON or YAML — format auto-detected). Skips synth.").option("--stack-region <region>", "Region of the cdkd state record to operate on. Required when the same stack name has state in multiple regions.").option("--dry-run", "Print the import plan without creating a changeset.", false).option("--accept-transient-context", "Allow CLI -c key=value overrides at export time even though they are not persisted to cdk.json / cdk.context.json (default: refuse). When set, the user is responsible for passing the same -c flags to every future cdk deploy.", false).option("--include-non-importable", "Run a 2-phase migration when the stack contains non-importable resources (Custom::*). Phase 1 imports the importable resources; phase 2 CFn-CREATEs the non-importable ones, which re-invokes each Custom Resource's onCreate handler. Make sure onCreate is idempotent before enabling.", false).option("--parameter <key=value...>", "CFn template Parameter override, repeatable. Required when the synthesized template has Parameters without Default values; otherwise overrides the template's default value. Format: --parameter Key=Value.").option("--strict-cross-stack", "Refuse to export when sibling cdkd stacks in the same CDK app reference the exporting stack via Fn::GetStackOutput. Without the flag, cdkd warns and proceeds — the consumers keep resolving via the CloudFormation fallback (weak reference) unless they deploy with --no-cfn-fallback.", false).option("--skip-import-support-preflight", "Skip the pre-flight that refuses resource types whose CloudFormation registry schema says CFn cannot IMPORT them (no read handler AND NON_PROVISIONABLE), and let CreateChangeSet answer instead. The pre-flight is a registry HEURISTIC, not AWS's supported-for-import list, so this is the escape hatch for a type AWS has since made importable. Expect the changeset to be rejected if the heuristic was right.", false).option("--no-recreate-import-unsupported", "Block instead of auto-handling resource types AWS does NOT support in IMPORT changesets (AWS::ApiGatewayV2::Stage and AWS::IAM::Policy). Default behavior: cdkd skips these from phase 1, deletes the AWS-side resource between phases, and lets CFn re-CREATE in phase 2 (brief unavailability window). With this flag, the export aborts with a clear error instead.").action(withErrorHandling(exportCommand));
|
|
74320
74495
|
[
|
|
74321
74496
|
...commonOptions,
|
|
74322
74497
|
...appOptions,
|
|
@@ -77488,6 +77663,7 @@ async function gcCommand(options) {
|
|
|
77488
77663
|
const accountId = (await accountClients.sts.send(new GetCallerIdentityCommand({}))).Account;
|
|
77489
77664
|
const bucketName = options.stateBucket ?? getDefaultStateBucketName(accountId);
|
|
77490
77665
|
const markerS3Client = new S3Client({
|
|
77666
|
+
...awsClientDefaults({ profile: options.profile }),
|
|
77491
77667
|
region: effective.region,
|
|
77492
77668
|
...options.profile && { profile: options.profile }
|
|
77493
77669
|
});
|
|
@@ -77512,6 +77688,7 @@ async function gcCommand(options) {
|
|
|
77512
77688
|
if (awsClients !== accountClients) accountClients.destroy();
|
|
77513
77689
|
setAwsClients(awsClients);
|
|
77514
77690
|
const ecrClient = new ECRClient({
|
|
77691
|
+
...awsClientDefaults({ profile: options.profile }),
|
|
77515
77692
|
region,
|
|
77516
77693
|
...options.profile && { profile: options.profile }
|
|
77517
77694
|
});
|
|
@@ -78401,7 +78578,10 @@ async function publishAssetsCommand(stacks, options) {
|
|
|
78401
78578
|
if (targetStacks.length === 0) throw new Error(stackPatterns.length > 0 ? `No stacks matching ${stackPatterns.join(", ")} found in assembly. Available: ${allStacks.map(describeStack).join(", ")}` : "No stacks found in assembly");
|
|
78402
78579
|
const baseRegion = namedCliRegion(options.region) ?? "us-east-1";
|
|
78403
78580
|
const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
|
|
78404
|
-
const stsClient = new STSClient({
|
|
78581
|
+
const stsClient = new STSClient({
|
|
78582
|
+
...awsClientDefaults(),
|
|
78583
|
+
region: baseRegion
|
|
78584
|
+
});
|
|
78405
78585
|
const accountId = (await stsClient.send(new GetCallerIdentityCommand({}))).Account;
|
|
78406
78586
|
stsClient.destroy();
|
|
78407
78587
|
const useCdkBootstrapAssets = resolveUseCdkBootstrapAssets(options.useCdkBootstrapAssets);
|
|
@@ -82150,7 +82330,10 @@ async function pullEcrImage(imageUri, options) {
|
|
|
82150
82330
|
const callerIdentityKey = callerRegion ?? "_unset";
|
|
82151
82331
|
let callerAccount = CALLER_IDENTITY_CACHE.get(callerIdentityKey);
|
|
82152
82332
|
if (callerAccount === void 0) {
|
|
82153
|
-
const sts = new STSClient({
|
|
82333
|
+
const sts = new STSClient({
|
|
82334
|
+
...awsClientDefaults(),
|
|
82335
|
+
...callerRegion && { region: callerRegion }
|
|
82336
|
+
});
|
|
82154
82337
|
try {
|
|
82155
82338
|
const identity = await sts.send(new GetCallerIdentityCommand({}));
|
|
82156
82339
|
if (!identity.Account) throw new LocalInvokeBuildError$1("STS GetCallerIdentity returned no Account. Verify your AWS credentials.");
|
|
@@ -82177,6 +82360,7 @@ async function pullEcrImage(imageUri, options) {
|
|
|
82177
82360
|
} else if (crossAccount) logger.info(`Cross-account ECR pull: image account ${parsed.accountId} != caller ${callerAccount}. Using the caller's credentials; pass --ecr-role-arn <arn> if AWS rejects with AccessDenied.`);
|
|
82178
82361
|
if (crossRegion) logger.info(`Cross-region ECR pull: image region ${parsed.region} != caller ${callerRegion ?? "(unset)"}. Authenticating against the image region directly.`);
|
|
82179
82362
|
const ecr = new ECRClient({
|
|
82363
|
+
...awsClientDefaults(),
|
|
82180
82364
|
region: parsed.region,
|
|
82181
82365
|
...assumed && { credentials: assumed }
|
|
82182
82366
|
});
|
|
@@ -82202,7 +82386,10 @@ async function pullEcrImage(imageUri, options) {
|
|
|
82202
82386
|
*/
|
|
82203
82387
|
async function assumeRoleForEcr(roleArn, callerRegion, logger) {
|
|
82204
82388
|
logger.debug(`Assuming role ${roleArn} for ECR pull...`);
|
|
82205
|
-
const sts = new STSClient({
|
|
82389
|
+
const sts = new STSClient({
|
|
82390
|
+
...awsClientDefaults(),
|
|
82391
|
+
...callerRegion && { region: callerRegion }
|
|
82392
|
+
});
|
|
82206
82393
|
try {
|
|
82207
82394
|
const creds = (await sts.send(new AssumeRoleCommand({
|
|
82208
82395
|
RoleArn: roleArn,
|
|
@@ -84531,7 +84718,10 @@ function forwardAwsEnv$2(env) {
|
|
|
84531
84718
|
*/
|
|
84532
84719
|
async function resolveProfileCredentials(profile) {
|
|
84533
84720
|
const { STSClient } = await import("@aws-sdk/client-sts");
|
|
84534
|
-
const sts = new STSClient({
|
|
84721
|
+
const sts = new STSClient({
|
|
84722
|
+
...awsClientDefaults({ profile }),
|
|
84723
|
+
profile
|
|
84724
|
+
});
|
|
84535
84725
|
try {
|
|
84536
84726
|
const credsProvider = sts.config.credentials;
|
|
84537
84727
|
const creds = typeof credsProvider === "function" ? await credsProvider() : credsProvider;
|
|
@@ -84552,7 +84742,10 @@ async function resolveProfileCredentials(profile) {
|
|
|
84552
84742
|
*/
|
|
84553
84743
|
async function assumeLambdaExecutionRole$1(roleArn, region) {
|
|
84554
84744
|
const { STSClient, AssumeRoleCommand } = await import("@aws-sdk/client-sts");
|
|
84555
|
-
const sts = new STSClient({
|
|
84745
|
+
const sts = new STSClient({
|
|
84746
|
+
...awsClientDefaults(),
|
|
84747
|
+
...region && { region }
|
|
84748
|
+
});
|
|
84556
84749
|
try {
|
|
84557
84750
|
const creds = (await sts.send(new AssumeRoleCommand({
|
|
84558
84751
|
RoleArn: roleArn,
|
|
@@ -84831,7 +85024,10 @@ async function resolvePseudoParametersForStartApi(stateRegion, options) {
|
|
|
84831
85024
|
let accountId;
|
|
84832
85025
|
try {
|
|
84833
85026
|
const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
|
|
84834
|
-
const sts = new STSClient({
|
|
85027
|
+
const sts = new STSClient({
|
|
85028
|
+
...awsClientDefaults(),
|
|
85029
|
+
...region && { region }
|
|
85030
|
+
});
|
|
84835
85031
|
try {
|
|
84836
85032
|
accountId = (await sts.send(new GetCallerIdentityCommand({}))).Account;
|
|
84837
85033
|
} finally {
|
|
@@ -85106,8 +85302,14 @@ var EcsSecretsResolutionError = class EcsSecretsResolutionError extends Error {
|
|
|
85106
85302
|
async function resolveEcsSecrets(entries, options = {}) {
|
|
85107
85303
|
if (entries.length === 0) return [];
|
|
85108
85304
|
const logger = getLogger().child("ecs-secrets");
|
|
85109
|
-
const secretsClient = options.secretsManagerClient ?? new SecretsManagerClient({
|
|
85110
|
-
|
|
85305
|
+
const secretsClient = options.secretsManagerClient ?? new SecretsManagerClient({
|
|
85306
|
+
...awsClientDefaults(),
|
|
85307
|
+
...options.region && { region: options.region }
|
|
85308
|
+
});
|
|
85309
|
+
const ssmClient = options.ssmClient ?? new SSMClient({
|
|
85310
|
+
...awsClientDefaults(),
|
|
85311
|
+
...options.region && { region: options.region }
|
|
85312
|
+
});
|
|
85111
85313
|
const ownsSecretsClient = options.secretsManagerClient === void 0;
|
|
85112
85314
|
const ownsSsmClient = options.ssmClient === void 0;
|
|
85113
85315
|
try {
|
|
@@ -85901,7 +86103,10 @@ async function localRunTaskCommand(target, options) {
|
|
|
85901
86103
|
async function resolvePlaceholderAccount(arn, region) {
|
|
85902
86104
|
if (!arn.includes("${AWS::AccountId}")) return arn;
|
|
85903
86105
|
const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
|
|
85904
|
-
const sts = new STSClient({
|
|
86106
|
+
const sts = new STSClient({
|
|
86107
|
+
...awsClientDefaults(),
|
|
86108
|
+
...region && { region }
|
|
86109
|
+
});
|
|
85905
86110
|
try {
|
|
85906
86111
|
const account = (await sts.send(new GetCallerIdentityCommand({}))).Account;
|
|
85907
86112
|
if (!account) throw new Error(`--assume-task-role: GetCallerIdentity returned no Account; cannot resolve placeholder ARN '${arn}'. Pass the ARN explicitly: --assume-task-role <arn>`);
|
|
@@ -85916,7 +86121,10 @@ async function resolvePlaceholderAccount(arn, region) {
|
|
|
85916
86121
|
*/
|
|
85917
86122
|
async function assumeTaskRole(roleArn, region) {
|
|
85918
86123
|
const { STSClient, AssumeRoleCommand } = await import("@aws-sdk/client-sts");
|
|
85919
|
-
const sts = new STSClient({
|
|
86124
|
+
const sts = new STSClient({
|
|
86125
|
+
...awsClientDefaults(),
|
|
86126
|
+
...region && { region }
|
|
86127
|
+
});
|
|
85920
86128
|
try {
|
|
85921
86129
|
const creds = (await sts.send(new AssumeRoleCommand({
|
|
85922
86130
|
RoleArn: roleArn,
|
|
@@ -86055,7 +86263,10 @@ function pickCandidateStack(stackPattern, stacks) {
|
|
|
86055
86263
|
}
|
|
86056
86264
|
async function resolveCallerAccountId$1(region) {
|
|
86057
86265
|
const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
|
|
86058
|
-
const sts = new STSClient({
|
|
86266
|
+
const sts = new STSClient({
|
|
86267
|
+
...awsClientDefaults(),
|
|
86268
|
+
...region && { region }
|
|
86269
|
+
});
|
|
86059
86270
|
try {
|
|
86060
86271
|
return (await sts.send(new GetCallerIdentityCommand({}))).Account;
|
|
86061
86272
|
} finally {
|
|
@@ -87215,6 +87426,7 @@ async function buildAgentCoreImageContext(candidate, stateProvider, options) {
|
|
|
87215
87426
|
async function resolveCallerAccountId(region, profile) {
|
|
87216
87427
|
const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
|
|
87217
87428
|
const sts = new STSClient({
|
|
87429
|
+
...awsClientDefaults({ profile }),
|
|
87218
87430
|
...region && { region },
|
|
87219
87431
|
...profile && { profile }
|
|
87220
87432
|
});
|
|
@@ -87407,7 +87619,10 @@ function forwardAwsEnv$1(env) {
|
|
|
87407
87619
|
}
|
|
87408
87620
|
async function assumeAgentCoreExecutionRole(roleArn, region) {
|
|
87409
87621
|
const { STSClient, AssumeRoleCommand } = await import("@aws-sdk/client-sts");
|
|
87410
|
-
const sts = new STSClient({
|
|
87622
|
+
const sts = new STSClient({
|
|
87623
|
+
...awsClientDefaults(),
|
|
87624
|
+
...region && { region }
|
|
87625
|
+
});
|
|
87411
87626
|
try {
|
|
87412
87627
|
const creds = (await sts.send(new AssumeRoleCommand({
|
|
87413
87628
|
RoleArn: roleArn,
|
|
@@ -88194,7 +88409,10 @@ async function resolvePseudoParametersForInvoke(stackRegion, options) {
|
|
|
88194
88409
|
let accountId;
|
|
88195
88410
|
try {
|
|
88196
88411
|
const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
|
|
88197
|
-
const sts = new STSClient({
|
|
88412
|
+
const sts = new STSClient({
|
|
88413
|
+
...awsClientDefaults(),
|
|
88414
|
+
...region && { region }
|
|
88415
|
+
});
|
|
88198
88416
|
try {
|
|
88199
88417
|
accountId = (await sts.send(new GetCallerIdentityCommand({}))).Account;
|
|
88200
88418
|
} finally {
|
|
@@ -88337,7 +88555,10 @@ async function applyLambdaCredentialEnv(dockerEnv, args) {
|
|
|
88337
88555
|
*/
|
|
88338
88556
|
async function assumeLambdaExecutionRole(roleArn, region) {
|
|
88339
88557
|
const { STSClient, AssumeRoleCommand } = await import("@aws-sdk/client-sts");
|
|
88340
|
-
const sts = new STSClient({
|
|
88558
|
+
const sts = new STSClient({
|
|
88559
|
+
...awsClientDefaults(),
|
|
88560
|
+
...region && { region }
|
|
88561
|
+
});
|
|
88341
88562
|
try {
|
|
88342
88563
|
const creds = (await sts.send(new AssumeRoleCommand({
|
|
88343
88564
|
RoleArn: roleArn,
|
|
@@ -89660,4 +89881,4 @@ function buildProgram() {
|
|
|
89660
89881
|
|
|
89661
89882
|
//#endregion
|
|
89662
89883
|
export { buildProgram };
|
|
89663
|
-
//# sourceMappingURL=program-
|
|
89884
|
+
//# sourceMappingURL=program-BSanOkkV.js.map
|