@go-to-k/cdkd 0.300.1 → 0.300.2
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-BS5i71bK.js → asg-provider-DJdNNqDe.js} +3 -3
- package/dist/{asg-provider-BS5i71bK.js.map → asg-provider-DJdNNqDe.js.map} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{deploy-engine-BK4gG_5A.js → deploy-engine-DOBzE5TD.js} +465 -288
- package/dist/deploy-engine-DOBzE5TD.js.map +1 -0
- package/dist/{iam-policy-targets-DAs3w7QW.js → iam-policy-targets-DFk7zr0Q.js} +27 -2
- package/dist/iam-policy-targets-DFk7zr0Q.js.map +1 -0
- package/dist/{iam-role-provider-SmvPHPLC.js → iam-role-provider-C8gNXG1G.js} +3 -3
- package/dist/{iam-role-provider-SmvPHPLC.js.map → iam-role-provider-C8gNXG1G.js.map} +1 -1
- package/dist/index.js +3 -3
- package/dist/{neptune-provider-CqZ1FaqT.js → neptune-provider-UDy6HC5O.js} +3 -3
- package/dist/{neptune-provider-CqZ1FaqT.js.map → neptune-provider-UDy6HC5O.js.map} +1 -1
- package/dist/{program-DVPHKsxv.js → program-BDm58Wc8.js} +8 -8
- package/dist/{program-DVPHKsxv.js.map → program-BDm58Wc8.js.map} +1 -1
- package/dist/{provider-classes-CDzT2xg0.js → provider-classes-DzoIZFZK.js} +96 -24
- package/dist/provider-classes-DzoIZFZK.js.map +1 -0
- package/dist/{rds-provider-DraxDuQq.js → rds-provider-C-lGTdAb.js} +3 -3
- package/dist/{rds-provider-DraxDuQq.js.map → rds-provider-C-lGTdAb.js.map} +1 -1
- package/dist/{version-DTSDiQcV.js → version-CZbKGFSS.js} +2 -2
- package/dist/{version-DTSDiQcV.js.map → version-CZbKGFSS.js.map} +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-BK4gG_5A.js.map +0 -1
- package/dist/iam-policy-targets-DAs3w7QW.js.map +0 -1
- package/dist/provider-classes-CDzT2xg0.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { r as getAwsClients } from "./aws-clients-B_CEQGE1.js";
|
|
2
2
|
import { B as safeMsg, F as displaySafe, I as displayStackName, L as isPasteableIdent, O as SECRET_REF_MAX_CODE_POINTS, P as displayIdent, a as getLogger, b as generateResourceNameWithFallback, n as isAwsAuthoredFailure, r as safeStringify, t as describeAwsFailure, y as generateResourceName, z as plainIdentOr } from "./aws-failure-text-BEQfs6za.js";
|
|
3
|
-
import { $ as protectedReplacementAdvice, $t as ambientCredentialConfig, A as isQuotableImportValue, B as isTerminalDeleteFailure, C as setBounded, D as VALUE_NOT_SHOWN, E as assertRegionMatch, F as resolveExplicitPhysicalId, Fn as isInertUnquoted, H as observeThenDisableProtection, Hn as withheldTargetClause, In as pasteableCommand, Kt as injectiveKey, L as ProtectionFlipRegistry, M as quotedRemedyLogicalId, Mt as markCreatedBeforeFailure, N as refusalTypeShown, Nn as commandHole, Nt as markSupersedesEarlierCreate, O as isPlainImportJson, P as remedyLogicalId, Pn as hasClauseBreak, Q as pasteableAwsCommand, Qn as markReplayMayCollide, Qt as ambientClientDefaults, Rn as plainOrDescribed, S as replayedSendWindow, St as withDerivedNameMasks, T as RESOURCE_NOT_FOUND, Tt as clearCreatedBeforeFailure, U as protectionFlipKey, V as logGroupProtectionSite, Vn as shellQuote, W as rdsFamilyProtectionSite, X as WITHHELD_AWS_COMMAND, Y as UNNAMEABLE_ID_CLAUSE, Z as isAwsCliLiteral, Zn as markNameCollision, Zt as withPasteableAwsProfile, _ as RecentIdSet, _t as createMaskedLogSinks, a as onlySecretDerived, at as startInterruptWatch, b as isInsideWindow, bn as ResourceUpdateNotSupportedError, bt as maskDeep, c as recordedPrincipalsRepair, cr as
|
|
3
|
+
import { $ as protectedReplacementAdvice, $n as explicitDenyPolicyKind, $t as ambientCredentialConfig, A as isQuotableImportValue, B as isTerminalDeleteFailure, C as setBounded, D as VALUE_NOT_SHOWN, E as assertRegionMatch, F as resolveExplicitPhysicalId, Fn as isInertUnquoted, H as observeThenDisableProtection, Hn as withheldTargetClause, In as pasteableCommand, Kt as injectiveKey, L as ProtectionFlipRegistry, M as quotedRemedyLogicalId, Mt as markCreatedBeforeFailure, N as refusalTypeShown, Nn as commandHole, Nt as markSupersedesEarlierCreate, O as isPlainImportJson, P as remedyLogicalId, Pn as hasClauseBreak, Q as pasteableAwsCommand, Qn as markReplayMayCollide, Qt as ambientClientDefaults, Rn as plainOrDescribed, S as replayedSendWindow, St as withDerivedNameMasks, T as RESOURCE_NOT_FOUND, Tt as clearCreatedBeforeFailure, U as protectionFlipKey, V as logGroupProtectionSite, Vn as shellQuote, W as rdsFamilyProtectionSite, X as WITHHELD_AWS_COMMAND, Y as UNNAMEABLE_ID_CLAUSE, Z as isAwsCliLiteral, Zn as markNameCollision, Zt as withPasteableAwsProfile, _ as RecentIdSet, _t as createMaskedLogSinks, a as onlySecretDerived, ar as isRetryableTransientError, at as startInterruptWatch, b as isInsideWindow, bn as ResourceUpdateNotSupportedError, bt as maskDeep, c as recordedPrincipalsRepair, cr as THROTTLING_ERROR_NAMES, ct as canonicalizeRoute53QueryName, dr as markNonRetryable, dt as compositeIdSkipResult, en as clientDefaultsFor, et as renderDisableCommand, fr as markRedactedCause, ft as logicalIdShown, g as AmbiguousCreateLatch, gt as stateOrphanRecordRemedy, h as AMBIGUOUS_LATCH_TTL_MS, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, in as CdkdError, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jt as markAuxiliaryFailure, k as isPlainImportValue, lr as isMarkedNonRetryable, lt as compositeIdFormatMessage, nn as AccountIdUnavailableError, nr as isAmbiguousOutcomeError, o as readPrincipalLists, or as isTransientServerError, ot as ElapsedBudgetRegistry, p as withRemovalDefaults, pr as wrapMaskedAwsError, pt as packCompositeId, q as userPoolProtectionSite, qt as injectiveKeyPrefix, r as SECRET_DERIVED_READ_LIVE, rr as isExplicitDenyError, tn as credentialFingerprint, u as clearOnUpdateRemoval, ur as isThrottlingError, ut as compositeIdSeparatorRefusal, v as ambiguousAttemptLead, vn as ProvisioningError, vt as createMaskedRetryLogger, w as withoutServerErrorRetries, x as replayFollowedAmbiguousAttempt, xt as maskerOrIdentity, y as createAttemptKey, yt as isSecretDerivedValue, z as deleteWithProtectionCompensation } from "./iam-policy-targets-DFk7zr0Q.js";
|
|
4
4
|
import { s as ambientRegion } from "./aws-client-defaults-DBXBcg0J.js";
|
|
5
|
-
import { $ as S3_AUTO_DELETE_OBJECTS_TAG, $a as withheldAccountClause, Ao as withRetry, At as withNestedStackContext, Br as markWaitAbandoned, Bt as awaitInFlightSibling, C as withApiLimit, Co as replayWarn, Ei as getAccountInfo, Eo as requireConfigString, Es as recordAttributeIdCopy, Fl as describeFileReadFailure, G as deleteBudgetKey, Go as passedNoEchoParametersOf, Gr as reDisableInstanceApiTermination, Gt as replacedDeleteFailureVerdict, H as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, Hr as ec2InstanceProtectionSite, Ht as getStackRecords, Ii as parseWebACLArn, Il as displayAssemblyPath, J as DELETE_INDEX_WAIT_PROCEED_NOTE, K as resolveDynamoDbDeleteBudgetClock, Ki as accountArgs, Kr as reEnableInstanceApiTermination, Ll as renderAssemblyPathEscape, Lr as deleteSkipReason, Mo as lambdaFunctionNameForMask, Mr as unchangedBehindSecretReference, No as sameLambdaFunctionAddress, Q as ECR_AUTO_DELETE_IMAGES_TAG, Qo as hasMaskableValues, Rl as resolveAssemblyPath, Rr as withIndeterminateGuard, S as lookupEachName, So as readConfigString, St as getNestedRevertRun, Tl as derivePartitionAndUrlSuffix, To as requireConfigObject, Tr as getCurrentResourceSecrets, Ts as physicalNameCopiesOf, Tt as revertNestedChildFromJournal, U as beginDeleteWait, Ur as isTerminationProtectionPropagationError, V as DynamoDBGlobalTableProvider, Va as refuseMalformedResourcesForDestroy, W as compensateRemovedDeletionProtection, Wr as observeThenDisableInstanceApiTermination, X as deleteTableWithIndexBusyRetry, Y as INDEX_SETTLE_POLL_INTERVAL_MS, Z as waitForIndexesSettled, _i as s3BucketRegionalDomainName, _o as coerceCfnBoolean, an as getCurrentProducerRegions, ar as acquireIdempotencyToken, b as chunks, bo as configIntegerRefusal, c as isAbsoluteAssetPath, cn as isRedactedRecordedValue, cr as DBPROXY_TAGS_WHAT, di as outputReferenceProvenanceOf, dr as readTagList, ds as recordReferenceProvenanceEntry, et as hasCdkAutoDeleteTag, fo as WARM_THROUGHPUT_MEMBERS, fr as refuseMalformedDesiredTags, fs as snapshotPassProvenance, gi as s3BucketDualStackDomainName, go as toFiniteNumber, gr as stringifyIfAssigned, gs as withoutPhysicalNameCopies, hi as s3BucketDomainName, ho as toCfnInteger, hr as definedAttributes, jo as canonicalLambdaFunctionName, jr as slowCcOperationTimeoutMs, ks as carriesSecretMask, kt as getCurrentNestedStackContext, l as listNestedTemplateRows, li as isSettledInstanceState, ln as redactedDeleteAddressFields, lr as DBPROXY_TAG_OPTIONS, mc as stringifyValue, mi as s3BucketArn, mo as isWarmThroughputDecrease, mr as tagPlanWarning, nt as getPriorAttempts, or as isRefusedByName, po as coerceWarmThroughput$1, pr as tagMapAsList, ps as redactSecretsForState, q as resolveDynamoDbDeleteBudgetMs, ro as withoutSilentDropProperties, rr as reserveStackCreateToken, rt as markRefusedBeforeApplying, s as findNestedTemplateTreeDefect, sn as REDACTED_DELETE_ADDRESS_SKIP_REASON, sr as markDeleteStarted, t as DeployEngine, to as findSilentDropProperties, tr as earliestDefined, tt as isTruthyCfnBoolean, u as renderNestedTemplateTreeDefect, un as redactedDeleteAddressSkip, ur as planTagDiff, us as markSameGenerationBag, vi as s3BucketWebsiteUrl, vo as coerceCfnInteger, vs as dynamicReferenceTokens, wl as canonicalizeRegion, wo as requireConfigArray, ws as recoverMaskedOutput, x as isAccessDeniedError, xa as refuseMalformedNestedChildOutputs, xl as decodeListingKey, xo as configStringRefusal, yc as rewriteTemplateAssetReferences, yo as configBooleanRefusal, zi as passedParameterClassesOf, zr as isWaitAbandonedError } from "./deploy-engine-
|
|
6
|
-
import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-
|
|
7
|
-
import { a as resolveSecretDerivedPrincipals, i as isResolvableSecretPrincipalList, n as runDestroyForStack, o as canonicalizeIpProtocolValue, r as holdsUnprovenSecretPrincipalToken, s as resolvedResourceTimeoutMs, t as canonicalizeIpv4Cidr } from "./program-
|
|
8
|
-
import { RDSProvider } from "./rds-provider-
|
|
9
|
-
import { NeptuneProvider } from "./neptune-provider-
|
|
10
|
-
import { ASGProvider } from "./asg-provider-
|
|
5
|
+
import { $ as S3_AUTO_DELETE_OBJECTS_TAG, $a as withheldAccountClause, Ao as withRetry, At as withNestedStackContext, Br as markWaitAbandoned, Bt as awaitInFlightSibling, C as withApiLimit, Co as replayWarn, Ei as getAccountInfo, Eo as requireConfigString, Es as recordAttributeIdCopy, Fl as describeFileReadFailure, G as deleteBudgetKey, Go as passedNoEchoParametersOf, Gr as reDisableInstanceApiTermination, Gt as replacedDeleteFailureVerdict, H as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, Hr as ec2InstanceProtectionSite, Ht as getStackRecords, Ii as parseWebACLArn, Il as displayAssemblyPath, J as DELETE_INDEX_WAIT_PROCEED_NOTE, K as resolveDynamoDbDeleteBudgetClock, Ki as accountArgs, Kr as reEnableInstanceApiTermination, Ll as renderAssemblyPathEscape, Lr as deleteSkipReason, Mo as lambdaFunctionNameForMask, Mr as unchangedBehindSecretReference, No as sameLambdaFunctionAddress, Q as ECR_AUTO_DELETE_IMAGES_TAG, Qo as hasMaskableValues, Rl as resolveAssemblyPath, Rr as withIndeterminateGuard, S as lookupEachName, So as readConfigString, St as getNestedRevertRun, Tl as derivePartitionAndUrlSuffix, To as requireConfigObject, Tr as getCurrentResourceSecrets, Ts as physicalNameCopiesOf, Tt as revertNestedChildFromJournal, U as beginDeleteWait, Ur as isTerminationProtectionPropagationError, V as DynamoDBGlobalTableProvider, Va as refuseMalformedResourcesForDestroy, W as compensateRemovedDeletionProtection, Wr as observeThenDisableInstanceApiTermination, X as deleteTableWithIndexBusyRetry, Y as INDEX_SETTLE_POLL_INTERVAL_MS, Z as waitForIndexesSettled, _i as s3BucketRegionalDomainName, _o as coerceCfnBoolean, an as getCurrentProducerRegions, ar as acquireIdempotencyToken, b as chunks, bo as configIntegerRefusal, c as isAbsoluteAssetPath, cn as isRedactedRecordedValue, cr as DBPROXY_TAGS_WHAT, di as outputReferenceProvenanceOf, dr as readTagList, ds as recordReferenceProvenanceEntry, et as hasCdkAutoDeleteTag, fo as WARM_THROUGHPUT_MEMBERS, fr as refuseMalformedDesiredTags, fs as snapshotPassProvenance, gi as s3BucketDualStackDomainName, go as toFiniteNumber, gr as stringifyIfAssigned, gs as withoutPhysicalNameCopies, hi as s3BucketDomainName, ho as toCfnInteger, hr as definedAttributes, jo as canonicalLambdaFunctionName, jr as slowCcOperationTimeoutMs, ks as carriesSecretMask, kt as getCurrentNestedStackContext, l as listNestedTemplateRows, li as isSettledInstanceState, ln as redactedDeleteAddressFields, lr as DBPROXY_TAG_OPTIONS, mc as stringifyValue, mi as s3BucketArn, mo as isWarmThroughputDecrease, mr as tagPlanWarning, nt as getPriorAttempts, or as isRefusedByName, po as coerceWarmThroughput$1, pr as tagMapAsList, ps as redactSecretsForState, q as resolveDynamoDbDeleteBudgetMs, ro as withoutSilentDropProperties, rr as reserveStackCreateToken, rt as markRefusedBeforeApplying, s as findNestedTemplateTreeDefect, sn as REDACTED_DELETE_ADDRESS_SKIP_REASON, sr as markDeleteStarted, t as DeployEngine, to as findSilentDropProperties, tr as earliestDefined, tt as isTruthyCfnBoolean, u as renderNestedTemplateTreeDefect, un as redactedDeleteAddressSkip, ur as planTagDiff, us as markSameGenerationBag, vi as s3BucketWebsiteUrl, vo as coerceCfnInteger, vs as dynamicReferenceTokens, wl as canonicalizeRegion, wo as requireConfigArray, ws as recoverMaskedOutput, x as isAccessDeniedError, xa as refuseMalformedNestedChildOutputs, xl as decodeListingKey, xo as configStringRefusal, yc as rewriteTemplateAssetReferences, yo as configBooleanRefusal, zi as passedParameterClassesOf, zr as isWaitAbandonedError } from "./deploy-engine-DOBzE5TD.js";
|
|
6
|
+
import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-C8gNXG1G.js";
|
|
7
|
+
import { a as resolveSecretDerivedPrincipals, i as isResolvableSecretPrincipalList, n as runDestroyForStack, o as canonicalizeIpProtocolValue, r as holdsUnprovenSecretPrincipalToken, s as resolvedResourceTimeoutMs, t as canonicalizeIpv4Cidr } from "./program-BDm58Wc8.js";
|
|
8
|
+
import { RDSProvider } from "./rds-provider-C-lGTdAb.js";
|
|
9
|
+
import { NeptuneProvider } from "./neptune-provider-UDy6HC5O.js";
|
|
10
|
+
import { ASGProvider } from "./asg-provider-DJdNNqDe.js";
|
|
11
11
|
import { createHash, randomUUID } from "node:crypto";
|
|
12
12
|
import { 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, ListBucketsCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchBucket, PutBucketAccelerateConfigurationCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectLockConfigurationCommand, PutPublicAccessBlockCommand, S3Client } from "@aws-sdk/client-s3";
|
|
13
13
|
import { AddRoleToInstanceProfileCommand, AddUserToGroupCommand, AttachGroupPolicyCommand, AttachRolePolicyCommand, AttachUserPolicyCommand, CreateAccessKeyCommand, CreateGroupCommand, CreateInstanceProfileCommand, CreateLoginProfileCommand, CreatePolicyCommand, CreatePolicyVersionCommand, CreateUserCommand, DeleteAccessKeyCommand, DeleteGroupCommand, DeleteGroupPolicyCommand, DeleteInstanceProfileCommand, DeleteLoginProfileCommand, DeletePolicyCommand, DeletePolicyVersionCommand, DeleteRolePolicyCommand, DeleteUserCommand, DeleteUserPermissionsBoundaryCommand, DeleteUserPolicyCommand, DetachGroupPolicyCommand, DetachRolePolicyCommand, DetachUserPolicyCommand, GetAccessKeyLastUsedCommand, GetGroupCommand, GetGroupPolicyCommand, GetInstanceProfileCommand, GetPolicyCommand, GetPolicyVersionCommand, GetRolePolicyCommand, GetUserCommand, GetUserPolicyCommand, IAMClient, ListAccessKeysCommand, ListAttachedGroupPoliciesCommand, ListAttachedUserPoliciesCommand, ListEntitiesForPolicyCommand, ListGroupPoliciesCommand, ListGroupsForUserCommand, ListPoliciesCommand, ListPolicyTagsCommand, ListPolicyVersionsCommand, ListUserPoliciesCommand, NoSuchEntityException, PutGroupPolicyCommand, PutRolePolicyCommand, PutUserPermissionsBoundaryCommand, PutUserPolicyCommand, RemoveRoleFromInstanceProfileCommand, RemoveUserFromGroupCommand, TagPolicyCommand, TagUserCommand, UntagPolicyCommand, UntagUserCommand, UpdateAccessKeyCommand, UpdateLoginProfileCommand } from "@aws-sdk/client-iam";
|
|
@@ -3259,6 +3259,8 @@ function isPlainBucketName(value) {
|
|
|
3259
3259
|
const BUCKET_LIST_IDENTITY_ATTEMPTS = 3;
|
|
3260
3260
|
const BUCKET_LIST_IDENTITY_DELAY_MS = 1500;
|
|
3261
3261
|
const BUCKET_LIST_IDENTITY_BUDGET_MS = 6e3;
|
|
3262
|
+
const OWN_WRITE_HEAD_ATTEMPTS = 5;
|
|
3263
|
+
const OWN_WRITE_HEAD_DELAY_MS = 500;
|
|
3262
3264
|
function isNoSuchBucketError(error) {
|
|
3263
3265
|
return error?.name === "NoSuchBucket";
|
|
3264
3266
|
}
|
|
@@ -3324,6 +3326,15 @@ function takeOwnLeftoverBucket(logicalId) {
|
|
|
3324
3326
|
ownLeftoverBuckets.delete(key);
|
|
3325
3327
|
return held !== void 0 && Date.now() - held.heldAtMs <= 18e5 ? held.identity : void 0;
|
|
3326
3328
|
}
|
|
3329
|
+
function isCreateTagResourceDenial(error) {
|
|
3330
|
+
return error instanceof Error && error.name === "AccessDenied" && describeAwsFailure(error).detail.includes("s3:TagResource");
|
|
3331
|
+
}
|
|
3332
|
+
function isCreateTagsShapeRefusal(error) {
|
|
3333
|
+
if (!(error instanceof Error)) return false;
|
|
3334
|
+
if (error.name === "MalformedXML" || error.name === "NotImplemented") return true;
|
|
3335
|
+
return (error.name === "InvalidArgument" || error.name === "InvalidRequest") && /\btags?\b/i.test(describeAwsFailure(error).detail);
|
|
3336
|
+
}
|
|
3337
|
+
const untaggedExplicitDeny = /* @__PURE__ */ new WeakMap();
|
|
3327
3338
|
var S3BucketProvider = class S3BucketProvider {
|
|
3328
3339
|
s3Client;
|
|
3329
3340
|
createClientHolder = {};
|
|
@@ -4603,6 +4614,11 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
4603
4614
|
const canonicalRegion = canonicalizeRegion(region);
|
|
4604
4615
|
if (canonicalRegion !== "us-east-1") createParams.CreateBucketConfiguration = { LocationConstraint: canonicalRegion };
|
|
4605
4616
|
if (declaresBucketObjectLock(properties)) createParams.ObjectLockEnabledForBucket = true;
|
|
4617
|
+
if (desiredTags.length > 0) createParams.CreateBucketConfiguration = {
|
|
4618
|
+
...createParams.CreateBucketConfiguration,
|
|
4619
|
+
Tags: desiredTags
|
|
4620
|
+
};
|
|
4621
|
+
let tagsAppliedOnCreate = false;
|
|
4606
4622
|
const preflight = canonicalizeRegion(region) === "us-east-1" ? await this.probeBucketRegion(bucketName) : { kind: "absent" };
|
|
4607
4623
|
let createdNewBucket = false;
|
|
4608
4624
|
const createClient = await this.getCreateClient();
|
|
@@ -4628,11 +4644,40 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
4628
4644
|
}
|
|
4629
4645
|
try {
|
|
4630
4646
|
const attemptStartMs = Date.now();
|
|
4631
|
-
if (!adoptedOwnLeftover)
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4647
|
+
if (!adoptedOwnLeftover) {
|
|
4648
|
+
let tagsSent = createParams.CreateBucketConfiguration?.Tags !== void 0;
|
|
4649
|
+
try {
|
|
4650
|
+
try {
|
|
4651
|
+
await createClient.send(new CreateBucketCommand(createParams));
|
|
4652
|
+
} catch (taggedError) {
|
|
4653
|
+
const tagResourceDenied = isCreateTagResourceDenial(taggedError);
|
|
4654
|
+
if (!tagsSent || !(tagResourceDenied || isCreateTagsShapeRefusal(taggedError))) throw taggedError;
|
|
4655
|
+
this.logger.debug(safeMsg`CreateBucket with tags was ${tagResourceDenied ? "denied s3:TagResource" : "refused for its Tags member"} for ${displaySafe(logicalId)}; ` + `retrying without tags and applying them with PutBucketTagging`);
|
|
4656
|
+
const { Tags: _omitted, ...rest } = createParams.CreateBucketConfiguration ?? {};
|
|
4657
|
+
const untagged = { ...createParams };
|
|
4658
|
+
if (Object.keys(rest).length > 0) untagged.CreateBucketConfiguration = rest;
|
|
4659
|
+
else delete untagged.CreateBucketConfiguration;
|
|
4660
|
+
tagsSent = false;
|
|
4661
|
+
try {
|
|
4662
|
+
await createClient.send(new CreateBucketCommand(untagged));
|
|
4663
|
+
} catch (untaggedError) {
|
|
4664
|
+
if (tagResourceDenied && untaggedError instanceof Error && untaggedError.name === "AccessDenied") {
|
|
4665
|
+
this.logger.debug(safeMsg`CreateBucket without tags was denied too for ${displaySafe(logicalId)}; ` + `reporting the s3:TagResource denial`);
|
|
4666
|
+
const untaggedText = describeAwsFailure(untaggedError).detail;
|
|
4667
|
+
if (isExplicitDenyError(untaggedText) && taggedError instanceof Error) {
|
|
4668
|
+
untaggedExplicitDeny.set(taggedError, explicitDenyPolicyKind(untaggedText) ?? null);
|
|
4669
|
+
markNonRetryable(taggedError);
|
|
4670
|
+
}
|
|
4671
|
+
throw taggedError;
|
|
4672
|
+
}
|
|
4673
|
+
throw untaggedError;
|
|
4674
|
+
}
|
|
4675
|
+
}
|
|
4676
|
+
} catch (sendError) {
|
|
4677
|
+
createBucketLatch.noteFailure(logicalId, sendError, attemptStartMs, ambiguousWindow);
|
|
4678
|
+
throw sendError;
|
|
4679
|
+
}
|
|
4680
|
+
tagsAppliedOnCreate = tagsSent && preflight.kind === "absent";
|
|
4636
4681
|
}
|
|
4637
4682
|
createdNewBucket = adoptedOwnLeftover || preflight.kind === "absent";
|
|
4638
4683
|
bucketLeftBehind = createdNewBucket;
|
|
@@ -4658,7 +4703,7 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
4658
4703
|
try {
|
|
4659
4704
|
effectiveOverrides = await this.applyConfiguration(bucketName, properties, {
|
|
4660
4705
|
...context ? { context } : {},
|
|
4661
|
-
desiredTags
|
|
4706
|
+
...tagsAppliedOnCreate ? { skipTags: true } : { desiredTags }
|
|
4662
4707
|
});
|
|
4663
4708
|
for (const [key, value] of await this.applyAllSubConfigsForCreate(bucketName, properties, context)) effectiveOverrides.set(key, value);
|
|
4664
4709
|
} catch (innerError) {
|
|
@@ -4765,7 +4810,12 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
4765
4810
|
wrapOperationError(operation, logicalId, resourceType, physicalId, error) {
|
|
4766
4811
|
const failure = describeAwsFailure(error);
|
|
4767
4812
|
if (failure.redacted) this.logger.debug(`Failed to ${operation} S3 bucket ${displaySafe(logicalId)} (${this.shown(physicalId)}): ${this.maskRaw(failure.detail)}`);
|
|
4768
|
-
const
|
|
4813
|
+
const denyKind = failure.redacted ? explicitDenyPolicyKind(failure.detail) : void 0;
|
|
4814
|
+
const denyNote = failure.redacted && isExplicitDenyError(failure.detail) ? ` Refused by an explicit deny${denyKind !== void 0 ? ` (${denyKind})` : ""}, which retrying cannot clear.` : "";
|
|
4815
|
+
const tagResourceNote = failure.redacted && isCreateTagResourceDenial(error) ? " Creating a bucket with tags needs s3:TagResource." : "";
|
|
4816
|
+
const untaggedDenyKind = error instanceof Error ? untaggedExplicitDeny.get(error) : void 0;
|
|
4817
|
+
const untaggedDenyNote = untaggedDenyKind !== void 0 ? ` The untagged retry was refused by an explicit deny${untaggedDenyKind !== null ? ` (${untaggedDenyKind})` : ""}, which retrying cannot clear.` : "";
|
|
4818
|
+
const wrapped = new ProvisioningError(`Failed to ${operation} S3 bucket ${displaySafe(logicalId)}: ${this.maskRaw(failure.summary)}${denyNote}${tagResourceNote}${untaggedDenyNote}`, resourceType, logicalId, physicalId, error instanceof Error ? error : void 0);
|
|
4769
4819
|
return failure.redacted ? markRedactedCause(wrapped) : wrapped;
|
|
4770
4820
|
}
|
|
4771
4821
|
canonicalizeDesiredProperties(resourceType, properties) {
|
|
@@ -4777,12 +4827,20 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
4777
4827
|
out = canonicalizeBlock(out, "LifecycleConfiguration", effectiveLifecycleConfiguration);
|
|
4778
4828
|
return out;
|
|
4779
4829
|
}
|
|
4780
|
-
async readCurrentState(physicalId, _logicalId, _resourceType) {
|
|
4781
|
-
|
|
4830
|
+
async readCurrentState(physicalId, _logicalId, _resourceType, _properties, context) {
|
|
4831
|
+
const headAttempts = context?.afterOwnWrite === true ? OWN_WRITE_HEAD_ATTEMPTS : 1;
|
|
4832
|
+
for (let attempt = 1;; attempt++) try {
|
|
4782
4833
|
await this.s3Client.send(new HeadBucketCommand({ Bucket: physicalId }));
|
|
4834
|
+
break;
|
|
4783
4835
|
} catch (err) {
|
|
4784
4836
|
const e = err;
|
|
4785
|
-
if (err instanceof NoSuchBucket || e.name === "NotFound" || e.name === "NoSuchBucket" || e.$metadata?.httpStatusCode === 404)
|
|
4837
|
+
if (err instanceof NoSuchBucket || e.name === "NotFound" || e.name === "NoSuchBucket" || e.$metadata?.httpStatusCode === 404) {
|
|
4838
|
+
if (attempt < headAttempts) {
|
|
4839
|
+
await new Promise((r) => setTimeout(r, OWN_WRITE_HEAD_DELAY_MS));
|
|
4840
|
+
continue;
|
|
4841
|
+
}
|
|
4842
|
+
return RESOURCE_NOT_FOUND;
|
|
4843
|
+
}
|
|
4786
4844
|
throw err;
|
|
4787
4845
|
}
|
|
4788
4846
|
const [versioning, encryption, ownership, pab, tags, lifecycle, cors, website, logging, notification, replication, objectLock, accelerate, metrics, analytics, intelligentTier, inventory] = await Promise.all([
|
|
@@ -29821,6 +29879,8 @@ function customAcrLevels(acr) {
|
|
|
29821
29879
|
}));
|
|
29822
29880
|
return Object.keys(custom).length > 0 ? custom : void 0;
|
|
29823
29881
|
}
|
|
29882
|
+
const EMAIL_RESET_CLAUSE = "reset to Cognito's default sender (EmailSendingAccount COGNITO_DEFAULT), dropping its SES SourceArn, and a redeploy will not restore it. Put the SES settings back with an UpdateUserPool that also carries the pool's other settings, since that call resets what it omits.";
|
|
29883
|
+
const EMAIL_RESET_BEFORE_DELETE_CLAUSE = "reset to Cognito's default sender (EmailSendingAccount COGNITO_DEFAULT), dropping its SES SourceArn, which stays that way if the delete fails.";
|
|
29824
29884
|
const sentWithoutEmail = /* @__PURE__ */ new WeakSet();
|
|
29825
29885
|
const createUserPoolLatch = new AmbiguousCreateLatch("CreateUserPool");
|
|
29826
29886
|
const userPoolsCreatedByThisProcess = new RecentIdSet();
|
|
@@ -30031,6 +30091,7 @@ var CognitoUserPoolProvider = class {
|
|
|
30031
30091
|
logger = getLogger().child("CognitoUserPoolProvider");
|
|
30032
30092
|
protectionFlips = new ProtectionFlipRegistry();
|
|
30033
30093
|
preFlipPools = /* @__PURE__ */ new WeakMap();
|
|
30094
|
+
emailOmittedFlips = /* @__PURE__ */ new WeakMap();
|
|
30034
30095
|
handledProperties = /* @__PURE__ */ new Map([["AWS::Cognito::UserPool", /* @__PURE__ */ new Set([
|
|
30035
30096
|
"UserPoolName",
|
|
30036
30097
|
"AutoVerifiedAttributes",
|
|
@@ -30487,10 +30548,12 @@ var CognitoUserPoolProvider = class {
|
|
|
30487
30548
|
if (bareFlip && pool.DeletionProtection !== "ACTIVE") bareFlip.ambiguous = false;
|
|
30488
30549
|
const resetConfirmed = bareFlip !== void 0 && !bareFlip.ambiguous;
|
|
30489
30550
|
if (bareFlip) this.reportSettingsResetByBareFlip(physicalId, bareFlip.pool, reportKind(bareFlip));
|
|
30551
|
+
if (flipRecord && this.emailOmittedFlips.has(flipRecord) && !echoesDeveloperEmail(pool) && !(bareFlip && echoesDeveloperEmail(bareFlip.pool))) this.logger.error(safeMsg`Cognito User Pool ${physicalId} is LIVE with its SES email configuration reset: ` + safeMsg`--remove-protection turned DeletionProtection off with an UpdateUserPool that left ` + safeMsg`out its DEVELOPER EmailConfiguration (sending it was refused), and the delete then ` + safeMsg`failed. The pool's email configuration was ${EMAIL_RESET_CLAUSE}`);
|
|
30490
30552
|
const bareLicensed = resetConfirmed && bareFlip.echoedSince !== true;
|
|
30491
30553
|
const readOn = pool.DeletionProtection === "ACTIVE";
|
|
30492
30554
|
try {
|
|
30493
|
-
|
|
30555
|
+
const emailAlreadyReset = flipRecord !== void 0 && this.emailOmittedFlips.get(flipRecord) === "definite";
|
|
30556
|
+
await this.sendEchoedDeletionProtection(physicalId, pool, "ACTIVE", { emailFallback: !readOn || emailAlreadyReset });
|
|
30494
30557
|
} catch (echoError) {
|
|
30495
30558
|
let failure = echoError;
|
|
30496
30559
|
if (bareLicensed && isRefusedEcho(echoError)) try {
|
|
@@ -30526,8 +30589,10 @@ var CognitoUserPoolProvider = class {
|
|
|
30526
30589
|
}
|
|
30527
30590
|
const mode = before.UserPoolAddOns?.AdvancedSecurityMode;
|
|
30528
30591
|
if (mode) held.push(`AdvancedSecurityMode=${mode}`);
|
|
30592
|
+
if (echoesDeveloperEmail(before)) held.push("EmailConfiguration.EmailSendingAccount=DEVELOPER (SES)");
|
|
30529
30593
|
const heldText = held.length > 0 ? held.join(", ") : "none of these settings";
|
|
30530
|
-
const
|
|
30594
|
+
const what = echoesDeveloperEmail(before) ? "self sign-up, Lambda triggers, advanced security and SES email configuration" : "self sign-up, Lambda triggers and advanced security";
|
|
30595
|
+
const state = kind === "unclear" ? safeMsg`is LIVE and its ${what} MAY have been reset: ` + safeMsg`--remove-protection sent UpdateUserPool with DeletionProtection alone (the pool's own ` + safeMsg`configuration was refused) and got no clear answer, and the delete then failed. Check it ` + safeMsg`with aws cognito-idp describe-user-pool.` : kind === "earlier" ? safeMsg`is LIVE; its ${what} were reset by an ` + safeMsg`earlier UpdateUserPool that --remove-protection sent with DeletionProtection alone (the ` + safeMsg`pool's own configuration was refused); they may have been restored since. Check it with ` + safeMsg`aws cognito-idp describe-user-pool.` : safeMsg`is LIVE with its ${what} reset: ` + safeMsg`--remove-protection had to turn DeletionProtection off with UpdateUserPool alone (the ` + safeMsg`pool's own configuration was refused), and the delete then failed.`;
|
|
30531
30596
|
this.logger.error(safeMsg`Cognito User Pool ${physicalId} ` + state + safeMsg` Before that write the pool held: ${heldText}. Put them back with ` + safeMsg`aws cognito-idp update-user-pool, sending the pool's complete configuration -- a ` + safeMsg`cdkd deploy will NOT restore them, because its recorded properties still match the template.`);
|
|
30532
30597
|
}
|
|
30533
30598
|
async deleteOnce(logicalId, physicalId, resourceType, context, flip) {
|
|
@@ -30592,31 +30657,38 @@ var CognitoUserPoolProvider = class {
|
|
|
30592
30657
|
throw new ProvisioningError(`Failed to delete Cognito User Pool ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, physicalId, cause);
|
|
30593
30658
|
}
|
|
30594
30659
|
}
|
|
30595
|
-
async sendEchoedDeletionProtection(physicalId, pool, value) {
|
|
30660
|
+
async sendEchoedDeletionProtection(physicalId, pool, value, opts = {}) {
|
|
30596
30661
|
try {
|
|
30597
30662
|
await this.getClient().send(new UpdateUserPoolCommand(userPoolDeletionProtectionUpdate(physicalId, pool, value)));
|
|
30663
|
+
return "echoed";
|
|
30598
30664
|
} catch (echoError) {
|
|
30599
30665
|
if (!echoesDeveloperEmail(pool) || !isRefusedEcho(echoError)) throw echoError;
|
|
30666
|
+
if (opts.emailFallback === false) throw echoError;
|
|
30667
|
+
const resetClause = value === "ACTIVE" ? EMAIL_RESET_CLAUSE : EMAIL_RESET_BEFORE_DELETE_CLAUSE;
|
|
30600
30668
|
this.logger.debug(safeMsg`UpdateUserPool refused the SES EmailConfiguration of ${physicalId}: ${describeAwsFailure(echoError).summary}`);
|
|
30601
30669
|
try {
|
|
30602
30670
|
await this.getClient().send(new UpdateUserPoolCommand(userPoolDeletionProtectionUpdate(physicalId, pool, value, { withoutDeveloperEmail: true })));
|
|
30603
30671
|
} catch (resendError) {
|
|
30604
30672
|
if (typeof resendError === "object" && resendError !== null) sentWithoutEmail.add(resendError);
|
|
30673
|
+
if (isAmbiguousWriteFailure(resendError) && (value === "ACTIVE" || isTransientCognitoFailure(resendError))) this.logger.warn(safeMsg`Cognito User Pool ${physicalId}: UpdateUserPool refused the write carrying the ` + safeMsg`pool's SES EmailConfiguration (${describeAwsFailure(echoError).summary}), and the ` + safeMsg`write re-sent without it answered ${describeAwsFailure(resendError).summary}. If ` + safeMsg`that write landed, the pool's email configuration was ${resetClause}`);
|
|
30605
30674
|
throw resendError;
|
|
30606
30675
|
}
|
|
30607
|
-
this.logger.warn(safeMsg`Cognito User Pool ${physicalId}: UpdateUserPool refused the write (possibly the ` + safeMsg`pool's SES EmailConfiguration, ${describeAwsFailure(echoError).summary}), so ` + safeMsg`DeletionProtection was set to ${value} with the pool's other settings but without ` + safeMsg`that EmailConfiguration.
|
|
30676
|
+
this.logger.warn(safeMsg`Cognito User Pool ${physicalId}: UpdateUserPool refused the write (possibly the ` + safeMsg`pool's SES EmailConfiguration, ${describeAwsFailure(echoError).summary}), so ` + safeMsg`DeletionProtection was set to ${value} with the pool's other settings but without ` + safeMsg`that EmailConfiguration. The pool's email configuration was ${resetClause}`);
|
|
30677
|
+
return "without-email";
|
|
30608
30678
|
}
|
|
30609
30679
|
}
|
|
30610
30680
|
async disableUserPoolDeletionProtection(physicalId, pool, flip) {
|
|
30611
30681
|
if (this.preFlipPools.get(flip)?.ambiguous) this.preFlipPools.delete(flip);
|
|
30612
30682
|
const observedOn = pool.DeletionProtection === "ACTIVE";
|
|
30613
30683
|
try {
|
|
30614
|
-
await this.sendEchoedDeletionProtection(physicalId, pool, "INACTIVE");
|
|
30684
|
+
if (await this.sendEchoedDeletionProtection(physicalId, pool, "INACTIVE") === "without-email") this.emailOmittedFlips.set(flip, "definite");
|
|
30685
|
+
else if (echoesDeveloperEmail(pool)) this.emailOmittedFlips.delete(flip);
|
|
30615
30686
|
const earlier = this.preFlipPools.get(flip);
|
|
30616
30687
|
if (earlier) earlier.echoedSince = true;
|
|
30617
30688
|
return;
|
|
30618
30689
|
} catch (echoError) {
|
|
30619
30690
|
if (echoError instanceof ResourceNotFoundException$11) throw echoError;
|
|
30691
|
+
if (typeof echoError === "object" && echoError !== null && sentWithoutEmail.has(echoError) && isAmbiguousWriteFailure(echoError) && !this.emailOmittedFlips.has(flip)) this.emailOmittedFlips.set(flip, "ambiguous");
|
|
30620
30692
|
if (observedOn && isAmbiguousWriteFailure(echoError)) flip.flippedOffByThisRun = true;
|
|
30621
30693
|
if (isTransientCognitoFailure(echoError)) throw echoError;
|
|
30622
30694
|
if (!isRefusedEcho(echoError)) {
|
|
@@ -30663,7 +30735,7 @@ var CognitoUserPoolProvider = class {
|
|
|
30663
30735
|
const echoClause = echoError === void 0 ? "" : safeMsg`; the pool's own settings sent back were refused first (${describeAwsFailure(echoError).summary})`;
|
|
30664
30736
|
this.logger.debug(safeMsg`UpdateUserPool did not turn DeletionProtection off on ${physicalId}: ${describeAwsFailure(error).detail}`);
|
|
30665
30737
|
const refused = error instanceof Error && isAwsAuthoredFailure(error);
|
|
30666
|
-
this.logger.warn(refused ? safeMsg`Cognito User Pool ${physicalId}: DeletionProtection was left on, because UpdateUserPool ` + safeMsg`refused to turn it off (${describeAwsFailure(error).summary})` + echoClause + safeMsg`. The delete will be refused while it is on.${accessHint}` : safeMsg`Cognito User Pool ${physicalId}: UpdateUserPool failed without an answer from AWS ` + safeMsg`(${describeAwsFailure(error).summary})` + echoClause + (echoError === void 0 ? typeof error === "object" && error !== null && sentWithoutEmail.has(error) ? safeMsg`, so whether DeletionProtection was turned off is unknown. Its other settings were ` + safeMsg`not reset, except
|
|
30738
|
+
this.logger.warn(refused ? safeMsg`Cognito User Pool ${physicalId}: DeletionProtection was left on, because UpdateUserPool ` + safeMsg`refused to turn it off (${describeAwsFailure(error).summary})` + echoClause + safeMsg`. The delete will be refused while it is on.${accessHint}` : safeMsg`Cognito User Pool ${physicalId}: UpdateUserPool failed without an answer from AWS ` + safeMsg`(${describeAwsFailure(error).summary})` + echoClause + (echoError === void 0 ? typeof error === "object" && error !== null && sentWithoutEmail.has(error) ? safeMsg`, so whether DeletionProtection was turned off is unknown. Its other settings were ` + safeMsg`not reset, except the SES EmailConfiguration, which that write omitted: if it ` + safeMsg`landed, the pool's email configuration was ${EMAIL_RESET_BEFORE_DELETE_CLAUSE}` : safeMsg`, so whether DeletionProtection was turned off is unknown. Its other settings were ` + safeMsg`not reset.` : safeMsg`, so whether DeletionProtection was turned off ALONE is unknown; if it was, the ` + safeMsg`pool's self sign-up, Lambda triggers and advanced security were reset.`) + safeMsg` If the delete then fails, cdkd turns the guard back on. Check the pool with ` + safeMsg`aws cognito-idp describe-user-pool.`);
|
|
30667
30739
|
}
|
|
30668
30740
|
async readCurrentState(physicalId, _logicalId, resourceType) {
|
|
30669
30741
|
if (resourceType !== "AWS::Cognito::UserPool") return void 0;
|
|
@@ -46592,4 +46664,4 @@ var ACMCertificateProvider = class {
|
|
|
46592
46664
|
|
|
46593
46665
|
//#endregion
|
|
46594
46666
|
export { ACMCertificateProvider, ASGProvider, AgentCoreBrowserProvider, AgentCoreCodeInterpreterProvider, AgentCoreEvaluatorProvider, AgentCoreRuntimeProvider, ApiGatewayProvider, ApiGatewayV2Provider, AppSyncProvider, BudgetsBudgetProvider, CloudFrontDistributionProvider, CloudFrontOACProvider, CloudFrontOAIProvider, CloudTrailProvider, CloudWatchAlarmProvider, CloudWatchAnomalyDetectorProvider, CodeBuildProvider, CodeCommitRepositoryProvider, CognitoUserPoolProvider, DLMLifecyclePolicyProvider, DocDBProvider, DocDBSubnetGroupProvider, DynamoDBGlobalTableProvider, DynamoDBTableProvider, EC2Provider, ECRProvider, ECSProvider, EFSProvider, ELBv2Provider, EMRClusterProvider, EMRInstanceFleetConfigProvider, EMRInstanceGroupConfigProvider, ElastiCacheProvider, EventBridgeBusProvider, EventBridgeRuleProvider, FSxFileSystemProvider, FirehoseProvider, GlueConnectionProvider, GlueCrawlerProvider, GlueJobProvider, GlueProvider, GlueSecurityConfigurationProvider, GlueTriggerProvider, GlueWorkflowProvider, IAMAccessKeyProvider, IAMInstanceProfileProvider, IAMManagedPolicyProvider, IAMPolicyProvider, IAMRoleProvider, IAMUserGroupProvider, KMSProvider, KinesisStreamConsumerProvider, KinesisStreamProvider, LambdaEventInvokeConfigProvider, LambdaEventSourceMappingProvider, LambdaFunctionProvider, LambdaLayerVersionProvider, LambdaMicrovmImageProvider, LambdaNetworkConnectorProvider, LambdaPermissionProvider, LambdaUrlProvider, LambdaWebFunctionEndpointProvider, LambdaWebFunctionRevisionProvider, LogsLogGroupProvider, NeptuneProvider, NestedStackProvider, PipesPipeProvider, RDSDBProxyEndpointProvider, RDSDBProxyProvider, RDSDBProxyTargetGroupProvider, RDSProvider, Route53Provider, S3BucketPolicyProvider, S3BucketProvider, S3DirectoryBucketProvider, S3TablesProvider, S3VectorsProvider, SNSSubscriptionProvider, SNSTopicPolicyProvider, SNSTopicProvider, SQSQueuePolicyProvider, SQSQueueProvider, SSMParameterProvider, SchedulerScheduleProvider, SecretsManagerSecretProvider, ServiceDiscoveryProvider, StepFunctionsProvider, WAFv2WebACLProvider, WaitConditionHandleProvider };
|
|
46595
|
-
//# sourceMappingURL=provider-classes-
|
|
46667
|
+
//# sourceMappingURL=provider-classes-DzoIZFZK.js.map
|