@go-to-k/cdkd 0.301.6 → 0.301.8
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-GNiE6dR1.js → asg-provider-BHNhL4VV.js} +3 -3
- package/dist/{asg-provider-GNiE6dR1.js.map → asg-provider-BHNhL4VV.js.map} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{deploy-engine-D1z0QUsv.js → deploy-engine-6bGIDa7Z.js} +776 -588
- package/dist/deploy-engine-6bGIDa7Z.js.map +1 -0
- package/dist/{iam-policy-targets-BkeM7IXi.js → iam-policy-targets-DJmfxbko.js} +5 -2
- package/dist/iam-policy-targets-DJmfxbko.js.map +1 -0
- package/dist/{iam-role-provider-988BRmqF.js → iam-role-provider-CvfdjJBv.js} +3 -3
- package/dist/{iam-role-provider-988BRmqF.js.map → iam-role-provider-CvfdjJBv.js.map} +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/{neptune-provider-DUaw7kpj.js → neptune-provider-CrH00sHx.js} +3 -3
- package/dist/{neptune-provider-DUaw7kpj.js.map → neptune-provider-CrH00sHx.js.map} +1 -1
- package/dist/{program-Cqk1ZTsY.js → program-Bji4lco2.js} +21 -10
- package/dist/program-Bji4lco2.js.map +1 -0
- package/dist/{provider-classes-CR4DtD8M.js → provider-classes-D41TJi4B.js} +180 -88
- package/dist/provider-classes-D41TJi4B.js.map +1 -0
- package/dist/{rds-provider-DBW972HG.js → rds-provider-BTabgCz5.js} +3 -3
- package/dist/{rds-provider-DBW972HG.js.map → rds-provider-BTabgCz5.js.map} +1 -1
- package/dist/{version-CnjZ9J4l.js → version-B3HWuj22.js} +2 -2
- package/dist/{version-CnjZ9J4l.js.map → version-B3HWuj22.js.map} +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-D1z0QUsv.js.map +0 -1
- package/dist/iam-policy-targets-BkeM7IXi.js.map +0 -1
- package/dist/program-Cqk1ZTsY.js.map +0 -1
- package/dist/provider-classes-CR4DtD8M.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, $n as
|
|
3
|
+
import { $ as protectedReplacementAdvice, $n as markReplayMayCollide, $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 markNameCollision, 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, Zt as withPasteableAwsProfile, _ as RecentIdSet, _t as createMaskedLogSinks, a as onlySecretDerived, ar as isExplicitDenyError, at as startInterruptWatch, b as isInsideWindow, bn as ResourceUpdateNotSupportedError, bt as maskDeep, c as recordedPrincipalsRepair, cr as isTransientServerError, ct as canonicalizeRoute53QueryName, dr as isMarkedNonRetryable, dt as compositeIdSkipResult, en as clientDefaultsFor, er as relayedNameCollision, et as renderDisableCommand, fr as isThrottlingError, ft as logicalIdShown, g as AmbiguousCreateLatch, gt as stateOrphanRecordRemedy, h as AMBIGUOUS_LATCH_TTL_MS, hr as wrapMaskedAwsError, ht as segmentAfterAnchor, i as holdsSecretDerivedEntry, in as CdkdError, ir as isAmbiguousOutcomeError, it as isInterruptedWaitError, j as normalizeAwsTagsToCfn, jt as markAuxiliaryFailure, k as isPlainImportValue, lt as compositeIdFormatMessage, mr as markRedactedCause, nn as AccountIdUnavailableError, o as readPrincipalLists, ot as ElapsedBudgetRegistry, p as withRemovalDefaults, pr as markNonRetryable, pt as packCompositeId, q as userPoolProtectionSite, qn as isNameCollisionError, qt as injectiveKeyPrefix, r as SECRET_DERIVED_READ_LIVE, sr as isRetryableTransientError, tn as credentialFingerprint, tr as explicitDenyPolicyKind, u as clearOnUpdateRemoval, ur as THROTTLING_ERROR_NAMES, 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-DJmfxbko.js";
|
|
4
4
|
import { s as ambientRegion } from "./aws-client-defaults-DBXBcg0J.js";
|
|
5
|
-
import { $i as accountArgs,
|
|
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 { $i as accountArgs, Ao as replayWarn, Bl as displayAssemblyPath, Bo as sameLambdaFunctionAddress, C as getPriorAttempts, Cc as rewriteTemplateAssetReferences, Cn as awaitInFlightSibling, Co as toFiniteNumber, Dn as replacedDeleteFailureVerdict, Do as configIntegerRefusal, Dr as waitForLambdaFunctionActive, Dt as withApiLimit, Eo as configBooleanRefusal, Es as dynamicReferenceTokens, Et as lookupEachName, F as listNestedTemplateRows, Gr as isWaitAbandonedError, Hl as resolveAssemblyPath, I as renderNestedTemplateTreeDefect, Ja as refuseMalformedResourcesForDestroy, Jr as ec2InstanceProtectionSite, Jt as redactedDeleteAddressFields, Ki as passedParameterClassesOf, Kn as secretNamedAttributeNamesOf, Kr as markWaitAbandoned, Kt as REDACTED_DELETE_ADDRESS_SKIP_REASON, Lo as withRetry, Lr as slowCcOperationTimeoutMs, Ls as carriesSecretMask, Mo as requireConfigObject, Ms as recoverMaskedOutput, N as findNestedTemplateTreeDefect, Ni as getAccountInfo, No as requireConfigString, Ns as physicalNameCopiesOf, Oa as refuseMalformedNestedChildOutputs, Ol as canonicalizeRegion, Oo as configStringRefusal, P as isAbsoluteAssetPath, Ps as recordAttributeIdCopy, Qo as passedNoEchoParametersOf, Qr as reEnableInstanceApiTermination, Ro as canonicalLambdaFunctionName, Rr as unchangedBehindSecretReference, S as isTruthyCfnBoolean, So as toCfnInteger, Tl as decodeListingKey, Tn as getStackRecords, To as coerceCfnInteger, Tt as isAccessDeniedError, Ui as parseWebACLArn, Ur as deleteSkipReason, Vl as renderAssemblyPathEscape, Wr as withIndeterminateGuard, Wt as getCurrentProducerRegions, Xr as observeThenDisableInstanceApiTermination, Yr as isTerminationProtectionPropagationError, Yt as redactedDeleteAddressSkip, Zr as reDisableInstanceApiTermination, _ as deleteTableWithIndexBusyRetry, _r as refuseMalformedDesiredTags, ai as s3BucketDomainName, as as redactForState, b as S3_AUTO_DELETE_OBJECTS_TAG, bo as coerceWarmThroughput$1, br as definedAttributes, c as DynamoDBGlobalTableProvider, ci as s3BucketWebsiteUrl, co as findSilentDropProperties, cr as reserveStackCreateToken, d as compensateRemovedDeletionProtection, dr as isRefusedByName, f as deleteBudgetKey, fr as markDeleteStarted, g as INDEX_SETTLE_POLL_INTERVAL_MS, gr as readTagList, h as DELETE_INDEX_WAIT_PROCEED_NOTE, hr as planTagDiff, ii as s3BucketArn, is as markSameGenerationBag, jo as requireConfigArray, jr as getCurrentResourceSecrets, kl as derivePartitionAndUrlSuffix, ko as readConfigString, l as DYNAMODB_DELETE_MIN_RESOURCE_TIMEOUT_MS, lt as revertNestedChildFromJournal, m as resolveDynamoDbDeleteBudgetMs, mr as DBPROXY_TAG_OPTIONS, mt as withNestedStackContext, oi as s3BucketDualStackDomainName, oo as withheldAccountClause, or as earliestDefined, os as recordReferenceProvenanceEntry, ot as getNestedRevertRun, p as resolveDynamoDbDeleteBudgetClock, pi as outputReferenceProvenanceOf, pr as DBPROXY_TAGS_WHAT, pt as getCurrentNestedStackContext, qt as isRedactedRecordedValue, ri as isSettledInstanceState, si as s3BucketRegionalDomainName, ss as snapshotPassProvenance, t as DeployEngine, u as beginDeleteWait, uo as withoutSilentDropProperties, ur as acquireIdempotencyToken, us as hasMaskableValues, v as waitForIndexesSettled, vc as stringifyValue, vr as tagMapAsList, w as markRefusedBeforeApplying, wo as coerceCfnBoolean, ws as withoutPhysicalNameCopies, wt as chunks, x as hasCdkAutoDeleteTag, xo as isWarmThroughputDecrease, xr as stringifyIfAssigned, y as ECR_AUTO_DELETE_IMAGES_TAG, yo as WARM_THROUGHPUT_MEMBERS, yr as tagPlanWarning, zl as describeFileReadFailure, zo as lambdaFunctionNameForMask } from "./deploy-engine-6bGIDa7Z.js";
|
|
6
|
+
import { n as collectInlinePolicyNamesManagedBySiblings, r as IamCreateClientCache, t as IAMRoleProvider } from "./iam-role-provider-CvfdjJBv.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-Bji4lco2.js";
|
|
8
|
+
import { RDSProvider } from "./rds-provider-BTabgCz5.js";
|
|
9
|
+
import { NeptuneProvider } from "./neptune-provider-CrH00sHx.js";
|
|
10
|
+
import { ASGProvider } from "./asg-provider-BHNhL4VV.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";
|
|
@@ -18,7 +18,7 @@ import { GetCallerIdentityCommand, STSClient } from "@aws-sdk/client-sts";
|
|
|
18
18
|
import { AllocateAddressCommand, AssociateAddressCommand, AssociateIamInstanceProfileCommand, AssociateRouteTableCommand, AttachInternetGatewayCommand, AuthorizeSecurityGroupEgressCommand, AuthorizeSecurityGroupIngressCommand, CreateInternetGatewayCommand, CreateNatGatewayCommand, CreateNetworkAclCommand, CreateNetworkAclEntryCommand, CreateRouteCommand, CreateRouteTableCommand, CreateSecurityGroupCommand, CreateSubnetCommand, CreateTagsCommand, CreateVpcCommand, DeleteInternetGatewayCommand, DeleteNatGatewayCommand, DeleteNetworkAclCommand, DeleteNetworkAclEntryCommand, DeleteNetworkInterfaceCommand, DeleteRouteCommand, DeleteRouteTableCommand, DeleteSecurityGroupCommand, DeleteSubnetCommand, DeleteTagsCommand, DeleteVpcCommand, DescribeAddressesCommand, DescribeAvailabilityZonesCommand, DescribeIamInstanceProfileAssociationsCommand, DescribeInstanceAttributeCommand, DescribeInstanceCreditSpecificationsCommand, DescribeInstancesCommand, DescribeInternetGatewaysCommand, DescribeNatGatewaysCommand, DescribeNetworkAclsCommand, DescribeNetworkInterfacesCommand, DescribeRouteTablesCommand, DescribeSecurityGroupRulesCommand, DescribeSecurityGroupsCommand, DescribeSubnetsCommand, DescribeVolumesCommand, DescribeVpcAttributeCommand, DescribeVpcsCommand, DetachInternetGatewayCommand, DisassociateAddressCommand, DisassociateRouteTableCommand, EC2Client, ModifyInstanceAttributeCommand, ModifyInstanceCreditSpecificationCommand, ModifyInstanceMetadataOptionsCommand, ModifySubnetAttributeCommand, ModifyVpcAttributeCommand, MonitorInstancesCommand, ReleaseAddressCommand, ReplaceNetworkAclAssociationCommand, RevokeSecurityGroupEgressCommand, RevokeSecurityGroupIngressCommand, RunInstancesCommand, TerminateInstancesCommand, UnmonitorInstancesCommand, waitUntilInstanceRunning, waitUntilInstanceTerminated, waitUntilNatGatewayAvailable, waitUntilNatGatewayDeleted } from "@aws-sdk/client-ec2";
|
|
19
19
|
import { CreateTableCommand, DeleteResourcePolicyCommand, DeleteTableCommand, DescribeContinuousBackupsCommand, DescribeContributorInsightsCommand, DescribeKinesisStreamingDestinationCommand, DescribeTableCommand, DescribeTimeToLiveCommand, DisableKinesisStreamingDestinationCommand, DynamoDBClient, EnableKinesisStreamingDestinationCommand, GetResourcePolicyCommand, ListTagsOfResourceCommand, PolicyNotFoundException, PutResourcePolicyCommand, ResourceNotFoundException as ResourceNotFoundException$1, TagResourceCommand as TagResourceCommand$2, UntagResourceCommand as UntagResourceCommand$2, UpdateContinuousBackupsCommand, UpdateContributorInsightsCommand, UpdateTableCommand, UpdateTimeToLiveCommand } from "@aws-sdk/client-dynamodb";
|
|
20
20
|
import { APIGatewayClient, CreateAuthorizerCommand, CreateDeploymentCommand, CreateResourceCommand, CreateStageCommand, DeleteAuthorizerCommand, DeleteDeploymentCommand, DeleteMethodCommand, DeleteResourceCommand, DeleteStageCommand, GetAccountCommand, GetAuthorizerCommand, GetAuthorizersCommand, GetDeploymentCommand, GetDeploymentsCommand, GetMethodCommand, GetResourceCommand, GetStageCommand, NotFoundException as NotFoundException$1, PutIntegrationCommand, PutIntegrationResponseCommand, PutMethodCommand, PutMethodResponseCommand, TagResourceCommand as TagResourceCommand$3, UntagResourceCommand as UntagResourceCommand$3, UpdateAccountCommand, UpdateAuthorizerCommand, UpdateMethodCommand, UpdateStageCommand } from "@aws-sdk/client-api-gateway";
|
|
21
|
-
import { CreateEventBusCommand, DeleteEventBusCommand, DeleteRuleCommand, DescribeEventBusCommand, DescribeRuleCommand, EventBridgeClient, ListRulesCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$1, ListTargetsByRuleCommand, PutRuleCommand, PutTargetsCommand, RemoveTargetsCommand, ResourceNotFoundException as ResourceNotFoundException$2, TagResourceCommand as TagResourceCommand$4, UntagResourceCommand as UntagResourceCommand$4, UpdateEventBusCommand } from "@aws-sdk/client-eventbridge";
|
|
21
|
+
import { CreateEventBusCommand, DeleteEventBusCommand, DeleteRuleCommand, DescribeEventBusCommand, DescribeRuleCommand, EventBridgeClient, ListRulesCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$1, ListTargetsByRuleCommand, PutPermissionCommand, PutRuleCommand, PutTargetsCommand, RemoveTargetsCommand, ResourceNotFoundException as ResourceNotFoundException$2, TagResourceCommand as TagResourceCommand$4, UntagResourceCommand as UntagResourceCommand$4, UpdateEventBusCommand } from "@aws-sdk/client-eventbridge";
|
|
22
22
|
import { CreateSecretCommand, DeleteSecretCommand, DescribeSecretCommand, RemoveRegionsFromReplicationCommand, ReplicateSecretToRegionsCommand, ResourceNotFoundException as ResourceNotFoundException$3, SecretsManagerClient, TagResourceCommand as TagResourceCommand$5, UntagResourceCommand as UntagResourceCommand$5, UpdateSecretCommand } from "@aws-sdk/client-secrets-manager";
|
|
23
23
|
import { AddTagsToResourceCommand, DeleteParameterCommand, DescribeParametersCommand, GetParameterCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$2, ParameterNotFound, PutParameterCommand, RemoveTagsFromResourceCommand, SSMClient } from "@aws-sdk/client-ssm";
|
|
24
24
|
import { CloudFrontClient, CreateCloudFrontOriginAccessIdentityCommand, CreateDistributionCommand, CreateDistributionWithTagsCommand, CreateOriginAccessControlCommand, DeleteCloudFrontOriginAccessIdentityCommand, DeleteDistributionCommand, DeleteOriginAccessControlCommand, DistributionAlreadyExists, GetCloudFrontOriginAccessIdentityCommand, GetDistributionCommand, GetDistributionConfigCommand, GetOriginAccessControlCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$3, NoSuchCloudFrontOriginAccessIdentity, NoSuchDistribution, NoSuchOriginAccessControl, TagResourceCommand as TagResourceCommand$6, UntagResourceCommand as UntagResourceCommand$6, UpdateCloudFrontOriginAccessIdentityCommand, UpdateDistributionCommand, UpdateOriginAccessControlCommand } from "@aws-sdk/client-cloudfront";
|
|
@@ -15380,6 +15380,25 @@ function sanitizeDeadLetterConfig(value) {
|
|
|
15380
15380
|
if (typeof arn !== "string" || arn.length === 0) return void 0;
|
|
15381
15381
|
return { Arn: arn };
|
|
15382
15382
|
}
|
|
15383
|
+
function policyDocument(value) {
|
|
15384
|
+
if (value === void 0 || value === null || value === "") return void 0;
|
|
15385
|
+
return typeof value === "string" ? value : JSON.stringify(value);
|
|
15386
|
+
}
|
|
15387
|
+
function policyKey(value) {
|
|
15388
|
+
const doc = policyDocument(value);
|
|
15389
|
+
if (doc === void 0) return void 0;
|
|
15390
|
+
try {
|
|
15391
|
+
return JSON.stringify(sortKeys(JSON.parse(doc)));
|
|
15392
|
+
} catch {
|
|
15393
|
+
return doc;
|
|
15394
|
+
}
|
|
15395
|
+
}
|
|
15396
|
+
function sortKeys(value) {
|
|
15397
|
+
if (Array.isArray(value)) return value.map(sortKeys);
|
|
15398
|
+
if (typeof value !== "object" || value === null) return value;
|
|
15399
|
+
const record = value;
|
|
15400
|
+
return Object.fromEntries(Object.keys(record).sort().map((key) => [key, sortKeys(record[key])]));
|
|
15401
|
+
}
|
|
15383
15402
|
var EventBridgeBusProvider = class {
|
|
15384
15403
|
eventBridgeClient;
|
|
15385
15404
|
logger = getLogger().child("EventBridgeBusProvider");
|
|
@@ -15417,11 +15436,19 @@ var EventBridgeBusProvider = class {
|
|
|
15417
15436
|
});
|
|
15418
15437
|
return this.createClient;
|
|
15419
15438
|
}
|
|
15420
|
-
|
|
15439
|
+
wrapMaskedError(mask, error, build) {
|
|
15440
|
+
const failure = describeAwsFailure(error);
|
|
15441
|
+
if (!(error instanceof Error)) return build(mask(failure.detail));
|
|
15442
|
+
if (!failure.redacted) return wrapMaskedAwsError(mask, error, build);
|
|
15443
|
+
this.logger.debug(mask(build(failure.detail).message));
|
|
15444
|
+
return markRedactedCause(build(mask(failure.summary)));
|
|
15445
|
+
}
|
|
15446
|
+
async create(logicalId, resourceType, properties, context) {
|
|
15421
15447
|
const tags = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
|
|
15422
15448
|
const name = properties["Name"];
|
|
15423
15449
|
if (!name) throw new ProvisioningError(`Name is required for EventBus ${logicalId}`, resourceType, logicalId);
|
|
15424
15450
|
this.logger.debug(`Creating EventBus ${logicalId}: ${name}`);
|
|
15451
|
+
let busCreated = false;
|
|
15425
15452
|
try {
|
|
15426
15453
|
const createParams = { Name: name };
|
|
15427
15454
|
if (properties["EventSourceName"]) createParams.EventSourceName = properties["EventSourceName"];
|
|
@@ -15432,7 +15459,12 @@ var EventBridgeBusProvider = class {
|
|
|
15432
15459
|
if (dlcCreate) createParams.DeadLetterConfig = dlcCreate;
|
|
15433
15460
|
if (properties["LogConfig"] !== void 0) createParams.LogConfig = properties["LogConfig"];
|
|
15434
15461
|
const response = await (await this.getCreateClient()).send(new CreateEventBusCommand(createParams));
|
|
15435
|
-
|
|
15462
|
+
busCreated = true;
|
|
15463
|
+
const policy = policyDocument(properties["Policy"]);
|
|
15464
|
+
if (policy !== void 0) await this.eventBridgeClient.send(new PutPermissionCommand({
|
|
15465
|
+
EventBusName: name,
|
|
15466
|
+
Policy: policy
|
|
15467
|
+
}));
|
|
15436
15468
|
return {
|
|
15437
15469
|
physicalId: name,
|
|
15438
15470
|
attributes: definedAttributes({
|
|
@@ -15441,8 +15473,11 @@ var EventBridgeBusProvider = class {
|
|
|
15441
15473
|
})
|
|
15442
15474
|
};
|
|
15443
15475
|
} catch (error) {
|
|
15476
|
+
if (busCreated) markAuxiliaryFailure(error, logicalId);
|
|
15444
15477
|
const cause = error instanceof Error ? error : void 0;
|
|
15445
|
-
|
|
15478
|
+
const thrown = this.wrapMaskedError(maskerOrIdentity(context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to create EventBus ${logicalId}: ${text}`, resourceType, logicalId, busCreated ? name : void 0, cause));
|
|
15479
|
+
if (busCreated) markCreatedBeforeFailure(thrown, logicalId, resourceType, name);
|
|
15480
|
+
throw thrown;
|
|
15446
15481
|
}
|
|
15447
15482
|
}
|
|
15448
15483
|
async update(logicalId, physicalId, resourceType, properties, previousProperties, context) {
|
|
@@ -15454,7 +15489,7 @@ var EventBridgeBusProvider = class {
|
|
|
15454
15489
|
} catch (error) {
|
|
15455
15490
|
if (error instanceof CdkdError) throw error;
|
|
15456
15491
|
const cause = error instanceof Error ? error : void 0;
|
|
15457
|
-
throw new ProvisioningError(`Failed to update EventBus ${logicalId}: ${
|
|
15492
|
+
throw this.wrapMaskedError(maskerOrIdentity(context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to update EventBus ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
15458
15493
|
}
|
|
15459
15494
|
}
|
|
15460
15495
|
async applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties, context) {
|
|
@@ -15474,6 +15509,12 @@ var EventBridgeBusProvider = class {
|
|
|
15474
15509
|
if (properties["LogConfig"] !== void 0) updateParams.LogConfig = properties["LogConfig"];
|
|
15475
15510
|
await this.eventBridgeClient.send(new UpdateEventBusCommand(updateParams));
|
|
15476
15511
|
}
|
|
15512
|
+
const policy = policyDocument(properties["Policy"]);
|
|
15513
|
+
if (policy !== void 0 && policyKey(policy) !== policyKey(previousProperties["Policy"])) await this.eventBridgeClient.send(new PutPermissionCommand({
|
|
15514
|
+
EventBusName: physicalId,
|
|
15515
|
+
Policy: policy
|
|
15516
|
+
}));
|
|
15517
|
+
else if (policy === void 0 && (context?.removedProperties?.has("Policy") ?? policyDocument(previousProperties["Policy"]) !== void 0)) this.logger.warn(safeMsg`${logicalId} (${resourceType}): Policy was removed from the template; the bus keeps its current resource policy, as CloudFormation leaves it. Remove its statements with 'aws events remove-permission' if they should go.`);
|
|
15477
15518
|
const plan = planTagDiff(previousProperties["Tags"], properties["Tags"]);
|
|
15478
15519
|
const tagWarning = tagPlanWarning(plan, resourceType, logicalId);
|
|
15479
15520
|
if (tagWarning !== void 0) this.logger.warn(tagWarning);
|
|
@@ -15764,6 +15805,12 @@ const lostCreateNoun = (what, sent, adjective) => sent.length === 0 ? `${adjecti
|
|
|
15764
15805
|
function isCreateTagsDenial(error) {
|
|
15765
15806
|
return isNamedError(error, CREATE_TAGS_DENIAL_NAMES) && describeAwsFailure(error).detail.includes("ec2:CreateTags");
|
|
15766
15807
|
}
|
|
15808
|
+
const CDKD_NOTES = /* @__PURE__ */ new WeakMap();
|
|
15809
|
+
function redactedEc2FailureText(error, failure) {
|
|
15810
|
+
if (!(error instanceof Error)) return failure.summary;
|
|
15811
|
+
const collision = isNameCollisionError(failure.detail) ? " AWS reports that it already exists." : "";
|
|
15812
|
+
return `${failure.summary}${collision}${CDKD_NOTES.get(error) ?? ""}`;
|
|
15813
|
+
}
|
|
15767
15814
|
const CREATE_TAGS_DENIAL_NAMES = /* @__PURE__ */ new Set(["UnauthorizedOperation"]);
|
|
15768
15815
|
const IDEMPOTENT_MISMATCH_NAMES = /* @__PURE__ */ new Set(["IdempotentParameterMismatch"]);
|
|
15769
15816
|
const OWN_WRITE_READ_ATTEMPTS = 5;
|
|
@@ -16038,7 +16085,7 @@ var EC2Provider = class {
|
|
|
16038
16085
|
} catch (error) {
|
|
16039
16086
|
if (error instanceof CdkdError) throw error;
|
|
16040
16087
|
const cause = error instanceof Error ? error : void 0;
|
|
16041
|
-
throw new ProvisioningError(`Failed to update EC2 resource ${logicalId}: ${
|
|
16088
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to update EC2 resource ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16042
16089
|
}
|
|
16043
16090
|
}
|
|
16044
16091
|
async applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties, context) {
|
|
@@ -16279,7 +16326,7 @@ var EC2Provider = class {
|
|
|
16279
16326
|
};
|
|
16280
16327
|
} catch (error) {
|
|
16281
16328
|
const cause = error instanceof Error ? error : void 0;
|
|
16282
|
-
const thrown = new ProvisioningError(`Failed to create VPC ${logicalId}: ${
|
|
16329
|
+
const thrown = this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create VPC ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
16283
16330
|
if (leftBehindId !== void 0) {
|
|
16284
16331
|
markCreatedBeforeFailure(thrown, logicalId, resourceType, leftBehindId);
|
|
16285
16332
|
markNonRetryable(thrown);
|
|
@@ -16319,7 +16366,7 @@ var EC2Provider = class {
|
|
|
16319
16366
|
};
|
|
16320
16367
|
} catch (error) {
|
|
16321
16368
|
const cause = error instanceof Error ? error : void 0;
|
|
16322
|
-
throw new ProvisioningError(`Failed to update VPC ${logicalId}: ${
|
|
16369
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to update VPC ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16323
16370
|
}
|
|
16324
16371
|
}
|
|
16325
16372
|
async deleteVpc(logicalId, physicalId, resourceType, context) {
|
|
@@ -16344,7 +16391,7 @@ var EC2Provider = class {
|
|
|
16344
16391
|
continue;
|
|
16345
16392
|
}
|
|
16346
16393
|
const cause = error instanceof Error ? error : void 0;
|
|
16347
|
-
throw new ProvisioningError(`Failed to delete VPC ${logicalId}: ${
|
|
16394
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete VPC ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16348
16395
|
}
|
|
16349
16396
|
}
|
|
16350
16397
|
async getVpcAttribute(physicalId, attributeName) {
|
|
@@ -16439,7 +16486,7 @@ var EC2Provider = class {
|
|
|
16439
16486
|
};
|
|
16440
16487
|
} catch (error) {
|
|
16441
16488
|
const cause = error instanceof Error ? error : void 0;
|
|
16442
|
-
const thrown = new ProvisioningError(`Failed to create Subnet ${logicalId}: ${
|
|
16489
|
+
const thrown = this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create Subnet ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
16443
16490
|
if (leftBehindId !== void 0) markCreatedBeforeFailure(thrown, logicalId, resourceType, leftBehindId);
|
|
16444
16491
|
throw thrown;
|
|
16445
16492
|
}
|
|
@@ -16475,7 +16522,7 @@ var EC2Provider = class {
|
|
|
16475
16522
|
} catch (error) {
|
|
16476
16523
|
if (error instanceof CdkdError) throw error;
|
|
16477
16524
|
const cause = error instanceof Error ? error : void 0;
|
|
16478
|
-
throw new ProvisioningError(`Failed to update Subnet ${logicalId}: ${
|
|
16525
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to update Subnet ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16479
16526
|
}
|
|
16480
16527
|
}
|
|
16481
16528
|
async waitForSubnetMapPublicIp(subnetId, expected) {
|
|
@@ -16514,7 +16561,7 @@ var EC2Provider = class {
|
|
|
16514
16561
|
continue;
|
|
16515
16562
|
}
|
|
16516
16563
|
const cause = error instanceof Error ? error : void 0;
|
|
16517
|
-
throw new ProvisioningError(`Failed to delete Subnet ${logicalId}: ${
|
|
16564
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete Subnet ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16518
16565
|
}
|
|
16519
16566
|
}
|
|
16520
16567
|
async cleanupSubnetLambdaEnis(subnetId) {
|
|
@@ -16583,7 +16630,7 @@ var EC2Provider = class {
|
|
|
16583
16630
|
};
|
|
16584
16631
|
} catch (error) {
|
|
16585
16632
|
const cause = error instanceof Error ? error : void 0;
|
|
16586
|
-
throw new ProvisioningError(`Failed to create InternetGateway ${logicalId}: ${
|
|
16633
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create InternetGateway ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
16587
16634
|
}
|
|
16588
16635
|
}
|
|
16589
16636
|
updateInternetGateway(logicalId, physicalId) {
|
|
@@ -16602,7 +16649,7 @@ var EC2Provider = class {
|
|
|
16602
16649
|
return;
|
|
16603
16650
|
}
|
|
16604
16651
|
const cause = error instanceof Error ? error : void 0;
|
|
16605
|
-
throw new ProvisioningError(`Failed to delete InternetGateway ${logicalId}: ${
|
|
16652
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete InternetGateway ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16606
16653
|
}
|
|
16607
16654
|
}
|
|
16608
16655
|
eipPhysicalId(logicalId, publicIp, allocationId, options) {
|
|
@@ -16701,7 +16748,7 @@ var EC2Provider = class {
|
|
|
16701
16748
|
this.logger.warn(safeMsg`Failed to release partially-created EIP ${logicalId} (${allocatedId}): ${describeAwsFailure(cleanupError).detail}. Manual release may be required: ${pasteableAwsCommand(context?.maskSecrets)`aws ec2 release-address --allocation-id ${allocatedId}`.render()}`);
|
|
16702
16749
|
}
|
|
16703
16750
|
const cause = error instanceof Error ? error : void 0;
|
|
16704
|
-
const thrown = new ProvisioningError(`Failed to create EIP ${logicalId}: ${
|
|
16751
|
+
const thrown = this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create EIP ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
16705
16752
|
if (createdId !== void 0) {
|
|
16706
16753
|
markCreatedBeforeFailure(thrown, logicalId, resourceType, createdId);
|
|
16707
16754
|
markNonRetryable(thrown);
|
|
@@ -16772,7 +16819,7 @@ var EC2Provider = class {
|
|
|
16772
16819
|
return;
|
|
16773
16820
|
}
|
|
16774
16821
|
const cause = error instanceof Error ? error : void 0;
|
|
16775
|
-
throw new ProvisioningError(`Failed to delete EIP ${logicalId}: ${
|
|
16822
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete EIP ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16776
16823
|
}
|
|
16777
16824
|
}
|
|
16778
16825
|
async getEipAttribute(physicalId, attributeName) {
|
|
@@ -16815,7 +16862,7 @@ var EC2Provider = class {
|
|
|
16815
16862
|
};
|
|
16816
16863
|
} catch (error) {
|
|
16817
16864
|
const cause = error instanceof Error ? error : void 0;
|
|
16818
|
-
throw new ProvisioningError(`Failed to create VPCGatewayAttachment ${logicalId}: ${
|
|
16865
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create VPCGatewayAttachment ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
16819
16866
|
}
|
|
16820
16867
|
}
|
|
16821
16868
|
updateVpcGatewayAttachment(logicalId, physicalId) {
|
|
@@ -16840,7 +16887,7 @@ var EC2Provider = class {
|
|
|
16840
16887
|
return;
|
|
16841
16888
|
}
|
|
16842
16889
|
const cause = error instanceof Error ? error : void 0;
|
|
16843
|
-
throw new ProvisioningError(`Failed to delete VPCGatewayAttachment ${logicalId}: ${
|
|
16890
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete VPCGatewayAttachment ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16844
16891
|
}
|
|
16845
16892
|
}
|
|
16846
16893
|
async createNatGateway(logicalId, resourceType, properties) {
|
|
@@ -16886,7 +16933,7 @@ var EC2Provider = class {
|
|
|
16886
16933
|
};
|
|
16887
16934
|
} catch (error) {
|
|
16888
16935
|
const cause = error instanceof Error ? error : void 0;
|
|
16889
|
-
const thrown = new ProvisioningError(`Failed to create NatGateway ${logicalId}: ${
|
|
16936
|
+
const thrown = this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create NatGateway ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
16890
16937
|
if (createdId !== void 0) markCreatedBeforeFailure(thrown, logicalId, resourceType, createdId);
|
|
16891
16938
|
throw thrown;
|
|
16892
16939
|
}
|
|
@@ -16907,7 +16954,7 @@ var EC2Provider = class {
|
|
|
16907
16954
|
return;
|
|
16908
16955
|
}
|
|
16909
16956
|
const cause = error instanceof Error ? error : void 0;
|
|
16910
|
-
throw new ProvisioningError(`Failed to delete NatGateway ${logicalId}: ${
|
|
16957
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete NatGateway ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16911
16958
|
}
|
|
16912
16959
|
this.logger.debug(`Waiting for NatGateway ${physicalId} to reach deleted state...`);
|
|
16913
16960
|
try {
|
|
@@ -16947,7 +16994,7 @@ var EC2Provider = class {
|
|
|
16947
16994
|
};
|
|
16948
16995
|
} catch (error) {
|
|
16949
16996
|
const cause = error instanceof Error ? error : void 0;
|
|
16950
|
-
throw new ProvisioningError(`Failed to create RouteTable ${logicalId}: ${
|
|
16997
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create RouteTable ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
16951
16998
|
}
|
|
16952
16999
|
}
|
|
16953
17000
|
updateRouteTable(logicalId, physicalId) {
|
|
@@ -16966,7 +17013,7 @@ var EC2Provider = class {
|
|
|
16966
17013
|
return;
|
|
16967
17014
|
}
|
|
16968
17015
|
const cause = error instanceof Error ? error : void 0;
|
|
16969
|
-
throw new ProvisioningError(`Failed to delete RouteTable ${logicalId}: ${
|
|
17016
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete RouteTable ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
16970
17017
|
}
|
|
16971
17018
|
}
|
|
16972
17019
|
async createRoute(logicalId, resourceType, properties, onMultipleDestinations, maskSecrets) {
|
|
@@ -17021,7 +17068,7 @@ var EC2Provider = class {
|
|
|
17021
17068
|
};
|
|
17022
17069
|
} catch (error) {
|
|
17023
17070
|
const cause = error instanceof Error ? error : void 0;
|
|
17024
|
-
throw new ProvisioningError(`Failed to create Route ${logicalId}: ${
|
|
17071
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create Route ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
17025
17072
|
}
|
|
17026
17073
|
}
|
|
17027
17074
|
async updateRoute(logicalId, physicalId, resourceType, properties, previousProperties, context) {
|
|
@@ -17047,7 +17094,7 @@ var EC2Provider = class {
|
|
|
17047
17094
|
} catch (error) {
|
|
17048
17095
|
if (error instanceof CdkdError) throw error;
|
|
17049
17096
|
const cause = error instanceof Error ? error : void 0;
|
|
17050
|
-
throw new ProvisioningError(`Failed to update Route ${logicalId}: ${
|
|
17097
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to update Route ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
17051
17098
|
}
|
|
17052
17099
|
}
|
|
17053
17100
|
async deleteRoute(logicalId, physicalId, resourceType, context) {
|
|
@@ -17070,7 +17117,7 @@ var EC2Provider = class {
|
|
|
17070
17117
|
return;
|
|
17071
17118
|
}
|
|
17072
17119
|
const cause = error instanceof Error ? error : void 0;
|
|
17073
|
-
throw new ProvisioningError(`Failed to delete Route ${logicalId}: ${
|
|
17120
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete Route ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
17074
17121
|
}
|
|
17075
17122
|
}
|
|
17076
17123
|
async createSubnetRouteTableAssociation(logicalId, resourceType, properties) {
|
|
@@ -17090,7 +17137,7 @@ var EC2Provider = class {
|
|
|
17090
17137
|
};
|
|
17091
17138
|
} catch (error) {
|
|
17092
17139
|
const cause = error instanceof Error ? error : void 0;
|
|
17093
|
-
throw new ProvisioningError(`Failed to create SubnetRouteTableAssociation ${logicalId}: ${
|
|
17140
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create SubnetRouteTableAssociation ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
17094
17141
|
}
|
|
17095
17142
|
}
|
|
17096
17143
|
updateSubnetRouteTableAssociation(logicalId, physicalId) {
|
|
@@ -17109,7 +17156,7 @@ var EC2Provider = class {
|
|
|
17109
17156
|
return;
|
|
17110
17157
|
}
|
|
17111
17158
|
const cause = error instanceof Error ? error : void 0;
|
|
17112
|
-
throw new ProvisioningError(`Failed to delete SubnetRouteTableAssociation ${logicalId}: ${
|
|
17159
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete SubnetRouteTableAssociation ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
17113
17160
|
}
|
|
17114
17161
|
}
|
|
17115
17162
|
async createSecurityGroup(logicalId, resourceType, properties) {
|
|
@@ -17160,7 +17207,7 @@ var EC2Provider = class {
|
|
|
17160
17207
|
};
|
|
17161
17208
|
} catch (error) {
|
|
17162
17209
|
const cause = error instanceof Error ? error : void 0;
|
|
17163
|
-
const thrown = new ProvisioningError(`Failed to create SecurityGroup ${logicalId}: ${
|
|
17210
|
+
const thrown = this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create SecurityGroup ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
17164
17211
|
if (leftBehindId !== void 0) markCreatedBeforeFailure(thrown, logicalId, resourceType, leftBehindId);
|
|
17165
17212
|
throw thrown;
|
|
17166
17213
|
}
|
|
@@ -17213,7 +17260,7 @@ var EC2Provider = class {
|
|
|
17213
17260
|
};
|
|
17214
17261
|
} catch (error) {
|
|
17215
17262
|
const cause = error instanceof Error ? error : void 0;
|
|
17216
|
-
throw new ProvisioningError(`Failed to update SecurityGroup ${logicalId}: ${
|
|
17263
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to update SecurityGroup ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
17217
17264
|
}
|
|
17218
17265
|
}
|
|
17219
17266
|
async deleteSecurityGroup(logicalId, physicalId, resourceType, context) {
|
|
@@ -17231,15 +17278,14 @@ var EC2Provider = class {
|
|
|
17231
17278
|
else this.logger.debug(`SecurityGroup ${physicalId} does not exist, skipping deletion`);
|
|
17232
17279
|
return;
|
|
17233
17280
|
}
|
|
17234
|
-
|
|
17235
|
-
if (msg.includes("dependent object") && attempt < maxAttempts) {
|
|
17281
|
+
if (describeAwsFailure(error).detail.includes("dependent object") && attempt < maxAttempts) {
|
|
17236
17282
|
await this.cleanupSecurityGroupLambdaEnis(physicalId);
|
|
17237
17283
|
this.logger.debug(`SecurityGroup ${physicalId} has dependent objects (attempt ${attempt}/${maxAttempts}), retrying in ${attempt * 5}s...`);
|
|
17238
17284
|
await new Promise((resolve) => setTimeout(resolve, attempt * 5e3));
|
|
17239
17285
|
continue;
|
|
17240
17286
|
}
|
|
17241
17287
|
const cause = error instanceof Error ? error : void 0;
|
|
17242
|
-
throw new ProvisioningError(`Failed to delete SecurityGroup ${logicalId}: ${
|
|
17288
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete SecurityGroup ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
17243
17289
|
}
|
|
17244
17290
|
}
|
|
17245
17291
|
async cleanupSecurityGroupLambdaEnis(groupId) {
|
|
@@ -17368,7 +17414,7 @@ var EC2Provider = class {
|
|
|
17368
17414
|
};
|
|
17369
17415
|
}
|
|
17370
17416
|
const cause = error instanceof Error ? error : void 0;
|
|
17371
|
-
const failure = new ProvisioningError(`Failed to create SecurityGroupIngress ${logicalId}: ${
|
|
17417
|
+
const failure = this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create SecurityGroupIngress ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
17372
17418
|
const lookup = getPriorAttempts(logicalId);
|
|
17373
17419
|
if (authorizeDefinitelyNotApplied(error) && !earlierSendAmbiguous && lookup?.possiblyLanded() !== true) markRefusedBeforeApplying(failure);
|
|
17374
17420
|
else lookup?.notePossiblyLanded();
|
|
@@ -17562,7 +17608,7 @@ var EC2Provider = class {
|
|
|
17562
17608
|
} catch (error) {
|
|
17563
17609
|
if (error instanceof CdkdError) throw error;
|
|
17564
17610
|
const cause = error instanceof Error ? error : void 0;
|
|
17565
|
-
throw new ProvisioningError(`Failed to update SecurityGroupIngress ${logicalId}: ${
|
|
17611
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to update SecurityGroupIngress ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
17566
17612
|
}
|
|
17567
17613
|
}
|
|
17568
17614
|
withoutDescription(value) {
|
|
@@ -17638,7 +17684,7 @@ var EC2Provider = class {
|
|
|
17638
17684
|
return notMatched();
|
|
17639
17685
|
}
|
|
17640
17686
|
const cause = error instanceof Error ? error : void 0;
|
|
17641
|
-
throw new ProvisioningError(`Failed to delete SecurityGroupIngress ${logicalId}: ${
|
|
17687
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete SecurityGroupIngress ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
17642
17688
|
}
|
|
17643
17689
|
}
|
|
17644
17690
|
async createInstance(logicalId, resourceType, properties, context) {
|
|
@@ -17723,7 +17769,7 @@ var EC2Provider = class {
|
|
|
17723
17769
|
throw markAuxiliaryFailure(innerError, logicalId);
|
|
17724
17770
|
}
|
|
17725
17771
|
} catch (error) {
|
|
17726
|
-
const thrown = error instanceof ProvisioningError ? error : new ProvisioningError(`Failed to create EC2 Instance ${logicalId}: ${
|
|
17772
|
+
const thrown = error instanceof ProvisioningError ? error : this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create EC2 Instance ${logicalId}: ${text}`, resourceType, logicalId, void 0, error instanceof Error ? error : void 0));
|
|
17727
17773
|
if (leftBehindId !== void 0) markCreatedBeforeFailure(thrown, logicalId, resourceType, leftBehindId);
|
|
17728
17774
|
throw thrown;
|
|
17729
17775
|
}
|
|
@@ -17821,7 +17867,7 @@ var EC2Provider = class {
|
|
|
17821
17867
|
};
|
|
17822
17868
|
} catch (error) {
|
|
17823
17869
|
const cause = error instanceof Error ? error : void 0;
|
|
17824
|
-
throw new ProvisioningError(`Failed to update EC2 Instance ${logicalId}: ${
|
|
17870
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to update EC2 Instance ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
17825
17871
|
}
|
|
17826
17872
|
}
|
|
17827
17873
|
async updateInstanceSecurityProps(physicalId, properties, previousProperties) {
|
|
@@ -17912,7 +17958,7 @@ var EC2Provider = class {
|
|
|
17912
17958
|
continue;
|
|
17913
17959
|
}
|
|
17914
17960
|
const cause = error instanceof Error ? error : void 0;
|
|
17915
|
-
throw new ProvisioningError(`Failed to terminate EC2 Instance ${logicalId}: ${
|
|
17961
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to terminate EC2 Instance ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
17916
17962
|
}
|
|
17917
17963
|
}
|
|
17918
17964
|
async getInstanceAttribute(physicalId, attributeName) {
|
|
@@ -18132,7 +18178,7 @@ var EC2Provider = class {
|
|
|
18132
18178
|
};
|
|
18133
18179
|
} catch (error) {
|
|
18134
18180
|
const cause = error instanceof Error ? error : void 0;
|
|
18135
|
-
throw new ProvisioningError(`Failed to create NetworkAcl ${logicalId}: ${
|
|
18181
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create NetworkAcl ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
18136
18182
|
}
|
|
18137
18183
|
}
|
|
18138
18184
|
async deleteNetworkAcl(logicalId, physicalId, resourceType, context) {
|
|
@@ -18148,7 +18194,7 @@ var EC2Provider = class {
|
|
|
18148
18194
|
return;
|
|
18149
18195
|
}
|
|
18150
18196
|
const cause = error instanceof Error ? error : void 0;
|
|
18151
|
-
throw new ProvisioningError(`Failed to delete NetworkAcl ${logicalId}: ${
|
|
18197
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete NetworkAcl ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
18152
18198
|
}
|
|
18153
18199
|
}
|
|
18154
18200
|
async createNetworkAclEntry(logicalId, resourceType, properties, context) {
|
|
@@ -18205,7 +18251,7 @@ var EC2Provider = class {
|
|
|
18205
18251
|
};
|
|
18206
18252
|
} catch (error) {
|
|
18207
18253
|
const cause = error instanceof Error ? error : void 0;
|
|
18208
|
-
throw new ProvisioningError(`Failed to create NetworkAclEntry ${logicalId}: ${
|
|
18254
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create NetworkAclEntry ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
18209
18255
|
}
|
|
18210
18256
|
}
|
|
18211
18257
|
async deleteNetworkAclEntry(logicalId, physicalId, resourceType, context) {
|
|
@@ -18236,7 +18282,7 @@ var EC2Provider = class {
|
|
|
18236
18282
|
return;
|
|
18237
18283
|
}
|
|
18238
18284
|
const cause = error instanceof Error ? error : void 0;
|
|
18239
|
-
throw new ProvisioningError(`Failed to delete NetworkAclEntry ${logicalId}: ${
|
|
18285
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to delete NetworkAclEntry ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
18240
18286
|
}
|
|
18241
18287
|
}
|
|
18242
18288
|
async createSubnetNetworkAclAssociation(logicalId, resourceType, properties) {
|
|
@@ -18270,7 +18316,7 @@ var EC2Provider = class {
|
|
|
18270
18316
|
} catch (error) {
|
|
18271
18317
|
if (error instanceof ProvisioningError) throw error;
|
|
18272
18318
|
const cause = error instanceof Error ? error : void 0;
|
|
18273
|
-
throw new ProvisioningError(`Failed to create SubnetNetworkAclAssociation ${logicalId}: ${
|
|
18319
|
+
throw this.wrapCaughtError(error, (text) => new ProvisioningError(`Failed to create SubnetNetworkAclAssociation ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
18274
18320
|
}
|
|
18275
18321
|
}
|
|
18276
18322
|
async sendTaggedCreate(logicalId, tagResourceType, tags, send) {
|
|
@@ -18306,7 +18352,9 @@ var EC2Provider = class {
|
|
|
18306
18352
|
this.logger.debug(safeMsg`Create of ${logicalId} without tags was refused: ${untaggedDetail}`);
|
|
18307
18353
|
const explicit = isExplicitDenyError(untaggedDetail);
|
|
18308
18354
|
const kind = explicit ? explicitDenyPolicyKind(untaggedDetail) : void 0;
|
|
18309
|
-
|
|
18355
|
+
const note = ` The create without tags was refused too (UnauthorizedOperation)${explicit ? `; explicit deny${kind !== void 0 ? ` (${kind})` : ""}` : ""}.`;
|
|
18356
|
+
taggedError.message = `${taggedError.message}${note}`;
|
|
18357
|
+
CDKD_NOTES.set(taggedError, note);
|
|
18310
18358
|
if (explicit) markNonRetryable(taggedError);
|
|
18311
18359
|
throw taggedError;
|
|
18312
18360
|
}
|
|
@@ -18375,6 +18423,13 @@ var EC2Provider = class {
|
|
|
18375
18423
|
delay = Math.min(delay * 2, maxDelayMs);
|
|
18376
18424
|
}
|
|
18377
18425
|
}
|
|
18426
|
+
wrapCaughtError(error, build) {
|
|
18427
|
+
const failure = describeAwsFailure(error);
|
|
18428
|
+
if (!failure.redacted) return build(failure.detail);
|
|
18429
|
+
this.logger.debug(build(failure.detail).message);
|
|
18430
|
+
const wrapped = build(redactedEc2FailureText(error, failure));
|
|
18431
|
+
return error instanceof Error ? markRedactedCause(wrapped) : wrapped;
|
|
18432
|
+
}
|
|
18378
18433
|
isDependencyViolationError(error) {
|
|
18379
18434
|
if (!(error instanceof Error)) return false;
|
|
18380
18435
|
const code = error.Code ?? "";
|
|
@@ -19370,7 +19425,11 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
19370
19425
|
return region ? aws` --region ${region}` : aws``;
|
|
19371
19426
|
}
|
|
19372
19427
|
wrapMaskedError(mask, error, build) {
|
|
19373
|
-
|
|
19428
|
+
const failure = describeAwsFailure(error);
|
|
19429
|
+
if (!(error instanceof Error)) return build(mask(failure.detail));
|
|
19430
|
+
if (!failure.redacted) return wrapMaskedAwsError(mask, error, build);
|
|
19431
|
+
this.logger.debug(mask(build(mask(failure.detail)).message));
|
|
19432
|
+
return markRedactedCause(build(`${mask(failure.summary)}${relayedNameCollision(failure.detail)}`));
|
|
19374
19433
|
}
|
|
19375
19434
|
async create(logicalId, resourceType, properties, context) {
|
|
19376
19435
|
const log = createMaskedLogSinks(this.logger, context?.maskSecrets);
|
|
@@ -19402,7 +19461,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
19402
19461
|
if (skip) return skip;
|
|
19403
19462
|
}
|
|
19404
19463
|
switch (resourceType) {
|
|
19405
|
-
case "AWS::ApiGateway::Account": return this.deleteAccount(logicalId, physicalId, resourceType);
|
|
19464
|
+
case "AWS::ApiGateway::Account": return this.deleteAccount(logicalId, physicalId, resourceType, context);
|
|
19406
19465
|
case "AWS::ApiGateway::Authorizer": return this.deleteAuthorizer(logicalId, physicalId, resourceType, properties, context);
|
|
19407
19466
|
case "AWS::ApiGateway::Resource": return this.deleteResource(logicalId, physicalId, resourceType, properties, context);
|
|
19408
19467
|
case "AWS::ApiGateway::Deployment": return this.deleteDeployment(logicalId, physicalId, resourceType, properties, context);
|
|
@@ -19453,7 +19512,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
19453
19512
|
throw this.wrapMaskedError(log.mask, error, (text) => new ProvisioningError(`Failed to update API Gateway Account ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
19454
19513
|
}
|
|
19455
19514
|
}
|
|
19456
|
-
async deleteAccount(logicalId, physicalId, resourceType) {
|
|
19515
|
+
async deleteAccount(logicalId, physicalId, resourceType, context) {
|
|
19457
19516
|
this.logger.debug(`Deleting API Gateway Account ${logicalId}`);
|
|
19458
19517
|
try {
|
|
19459
19518
|
await this.apiGatewayClient.send(new UpdateAccountCommand({ patchOperations: [{
|
|
@@ -19464,7 +19523,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
19464
19523
|
this.logger.debug(`Successfully deleted API Gateway Account ${logicalId}`);
|
|
19465
19524
|
} catch (error) {
|
|
19466
19525
|
const cause = error instanceof Error ? error : void 0;
|
|
19467
|
-
throw new ProvisioningError(`Failed to delete API Gateway Account ${logicalId}: ${
|
|
19526
|
+
throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Account ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
19468
19527
|
}
|
|
19469
19528
|
}
|
|
19470
19529
|
async updateAccountWithRetry(cloudWatchRoleArn, logicalId, _resourceType, log) {
|
|
@@ -19642,7 +19701,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
19642
19701
|
return;
|
|
19643
19702
|
}
|
|
19644
19703
|
const cause = error instanceof Error ? error : void 0;
|
|
19645
|
-
throw new ProvisioningError(`Failed to delete API Gateway Authorizer ${logicalId}: ${
|
|
19704
|
+
throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Authorizer ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
19646
19705
|
}
|
|
19647
19706
|
}
|
|
19648
19707
|
getAuthorizerAttribute(physicalId, attributeName) {
|
|
@@ -19685,7 +19744,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
19685
19744
|
orphanReason = `old API Gateway Resource ${physicalId} was not deleted: its recorded RestApiId is redacted`;
|
|
19686
19745
|
oldResourceSurvivor = "kept";
|
|
19687
19746
|
log.warn(safeMsg`Old API Gateway Resource ${physicalId} was not deleted during replacement: its ` + "recorded RestApiId is redacted in state, which names no API. The old resource may be orphaned and require manual cleanup.");
|
|
19688
|
-
} else await this.deleteResource(logicalId, physicalId, resourceType, previousProperties);
|
|
19747
|
+
} else await this.deleteResource(logicalId, physicalId, resourceType, previousProperties, { maskSecrets: log.mask });
|
|
19689
19748
|
} catch (error) {
|
|
19690
19749
|
oldResourceSurvivor = replacedDeleteFailureVerdict(error);
|
|
19691
19750
|
orphanReason = log.mask(`old API Gateway Resource ${physicalId} could not be deleted: ${safeStringify(error)}`);
|
|
@@ -19727,7 +19786,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
19727
19786
|
return;
|
|
19728
19787
|
}
|
|
19729
19788
|
const cause = error instanceof Error ? error : void 0;
|
|
19730
|
-
throw new ProvisioningError(`Failed to delete API Gateway Resource ${logicalId}: ${
|
|
19789
|
+
throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Resource ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
19731
19790
|
}
|
|
19732
19791
|
}
|
|
19733
19792
|
getResourceAttribute(physicalId, _resourceType, attributeName) {
|
|
@@ -19812,7 +19871,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
19812
19871
|
return;
|
|
19813
19872
|
}
|
|
19814
19873
|
const cause = error instanceof Error ? error : void 0;
|
|
19815
|
-
throw new ProvisioningError(`Failed to delete API Gateway Deployment ${logicalId}: ${
|
|
19874
|
+
throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Deployment ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
19816
19875
|
}
|
|
19817
19876
|
}
|
|
19818
19877
|
getDeploymentAttribute(physicalId, attributeName) {
|
|
@@ -20056,7 +20115,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
20056
20115
|
return;
|
|
20057
20116
|
}
|
|
20058
20117
|
const cause = error instanceof Error ? error : void 0;
|
|
20059
|
-
throw new ProvisioningError(`Failed to delete API Gateway Stage ${logicalId}: ${
|
|
20118
|
+
throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Stage ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
20060
20119
|
}
|
|
20061
20120
|
}
|
|
20062
20121
|
getStageAttribute(physicalId, attributeName) {
|
|
@@ -20280,7 +20339,7 @@ var ApiGatewayProvider = class ApiGatewayProvider {
|
|
|
20280
20339
|
return;
|
|
20281
20340
|
}
|
|
20282
20341
|
const cause = error instanceof Error ? error : void 0;
|
|
20283
|
-
throw new ProvisioningError(`Failed to delete API Gateway Method ${logicalId}: ${
|
|
20342
|
+
throw this.wrapMaskedError(context?.maskSecrets ?? ((text) => text), error, (text) => new ProvisioningError(`Failed to delete API Gateway Method ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
20284
20343
|
}
|
|
20285
20344
|
}
|
|
20286
20345
|
getMethodAttribute(physicalId, attributeName) {
|
|
@@ -20742,7 +20801,11 @@ var ApiGatewayV2Provider = class {
|
|
|
20742
20801
|
return region ? aws` --region ${region}` : aws``;
|
|
20743
20802
|
}
|
|
20744
20803
|
wrapMaskedError(log, error, build) {
|
|
20745
|
-
|
|
20804
|
+
const failure = describeAwsFailure(error);
|
|
20805
|
+
if (!(error instanceof Error)) return build(log.mask(failure.detail));
|
|
20806
|
+
if (!failure.redacted) return wrapMaskedAwsError(log.mask, error, build);
|
|
20807
|
+
log.debug(build(log.mask(failure.detail)).message);
|
|
20808
|
+
return markRedactedCause(build(`${log.mask(failure.summary)}${relayedNameCollision(failure.detail)}`));
|
|
20746
20809
|
}
|
|
20747
20810
|
async create(logicalId, resourceType, properties, context) {
|
|
20748
20811
|
const log = resourceType === "AWS::ApiGatewayV2::Stage" ? stageSinks(this.logger, context, [[properties["StageName"], properties["StageName"]]]) : createMaskedLogSinks(this.logger, context?.maskSecrets);
|
|
@@ -20874,7 +20937,7 @@ var ApiGatewayV2Provider = class {
|
|
|
20874
20937
|
return;
|
|
20875
20938
|
}
|
|
20876
20939
|
const cause = error instanceof Error ? error : void 0;
|
|
20877
|
-
throw new ProvisioningError(`Failed to delete API Gateway V2 Api ${logicalId}: ${
|
|
20940
|
+
throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Api ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
20878
20941
|
}
|
|
20879
20942
|
}
|
|
20880
20943
|
async buildExecuteApiArn(apiId, log = createMaskedLogSinks(this.logger, void 0)) {
|
|
@@ -20945,7 +21008,7 @@ var ApiGatewayV2Provider = class {
|
|
|
20945
21008
|
return;
|
|
20946
21009
|
}
|
|
20947
21010
|
const cause = error instanceof Error ? error : void 0;
|
|
20948
|
-
throw new ProvisioningError(`Failed to delete API Gateway V2 Stage ${logicalId}: ${
|
|
21011
|
+
throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Stage ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
20949
21012
|
}
|
|
20950
21013
|
}
|
|
20951
21014
|
getStageAttribute(physicalId, attributeName) {
|
|
@@ -21042,7 +21105,7 @@ var ApiGatewayV2Provider = class {
|
|
|
21042
21105
|
return;
|
|
21043
21106
|
}
|
|
21044
21107
|
const cause = error instanceof Error ? error : void 0;
|
|
21045
|
-
throw new ProvisioningError(`Failed to delete API Gateway V2 Integration ${logicalId}: ${
|
|
21108
|
+
throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Integration ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
21046
21109
|
}
|
|
21047
21110
|
}
|
|
21048
21111
|
getIntegrationAttribute(physicalId, attributeName) {
|
|
@@ -21096,7 +21159,7 @@ var ApiGatewayV2Provider = class {
|
|
|
21096
21159
|
return;
|
|
21097
21160
|
}
|
|
21098
21161
|
const cause = error instanceof Error ? error : void 0;
|
|
21099
|
-
throw new ProvisioningError(`Failed to delete API Gateway V2 Route ${logicalId}: ${
|
|
21162
|
+
throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Route ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
21100
21163
|
}
|
|
21101
21164
|
}
|
|
21102
21165
|
getRouteAttribute(physicalId, attributeName) {
|
|
@@ -21185,7 +21248,7 @@ var ApiGatewayV2Provider = class {
|
|
|
21185
21248
|
return;
|
|
21186
21249
|
}
|
|
21187
21250
|
const cause = error instanceof Error ? error : void 0;
|
|
21188
|
-
throw new ProvisioningError(`Failed to delete API Gateway V2 Authorizer ${logicalId}: ${
|
|
21251
|
+
throw this.wrapMaskedError(createMaskedLogSinks(this.logger, context?.maskSecrets), error, (text) => new ProvisioningError(`Failed to delete API Gateway V2 Authorizer ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
21189
21252
|
}
|
|
21190
21253
|
}
|
|
21191
21254
|
getDriftUnknownPaths(resourceType, properties) {
|
|
@@ -34794,6 +34857,13 @@ var GlueWorkflowProvider = class {
|
|
|
34794
34857
|
"MaxConcurrentRuns",
|
|
34795
34858
|
"Tags"
|
|
34796
34859
|
])]]);
|
|
34860
|
+
removalHandledInUpdate = /* @__PURE__ */ new Map([["AWS::Glue::Workflow", /* @__PURE__ */ new Set([
|
|
34861
|
+
"Name",
|
|
34862
|
+
"Description",
|
|
34863
|
+
"DefaultRunProperties",
|
|
34864
|
+
"MaxConcurrentRuns",
|
|
34865
|
+
"Tags"
|
|
34866
|
+
])]]);
|
|
34797
34867
|
getClient() {
|
|
34798
34868
|
if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
|
|
34799
34869
|
return this.client;
|
|
@@ -35892,6 +35962,18 @@ var GlueTriggerProvider = class {
|
|
|
35892
35962
|
"WorkflowName",
|
|
35893
35963
|
"Tags"
|
|
35894
35964
|
])]]);
|
|
35965
|
+
removalHandledInUpdate = /* @__PURE__ */ new Map([["AWS::Glue::Trigger", /* @__PURE__ */ new Set([
|
|
35966
|
+
"Name",
|
|
35967
|
+
"Type",
|
|
35968
|
+
"WorkflowName",
|
|
35969
|
+
"Description",
|
|
35970
|
+
"Schedule",
|
|
35971
|
+
"Actions",
|
|
35972
|
+
"Predicate",
|
|
35973
|
+
"EventBatchingCondition",
|
|
35974
|
+
"StartOnCreation",
|
|
35975
|
+
"Tags"
|
|
35976
|
+
])]]);
|
|
35895
35977
|
getClient() {
|
|
35896
35978
|
if (!this.client) ({client: this.client, createClient: this.createClient} = newGlueClients(this.providerRegion));
|
|
35897
35979
|
return this.client;
|
|
@@ -45087,11 +45169,21 @@ function tableIdentityFromGetTable(tableARN, namespace, name) {
|
|
|
45087
45169
|
name
|
|
45088
45170
|
};
|
|
45089
45171
|
}
|
|
45172
|
+
function sentence(text) {
|
|
45173
|
+
return text.endsWith(".") ? text : `${text}.`;
|
|
45174
|
+
}
|
|
45090
45175
|
var S3TablesProvider = class {
|
|
45091
45176
|
client;
|
|
45092
45177
|
createClient;
|
|
45093
45178
|
providerRegion = ambientRegion();
|
|
45094
45179
|
logger = getLogger().child("S3TablesProvider");
|
|
45180
|
+
wrapCaughtError(mask, error, build) {
|
|
45181
|
+
const failure = describeAwsFailure(error);
|
|
45182
|
+
if (!(error instanceof Error) || !failure.redacted) return build(failure.detail);
|
|
45183
|
+
const m = mask ?? ((text) => text);
|
|
45184
|
+
this.logger.debug(m(build(m(failure.detail)).message));
|
|
45185
|
+
return markRedactedCause(build(`${m(failure.summary)}${relayedNameCollision(failure.detail)}`));
|
|
45186
|
+
}
|
|
45095
45187
|
handledProperties = /* @__PURE__ */ new Map([
|
|
45096
45188
|
["AWS::S3Tables::TableBucket", /* @__PURE__ */ new Set(["TableBucketName", "Tags"])],
|
|
45097
45189
|
["AWS::S3Tables::Namespace", /* @__PURE__ */ new Set(["TableBucketARN", "Namespace"])],
|
|
@@ -45124,7 +45216,7 @@ var S3TablesProvider = class {
|
|
|
45124
45216
|
}
|
|
45125
45217
|
async create(logicalId, resourceType, properties, context) {
|
|
45126
45218
|
switch (resourceType) {
|
|
45127
|
-
case "AWS::S3Tables::TableBucket": return this.createTableBucket(logicalId, resourceType, properties);
|
|
45219
|
+
case "AWS::S3Tables::TableBucket": return this.createTableBucket(logicalId, resourceType, properties, context);
|
|
45128
45220
|
case "AWS::S3Tables::Namespace": return this.createNamespace(logicalId, resourceType, properties, context);
|
|
45129
45221
|
case "AWS::S3Tables::Table": return this.createTable(logicalId, resourceType, properties, context);
|
|
45130
45222
|
default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId);
|
|
@@ -45134,16 +45226,16 @@ var S3TablesProvider = class {
|
|
|
45134
45226
|
assertRegionMatch(context?.expectedRegion ? await this.getClient().config.region() : void 0, context?.expectedRegion, resourceType, logicalId, physicalId, "pre-update");
|
|
45135
45227
|
if (resourceType === "AWS::S3Tables::Table" || resourceType === "AWS::S3Tables::TableBucket") refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId, physicalId);
|
|
45136
45228
|
try {
|
|
45137
|
-
return await this.applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties);
|
|
45229
|
+
return await this.applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties, context?.maskSecrets);
|
|
45138
45230
|
} catch (error) {
|
|
45139
45231
|
if (error instanceof CdkdError) throw error;
|
|
45140
45232
|
const cause = error instanceof Error ? error : void 0;
|
|
45141
|
-
throw new ProvisioningError(`Failed to update S3 Tables resource ${logicalId}: ${
|
|
45233
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to update S3 Tables resource ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
45142
45234
|
}
|
|
45143
45235
|
}
|
|
45144
|
-
async applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties) {
|
|
45145
|
-
if (resourceType === "AWS::S3Tables::Table") await this.applyTableTagsDiff(logicalId, physicalId, resourceType, previousProperties["Tags"], properties["Tags"]);
|
|
45146
|
-
else if (resourceType === "AWS::S3Tables::TableBucket") await this.applyTableBucketTagsDiff(logicalId, physicalId, resourceType, previousProperties["Tags"], properties["Tags"]);
|
|
45236
|
+
async applyUpdate(logicalId, physicalId, resourceType, properties, previousProperties, mask) {
|
|
45237
|
+
if (resourceType === "AWS::S3Tables::Table") await this.applyTableTagsDiff(logicalId, physicalId, resourceType, previousProperties["Tags"], properties["Tags"], mask);
|
|
45238
|
+
else if (resourceType === "AWS::S3Tables::TableBucket") await this.applyTableBucketTagsDiff(logicalId, physicalId, resourceType, previousProperties["Tags"], properties["Tags"], mask);
|
|
45147
45239
|
else this.logger.debug(`Update is no-op for ${resourceType} ${logicalId}`);
|
|
45148
45240
|
return {
|
|
45149
45241
|
physicalId,
|
|
@@ -45159,7 +45251,7 @@ var S3TablesProvider = class {
|
|
|
45159
45251
|
default: throw new ProvisioningError(`Unsupported resource type: ${resourceType}`, resourceType, logicalId, physicalId);
|
|
45160
45252
|
}
|
|
45161
45253
|
}
|
|
45162
|
-
async createTableBucket(logicalId, resourceType, properties) {
|
|
45254
|
+
async createTableBucket(logicalId, resourceType, properties, context) {
|
|
45163
45255
|
this.logger.debug(`Creating S3 Table Bucket ${logicalId}`);
|
|
45164
45256
|
const desiredTags = refuseMalformedDesiredTags(properties["Tags"], resourceType, logicalId);
|
|
45165
45257
|
const tableBucketName = properties["TableBucketName"];
|
|
@@ -45177,7 +45269,7 @@ var S3TablesProvider = class {
|
|
|
45177
45269
|
};
|
|
45178
45270
|
} catch (error) {
|
|
45179
45271
|
const cause = error instanceof Error ? error : void 0;
|
|
45180
|
-
throw new ProvisioningError(`Failed to create S3 Table Bucket ${logicalId}: ${
|
|
45272
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to create S3 Table Bucket ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
45181
45273
|
}
|
|
45182
45274
|
}
|
|
45183
45275
|
async deleteTableBucket(logicalId, physicalId, resourceType, context) {
|
|
@@ -45194,7 +45286,7 @@ var S3TablesProvider = class {
|
|
|
45194
45286
|
return;
|
|
45195
45287
|
}
|
|
45196
45288
|
const cause = error instanceof Error ? error : void 0;
|
|
45197
|
-
throw new ProvisioningError(`Failed to delete S3 Table Bucket ${logicalId}: ${
|
|
45289
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete S3 Table Bucket ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
45198
45290
|
}
|
|
45199
45291
|
}
|
|
45200
45292
|
async emptyTableBucket(tableBucketARN) {
|
|
@@ -45274,7 +45366,7 @@ var S3TablesProvider = class {
|
|
|
45274
45366
|
};
|
|
45275
45367
|
} catch (error) {
|
|
45276
45368
|
const cause = error instanceof Error ? error : void 0;
|
|
45277
|
-
throw new ProvisioningError(`Failed to create S3 Tables Namespace ${logicalId}: ${
|
|
45369
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to create S3 Tables Namespace ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
45278
45370
|
}
|
|
45279
45371
|
}
|
|
45280
45372
|
async deleteNamespace(logicalId, physicalId, resourceType, context) {
|
|
@@ -45295,7 +45387,7 @@ var S3TablesProvider = class {
|
|
|
45295
45387
|
return;
|
|
45296
45388
|
}
|
|
45297
45389
|
const cause = error instanceof Error ? error : void 0;
|
|
45298
|
-
throw new ProvisioningError(`Failed to delete S3 Tables Namespace ${logicalId}: ${
|
|
45390
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete S3 Tables Namespace ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
45299
45391
|
}
|
|
45300
45392
|
}
|
|
45301
45393
|
async createTable(logicalId, resourceType, properties, context) {
|
|
@@ -45346,7 +45438,7 @@ var S3TablesProvider = class {
|
|
|
45346
45438
|
};
|
|
45347
45439
|
} catch (error) {
|
|
45348
45440
|
const cause = error instanceof Error ? error : void 0;
|
|
45349
|
-
const thrown = new ProvisioningError(`Failed to create S3 Tables Table ${logicalId}: ${
|
|
45441
|
+
const thrown = this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to create S3 Tables Table ${logicalId}: ${text}`, resourceType, logicalId, void 0, cause));
|
|
45350
45442
|
if (tableCreated) markCreatedBeforeFailure(thrown, logicalId, resourceType, physicalId);
|
|
45351
45443
|
throw thrown;
|
|
45352
45444
|
}
|
|
@@ -45609,7 +45701,7 @@ var S3TablesProvider = class {
|
|
|
45609
45701
|
resolved = await this.resolveTableParts(physicalId);
|
|
45610
45702
|
} catch (error) {
|
|
45611
45703
|
const cause = error instanceof Error ? error : void 0;
|
|
45612
|
-
throw new ProvisioningError(`Failed to resolve S3 Tables Table ${logicalId} (${physicalId}): ${
|
|
45704
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to resolve S3 Tables Table ${logicalId} (${physicalId}): ${text}`, resourceType, logicalId, physicalId, cause));
|
|
45613
45705
|
}
|
|
45614
45706
|
if (resolved === "not-found") {
|
|
45615
45707
|
const clientRegion = await this.getClient().config.region();
|
|
@@ -45634,7 +45726,7 @@ var S3TablesProvider = class {
|
|
|
45634
45726
|
return;
|
|
45635
45727
|
}
|
|
45636
45728
|
const cause = error instanceof Error ? error : void 0;
|
|
45637
|
-
throw new ProvisioningError(`Failed to delete S3 Tables Table ${logicalId}: ${
|
|
45729
|
+
throw this.wrapCaughtError(context?.maskSecrets, error, (text) => new ProvisioningError(`Failed to delete S3 Tables Table ${logicalId}: ${text}`, resourceType, logicalId, physicalId, cause));
|
|
45638
45730
|
}
|
|
45639
45731
|
}
|
|
45640
45732
|
tagListToSdkMap(tags) {
|
|
@@ -45669,7 +45761,7 @@ var S3TablesProvider = class {
|
|
|
45669
45761
|
return [];
|
|
45670
45762
|
}
|
|
45671
45763
|
}
|
|
45672
|
-
async applyTableTagsDiff(logicalId, physicalId, resourceType, previousTags, newTags) {
|
|
45764
|
+
async applyTableTagsDiff(logicalId, physicalId, resourceType, previousTags, newTags, mask) {
|
|
45673
45765
|
const plan = planTagDiff(previousTags, newTags);
|
|
45674
45766
|
const tagWarning = tagPlanWarning(plan, resourceType, logicalId);
|
|
45675
45767
|
if (tagWarning !== void 0) this.logger.warn(tagWarning);
|
|
@@ -45689,7 +45781,7 @@ var S3TablesProvider = class {
|
|
|
45689
45781
|
}));
|
|
45690
45782
|
} catch (err) {
|
|
45691
45783
|
const cause = err instanceof Error ? err : void 0;
|
|
45692
|
-
throw new ProvisioningError(`applyTableTagsDiff: UntagResource failed for ${resourceArn} (keys: ${removedKeys.join(", ")}): ${
|
|
45784
|
+
throw this.wrapCaughtError(mask, err, (text) => new ProvisioningError(`applyTableTagsDiff: UntagResource failed for ${resourceArn} (keys: ${removedKeys.join(", ")}): ${sentence(text)} State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause));
|
|
45693
45785
|
}
|
|
45694
45786
|
if (Object.keys(upserts).length > 0) try {
|
|
45695
45787
|
await this.getClient().send(new TagResourceCommand$27({
|
|
@@ -45698,10 +45790,10 @@ var S3TablesProvider = class {
|
|
|
45698
45790
|
}));
|
|
45699
45791
|
} catch (err) {
|
|
45700
45792
|
const cause = err instanceof Error ? err : void 0;
|
|
45701
|
-
throw new ProvisioningError(`applyTableTagsDiff: TagResource failed for ${resourceArn} (keys: ${Object.keys(upserts).join(", ")}): ${
|
|
45793
|
+
throw this.wrapCaughtError(mask, err, (text) => new ProvisioningError(`applyTableTagsDiff: TagResource failed for ${resourceArn} (keys: ${Object.keys(upserts).join(", ")}): ${sentence(text)} State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause));
|
|
45702
45794
|
}
|
|
45703
45795
|
}
|
|
45704
|
-
async applyTableBucketTagsDiff(logicalId, physicalId, resourceType, previousTags, newTags) {
|
|
45796
|
+
async applyTableBucketTagsDiff(logicalId, physicalId, resourceType, previousTags, newTags, mask) {
|
|
45705
45797
|
const plan = planTagDiff(previousTags, newTags);
|
|
45706
45798
|
const tagWarning = tagPlanWarning(plan, resourceType, logicalId);
|
|
45707
45799
|
if (tagWarning !== void 0) this.logger.warn(tagWarning);
|
|
@@ -45716,7 +45808,7 @@ var S3TablesProvider = class {
|
|
|
45716
45808
|
}));
|
|
45717
45809
|
} catch (err) {
|
|
45718
45810
|
const cause = err instanceof Error ? err : void 0;
|
|
45719
|
-
throw new ProvisioningError(`applyTableBucketTagsDiff: UntagResource failed for ${resourceArn} (keys: ${removedKeys.join(", ")}): ${
|
|
45811
|
+
throw this.wrapCaughtError(mask, err, (text) => new ProvisioningError(`applyTableBucketTagsDiff: UntagResource failed for ${resourceArn} (keys: ${removedKeys.join(", ")}): ${sentence(text)} State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause));
|
|
45720
45812
|
}
|
|
45721
45813
|
if (Object.keys(upserts).length > 0) try {
|
|
45722
45814
|
await this.getClient().send(new TagResourceCommand$27({
|
|
@@ -45725,7 +45817,7 @@ var S3TablesProvider = class {
|
|
|
45725
45817
|
}));
|
|
45726
45818
|
} catch (err) {
|
|
45727
45819
|
const cause = err instanceof Error ? err : void 0;
|
|
45728
|
-
throw new ProvisioningError(`applyTableBucketTagsDiff: TagResource failed for ${resourceArn} (keys: ${Object.keys(upserts).join(", ")}): ${
|
|
45820
|
+
throw this.wrapCaughtError(mask, err, (text) => new ProvisioningError(`applyTableBucketTagsDiff: TagResource failed for ${resourceArn} (keys: ${Object.keys(upserts).join(", ")}): ${sentence(text)} State has NOT been updated so the next deploy will retry the tag-diff.`, resourceType, logicalId, physicalId, cause));
|
|
45729
45821
|
}
|
|
45730
45822
|
}
|
|
45731
45823
|
};
|
|
@@ -46778,4 +46870,4 @@ var ACMCertificateProvider = class {
|
|
|
46778
46870
|
|
|
46779
46871
|
//#endregion
|
|
46780
46872
|
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 };
|
|
46781
|
-
//# sourceMappingURL=provider-classes-
|
|
46873
|
+
//# sourceMappingURL=provider-classes-D41TJi4B.js.map
|