@go-to-k/cdkd 0.260.8 → 0.260.10
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-rcNqhfPS.js → asg-provider-CU5tyKkY.js} +3 -3
- package/dist/{asg-provider-rcNqhfPS.js.map → asg-provider-CU5tyKkY.js.map} +1 -1
- package/dist/cli.js +173 -30
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-Dg51mHCV.js → deploy-engine-DBNn0Aq7.js} +109 -3
- package/dist/deploy-engine-DBNn0Aq7.js.map +1 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-Dg51mHCV.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $ as getBootstrapMarkerKey, A as refStateLookupFromResource, At as resolveBucketRegion, B as S3StateBackend, Bt as LocalMigrateError, C as findActionableSilentDrops, Ct as CFN_TEMPLATE_URL_LIMIT, D as isTerminationProtectionPropagationError, Dt as expectedOwnerParam, E as disableInstanceApiTermination, Et as uploadCfnTemplate, F as applyRoleArnIfSet, G as WorkGraph, Gt as PartialFailureError, H as shouldRetainResource, I as DiffCalculator, It as CdkdError, J as loadPublishableAssetManifest, Jt as ResourceUpdateNotSupportedError, K as buildAssetRedirectMap, Kt as ProvisioningError, L as DagBuilder, M as normalizeAwsTagsToCfn, Mt as getAwsClients, N as resolveExplicitPhysicalId, Nt as resetAwsClients, O as IntrinsicFunctionResolver, Ot as AssemblyReader, P as assertRegionMatch, Pt as setAwsClients, Q as ensureAssetStorage, R as TemplateParser, S as ProviderRegistry, St as CFN_TEMPLATE_BODY_LIMIT, T as slowCcOperationTimeoutMs, Tt as findLargeInlineResources, U as AssetPublisher, Ut as MissingCdkCliError, V as rebuildClientForBucketRegion, Vt as LocalStartServiceError, W as stringifyValue, Wt as NestedStackChildDirectDestroyError, X as AssetModeResolver, Xt as StackTerminationProtectionError, Y as rewriteTemplateAssetReferences, Yt as StackHasActiveImportsError, Z as BOOTSTRAP_MARKER_PREFIX, _ as green, _t as resolveSkipPrefix, a as withRetry, at as getDockerCmd, b as IAMRoleProvider, bt as resolveUseCdkBootstrapAssets, c as computeImplicitDeleteEdges, ct as AssetManifestLoader, d as isStatefulRecreateTargetSync, dt as synthesisStatusMessage, et as parseBootstrapMarker, f as renderStatefulReason, ft as getDefaultStateBucketName, g as gray, gt as resolveCaptureObservedState, h as cyan, ht as resolveAutoAssetStorage, i as withResourceDeadline, it as formatDockerLoginError, j as WAFv2WebACLProvider, jt as AwsClients, k as cfnRefValueFromPhysicalId, l as extractDeploymentEventError, lt as getDockerImageBySourceHash, m as bold, mt as resolveApp, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as withErrorHandling, nt as validateContainerRepoName, o as isRetryableTransientError, ot as runDockerForeground, p as formatResourceLine, pt as getLegacyStateBucketName, q as createAssetRedirectResolver, qt as ResourceTimeoutError, r as DeployEngine, rt as buildDockerImage, s as IMPLICIT_DELETE_DEPENDENCIES, st as runDockerStreaming, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as normalizeAwsError, tt as validateAssetBucketName, u as MULTI_REGION_RECREATE_BLOCKED_TYPES, ut as Synthesizer, v as red, vt as resolveStateBucketWithDefault, w as CloudControlProvider, wt as MIGRATE_TMP_PREFIX, x as collectInlinePolicyNamesManagedBySiblings, xt as warnDeprecatedNoPrefixCliFlag, y as yellow, yt as resolveStateBucketWithDefaultAndSource, z as LockManager, zt as LocalInvokeBuildError$1 } from "./deploy-engine-
|
|
2
|
+
import { $ as getBootstrapMarkerKey, A as refStateLookupFromResource, At as resolveBucketRegion, B as S3StateBackend, Bt as LocalMigrateError, C as findActionableSilentDrops, Ct as CFN_TEMPLATE_URL_LIMIT, D as isTerminationProtectionPropagationError, Dt as expectedOwnerParam, E as disableInstanceApiTermination, Et as uploadCfnTemplate, F as applyRoleArnIfSet, G as WorkGraph, Gt as PartialFailureError, H as shouldRetainResource, I as DiffCalculator, It as CdkdError, J as loadPublishableAssetManifest, Jt as ResourceUpdateNotSupportedError, K as buildAssetRedirectMap, Kt as ProvisioningError, L as DagBuilder, M as normalizeAwsTagsToCfn, Mt as getAwsClients, N as resolveExplicitPhysicalId, Nt as resetAwsClients, O as IntrinsicFunctionResolver, Ot as AssemblyReader, P as assertRegionMatch, Pt as setAwsClients, Q as ensureAssetStorage, R as TemplateParser, S as ProviderRegistry, St as CFN_TEMPLATE_BODY_LIMIT, T as slowCcOperationTimeoutMs, Tt as findLargeInlineResources, U as AssetPublisher, Ut as MissingCdkCliError, V as rebuildClientForBucketRegion, Vt as LocalStartServiceError, W as stringifyValue, Wt as NestedStackChildDirectDestroyError, X as AssetModeResolver, Xt as StackTerminationProtectionError, Y as rewriteTemplateAssetReferences, Yt as StackHasActiveImportsError, Z as BOOTSTRAP_MARKER_PREFIX, _ as green, _t as resolveSkipPrefix, a as withRetry, at as getDockerCmd, b as IAMRoleProvider, bt as resolveUseCdkBootstrapAssets, c as computeImplicitDeleteEdges, ct as AssetManifestLoader, d as isStatefulRecreateTargetSync, dt as synthesisStatusMessage, et as parseBootstrapMarker, f as renderStatefulReason, ft as getDefaultStateBucketName, g as gray, gt as resolveCaptureObservedState, h as cyan, ht as resolveAutoAssetStorage, i as withResourceDeadline, it as formatDockerLoginError, j as WAFv2WebACLProvider, jt as AwsClients, k as cfnRefValueFromPhysicalId, l as extractDeploymentEventError, lt as getDockerImageBySourceHash, m as bold, mt as resolveApp, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as withErrorHandling, nt as validateContainerRepoName, o as isRetryableTransientError, ot as runDockerForeground, p as formatResourceLine, pt as getLegacyStateBucketName, q as createAssetRedirectResolver, qt as ResourceTimeoutError, r as DeployEngine, rt as buildDockerImage, s as IMPLICIT_DELETE_DEPENDENCIES, st as runDockerStreaming, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as normalizeAwsError, tt as validateAssetBucketName, u as MULTI_REGION_RECREATE_BLOCKED_TYPES, ut as Synthesizer, v as red, vt as resolveStateBucketWithDefault, w as CloudControlProvider, wt as MIGRATE_TMP_PREFIX, x as collectInlinePolicyNamesManagedBySiblings, xt as warnDeprecatedNoPrefixCliFlag, y as yellow, yt as resolveStateBucketWithDefaultAndSource, z as LockManager, zt as LocalInvokeBuildError$1 } from "./deploy-engine-DBNn0Aq7.js";
|
|
3
3
|
import { a as getLiveRenderer, c as PATTERN_B_RESOURCE_TYPES, d as generateResourceNameWithFallback, f as withSkipPrefix, i as runStackBuffered, n as getLogger, o as PATTERN_B_NAME_OPTIONS, p as withStackName, s as PATTERN_B_NAME_PROPERTIES, u as generateResourceName } from "./logger-BYMEE-BS.js";
|
|
4
|
-
import { t as ASGProvider } from "./asg-provider-
|
|
4
|
+
import { t as ASGProvider } from "./asg-provider-CU5tyKkY.js";
|
|
5
5
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
6
6
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
7
7
|
import { CopyObjectCommand, CreateBucketCommand, DeleteBucketAnalyticsConfigurationCommand, DeleteBucketCommand, DeleteBucketCorsCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectsCommand, GetBucketAccelerateConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketNotificationConfigurationCommand, GetBucketPolicyCommand, GetBucketReplicationCommand, GetBucketTaggingCommand, GetBucketVersioningCommand, GetBucketWebsiteCommand, GetObjectCommand, GetObjectLockConfigurationCommand, GetPublicAccessBlockCommand, HeadBucketCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchBucket, PutBucketAccelerateConfigurationCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectCommand, PutObjectLockConfigurationCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
|
|
@@ -10,7 +10,7 @@ import { CreateQueueCommand, DeleteQueueCommand, GetQueueAttributesCommand, GetQ
|
|
|
10
10
|
import { CreateTopicCommand, DeleteTopicCommand, GetSubscriptionAttributesCommand, GetTopicAttributesCommand, ListSubscriptionsByTopicCommand, ListTagsForResourceCommand, ListTopicsCommand, NotFoundException, SNSClient, SetTopicAttributesCommand, SubscribeCommand, TagResourceCommand, UnsubscribeCommand, UntagResourceCommand } from "@aws-sdk/client-sns";
|
|
11
11
|
import { AddPermissionCommand, CreateEventSourceMappingCommand, CreateFunctionCommand, CreateFunctionUrlConfigCommand, DeleteEventSourceMappingCommand, DeleteFunctionCommand, DeleteFunctionConcurrencyCommand, DeleteFunctionEventInvokeConfigCommand, DeleteFunctionUrlConfigCommand, DeleteLayerVersionCommand, GetEventSourceMappingCommand, GetFunctionCommand, GetFunctionConcurrencyCommand, GetFunctionEventInvokeConfigCommand, GetFunctionRecursionConfigCommand, GetFunctionUrlConfigCommand, GetLayerVersionByArnCommand, GetPolicyCommand as GetPolicyCommand$1, LambdaClient, ListTagsCommand, PublishLayerVersionCommand, PutFunctionConcurrencyCommand, PutFunctionEventInvokeConfigCommand, PutFunctionRecursionConfigCommand, RemovePermissionCommand, ResourceNotFoundException, TagResourceCommand as TagResourceCommand$1, UntagResourceCommand as UntagResourceCommand$1, UpdateEventSourceMappingCommand, UpdateFunctionCodeCommand, UpdateFunctionConfigurationCommand, UpdateFunctionUrlConfigCommand, waitUntilFunctionUpdatedV2 } from "@aws-sdk/client-lambda";
|
|
12
12
|
import { AssumeRoleCommand, GetCallerIdentityCommand, STSClient } from "@aws-sdk/client-sts";
|
|
13
|
-
import { 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, DescribeAvailabilityZonesCommand, DescribeIamInstanceProfileAssociationsCommand, DescribeInstanceAttributeCommand, DescribeInstanceCreditSpecificationsCommand, DescribeInstancesCommand, DescribeInternetGatewaysCommand, DescribeNatGatewaysCommand, DescribeNetworkAclsCommand, DescribeNetworkInterfacesCommand, DescribeRouteTablesCommand, DescribeSecurityGroupsCommand, DescribeSubnetsCommand, DescribeVolumesCommand, DescribeVpcAttributeCommand, DescribeVpcsCommand, DetachInternetGatewayCommand, DisassociateRouteTableCommand, EC2Client, ModifyInstanceAttributeCommand, ModifyInstanceCreditSpecificationCommand, ModifyInstanceMetadataOptionsCommand, ModifySubnetAttributeCommand, ModifyVpcAttributeCommand, MonitorInstancesCommand, ReplaceNetworkAclAssociationCommand, RevokeSecurityGroupEgressCommand, RevokeSecurityGroupIngressCommand, RunInstancesCommand, TerminateInstancesCommand, UnmonitorInstancesCommand, waitUntilInstanceRunning, waitUntilInstanceTerminated, waitUntilNatGatewayAvailable, waitUntilNatGatewayDeleted } from "@aws-sdk/client-ec2";
|
|
13
|
+
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, 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";
|
|
14
14
|
import { CreateTableCommand, DeleteResourcePolicyCommand, DeleteTableCommand, DescribeContinuousBackupsCommand, DescribeContributorInsightsCommand, DescribeKinesisStreamingDestinationCommand, DescribeTableCommand, DescribeTimeToLiveCommand, DisableKinesisStreamingDestinationCommand, DynamoDBClient, EnableKinesisStreamingDestinationCommand, GetResourcePolicyCommand, ListTagsOfResourceCommand, PutResourcePolicyCommand, ResourceNotFoundException as ResourceNotFoundException$1, TagResourceCommand as TagResourceCommand$2, UntagResourceCommand as UntagResourceCommand$2, UpdateContinuousBackupsCommand, UpdateContributorInsightsCommand, UpdateTableCommand, UpdateTimeToLiveCommand } from "@aws-sdk/client-dynamodb";
|
|
15
15
|
import { CloudFormationClient, CreateChangeSetCommand, DeleteChangeSetCommand, DeleteStackCommand, DescribeChangeSetCommand, DescribeStackEventsCommand, DescribeStackResourcesCommand, DescribeStacksCommand, DescribeTypeCommand, ExecuteChangeSetCommand, GetTemplateCommand, UpdateStackCommand, waitUntilChangeSetCreateComplete, waitUntilStackDeleteComplete, waitUntilStackImportComplete, waitUntilStackUpdateComplete } from "@aws-sdk/client-cloudformation";
|
|
16
16
|
import { APIGatewayClient, CreateAuthorizerCommand, CreateDeploymentCommand, CreateResourceCommand, CreateStageCommand, DeleteAuthorizerCommand, DeleteDeploymentCommand, DeleteMethodCommand, DeleteResourceCommand, DeleteStageCommand, GetAccountCommand, GetAuthorizerCommand, GetDeploymentCommand, 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";
|
|
@@ -1901,7 +1901,7 @@ const FLUSH_INTERVAL_MS = 2e3;
|
|
|
1901
1901
|
const FLUSH_EVENT_THRESHOLD = 50;
|
|
1902
1902
|
/** Build-time cdkd version, with a dev fallback for non-built contexts. */
|
|
1903
1903
|
function getCdkdVersion() {
|
|
1904
|
-
return "0.260.
|
|
1904
|
+
return "0.260.10";
|
|
1905
1905
|
}
|
|
1906
1906
|
/**
|
|
1907
1907
|
* Generate a time-sortable unique run id, e.g.
|
|
@@ -8385,7 +8385,7 @@ var LambdaFunctionProvider = class {
|
|
|
8385
8385
|
])]]);
|
|
8386
8386
|
eniWaitTimeoutMs = 600 * 1e3;
|
|
8387
8387
|
eniWaitInitialDelayMs = 1e4;
|
|
8388
|
-
eniWaitMaxDelayMs =
|
|
8388
|
+
eniWaitMaxDelayMs = 1e4;
|
|
8389
8389
|
functionUpdateMaxWaitSeconds = 600;
|
|
8390
8390
|
eniInitialSleepMs = 1e4;
|
|
8391
8391
|
eniDeleteRetryBudgetMs = 1800 * 1e3;
|
|
@@ -8742,7 +8742,7 @@ var LambdaFunctionProvider = class {
|
|
|
8742
8742
|
* "myfn" matching for function "fn".
|
|
8743
8743
|
*
|
|
8744
8744
|
* Polling: starts at eniWaitInitialDelayMs (10s), exponential backoff up
|
|
8745
|
-
* to eniWaitMaxDelayMs (
|
|
8745
|
+
* to eniWaitMaxDelayMs (10s), bounded by eniWaitTimeoutMs (10min).
|
|
8746
8746
|
* Timeout is a soft warning — downstream Subnet/SG deletion has its own
|
|
8747
8747
|
* retries.
|
|
8748
8748
|
*/
|
|
@@ -15032,6 +15032,13 @@ var EC2Provider = class {
|
|
|
15032
15032
|
"Tags"
|
|
15033
15033
|
])],
|
|
15034
15034
|
["AWS::EC2::InternetGateway", /* @__PURE__ */ new Set(["Tags"])],
|
|
15035
|
+
["AWS::EC2::EIP", /* @__PURE__ */ new Set([
|
|
15036
|
+
"Domain",
|
|
15037
|
+
"InstanceId",
|
|
15038
|
+
"NetworkBorderGroup",
|
|
15039
|
+
"PublicIpv4Pool",
|
|
15040
|
+
"Tags"
|
|
15041
|
+
])],
|
|
15035
15042
|
["AWS::EC2::VPCGatewayAttachment", /* @__PURE__ */ new Set(["VpcId", "InternetGatewayId"])],
|
|
15036
15043
|
["AWS::EC2::NatGateway", /* @__PURE__ */ new Set([
|
|
15037
15044
|
"AllocationId",
|
|
@@ -15111,7 +15118,12 @@ var EC2Provider = class {
|
|
|
15111
15118
|
unhandledByDesign = /* @__PURE__ */ new Map([
|
|
15112
15119
|
["AWS::EC2::Instance", /* @__PURE__ */ new Map([["ElasticGpuSpecifications", "AWS Elastic GPU end-of-life (announced 2023-11); no replacement API"], ["ElasticInferenceAccelerators", "AWS Elastic Inference end-of-life 2024-04; use AWS Inferentia / Trainium accelerator instance families instead"]])],
|
|
15113
15120
|
["AWS::EC2::SecurityGroupIngress", /* @__PURE__ */ new Map([["GroupName", "EC2-Classic-only — use GroupId for VPC security groups (EC2-Classic retired 2022-08-15)"], ["SourceSecurityGroupName", "EC2-Classic-only — use SourceSecurityGroupId for VPC peer security groups (EC2-Classic retired 2022-08-15)"]])],
|
|
15114
|
-
["AWS::EC2::NatGateway", /* @__PURE__ */ new Map([["VpcId", "AWS derives the VPC from SubnetId; the ec2:CreateNatGateway API has no VpcId parameter"]])]
|
|
15121
|
+
["AWS::EC2::NatGateway", /* @__PURE__ */ new Map([["VpcId", "AWS derives the VPC from SubnetId; the ec2:CreateNatGateway API has no VpcId parameter"]])],
|
|
15122
|
+
["AWS::EC2::EIP", /* @__PURE__ */ new Map([
|
|
15123
|
+
["Address", "Bring-your-own-IP: allocating a specific address you own is not yet supported; cdkd allocates an Amazon-owned address"],
|
|
15124
|
+
["IpamPoolId", "Allocation from an IPAM pool is not yet supported"],
|
|
15125
|
+
["TransferAddress", "Accepting a transferred Elastic IP is not yet supported (out-of-band EIP transfer flow)"]
|
|
15126
|
+
])]
|
|
15115
15127
|
]);
|
|
15116
15128
|
constructor() {
|
|
15117
15129
|
const awsClients = getAwsClients();
|
|
@@ -15122,6 +15134,7 @@ var EC2Provider = class {
|
|
|
15122
15134
|
case "AWS::EC2::VPC": return this.createVpc(logicalId, resourceType, properties);
|
|
15123
15135
|
case "AWS::EC2::Subnet": return this.createSubnet(logicalId, resourceType, properties);
|
|
15124
15136
|
case "AWS::EC2::InternetGateway": return this.createInternetGateway(logicalId, resourceType, properties);
|
|
15137
|
+
case "AWS::EC2::EIP": return this.createEip(logicalId, resourceType, properties);
|
|
15125
15138
|
case "AWS::EC2::VPCGatewayAttachment": return this.createVpcGatewayAttachment(logicalId, resourceType, properties);
|
|
15126
15139
|
case "AWS::EC2::NatGateway": return this.createNatGateway(logicalId, resourceType, properties);
|
|
15127
15140
|
case "AWS::EC2::RouteTable": return this.createRouteTable(logicalId, resourceType, properties);
|
|
@@ -15141,6 +15154,7 @@ var EC2Provider = class {
|
|
|
15141
15154
|
case "AWS::EC2::VPC": return this.updateVpc(logicalId, physicalId, resourceType, properties, previousProperties);
|
|
15142
15155
|
case "AWS::EC2::Subnet": return this.updateSubnet(logicalId, physicalId);
|
|
15143
15156
|
case "AWS::EC2::InternetGateway": return this.updateInternetGateway(logicalId, physicalId);
|
|
15157
|
+
case "AWS::EC2::EIP": return this.updateEip(logicalId, physicalId, properties, previousProperties);
|
|
15144
15158
|
case "AWS::EC2::VPCGatewayAttachment": return this.updateVpcGatewayAttachment(logicalId, physicalId);
|
|
15145
15159
|
case "AWS::EC2::NatGateway": return this.updateNatGateway(logicalId, physicalId);
|
|
15146
15160
|
case "AWS::EC2::RouteTable": return this.updateRouteTable(logicalId, physicalId);
|
|
@@ -15160,6 +15174,7 @@ var EC2Provider = class {
|
|
|
15160
15174
|
case "AWS::EC2::VPC": return this.deleteVpc(logicalId, physicalId, resourceType, context);
|
|
15161
15175
|
case "AWS::EC2::Subnet": return this.deleteSubnet(logicalId, physicalId, resourceType, context);
|
|
15162
15176
|
case "AWS::EC2::InternetGateway": return this.deleteInternetGateway(logicalId, physicalId, resourceType, context);
|
|
15177
|
+
case "AWS::EC2::EIP": return this.deleteEip(logicalId, physicalId, resourceType, context);
|
|
15163
15178
|
case "AWS::EC2::VPCGatewayAttachment": return this.deleteVpcGatewayAttachment(logicalId, physicalId, resourceType, context);
|
|
15164
15179
|
case "AWS::EC2::NatGateway": return this.deleteNatGateway(logicalId, physicalId, resourceType, context);
|
|
15165
15180
|
case "AWS::EC2::RouteTable": return this.deleteRouteTable(logicalId, physicalId, resourceType, context);
|
|
@@ -15182,6 +15197,7 @@ var EC2Provider = class {
|
|
|
15182
15197
|
case "AWS::EC2::Subnet": return this.getSubnetAttribute(physicalId, attributeName);
|
|
15183
15198
|
case "AWS::EC2::SecurityGroup": return this.getSecurityGroupAttribute(physicalId, attributeName);
|
|
15184
15199
|
case "AWS::EC2::Instance": return this.getInstanceAttribute(physicalId, attributeName);
|
|
15200
|
+
case "AWS::EC2::EIP": return this.getEipAttribute(physicalId, attributeName);
|
|
15185
15201
|
default: return;
|
|
15186
15202
|
}
|
|
15187
15203
|
}
|
|
@@ -15490,6 +15506,111 @@ var EC2Provider = class {
|
|
|
15490
15506
|
throw new ProvisioningError(`Failed to delete InternetGateway ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, physicalId, cause);
|
|
15491
15507
|
}
|
|
15492
15508
|
}
|
|
15509
|
+
eipPhysicalId(publicIp, allocationId) {
|
|
15510
|
+
return `${publicIp}|${allocationId}`;
|
|
15511
|
+
}
|
|
15512
|
+
parseEipPhysicalId(physicalId) {
|
|
15513
|
+
if (physicalId.includes("|")) {
|
|
15514
|
+
const [publicIp, allocationId] = physicalId.split("|");
|
|
15515
|
+
return {
|
|
15516
|
+
publicIp,
|
|
15517
|
+
allocationId
|
|
15518
|
+
};
|
|
15519
|
+
}
|
|
15520
|
+
if (physicalId.startsWith("eipalloc-")) return { allocationId: physicalId };
|
|
15521
|
+
return { publicIp: physicalId };
|
|
15522
|
+
}
|
|
15523
|
+
async createEip(logicalId, resourceType, properties) {
|
|
15524
|
+
this.logger.debug(`Creating EIP ${logicalId}`);
|
|
15525
|
+
try {
|
|
15526
|
+
const response = await this.ec2Client.send(new AllocateAddressCommand({
|
|
15527
|
+
Domain: properties["Domain"] ?? "vpc",
|
|
15528
|
+
NetworkBorderGroup: properties["NetworkBorderGroup"],
|
|
15529
|
+
PublicIpv4Pool: properties["PublicIpv4Pool"]
|
|
15530
|
+
}));
|
|
15531
|
+
const allocationId = response.AllocationId;
|
|
15532
|
+
const publicIp = response.PublicIp;
|
|
15533
|
+
await this.applyTags(allocationId, properties, logicalId);
|
|
15534
|
+
const instanceId = properties["InstanceId"];
|
|
15535
|
+
if (instanceId) {
|
|
15536
|
+
await this.ec2Client.send(new AssociateAddressCommand({
|
|
15537
|
+
AllocationId: allocationId,
|
|
15538
|
+
InstanceId: instanceId
|
|
15539
|
+
}));
|
|
15540
|
+
this.logger.debug(`Associated EIP ${logicalId} (${allocationId}) to ${instanceId}`);
|
|
15541
|
+
}
|
|
15542
|
+
this.logger.debug(`Successfully created EIP ${logicalId}: ${allocationId} (${publicIp})`);
|
|
15543
|
+
return {
|
|
15544
|
+
physicalId: this.eipPhysicalId(publicIp, allocationId),
|
|
15545
|
+
attributes: {
|
|
15546
|
+
AllocationId: allocationId,
|
|
15547
|
+
PublicIp: publicIp
|
|
15548
|
+
}
|
|
15549
|
+
};
|
|
15550
|
+
} catch (error) {
|
|
15551
|
+
const cause = error instanceof Error ? error : void 0;
|
|
15552
|
+
throw new ProvisioningError(`Failed to create EIP ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, void 0, cause);
|
|
15553
|
+
}
|
|
15554
|
+
}
|
|
15555
|
+
async updateEip(logicalId, physicalId, properties, previousProperties) {
|
|
15556
|
+
this.logger.debug(`Updating EIP ${logicalId}: ${physicalId}`);
|
|
15557
|
+
const { allocationId } = this.parseEipPhysicalId(physicalId);
|
|
15558
|
+
if (allocationId) {
|
|
15559
|
+
await this.applyTagDiff(allocationId, previousProperties["Tags"], properties["Tags"]);
|
|
15560
|
+
const oldInstanceId = previousProperties["InstanceId"];
|
|
15561
|
+
const newInstanceId = properties["InstanceId"];
|
|
15562
|
+
if (oldInstanceId !== newInstanceId) if (newInstanceId) await this.ec2Client.send(new AssociateAddressCommand({
|
|
15563
|
+
AllocationId: allocationId,
|
|
15564
|
+
InstanceId: newInstanceId,
|
|
15565
|
+
AllowReassociation: true
|
|
15566
|
+
}));
|
|
15567
|
+
else {
|
|
15568
|
+
const associationId = (await this.ec2Client.send(new DescribeAddressesCommand({ AllocationIds: [allocationId] }))).Addresses?.[0]?.AssociationId;
|
|
15569
|
+
if (associationId) await this.ec2Client.send(new DisassociateAddressCommand({ AssociationId: associationId }));
|
|
15570
|
+
}
|
|
15571
|
+
}
|
|
15572
|
+
return {
|
|
15573
|
+
physicalId,
|
|
15574
|
+
wasReplaced: false
|
|
15575
|
+
};
|
|
15576
|
+
}
|
|
15577
|
+
async deleteEip(logicalId, physicalId, resourceType, context) {
|
|
15578
|
+
this.logger.debug(`Deleting EIP ${logicalId}: ${physicalId}`);
|
|
15579
|
+
const parsed = this.parseEipPhysicalId(physicalId);
|
|
15580
|
+
let allocationId = parsed.allocationId;
|
|
15581
|
+
if (!allocationId && parsed.publicIp) {
|
|
15582
|
+
allocationId = (await this.ec2Client.send(new DescribeAddressesCommand({ PublicIps: [parsed.publicIp] }))).Addresses?.[0]?.AllocationId;
|
|
15583
|
+
if (!allocationId) {
|
|
15584
|
+
this.logger.debug(`EIP ${physicalId} not found on lookup, skipping deletion`);
|
|
15585
|
+
return;
|
|
15586
|
+
}
|
|
15587
|
+
}
|
|
15588
|
+
try {
|
|
15589
|
+
await this.withDependencyViolationRetry(() => this.ec2Client.send(new ReleaseAddressCommand({ AllocationId: allocationId })), { description: `ReleaseAddress ${logicalId} (${allocationId})` });
|
|
15590
|
+
this.logger.debug(`Successfully deleted EIP ${logicalId}`);
|
|
15591
|
+
} catch (error) {
|
|
15592
|
+
if (this.isNotFoundError(error)) {
|
|
15593
|
+
assertRegionMatch(await this.ec2Client.config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
15594
|
+
this.logger.debug(`EIP ${physicalId} does not exist, skipping deletion`);
|
|
15595
|
+
return;
|
|
15596
|
+
}
|
|
15597
|
+
const cause = error instanceof Error ? error : void 0;
|
|
15598
|
+
throw new ProvisioningError(`Failed to delete EIP ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, physicalId, cause);
|
|
15599
|
+
}
|
|
15600
|
+
}
|
|
15601
|
+
async getEipAttribute(physicalId, attributeName) {
|
|
15602
|
+
const { publicIp, allocationId } = this.parseEipPhysicalId(physicalId);
|
|
15603
|
+
if (attributeName === "AllocationId" && allocationId) return allocationId;
|
|
15604
|
+
if (attributeName === "PublicIp" && publicIp) return publicIp;
|
|
15605
|
+
const filter = allocationId ? { AllocationIds: [allocationId] } : { PublicIps: publicIp ? [publicIp] : [] };
|
|
15606
|
+
const addr = (await this.ec2Client.send(new DescribeAddressesCommand(filter))).Addresses?.[0];
|
|
15607
|
+
if (!addr) return void 0;
|
|
15608
|
+
switch (attributeName) {
|
|
15609
|
+
case "AllocationId": return addr.AllocationId;
|
|
15610
|
+
case "PublicIp": return addr.PublicIp;
|
|
15611
|
+
default: return;
|
|
15612
|
+
}
|
|
15613
|
+
}
|
|
15493
15614
|
async createVpcGatewayAttachment(logicalId, resourceType, properties) {
|
|
15494
15615
|
this.logger.debug(`Creating VPCGatewayAttachment ${logicalId}`);
|
|
15495
15616
|
const vpcId = properties["VpcId"];
|
|
@@ -15554,7 +15675,9 @@ var EC2Provider = class {
|
|
|
15554
15675
|
this.logger.debug(`Waiting for NatGateway ${natGatewayId} to reach available state...`);
|
|
15555
15676
|
await waitUntilNatGatewayAvailable({
|
|
15556
15677
|
client: this.ec2Client,
|
|
15557
|
-
maxWaitTime: 900
|
|
15678
|
+
maxWaitTime: 900,
|
|
15679
|
+
minDelay: 5,
|
|
15680
|
+
maxDelay: 15
|
|
15558
15681
|
}, { NatGatewayIds: [natGatewayId] });
|
|
15559
15682
|
this.logger.debug(`NatGateway ${natGatewayId} is available`);
|
|
15560
15683
|
} else this.logger.debug(`NatGateway ${natGatewayId} created (skipping available-state wait per --no-wait)`);
|
|
@@ -15588,7 +15711,9 @@ var EC2Provider = class {
|
|
|
15588
15711
|
try {
|
|
15589
15712
|
await waitUntilNatGatewayDeleted({
|
|
15590
15713
|
client: this.ec2Client,
|
|
15591
|
-
maxWaitTime: 900
|
|
15714
|
+
maxWaitTime: 900,
|
|
15715
|
+
minDelay: 5,
|
|
15716
|
+
maxDelay: 15
|
|
15592
15717
|
}, { NatGatewayIds: [physicalId] });
|
|
15593
15718
|
} catch (error) {
|
|
15594
15719
|
this.logger.warn(`Wait for NatGateway ${physicalId} deletion did not complete cleanly: ${error instanceof Error ? error.message : String(error)} — proceeding with downstream delete steps`);
|
|
@@ -15996,7 +16121,9 @@ var EC2Provider = class {
|
|
|
15996
16121
|
this.logger.debug(`Waiting for instance ${instanceId} to be running...`);
|
|
15997
16122
|
await waitUntilInstanceRunning({
|
|
15998
16123
|
client: this.ec2Client,
|
|
15999
|
-
maxWaitTime: 300
|
|
16124
|
+
maxWaitTime: 300,
|
|
16125
|
+
minDelay: 5,
|
|
16126
|
+
maxDelay: 15
|
|
16000
16127
|
}, { InstanceIds: [instanceId] });
|
|
16001
16128
|
if (iamInstanceProfile) await this.ensureIamInstanceProfileAssociated(instanceId, iamInstanceProfile.arn, iamInstanceProfile.name, logicalId);
|
|
16002
16129
|
const runningInstance = (await this.ec2Client.send(new DescribeInstancesCommand({ InstanceIds: [instanceId] }))).Reservations?.[0]?.Instances?.[0];
|
|
@@ -16245,7 +16372,9 @@ var EC2Provider = class {
|
|
|
16245
16372
|
this.logger.debug(`Terminate requested for EC2 Instance ${logicalId}, waiting...`);
|
|
16246
16373
|
await waitUntilInstanceTerminated({
|
|
16247
16374
|
client: this.ec2Client,
|
|
16248
|
-
maxWaitTime: 300
|
|
16375
|
+
maxWaitTime: 300,
|
|
16376
|
+
minDelay: 5,
|
|
16377
|
+
maxDelay: 15
|
|
16249
16378
|
}, { InstanceIds: [physicalId] });
|
|
16250
16379
|
this.logger.debug(`EC2 Instance ${logicalId} terminated: ${physicalId}`);
|
|
16251
16380
|
return;
|
|
@@ -16700,7 +16829,7 @@ var EC2Provider = class {
|
|
|
16700
16829
|
async withDependencyViolationRetry(operation, opts) {
|
|
16701
16830
|
const totalBudgetMs = opts.totalBudgetMs ?? 6e5;
|
|
16702
16831
|
const initialDelayMs = 5e3;
|
|
16703
|
-
const maxDelayMs =
|
|
16832
|
+
const maxDelayMs = 1e4;
|
|
16704
16833
|
const startedAt = Date.now();
|
|
16705
16834
|
let attempt = 0;
|
|
16706
16835
|
let delay = initialDelayMs;
|
|
@@ -16748,7 +16877,7 @@ var EC2Provider = class {
|
|
|
16748
16877
|
if (!(error instanceof Error)) return false;
|
|
16749
16878
|
const message = error.message.toLowerCase();
|
|
16750
16879
|
const name = error.name ?? "";
|
|
16751
|
-
return message.includes("not found") || message.includes("does not exist") || message.includes("invalidparametervalue") || name === "InvalidVpcID.NotFound" || name === "InvalidSubnetID.NotFound" || name === "InvalidInternetGatewayID.NotFound" || name === "InvalidRouteTableID.NotFound" || name === "InvalidGroup.NotFound" || name === "InvalidAssociationID.NotFound" || name === "InvalidRoute.NotFound" || name === "InvalidInstanceID.NotFound" || name === "InvalidNetworkAclID.NotFound" || name === "InvalidNetworkAclEntry.NotFound";
|
|
16880
|
+
return message.includes("not found") || message.includes("does not exist") || message.includes("invalidparametervalue") || name === "InvalidVpcID.NotFound" || name === "InvalidSubnetID.NotFound" || name === "InvalidInternetGatewayID.NotFound" || name === "InvalidRouteTableID.NotFound" || name === "InvalidGroup.NotFound" || name === "InvalidAssociationID.NotFound" || name === "InvalidRoute.NotFound" || name === "InvalidInstanceID.NotFound" || name === "InvalidNetworkAclID.NotFound" || name === "InvalidNetworkAclEntry.NotFound" || name === "InvalidAllocationID.NotFound" || name === "InvalidAddressID.NotFound";
|
|
16752
16881
|
}
|
|
16753
16882
|
/**
|
|
16754
16883
|
* Adopt an existing EC2 networking resource into cdkd state.
|
|
@@ -17289,6 +17418,19 @@ var EC2Provider = class {
|
|
|
17289
17418
|
physicalId,
|
|
17290
17419
|
attributes: {}
|
|
17291
17420
|
} : null;
|
|
17421
|
+
case "AWS::EC2::EIP": {
|
|
17422
|
+
const { allocationId, publicIp } = this.parseEipPhysicalId(physicalId);
|
|
17423
|
+
const filter = allocationId ? { AllocationIds: [allocationId] } : { PublicIps: publicIp ? [publicIp] : [] };
|
|
17424
|
+
const addr = (await this.ec2Client.send(new DescribeAddressesCommand(filter))).Addresses?.[0];
|
|
17425
|
+
if (!addr?.AllocationId || !addr.PublicIp) return null;
|
|
17426
|
+
return {
|
|
17427
|
+
physicalId: this.eipPhysicalId(addr.PublicIp, addr.AllocationId),
|
|
17428
|
+
attributes: {
|
|
17429
|
+
AllocationId: addr.AllocationId,
|
|
17430
|
+
PublicIp: addr.PublicIp
|
|
17431
|
+
}
|
|
17432
|
+
};
|
|
17433
|
+
}
|
|
17292
17434
|
default: return null;
|
|
17293
17435
|
}
|
|
17294
17436
|
} catch (error) {
|
|
@@ -20251,9 +20393,9 @@ var CloudFrontDistributionProvider = class {
|
|
|
20251
20393
|
* Uses exponential backoff polling.
|
|
20252
20394
|
*/
|
|
20253
20395
|
async waitForDistributionStable(distributionId, expectedEnabled) {
|
|
20254
|
-
const maxAttempts =
|
|
20396
|
+
const maxAttempts = 120;
|
|
20255
20397
|
let delay = 5e3;
|
|
20256
|
-
const maxDelay =
|
|
20398
|
+
const maxDelay = 1e4;
|
|
20257
20399
|
let interrupted = false;
|
|
20258
20400
|
const sigintHandler = () => {
|
|
20259
20401
|
interrupted = true;
|
|
@@ -24478,7 +24620,7 @@ var RDSProvider = class {
|
|
|
24478
24620
|
this.logger.debug(`DBCluster ${dbClusterIdentifier} status: ${status}`);
|
|
24479
24621
|
if (status === "available") return;
|
|
24480
24622
|
await this.sleep(delay);
|
|
24481
|
-
delay = Math.min(delay * 2,
|
|
24623
|
+
delay = Math.min(delay * 2, 1e4);
|
|
24482
24624
|
}
|
|
24483
24625
|
throw new Error(`Timed out waiting for DBCluster ${dbClusterIdentifier} to become available`);
|
|
24484
24626
|
}
|
|
@@ -24499,7 +24641,7 @@ var RDSProvider = class {
|
|
|
24499
24641
|
throw error;
|
|
24500
24642
|
}
|
|
24501
24643
|
await this.sleep(delay);
|
|
24502
|
-
delay = Math.min(delay * 2,
|
|
24644
|
+
delay = Math.min(delay * 2, 1e4);
|
|
24503
24645
|
}
|
|
24504
24646
|
throw new Error(`Timed out waiting for DBCluster ${dbClusterIdentifier} to be deleted`);
|
|
24505
24647
|
}
|
|
@@ -24514,7 +24656,7 @@ var RDSProvider = class {
|
|
|
24514
24656
|
this.logger.debug(`DBInstance ${dbInstanceIdentifier} status: ${status}`);
|
|
24515
24657
|
if (status === "available") return;
|
|
24516
24658
|
await this.sleep(delay);
|
|
24517
|
-
delay = Math.min(delay * 2,
|
|
24659
|
+
delay = Math.min(delay * 2, 1e4);
|
|
24518
24660
|
}
|
|
24519
24661
|
throw new Error(`Timed out waiting for DBInstance ${dbInstanceIdentifier} to become available`);
|
|
24520
24662
|
}
|
|
@@ -24535,7 +24677,7 @@ var RDSProvider = class {
|
|
|
24535
24677
|
throw error;
|
|
24536
24678
|
}
|
|
24537
24679
|
await this.sleep(delay);
|
|
24538
|
-
delay = Math.min(delay * 2,
|
|
24680
|
+
delay = Math.min(delay * 2, 1e4);
|
|
24539
24681
|
}
|
|
24540
24682
|
throw new Error(`Timed out waiting for DBInstance ${dbInstanceIdentifier} to be deleted`);
|
|
24541
24683
|
}
|
|
@@ -26077,7 +26219,7 @@ var DocDBProvider = class {
|
|
|
26077
26219
|
this.logger.debug(`DocDB DBCluster ${dbClusterIdentifier} status: ${status}`);
|
|
26078
26220
|
if (status === "available") return;
|
|
26079
26221
|
await this.sleep(delay);
|
|
26080
|
-
delay = Math.min(delay * 2,
|
|
26222
|
+
delay = Math.min(delay * 2, 1e4);
|
|
26081
26223
|
}
|
|
26082
26224
|
throw new Error(`Timed out waiting for DocDB DBCluster ${dbClusterIdentifier} to become available`);
|
|
26083
26225
|
}
|
|
@@ -26098,7 +26240,7 @@ var DocDBProvider = class {
|
|
|
26098
26240
|
throw error;
|
|
26099
26241
|
}
|
|
26100
26242
|
await this.sleep(delay);
|
|
26101
|
-
delay = Math.min(delay * 2,
|
|
26243
|
+
delay = Math.min(delay * 2, 1e4);
|
|
26102
26244
|
}
|
|
26103
26245
|
throw new Error(`Timed out waiting for DocDB DBCluster ${dbClusterIdentifier} to be deleted`);
|
|
26104
26246
|
}
|
|
@@ -26113,7 +26255,7 @@ var DocDBProvider = class {
|
|
|
26113
26255
|
this.logger.debug(`DocDB DBInstance ${dbInstanceIdentifier} status: ${status}`);
|
|
26114
26256
|
if (status === "available") return;
|
|
26115
26257
|
await this.sleep(delay);
|
|
26116
|
-
delay = Math.min(delay * 2,
|
|
26258
|
+
delay = Math.min(delay * 2, 1e4);
|
|
26117
26259
|
}
|
|
26118
26260
|
throw new Error(`Timed out waiting for DocDB DBInstance ${dbInstanceIdentifier} to become available`);
|
|
26119
26261
|
}
|
|
@@ -26131,7 +26273,7 @@ var DocDBProvider = class {
|
|
|
26131
26273
|
throw error;
|
|
26132
26274
|
}
|
|
26133
26275
|
await this.sleep(delay);
|
|
26134
|
-
delay = Math.min(delay * 2,
|
|
26276
|
+
delay = Math.min(delay * 2, 1e4);
|
|
26135
26277
|
}
|
|
26136
26278
|
throw new Error(`Timed out waiting for DocDB DBInstance ${dbInstanceIdentifier} to be deleted`);
|
|
26137
26279
|
}
|
|
@@ -26716,7 +26858,7 @@ var NeptuneProvider = class {
|
|
|
26716
26858
|
this.logger.debug(`Neptune DBCluster ${dbClusterIdentifier} status: ${status}`);
|
|
26717
26859
|
if (status === "available") return;
|
|
26718
26860
|
await this.sleep(delay);
|
|
26719
|
-
delay = Math.min(delay * 2,
|
|
26861
|
+
delay = Math.min(delay * 2, 1e4);
|
|
26720
26862
|
}
|
|
26721
26863
|
throw new Error(`Timed out waiting for Neptune DBCluster ${dbClusterIdentifier} to become available`);
|
|
26722
26864
|
}
|
|
@@ -26737,7 +26879,7 @@ var NeptuneProvider = class {
|
|
|
26737
26879
|
throw error;
|
|
26738
26880
|
}
|
|
26739
26881
|
await this.sleep(delay);
|
|
26740
|
-
delay = Math.min(delay * 2,
|
|
26882
|
+
delay = Math.min(delay * 2, 1e4);
|
|
26741
26883
|
}
|
|
26742
26884
|
throw new Error(`Timed out waiting for Neptune DBCluster ${dbClusterIdentifier} to be deleted`);
|
|
26743
26885
|
}
|
|
@@ -26752,7 +26894,7 @@ var NeptuneProvider = class {
|
|
|
26752
26894
|
this.logger.debug(`Neptune DBInstance ${dbInstanceIdentifier} status: ${status}`);
|
|
26753
26895
|
if (status === "available") return;
|
|
26754
26896
|
await this.sleep(delay);
|
|
26755
|
-
delay = Math.min(delay * 2,
|
|
26897
|
+
delay = Math.min(delay * 2, 1e4);
|
|
26756
26898
|
}
|
|
26757
26899
|
throw new Error(`Timed out waiting for Neptune DBInstance ${dbInstanceIdentifier} to become available`);
|
|
26758
26900
|
}
|
|
@@ -26770,7 +26912,7 @@ var NeptuneProvider = class {
|
|
|
26770
26912
|
throw error;
|
|
26771
26913
|
}
|
|
26772
26914
|
await this.sleep(delay);
|
|
26773
|
-
delay = Math.min(delay * 2,
|
|
26915
|
+
delay = Math.min(delay * 2, 1e4);
|
|
26774
26916
|
}
|
|
26775
26917
|
throw new Error(`Timed out waiting for Neptune DBInstance ${dbInstanceIdentifier} to be deleted`);
|
|
26776
26918
|
}
|
|
@@ -28530,7 +28672,7 @@ var ElastiCacheProvider = class {
|
|
|
28530
28672
|
this.logger.debug(`CacheCluster ${cacheClusterId} status: ${status}`);
|
|
28531
28673
|
if (status === "available") return;
|
|
28532
28674
|
await this.sleep(delay);
|
|
28533
|
-
delay = Math.min(delay * 2,
|
|
28675
|
+
delay = Math.min(delay * 2, 1e4);
|
|
28534
28676
|
}
|
|
28535
28677
|
throw new Error(`Timed out waiting for CacheCluster ${cacheClusterId} to become available`);
|
|
28536
28678
|
}
|
|
@@ -28551,7 +28693,7 @@ var ElastiCacheProvider = class {
|
|
|
28551
28693
|
throw error;
|
|
28552
28694
|
}
|
|
28553
28695
|
await this.sleep(delay);
|
|
28554
|
-
delay = Math.min(delay * 2,
|
|
28696
|
+
delay = Math.min(delay * 2, 1e4);
|
|
28555
28697
|
}
|
|
28556
28698
|
throw new Error(`Timed out waiting for CacheCluster ${cacheClusterId} to be deleted`);
|
|
28557
28699
|
}
|
|
@@ -42308,6 +42450,7 @@ function registerAllProviders(registry) {
|
|
|
42308
42450
|
registry.register("AWS::EC2::VPC", ec2Provider);
|
|
42309
42451
|
registry.register("AWS::EC2::Subnet", ec2Provider);
|
|
42310
42452
|
registry.register("AWS::EC2::InternetGateway", ec2Provider);
|
|
42453
|
+
registry.register("AWS::EC2::EIP", ec2Provider);
|
|
42311
42454
|
registry.register("AWS::EC2::VPCGatewayAttachment", ec2Provider);
|
|
42312
42455
|
registry.register("AWS::EC2::NatGateway", ec2Provider);
|
|
42313
42456
|
registry.register("AWS::EC2::RouteTable", ec2Provider);
|
|
@@ -61867,7 +62010,7 @@ function createMigrateCommand() {
|
|
|
61867
62010
|
*/
|
|
61868
62011
|
function buildProgram() {
|
|
61869
62012
|
const program = new Command();
|
|
61870
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.260.
|
|
62013
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.260.10");
|
|
61871
62014
|
program.addCommand(createBootstrapCommand());
|
|
61872
62015
|
program.addCommand(createSynthCommand());
|
|
61873
62016
|
program.addCommand(createListCommand());
|