@go-to-k/cdkd 0.269.3 → 0.270.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{asg-provider-D-XHoXeI.js → asg-provider-D3Ioxi3j.js} +2 -2
- package/dist/{asg-provider-D-XHoXeI.js.map → asg-provider-D3Ioxi3j.js.map} +1 -1
- package/dist/cli.js +284 -56
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-B-igYtBj.js → deploy-engine-D3tkYlnl.js} +25 -6
- package/dist/{deploy-engine-B-igYtBj.js.map → deploy-engine-D3tkYlnl.js.map} +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $ as WorkGraph, A as slowCcOperationTimeoutMs, At as warnDeprecatedNoPrefixCliFlag, B as applyRoleArnIfSet, Bt as resolveBucketRegion, C as yellow, Ct as resolveAutoAssetStorage, D as ProviderRegistry, Dt as resolveStateBucketWithDefaultAndSource, E as clearOnUpdateRemoval, Et as resolveStateBucketWithDefault, F as refStateLookupFromResource, Ft as uploadCfnTemplate, G as DagBuilder, H as describeTypeWithThrottleRetry, Ht as getAwsClients, I as WAFv2WebACLProvider, It as expectedOwnerParam, J as S3StateBackend, K as TemplateParser, Kt as CdkdError, L as normalizeAwsTagsToCfn, Lt as AssemblyReader, M as isTerminationProtectionPropagationError, Mt as CFN_TEMPLATE_URL_LIMIT, N as IntrinsicFunctionResolver, Nt as MIGRATE_TMP_PREFIX, O as findActionableSilentDrops, Ot as resolveUseCdkBootstrapAssets, P as cfnRefValueFromPhysicalId, Pt as findLargeInlineResources, Q as stringifyValue, Qt as LocalStartServiceError, R as resolveExplicitPhysicalId, Rt as processStackMessages, S as red, St as resolveApp, T as collectInlinePolicyNamesManagedBySiblings, Tt as resolveSkipPrefix, U as withRetry, Ut as resetAwsClients, V as DiffCalculator, Vt as AwsClients, W as isRetryableTransientError, Wt as setAwsClients, X as shouldRetainResource, Xt as LocalInvokeBuildError$1, Y as rebuildClientForBucketRegion, Yt as DeployCancelledError, Z as AssetPublisher, Zt as LocalMigrateError, _ as formatResourceLine, _t as getDockerImageBySourceHash, a as DeploymentEventsStore, an as ResourceUpdateNotSupportedError, at as BOOTSTRAP_MARKER_PREFIX, b as gray, bt as getDefaultStateBucketName, c as replayFailedOperations, ct as parseBootstrapMarker, d as IMPLICIT_DELETE_DEPENDENCIES, dt as buildDockerImage, en as MissingCdkCliError, et as buildAssetRedirectMap, f as computeImplicitDeleteEdges, fn as normalizeAwsError, ft as formatDockerLoginError, g as renderStatefulReason, gt as AssetManifestLoader, h as isStatefulRecreateTargetSync, ht as runDockerStreaming, i as DeploymentEventsReader, in as ResourceTimeoutError, it as AssetModeResolver, j as disableInstanceApiTermination, jt as CFN_TEMPLATE_BODY_LIMIT, k as CloudControlProvider, kt as stateBucketExistenceConfirmed, l as replayRollback, lt as validateAssetBucketName, m as MULTI_REGION_RECREATE_BLOCKED_TYPES, mt as runDockerForeground, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as PartialFailureError, nt as loadPublishableAssetManifest, o as planFailedOps, on as StackHasActiveImportsError, ot as ensureAssetStorage, p as extractDeploymentEventError, pn as withErrorHandling, pt as getDockerCmd, q as LockManager, r as DeployEngine, rn as ProvisioningError, rt as rewriteTemplateAssetReferences, s as planRollback, sn as StackTerminationProtectionError, st as getBootstrapMarkerKey, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as NestedStackChildDirectDestroyError, tt as createAssetRedirectResolver, u as withResourceDeadline, ut as validateContainerRepoName, v as bold, vt as Synthesizer, w as IAMRoleProvider, wt as resolveCaptureObservedState, x as green, xt as getLegacyStateBucketName, y as cyan, yt as synthesisStatusMessage, z as assertRegionMatch } from "./deploy-engine-
|
|
2
|
+
import { $ as WorkGraph, A as slowCcOperationTimeoutMs, At as warnDeprecatedNoPrefixCliFlag, B as applyRoleArnIfSet, Bt as resolveBucketRegion, C as yellow, Ct as resolveAutoAssetStorage, D as ProviderRegistry, Dt as resolveStateBucketWithDefaultAndSource, E as clearOnUpdateRemoval, Et as resolveStateBucketWithDefault, F as refStateLookupFromResource, Ft as uploadCfnTemplate, G as DagBuilder, H as describeTypeWithThrottleRetry, Ht as getAwsClients, I as WAFv2WebACLProvider, It as expectedOwnerParam, J as S3StateBackend, K as TemplateParser, Kt as CdkdError, L as normalizeAwsTagsToCfn, Lt as AssemblyReader, M as isTerminationProtectionPropagationError, Mt as CFN_TEMPLATE_URL_LIMIT, N as IntrinsicFunctionResolver, Nt as MIGRATE_TMP_PREFIX, O as findActionableSilentDrops, Ot as resolveUseCdkBootstrapAssets, P as cfnRefValueFromPhysicalId, Pt as findLargeInlineResources, Q as stringifyValue, Qt as LocalStartServiceError, R as resolveExplicitPhysicalId, Rt as processStackMessages, S as red, St as resolveApp, T as collectInlinePolicyNamesManagedBySiblings, Tt as resolveSkipPrefix, U as withRetry, Ut as resetAwsClients, V as DiffCalculator, Vt as AwsClients, W as isRetryableTransientError, Wt as setAwsClients, X as shouldRetainResource, Xt as LocalInvokeBuildError$1, Y as rebuildClientForBucketRegion, Yt as DeployCancelledError, Z as AssetPublisher, Zt as LocalMigrateError, _ as formatResourceLine, _t as getDockerImageBySourceHash, a as DeploymentEventsStore, an as ResourceUpdateNotSupportedError, at as BOOTSTRAP_MARKER_PREFIX, b as gray, bt as getDefaultStateBucketName, c as replayFailedOperations, ct as parseBootstrapMarker, d as IMPLICIT_DELETE_DEPENDENCIES, dt as buildDockerImage, en as MissingCdkCliError, et as buildAssetRedirectMap, f as computeImplicitDeleteEdges, fn as normalizeAwsError, ft as formatDockerLoginError, g as renderStatefulReason, gt as AssetManifestLoader, h as isStatefulRecreateTargetSync, ht as runDockerStreaming, i as DeploymentEventsReader, in as ResourceTimeoutError, it as AssetModeResolver, j as disableInstanceApiTermination, jt as CFN_TEMPLATE_BODY_LIMIT, k as CloudControlProvider, kt as stateBucketExistenceConfirmed, l as replayRollback, lt as validateAssetBucketName, m as MULTI_REGION_RECREATE_BLOCKED_TYPES, mt as runDockerForeground, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as PartialFailureError, nt as loadPublishableAssetManifest, o as planFailedOps, on as StackHasActiveImportsError, ot as ensureAssetStorage, p as extractDeploymentEventError, pn as withErrorHandling, pt as getDockerCmd, q as LockManager, r as DeployEngine, rn as ProvisioningError, rt as rewriteTemplateAssetReferences, s as planRollback, sn as StackTerminationProtectionError, st as getBootstrapMarkerKey, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as NestedStackChildDirectDestroyError, tt as createAssetRedirectResolver, u as withResourceDeadline, ut as validateContainerRepoName, v as bold, vt as Synthesizer, w as IAMRoleProvider, wt as resolveCaptureObservedState, x as green, xt as getLegacyStateBucketName, y as cyan, yt as synthesisStatusMessage, z as assertRegionMatch } from "./deploy-engine-D3tkYlnl.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-D3Ioxi3j.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";
|
|
@@ -18,11 +18,11 @@ import { CreateEventBusCommand, DeleteEventBusCommand, DeleteRuleCommand, Descri
|
|
|
18
18
|
import { CreateSecretCommand, DeleteSecretCommand, DescribeSecretCommand, GetSecretValueCommand, RemoveRegionsFromReplicationCommand, ReplicateSecretToRegionsCommand, ResourceNotFoundException as ResourceNotFoundException$3, SecretsManagerClient, TagResourceCommand as TagResourceCommand$5, UntagResourceCommand as UntagResourceCommand$5, UpdateSecretCommand } from "@aws-sdk/client-secrets-manager";
|
|
19
19
|
import { AddTagsToResourceCommand, DeleteParameterCommand, DescribeParametersCommand, GetParameterCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$2, ParameterNotFound, PutParameterCommand, RemoveTagsFromResourceCommand, SSMClient } from "@aws-sdk/client-ssm";
|
|
20
20
|
import { CloudFrontClient, CreateCloudFrontOriginAccessIdentityCommand, CreateDistributionCommand, CreateDistributionWithTagsCommand, CreateOriginAccessControlCommand, DeleteCloudFrontOriginAccessIdentityCommand, DeleteDistributionCommand, DeleteOriginAccessControlCommand, 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";
|
|
21
|
-
import { CloudWatchClient, DeleteAlarmsCommand, DescribeAlarmsCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$4, PutMetricAlarmCommand, TagResourceCommand as TagResourceCommand$7, UntagResourceCommand as UntagResourceCommand$7 } from "@aws-sdk/client-cloudwatch";
|
|
22
|
-
import { AssociateKmsKeyCommand, CloudWatchLogsClient, CreateLogGroupCommand, DeleteDataProtectionPolicyCommand, DeleteIndexPolicyCommand, DeleteLogGroupCommand, DeleteRetentionPolicyCommand, DescribeIndexPoliciesCommand, DescribeLogGroupsCommand, DisassociateKmsKeyCommand, GetDataProtectionPolicyCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$5, PutBearerTokenAuthenticationCommand, PutDataProtectionPolicyCommand, PutIndexPolicyCommand, PutLogGroupDeletionProtectionCommand, PutRetentionPolicyCommand, ResourceAlreadyExistsException, ResourceNotFoundException as ResourceNotFoundException$
|
|
23
|
-
import { BedrockAgentCoreControlClient, CreateAgentRuntimeCommand, CreateEvaluatorCommand, DeleteAgentRuntimeCommand, DeleteEvaluatorCommand, GetAgentRuntimeCommand, GetBrowserCommand, GetCodeInterpreterCommand, GetEvaluatorCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$6, ResourceNotFoundException as ResourceNotFoundException$
|
|
24
|
-
import { ACMClient, AddTagsToCertificateCommand, DeleteCertificateCommand, DescribeCertificateCommand, ListTagsForCertificateCommand, RemoveTagsFromCertificateCommand, RequestCertificateCommand, ResourceNotFoundException as ResourceNotFoundException$
|
|
25
|
-
import { CreateMicrovmImageCommand, DeleteMicrovmImageCommand, GetMicrovmImageCommand, LambdaMicrovmsClient, ListTagsCommand as ListTagsCommand$1, ResourceNotFoundException as ResourceNotFoundException$
|
|
21
|
+
import { CloudWatchClient, DeleteAlarmsCommand, DeleteAnomalyDetectorCommand, DescribeAlarmsCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$4, PutAnomalyDetectorCommand, PutMetricAlarmCommand, ResourceNotFoundException as ResourceNotFoundException$4, TagResourceCommand as TagResourceCommand$7, UntagResourceCommand as UntagResourceCommand$7 } from "@aws-sdk/client-cloudwatch";
|
|
22
|
+
import { AssociateKmsKeyCommand, CloudWatchLogsClient, CreateLogGroupCommand, DeleteDataProtectionPolicyCommand, DeleteIndexPolicyCommand, DeleteLogGroupCommand, DeleteRetentionPolicyCommand, DescribeIndexPoliciesCommand, DescribeLogGroupsCommand, DisassociateKmsKeyCommand, GetDataProtectionPolicyCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$5, PutBearerTokenAuthenticationCommand, PutDataProtectionPolicyCommand, PutIndexPolicyCommand, PutLogGroupDeletionProtectionCommand, PutRetentionPolicyCommand, ResourceAlreadyExistsException, ResourceNotFoundException as ResourceNotFoundException$5, TagResourceCommand as TagResourceCommand$8, UntagResourceCommand as UntagResourceCommand$8 } from "@aws-sdk/client-cloudwatch-logs";
|
|
23
|
+
import { BedrockAgentCoreControlClient, CreateAgentRuntimeCommand, CreateEvaluatorCommand, DeleteAgentRuntimeCommand, DeleteEvaluatorCommand, GetAgentRuntimeCommand, GetBrowserCommand, GetCodeInterpreterCommand, GetEvaluatorCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$6, ResourceNotFoundException as ResourceNotFoundException$6, TagResourceCommand as TagResourceCommand$9, UntagResourceCommand as UntagResourceCommand$9, UpdateAgentRuntimeCommand, UpdateEvaluatorCommand } from "@aws-sdk/client-bedrock-agentcore-control";
|
|
24
|
+
import { ACMClient, AddTagsToCertificateCommand, DeleteCertificateCommand, DescribeCertificateCommand, ListTagsForCertificateCommand, RemoveTagsFromCertificateCommand, RequestCertificateCommand, ResourceNotFoundException as ResourceNotFoundException$7, UpdateCertificateOptionsCommand } from "@aws-sdk/client-acm";
|
|
25
|
+
import { CreateMicrovmImageCommand, DeleteMicrovmImageCommand, GetMicrovmImageCommand, LambdaMicrovmsClient, ListTagsCommand as ListTagsCommand$1, ResourceNotFoundException as ResourceNotFoundException$8, TagResourceCommand as TagResourceCommand$10, UntagResourceCommand as UntagResourceCommand$10, UpdateMicrovmImageCommand } from "@aws-sdk/client-lambda-microvms";
|
|
26
26
|
import * as fs from "node:fs";
|
|
27
27
|
import { cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
28
28
|
import * as path from "node:path";
|
|
@@ -48,23 +48,23 @@ import { CreateStateMachineCommand, DeleteStateMachineCommand, DescribeStateMach
|
|
|
48
48
|
import { CreateClusterCommand, CreateServiceCommand, DeleteClusterCommand, DeleteServiceCommand, DeregisterTaskDefinitionCommand, DescribeClustersCommand, DescribeServicesCommand, DescribeTaskDefinitionCommand, ECSClient, PutClusterCapacityProvidersCommand, RegisterTaskDefinitionCommand, TagResourceCommand as TagResourceCommand$14, UntagResourceCommand as UntagResourceCommand$14, UpdateClusterCommand, UpdateServiceCommand, waitUntilServicesStable } from "@aws-sdk/client-ecs";
|
|
49
49
|
import { AddTagsToResourceCommand as AddTagsToResourceCommand$3, CreateDBClusterCommand as CreateDBClusterCommand$1, CreateDBInstanceCommand as CreateDBInstanceCommand$1, CreateDBSubnetGroupCommand as CreateDBSubnetGroupCommand$1, DeleteDBClusterCommand as DeleteDBClusterCommand$1, DeleteDBInstanceCommand as DeleteDBInstanceCommand$1, DeleteDBSubnetGroupCommand as DeleteDBSubnetGroupCommand$1, DescribeDBClustersCommand as DescribeDBClustersCommand$1, DescribeDBInstancesCommand as DescribeDBInstancesCommand$1, DescribeDBSubnetGroupsCommand as DescribeDBSubnetGroupsCommand$1, DocDBClient, ListTagsForResourceCommand as ListTagsForResourceCommand$12, ModifyDBClusterCommand as ModifyDBClusterCommand$1, ModifyDBInstanceCommand as ModifyDBInstanceCommand$1, ModifyDBSubnetGroupCommand as ModifyDBSubnetGroupCommand$1, RemoveTagsFromResourceCommand as RemoveTagsFromResourceCommand$3 } from "@aws-sdk/client-docdb";
|
|
50
50
|
import { AddTagsToResourceCommand as AddTagsToResourceCommand$4, CreateDBClusterCommand as CreateDBClusterCommand$2, CreateDBInstanceCommand as CreateDBInstanceCommand$2, CreateDBSubnetGroupCommand as CreateDBSubnetGroupCommand$2, DeleteDBClusterCommand as DeleteDBClusterCommand$2, DeleteDBInstanceCommand as DeleteDBInstanceCommand$2, DeleteDBSubnetGroupCommand as DeleteDBSubnetGroupCommand$2, DescribeDBClustersCommand as DescribeDBClustersCommand$2, DescribeDBInstancesCommand as DescribeDBInstancesCommand$2, DescribeDBSubnetGroupsCommand as DescribeDBSubnetGroupsCommand$2, ListTagsForResourceCommand as ListTagsForResourceCommand$13, ModifyDBClusterCommand as ModifyDBClusterCommand$2, ModifyDBInstanceCommand as ModifyDBInstanceCommand$2, ModifyDBSubnetGroupCommand as ModifyDBSubnetGroupCommand$2, NeptuneClient, RemoveTagsFromResourceCommand as RemoveTagsFromResourceCommand$4 } from "@aws-sdk/client-neptune";
|
|
51
|
-
import { AddCustomAttributesCommand, CognitoIdentityProviderClient, CreateUserPoolCommand, DeleteUserPoolCommand, DescribeUserPoolCommand, GetUserPoolMfaConfigCommand, ListUserPoolsCommand, ResourceNotFoundException as ResourceNotFoundException$
|
|
51
|
+
import { AddCustomAttributesCommand, CognitoIdentityProviderClient, CreateUserPoolCommand, DeleteUserPoolCommand, DescribeUserPoolCommand, GetUserPoolMfaConfigCommand, ListUserPoolsCommand, ResourceNotFoundException as ResourceNotFoundException$9, SetUserPoolMfaConfigCommand, UpdateUserPoolCommand } from "@aws-sdk/client-cognito-identity-provider";
|
|
52
52
|
import { CreateHttpNamespaceCommand, CreatePrivateDnsNamespaceCommand, CreatePublicDnsNamespaceCommand, CreateServiceCommand as CreateServiceCommand$1, DeleteNamespaceCommand, DeleteServiceAttributesCommand, DeleteServiceCommand as DeleteServiceCommand$1, GetNamespaceCommand, GetOperationCommand, GetServiceAttributesCommand, GetServiceCommand, ListNamespacesCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$14, NamespaceNotFound, ServiceDiscoveryClient, ServiceNotFound, TagResourceCommand as TagResourceCommand$15, UntagResourceCommand as UntagResourceCommand$15, UpdateHttpNamespaceCommand, UpdatePrivateDnsNamespaceCommand, UpdatePublicDnsNamespaceCommand, UpdateServiceAttributesCommand, UpdateServiceCommand as UpdateServiceCommand$1 } from "@aws-sdk/client-servicediscovery";
|
|
53
53
|
import { AppSyncClient, CreateApiKeyCommand, CreateDataSourceCommand, CreateGraphqlApiCommand, CreateResolverCommand, DeleteApiKeyCommand, DeleteDataSourceCommand, DeleteGraphqlApiCommand, DeleteResolverCommand, GetDataSourceCommand, GetGraphqlApiCommand, GetIntrospectionSchemaCommand, GetResolverCommand, ListApiKeysCommand, NotFoundException as NotFoundException$4, StartSchemaCreationCommand, TagResourceCommand as TagResourceCommand$16, UntagResourceCommand as UntagResourceCommand$16, UpdateApiKeyCommand, UpdateDataSourceCommand, UpdateGraphqlApiCommand, UpdateResolverCommand } from "@aws-sdk/client-appsync";
|
|
54
54
|
import { parse, print } from "graphql";
|
|
55
55
|
import { CrawlerRunningException, CreateConnectionCommand, CreateCrawlerCommand, CreateDatabaseCommand, CreateJobCommand, CreateSecurityConfigurationCommand, CreateTableCommand as CreateTableCommand$1, CreateTriggerCommand, CreateWorkflowCommand, DeleteConnectionCommand, DeleteCrawlerCommand, DeleteDatabaseCommand, DeleteJobCommand, DeleteSecurityConfigurationCommand, DeleteTableCommand as DeleteTableCommand$1, DeleteTriggerCommand, DeleteWorkflowCommand, EntityNotFoundException, GetConnectionCommand, GetCrawlerCommand, GetDatabaseCommand, GetJobCommand, GetSecurityConfigurationCommand, GetTableCommand, GetTagsCommand, GetTriggerCommand, GetWorkflowCommand, GlueClient, StartCrawlerScheduleCommand, StartTriggerCommand, StopCrawlerCommand, StopCrawlerScheduleCommand, StopTriggerCommand, UpdateConnectionCommand, UpdateCrawlerCommand, UpdateDatabaseCommand, UpdateJobCommand, UpdateTableCommand as UpdateTableCommand$1, UpdateTriggerCommand, UpdateWorkflowCommand } from "@aws-sdk/client-glue";
|
|
56
56
|
import { BudgetsClient, CreateBudgetCommand, CreateNotificationCommand, CreateSubscriberCommand, DeleteBudgetCommand, DeleteNotificationCommand, DeleteSubscriberCommand, DescribeBudgetCommand, DuplicateRecordException, NotFoundException as NotFoundException$5, TagResourceCommand as TagResourceCommand$17, UntagResourceCommand as UntagResourceCommand$17, UpdateBudgetCommand } from "@aws-sdk/client-budgets";
|
|
57
|
-
import { AddTagsToStreamCommand, CreateStreamCommand, DecreaseStreamRetentionPeriodCommand, DeleteStreamCommand, DeregisterStreamConsumerCommand, DescribeStreamCommand, DescribeStreamConsumerCommand, DescribeStreamSummaryCommand, IncreaseStreamRetentionPeriodCommand, KinesisClient, ListTagsForResourceCommand as ListTagsForResourceCommand$15, ListTagsForStreamCommand, RegisterStreamConsumerCommand, RemoveTagsFromStreamCommand, ResourceNotFoundException as ResourceNotFoundException$
|
|
58
|
-
import { CreateScheduleCommand, DeleteScheduleCommand, GetScheduleCommand, ResourceNotFoundException as ResourceNotFoundException$
|
|
57
|
+
import { AddTagsToStreamCommand, CreateStreamCommand, DecreaseStreamRetentionPeriodCommand, DeleteStreamCommand, DeregisterStreamConsumerCommand, DescribeStreamCommand, DescribeStreamConsumerCommand, DescribeStreamSummaryCommand, IncreaseStreamRetentionPeriodCommand, KinesisClient, ListTagsForResourceCommand as ListTagsForResourceCommand$15, ListTagsForStreamCommand, RegisterStreamConsumerCommand, RemoveTagsFromStreamCommand, ResourceNotFoundException as ResourceNotFoundException$10, StartStreamEncryptionCommand, StopStreamEncryptionCommand, TagResourceCommand as TagResourceCommand$18, UntagResourceCommand as UntagResourceCommand$18, UpdateShardCountCommand, UpdateStreamModeCommand } from "@aws-sdk/client-kinesis";
|
|
58
|
+
import { CreateScheduleCommand, DeleteScheduleCommand, GetScheduleCommand, ResourceNotFoundException as ResourceNotFoundException$11, SchedulerClient, UpdateScheduleCommand } from "@aws-sdk/client-scheduler";
|
|
59
59
|
import { AccessPointNotFound, CreateAccessPointCommand, CreateFileSystemCommand, CreateMountTargetCommand, DeleteAccessPointCommand, DeleteFileSystemCommand, DeleteMountTargetCommand, DescribeAccessPointsCommand, DescribeBackupPolicyCommand, DescribeFileSystemPolicyCommand, DescribeFileSystemsCommand, DescribeLifecycleConfigurationCommand, DescribeMountTargetSecurityGroupsCommand, DescribeMountTargetsCommand, EFSClient, FileSystemNotFound, ModifyMountTargetSecurityGroupsCommand, MountTargetNotFound, PutBackupPolicyCommand, PutFileSystemPolicyCommand, PutLifecycleConfigurationCommand, UpdateFileSystemCommand, UpdateFileSystemProtectionCommand } from "@aws-sdk/client-efs";
|
|
60
60
|
import { CreateFileSystemCommand as CreateFileSystemCommand$1, CreateFileSystemFromBackupCommand, DeleteFileSystemCommand as DeleteFileSystemCommand$1, DescribeFileSystemsCommand as DescribeFileSystemsCommand$1, FSxClient, FileSystemNotFound as FileSystemNotFound$1, TagResourceCommand as TagResourceCommand$19, UntagResourceCommand as UntagResourceCommand$19, UpdateFileSystemCommand as UpdateFileSystemCommand$1 } from "@aws-sdk/client-fsx";
|
|
61
61
|
import { AddInstanceFleetCommand, AddInstanceGroupsCommand, AddTagsCommand as AddTagsCommand$1, DescribeClusterCommand, EMRClient, InvalidRequestException, ListInstanceFleetsCommand, ListInstanceGroupsCommand, ModifyClusterCommand, ModifyInstanceFleetCommand, ModifyInstanceGroupsCommand, PutAutoScalingPolicyCommand, PutAutoTerminationPolicyCommand, PutManagedScalingPolicyCommand, RemoveAutoScalingPolicyCommand, RemoveAutoTerminationPolicyCommand, RemoveManagedScalingPolicyCommand, RemoveTagsCommand as RemoveTagsCommand$1, RunJobFlowCommand, SetTerminationProtectionCommand, SetVisibleToAllUsersCommand, TerminateJobFlowsCommand } from "@aws-sdk/client-emr";
|
|
62
|
-
import { CreateDeliveryStreamCommand, DeleteDeliveryStreamCommand, DescribeDeliveryStreamCommand, FirehoseClient, ListTagsForDeliveryStreamCommand, ResourceNotFoundException as ResourceNotFoundException$
|
|
62
|
+
import { CreateDeliveryStreamCommand, DeleteDeliveryStreamCommand, DescribeDeliveryStreamCommand, FirehoseClient, ListTagsForDeliveryStreamCommand, ResourceNotFoundException as ResourceNotFoundException$12, TagDeliveryStreamCommand, UntagDeliveryStreamCommand, UpdateDestinationCommand } from "@aws-sdk/client-firehose";
|
|
63
63
|
import { AddTagsCommand as AddTagsCommand$2, CloudTrailClient, CreateTrailCommand, DeleteTrailCommand, GetEventSelectorsCommand, GetInsightSelectorsCommand, GetTrailCommand, GetTrailStatusCommand, ListTagsCommand as ListTagsCommand$2, PutEventSelectorsCommand, PutInsightSelectorsCommand, RemoveTagsCommand as RemoveTagsCommand$2, StartLoggingCommand, StopLoggingCommand, TrailNotFoundException, UpdateTrailCommand } from "@aws-sdk/client-cloudtrail";
|
|
64
|
-
import { BatchGetProjectsCommand, CodeBuildClient, CreateProjectCommand, DeleteProjectCommand, ResourceNotFoundException as ResourceNotFoundException$
|
|
64
|
+
import { BatchGetProjectsCommand, CodeBuildClient, CreateProjectCommand, DeleteProjectCommand, ResourceNotFoundException as ResourceNotFoundException$13, UpdateProjectCommand } from "@aws-sdk/client-codebuild";
|
|
65
65
|
import { CodeCommitClient, CreateCommitCommand, CreateRepositoryCommand as CreateRepositoryCommand$1, DeleteRepositoryCommand as DeleteRepositoryCommand$1, GetRepositoryCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$16, PutRepositoryTriggersCommand, RepositoryDoesNotExistException, TagResourceCommand as TagResourceCommand$20, UntagResourceCommand as UntagResourceCommand$20, UpdateRepositoryDescriptionCommand, UpdateRepositoryEncryptionKeyCommand, UpdateRepositoryNameCommand } from "@aws-sdk/client-codecommit";
|
|
66
66
|
import AdmZip from "adm-zip";
|
|
67
|
-
import { CreateLifecyclePolicyCommand, DLMClient, DeleteLifecyclePolicyCommand as DeleteLifecyclePolicyCommand$1, GetLifecyclePolicyCommand as GetLifecyclePolicyCommand$1, ResourceNotFoundException as ResourceNotFoundException$
|
|
67
|
+
import { CreateLifecyclePolicyCommand, DLMClient, DeleteLifecyclePolicyCommand as DeleteLifecyclePolicyCommand$1, GetLifecyclePolicyCommand as GetLifecyclePolicyCommand$1, ResourceNotFoundException as ResourceNotFoundException$14, TagResourceCommand as TagResourceCommand$21, UntagResourceCommand as UntagResourceCommand$21, UpdateLifecyclePolicyCommand } from "@aws-sdk/client-dlm";
|
|
68
68
|
import { CreateVectorBucketCommand, DeleteIndexCommand, DeleteVectorBucketCommand, GetVectorBucketCommand, ListIndexesCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$17, S3VectorsClient, TagResourceCommand as TagResourceCommand$22, UntagResourceCommand as UntagResourceCommand$22 } from "@aws-sdk/client-s3vectors";
|
|
69
69
|
import { CreateNamespaceCommand, CreateTableBucketCommand, CreateTableCommand as CreateTableCommand$2, DeleteNamespaceCommand as DeleteNamespaceCommand$1, DeleteTableBucketCommand, DeleteTableCommand as DeleteTableCommand$2, GetTableBucketCommand, GetTableCommand as GetTableCommand$1, ListNamespacesCommand as ListNamespacesCommand$1, ListTableBucketsCommand, ListTablesCommand, ListTagsForResourceCommand as ListTagsForResourceCommand$18, NotFoundException as NotFoundException$6, S3TablesClient, TagResourceCommand as TagResourceCommand$23, UntagResourceCommand as UntagResourceCommand$23 } from "@aws-sdk/client-s3tables";
|
|
70
70
|
import { Document, Pair, Scalar, YAMLMap, YAMLSeq, parse as parse$1, stringify } from "yaml";
|
|
@@ -10324,7 +10324,7 @@ var LambdaMicrovmImageProvider = class {
|
|
|
10324
10324
|
try {
|
|
10325
10325
|
await this.client.send(new DeleteMicrovmImageCommand({ imageIdentifier: physicalId }));
|
|
10326
10326
|
} catch (error) {
|
|
10327
|
-
if (error instanceof ResourceNotFoundException$
|
|
10327
|
+
if (error instanceof ResourceNotFoundException$8) {
|
|
10328
10328
|
assertRegionMatch(await this.client.config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
10329
10329
|
this.logger.debug(`MicroVM image ${physicalId} does not exist, skipping deletion`);
|
|
10330
10330
|
return;
|
|
@@ -10369,7 +10369,7 @@ var LambdaMicrovmImageProvider = class {
|
|
|
10369
10369
|
attributes: { ImageArn: arn }
|
|
10370
10370
|
};
|
|
10371
10371
|
} catch (error) {
|
|
10372
|
-
if (error instanceof ResourceNotFoundException$
|
|
10372
|
+
if (error instanceof ResourceNotFoundException$8) return null;
|
|
10373
10373
|
throw error;
|
|
10374
10374
|
}
|
|
10375
10375
|
}
|
|
@@ -10395,7 +10395,7 @@ var LambdaMicrovmImageProvider = class {
|
|
|
10395
10395
|
try {
|
|
10396
10396
|
name = (await this.client.send(new GetMicrovmImageCommand({ imageIdentifier: physicalId }))).name;
|
|
10397
10397
|
} catch (error) {
|
|
10398
|
-
if (error instanceof ResourceNotFoundException$
|
|
10398
|
+
if (error instanceof ResourceNotFoundException$8) return void 0;
|
|
10399
10399
|
throw error;
|
|
10400
10400
|
}
|
|
10401
10401
|
const result = {};
|
|
@@ -10454,7 +10454,7 @@ var LambdaMicrovmImageProvider = class {
|
|
|
10454
10454
|
try {
|
|
10455
10455
|
resp = await this.client.send(new GetMicrovmImageCommand({ imageIdentifier: imageArn }));
|
|
10456
10456
|
} catch (error) {
|
|
10457
|
-
if (error instanceof ResourceNotFoundException$
|
|
10457
|
+
if (error instanceof ResourceNotFoundException$8) return;
|
|
10458
10458
|
throw error;
|
|
10459
10459
|
}
|
|
10460
10460
|
if (resp.state === "DELETE_FAILED") throw new Error(`MicroVM image ${logicalId} (${imageArn}) entered DELETE_FAILED. Check the CloudWatch build logs under /aws/lambda/microvms/ to diagnose.`);
|
|
@@ -13070,7 +13070,7 @@ var LogsLogGroupProvider = class {
|
|
|
13070
13070
|
} else try {
|
|
13071
13071
|
await this.logsClient.send(new DeleteIndexPolicyCommand({ logGroupIdentifier: physicalId }));
|
|
13072
13072
|
} catch (err) {
|
|
13073
|
-
if (!(err instanceof ResourceNotFoundException$
|
|
13073
|
+
if (!(err instanceof ResourceNotFoundException$5)) throw err;
|
|
13074
13074
|
}
|
|
13075
13075
|
const newTags = properties["Tags"];
|
|
13076
13076
|
const oldTags = previousProperties["Tags"];
|
|
@@ -13116,7 +13116,7 @@ var LogsLogGroupProvider = class {
|
|
|
13116
13116
|
await this.logsClient.send(new DeleteLogGroupCommand({ logGroupName: physicalId }));
|
|
13117
13117
|
this.logger.debug(`Successfully deleted log group ${logicalId}`);
|
|
13118
13118
|
} catch (error) {
|
|
13119
|
-
if (error instanceof ResourceNotFoundException$
|
|
13119
|
+
if (error instanceof ResourceNotFoundException$5) {
|
|
13120
13120
|
assertRegionMatch(await this.logsClient.config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
13121
13121
|
this.logger.debug(`Log group ${physicalId} does not exist, skipping deletion`);
|
|
13122
13122
|
return;
|
|
@@ -13207,7 +13207,7 @@ var LogsLogGroupProvider = class {
|
|
|
13207
13207
|
try {
|
|
13208
13208
|
tags = normalizeAwsTagsToCfn((await this.logsClient.send(new ListTagsForResourceCommand$5({ resourceArn: arnForTags }))).tags);
|
|
13209
13209
|
} catch (err) {
|
|
13210
|
-
if (err instanceof ResourceNotFoundException$
|
|
13210
|
+
if (err instanceof ResourceNotFoundException$5) return void 0;
|
|
13211
13211
|
throw err;
|
|
13212
13212
|
}
|
|
13213
13213
|
}
|
|
@@ -13236,7 +13236,7 @@ var LogsLogGroupProvider = class {
|
|
|
13236
13236
|
result["FieldIndexPolicies"] = fieldIndexPolicies;
|
|
13237
13237
|
return result;
|
|
13238
13238
|
} catch (err) {
|
|
13239
|
-
if (err instanceof ResourceNotFoundException$
|
|
13239
|
+
if (err instanceof ResourceNotFoundException$5) return void 0;
|
|
13240
13240
|
throw err;
|
|
13241
13241
|
}
|
|
13242
13242
|
}
|
|
@@ -13255,7 +13255,7 @@ var LogsLogGroupProvider = class {
|
|
|
13255
13255
|
attributes: {}
|
|
13256
13256
|
} : null;
|
|
13257
13257
|
} catch (err) {
|
|
13258
|
-
if (err instanceof ResourceNotFoundException$
|
|
13258
|
+
if (err instanceof ResourceNotFoundException$5) return null;
|
|
13259
13259
|
throw err;
|
|
13260
13260
|
}
|
|
13261
13261
|
return null;
|
|
@@ -13584,6 +13584,233 @@ var CloudWatchAlarmProvider = class {
|
|
|
13584
13584
|
}
|
|
13585
13585
|
};
|
|
13586
13586
|
|
|
13587
|
+
//#endregion
|
|
13588
|
+
//#region src/provisioning/providers/cloudwatch-anomaly-detector-provider.ts
|
|
13589
|
+
/**
|
|
13590
|
+
* AWS CloudWatch AnomalyDetector Provider (issue #1304)
|
|
13591
|
+
*
|
|
13592
|
+
* Implements resource provisioning for AWS::CloudWatch::AnomalyDetector using
|
|
13593
|
+
* the CloudWatch SDK. The type is NON_PROVISIONABLE in the CloudFormation
|
|
13594
|
+
* registry (no Cloud Control handlers), so without this provider cdkd's
|
|
13595
|
+
* pre-flight rejects any template that declares it.
|
|
13596
|
+
*
|
|
13597
|
+
* API mapping: `PutAnomalyDetector` is an UPSERT keyed by the metric
|
|
13598
|
+
* descriptor (the single-metric tuple or the metric-math query set), and
|
|
13599
|
+
* `DeleteAnomalyDetector` takes the same descriptor. There is no
|
|
13600
|
+
* server-generated identifier; the registry schema's read-only `Id`
|
|
13601
|
+
* primaryIdentifier has no Cloud Control handler to mint it. cdkd therefore
|
|
13602
|
+
* derives a DETERMINISTIC physical id from the descriptor (see
|
|
13603
|
+
* {@link derivePhysicalId}) — every descriptor field is createOnly in the
|
|
13604
|
+
* registry schema, so the id is stable across in-place updates
|
|
13605
|
+
* (`Configuration` is the only mutable property).
|
|
13606
|
+
*/
|
|
13607
|
+
var CloudWatchAnomalyDetectorProvider = class {
|
|
13608
|
+
cloudWatchClient;
|
|
13609
|
+
logger = getLogger().child("CloudWatchAnomalyDetectorProvider");
|
|
13610
|
+
/**
|
|
13611
|
+
* NON_PROVISIONABLE type: Cloud Control has no handlers for it, so the
|
|
13612
|
+
* #614 unhandled-property auto-route must never send an
|
|
13613
|
+
* AnomalyDetector template to the CC path (it would fail at deploy time
|
|
13614
|
+
* with no handler). All properties are handled here instead.
|
|
13615
|
+
*/
|
|
13616
|
+
disableCcApiFallback = true;
|
|
13617
|
+
handledProperties = /* @__PURE__ */ new Map([["AWS::CloudWatch::AnomalyDetector", /* @__PURE__ */ new Set([
|
|
13618
|
+
"Namespace",
|
|
13619
|
+
"MetricName",
|
|
13620
|
+
"Stat",
|
|
13621
|
+
"Dimensions",
|
|
13622
|
+
"Configuration",
|
|
13623
|
+
"MetricCharacteristics",
|
|
13624
|
+
"SingleMetricAnomalyDetector",
|
|
13625
|
+
"MetricMathAnomalyDetector"
|
|
13626
|
+
])]]);
|
|
13627
|
+
constructor() {
|
|
13628
|
+
const awsClients = getAwsClients();
|
|
13629
|
+
this.cloudWatchClient = awsClients.cloudWatch;
|
|
13630
|
+
}
|
|
13631
|
+
/**
|
|
13632
|
+
* Create an anomaly detection model via `PutAnomalyDetector`.
|
|
13633
|
+
*/
|
|
13634
|
+
async create(logicalId, resourceType, properties) {
|
|
13635
|
+
this.logger.debug(`Creating CloudWatch anomaly detector ${logicalId}`);
|
|
13636
|
+
const params = buildPutParams(properties);
|
|
13637
|
+
if (!hasDescriptor(params)) throw new ProvisioningError(`AnomalyDetector ${logicalId} needs a metric descriptor: either SingleMetricAnomalyDetector, MetricMathAnomalyDetector, or the top-level Namespace/MetricName/Stat fields`, resourceType, logicalId);
|
|
13638
|
+
try {
|
|
13639
|
+
await this.cloudWatchClient.send(new PutAnomalyDetectorCommand(params));
|
|
13640
|
+
const physicalId = derivePhysicalId(properties);
|
|
13641
|
+
this.logger.debug(`Successfully created CloudWatch anomaly detector ${logicalId}: ${physicalId}`);
|
|
13642
|
+
return {
|
|
13643
|
+
physicalId,
|
|
13644
|
+
attributes: { Id: physicalId }
|
|
13645
|
+
};
|
|
13646
|
+
} catch (error) {
|
|
13647
|
+
const cause = error instanceof Error ? error : void 0;
|
|
13648
|
+
throw new ProvisioningError(`Failed to create CloudWatch anomaly detector ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, void 0, cause);
|
|
13649
|
+
}
|
|
13650
|
+
}
|
|
13651
|
+
/**
|
|
13652
|
+
* Update an anomaly detection model.
|
|
13653
|
+
*
|
|
13654
|
+
* Every descriptor field (Namespace / MetricName / Stat / Dimensions /
|
|
13655
|
+
* SingleMetricAnomalyDetector / MetricMathAnomalyDetector /
|
|
13656
|
+
* MetricCharacteristics) is createOnly in the registry schema, so the
|
|
13657
|
+
* diff layer classifies a change to any of them as a REPLACEMENT and this
|
|
13658
|
+
* method never sees it. The only in-place change is `Configuration`
|
|
13659
|
+
* (excluded time ranges / time zone), which `PutAnomalyDetector` upserts
|
|
13660
|
+
* for the unchanged descriptor.
|
|
13661
|
+
*
|
|
13662
|
+
* Removal semantics: `PutAnomalyDetector` REPLACES the stored
|
|
13663
|
+
* Configuration rather than merging (live-verified 2026-07-31 — a Put
|
|
13664
|
+
* with no `Configuration` resets MetricTimezone + ExcludedTimeRanges to
|
|
13665
|
+
* defaults), so re-putting the full desired properties matches CFn's
|
|
13666
|
+
* "removed property resets to default" behavior with no extra clearing.
|
|
13667
|
+
*/
|
|
13668
|
+
async update(logicalId, physicalId, resourceType, properties, _previousProperties) {
|
|
13669
|
+
this.logger.debug(`Updating CloudWatch anomaly detector ${logicalId}: ${physicalId}`);
|
|
13670
|
+
try {
|
|
13671
|
+
await this.cloudWatchClient.send(new PutAnomalyDetectorCommand(buildPutParams(properties)));
|
|
13672
|
+
this.logger.debug(`Successfully updated CloudWatch anomaly detector ${logicalId}`);
|
|
13673
|
+
return {
|
|
13674
|
+
physicalId,
|
|
13675
|
+
wasReplaced: false,
|
|
13676
|
+
attributes: { Id: physicalId }
|
|
13677
|
+
};
|
|
13678
|
+
} catch (error) {
|
|
13679
|
+
const cause = error instanceof Error ? error : void 0;
|
|
13680
|
+
throw new ProvisioningError(`Failed to update CloudWatch anomaly detector ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, physicalId, cause);
|
|
13681
|
+
}
|
|
13682
|
+
}
|
|
13683
|
+
/**
|
|
13684
|
+
* Delete an anomaly detection model via `DeleteAnomalyDetector`.
|
|
13685
|
+
*
|
|
13686
|
+
* The API takes the metric DESCRIPTOR (not an id), so the state-recorded
|
|
13687
|
+
* `properties` are required to address the model. `ResourceNotFoundException`
|
|
13688
|
+
* is treated as idempotent success (after the shared region check).
|
|
13689
|
+
*/
|
|
13690
|
+
async delete(logicalId, physicalId, resourceType, properties, context) {
|
|
13691
|
+
this.logger.debug(`Deleting CloudWatch anomaly detector ${logicalId}: ${physicalId}`);
|
|
13692
|
+
if (!properties) throw new ProvisioningError(`Cannot delete AnomalyDetector ${logicalId}: the state record carries no properties, and DeleteAnomalyDetector addresses the model by its metric descriptor. Use 'cdkd state orphan <stack>' to drop the record and delete the detector manually.`, resourceType, logicalId, physicalId);
|
|
13693
|
+
try {
|
|
13694
|
+
await this.cloudWatchClient.send(new DeleteAnomalyDetectorCommand(buildDeleteParams(properties)));
|
|
13695
|
+
this.logger.debug(`Successfully deleted CloudWatch anomaly detector ${logicalId}`);
|
|
13696
|
+
} catch (error) {
|
|
13697
|
+
if (error instanceof ResourceNotFoundException$4) {
|
|
13698
|
+
assertRegionMatch(await this.cloudWatchClient.config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
13699
|
+
this.logger.debug(`Anomaly detector ${physicalId} does not exist, skipping deletion`);
|
|
13700
|
+
return;
|
|
13701
|
+
}
|
|
13702
|
+
const cause = error instanceof Error ? error : void 0;
|
|
13703
|
+
throw new ProvisioningError(`Failed to delete CloudWatch anomaly detector ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, physicalId, cause);
|
|
13704
|
+
}
|
|
13705
|
+
}
|
|
13706
|
+
/**
|
|
13707
|
+
* Resolve a `Fn::GetAtt` attribute. The registry schema exposes a single
|
|
13708
|
+
* read-only attribute, `Id` — cdkd's deterministic physical id.
|
|
13709
|
+
*/
|
|
13710
|
+
async getAttribute(physicalId, resourceType, attributeName) {
|
|
13711
|
+
if (attributeName === "Id") return physicalId;
|
|
13712
|
+
throw new ProvisioningError(`Unknown attribute ${attributeName} for ${resourceType} (only 'Id' is defined)`, resourceType, physicalId);
|
|
13713
|
+
}
|
|
13714
|
+
/**
|
|
13715
|
+
* Adopt an existing anomaly detector into cdkd state.
|
|
13716
|
+
*
|
|
13717
|
+
* **Explicit override only.** Anomaly detectors are addressed by their
|
|
13718
|
+
* metric descriptor, carry no tags, and have no name property — there is
|
|
13719
|
+
* nothing to auto-look them up by. Users adopting one should pass
|
|
13720
|
+
* `--resource <logicalId>=<id>` where `<id>` is any stable identifier
|
|
13721
|
+
* (cdkd re-derives the canonical one on the next replacement).
|
|
13722
|
+
*/
|
|
13723
|
+
async import(input) {
|
|
13724
|
+
if (input.knownPhysicalId) return {
|
|
13725
|
+
physicalId: input.knownPhysicalId,
|
|
13726
|
+
attributes: { Id: input.knownPhysicalId }
|
|
13727
|
+
};
|
|
13728
|
+
return null;
|
|
13729
|
+
}
|
|
13730
|
+
};
|
|
13731
|
+
/**
|
|
13732
|
+
* Map CFn-shaped properties onto the `PutAnomalyDetector` input. CloudWatch's
|
|
13733
|
+
* SDK uses the same PascalCase field names as the CloudFormation schema, so
|
|
13734
|
+
* the mapping is structural: the only shape conversion is
|
|
13735
|
+
* `Configuration.ExcludedTimeRanges[].StartTime/EndTime`, which CFn carries
|
|
13736
|
+
* as ISO-8601 strings and the SDK models as `Date`.
|
|
13737
|
+
*/
|
|
13738
|
+
function buildPutParams(properties) {
|
|
13739
|
+
const params = {};
|
|
13740
|
+
const single = properties["SingleMetricAnomalyDetector"];
|
|
13741
|
+
if (single !== void 0) params.SingleMetricAnomalyDetector = single;
|
|
13742
|
+
const math = properties["MetricMathAnomalyDetector"];
|
|
13743
|
+
if (math !== void 0) params.MetricMathAnomalyDetector = math;
|
|
13744
|
+
if (properties["Namespace"] !== void 0) params.Namespace = properties["Namespace"];
|
|
13745
|
+
if (properties["MetricName"] !== void 0) params.MetricName = properties["MetricName"];
|
|
13746
|
+
if (properties["Stat"] !== void 0) params.Stat = properties["Stat"];
|
|
13747
|
+
if (properties["Dimensions"] !== void 0) params.Dimensions = properties["Dimensions"];
|
|
13748
|
+
const configuration = properties["Configuration"];
|
|
13749
|
+
if (configuration !== void 0) {
|
|
13750
|
+
const mapped = {};
|
|
13751
|
+
if (configuration["MetricTimeZone"] !== void 0) mapped.MetricTimezone = configuration["MetricTimeZone"];
|
|
13752
|
+
const ranges = configuration["ExcludedTimeRanges"];
|
|
13753
|
+
if (ranges !== void 0) mapped.ExcludedTimeRanges = ranges.map((r) => ({
|
|
13754
|
+
StartTime: toDate(r["StartTime"]),
|
|
13755
|
+
EndTime: toDate(r["EndTime"])
|
|
13756
|
+
}));
|
|
13757
|
+
params.Configuration = mapped;
|
|
13758
|
+
}
|
|
13759
|
+
const characteristics = properties["MetricCharacteristics"];
|
|
13760
|
+
if (characteristics !== void 0) params.MetricCharacteristics = characteristics;
|
|
13761
|
+
return params;
|
|
13762
|
+
}
|
|
13763
|
+
/**
|
|
13764
|
+
* `DeleteAnomalyDetector` addresses the model by the same descriptor shape as
|
|
13765
|
+
* Put, minus the mutable `Configuration` / `MetricCharacteristics`.
|
|
13766
|
+
*/
|
|
13767
|
+
function buildDeleteParams(properties) {
|
|
13768
|
+
const params = {};
|
|
13769
|
+
const single = properties["SingleMetricAnomalyDetector"];
|
|
13770
|
+
if (single !== void 0) params.SingleMetricAnomalyDetector = single;
|
|
13771
|
+
const math = properties["MetricMathAnomalyDetector"];
|
|
13772
|
+
if (math !== void 0) params.MetricMathAnomalyDetector = math;
|
|
13773
|
+
if (properties["Namespace"] !== void 0) params.Namespace = properties["Namespace"];
|
|
13774
|
+
if (properties["MetricName"] !== void 0) params.MetricName = properties["MetricName"];
|
|
13775
|
+
if (properties["Stat"] !== void 0) params.Stat = properties["Stat"];
|
|
13776
|
+
if (properties["Dimensions"] !== void 0) params.Dimensions = properties["Dimensions"];
|
|
13777
|
+
return params;
|
|
13778
|
+
}
|
|
13779
|
+
/** CFn carries Range times as ISO-8601 strings; the SDK models them as Date. */
|
|
13780
|
+
function toDate(value) {
|
|
13781
|
+
if (value === void 0) return void 0;
|
|
13782
|
+
if (value instanceof Date) return value;
|
|
13783
|
+
const parsed = new Date(String(value));
|
|
13784
|
+
if (Number.isNaN(parsed.getTime())) throw new Error(`Configuration.ExcludedTimeRanges contains an unparsable time value: ${String(value)}`);
|
|
13785
|
+
return parsed;
|
|
13786
|
+
}
|
|
13787
|
+
/**
|
|
13788
|
+
* Derive the deterministic physical id from the metric descriptor.
|
|
13789
|
+
*
|
|
13790
|
+
* Single-metric detectors get a readable composite
|
|
13791
|
+
* (`<Namespace>:<MetricName>:<Stat>[:<Name=Value,...>]`, dimensions sorted by
|
|
13792
|
+
* name so template ordering does not change the id); metric-math detectors
|
|
13793
|
+
* get a content hash of their query set (`math:<sha256-16>`). Descriptor
|
|
13794
|
+
* fields are all createOnly, so the id never changes across in-place updates.
|
|
13795
|
+
*/
|
|
13796
|
+
function derivePhysicalId(properties) {
|
|
13797
|
+
const single = properties["SingleMetricAnomalyDetector"];
|
|
13798
|
+
const namespace = single?.Namespace ?? properties["Namespace"];
|
|
13799
|
+
const metricName = single?.MetricName ?? properties["MetricName"];
|
|
13800
|
+
const stat = single?.Stat ?? properties["Stat"];
|
|
13801
|
+
const dimensions = single?.Dimensions ?? properties["Dimensions"];
|
|
13802
|
+
if (namespace !== void 0 || metricName !== void 0) {
|
|
13803
|
+
const dims = (dimensions ?? []).map((d) => `${d.Name}=${d.Value}`).sort().join(",");
|
|
13804
|
+
const base = `${single?.AccountId !== void 0 ? `${single.AccountId}:` : ""}${namespace ?? ""}:${metricName ?? ""}:${stat ?? ""}`;
|
|
13805
|
+
return dims.length > 0 ? `${base}:${dims}` : base;
|
|
13806
|
+
}
|
|
13807
|
+
const math = properties["MetricMathAnomalyDetector"];
|
|
13808
|
+
return `math:${createHash("sha256").update(JSON.stringify(math ?? {})).digest("hex").slice(0, 16)}`;
|
|
13809
|
+
}
|
|
13810
|
+
function hasDescriptor(params) {
|
|
13811
|
+
return params.SingleMetricAnomalyDetector !== void 0 || params.MetricMathAnomalyDetector !== void 0 || params.Namespace !== void 0 || params.MetricName !== void 0;
|
|
13812
|
+
}
|
|
13813
|
+
|
|
13587
13814
|
//#endregion
|
|
13588
13815
|
//#region src/provisioning/providers/secretsmanager-secret-provider.ts
|
|
13589
13816
|
/**
|
|
@@ -21208,7 +21435,7 @@ var AgentCoreRuntimeProvider = class {
|
|
|
21208
21435
|
await this.client.send(new DeleteAgentRuntimeCommand({ agentRuntimeId: physicalId }));
|
|
21209
21436
|
this.logger.debug(`Successfully deleted BedrockAgentCore Runtime ${logicalId}`);
|
|
21210
21437
|
} catch (error) {
|
|
21211
|
-
if (error instanceof ResourceNotFoundException$
|
|
21438
|
+
if (error instanceof ResourceNotFoundException$6) {
|
|
21212
21439
|
assertRegionMatch(await this.client.config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
21213
21440
|
this.logger.debug(`Runtime ${physicalId} does not exist, skipping deletion`);
|
|
21214
21441
|
return;
|
|
@@ -21303,7 +21530,7 @@ var AgentCoreRuntimeProvider = class {
|
|
|
21303
21530
|
try {
|
|
21304
21531
|
resp = await this.client.send(new GetAgentRuntimeCommand({ agentRuntimeId: physicalId }));
|
|
21305
21532
|
} catch (err) {
|
|
21306
|
-
if (err instanceof ResourceNotFoundException$
|
|
21533
|
+
if (err instanceof ResourceNotFoundException$6) return void 0;
|
|
21307
21534
|
throw err;
|
|
21308
21535
|
}
|
|
21309
21536
|
const result = {};
|
|
@@ -21778,7 +22005,7 @@ var AgentCoreEvaluatorProvider = class {
|
|
|
21778
22005
|
await this.client.send(new DeleteEvaluatorCommand({ evaluatorId: evaluatorIdFromArn(physicalId) }));
|
|
21779
22006
|
this.logger.debug(`Successfully deleted BedrockAgentCore Evaluator ${logicalId}`);
|
|
21780
22007
|
} catch (error) {
|
|
21781
|
-
if (error instanceof ResourceNotFoundException$
|
|
22008
|
+
if (error instanceof ResourceNotFoundException$6) {
|
|
21782
22009
|
assertRegionMatch(await this.client.config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
21783
22010
|
this.logger.debug(`Evaluator ${physicalId} does not exist, skipping deletion`);
|
|
21784
22011
|
return;
|
|
@@ -21817,7 +22044,7 @@ var AgentCoreEvaluatorProvider = class {
|
|
|
21817
22044
|
try {
|
|
21818
22045
|
resp = await this.client.send(new GetEvaluatorCommand({ evaluatorId: evaluatorIdFromArn(physicalId) }));
|
|
21819
22046
|
} catch (err) {
|
|
21820
|
-
if (err instanceof ResourceNotFoundException$
|
|
22047
|
+
if (err instanceof ResourceNotFoundException$6) return void 0;
|
|
21821
22048
|
throw err;
|
|
21822
22049
|
}
|
|
21823
22050
|
const result = {};
|
|
@@ -28625,7 +28852,7 @@ var CognitoUserPoolProvider = class {
|
|
|
28625
28852
|
if (!templatedActive) try {
|
|
28626
28853
|
needsFlip = (await this.getClient().send(new DescribeUserPoolCommand({ UserPoolId: physicalId }))).UserPool?.DeletionProtection === "ACTIVE";
|
|
28627
28854
|
} catch (descError) {
|
|
28628
|
-
if (descError instanceof ResourceNotFoundException$
|
|
28855
|
+
if (descError instanceof ResourceNotFoundException$9) {
|
|
28629
28856
|
assertRegionMatch(await this.getClient().config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
28630
28857
|
this.logger.debug(`Cognito User Pool ${physicalId} does not exist, skipping deletion`);
|
|
28631
28858
|
return;
|
|
@@ -28648,7 +28875,7 @@ var CognitoUserPoolProvider = class {
|
|
|
28648
28875
|
await this.getClient().send(new DeleteUserPoolCommand({ UserPoolId: physicalId }));
|
|
28649
28876
|
this.logger.debug(`Successfully deleted Cognito User Pool ${logicalId}`);
|
|
28650
28877
|
} catch (error) {
|
|
28651
|
-
if (error instanceof ResourceNotFoundException$
|
|
28878
|
+
if (error instanceof ResourceNotFoundException$9) {
|
|
28652
28879
|
assertRegionMatch(await this.getClient().config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
28653
28880
|
this.logger.debug(`Cognito User Pool ${physicalId} does not exist, skipping deletion`);
|
|
28654
28881
|
return;
|
|
@@ -28681,7 +28908,7 @@ var CognitoUserPoolProvider = class {
|
|
|
28681
28908
|
try {
|
|
28682
28909
|
resp = await this.getClient().send(new DescribeUserPoolCommand({ UserPoolId: physicalId }));
|
|
28683
28910
|
} catch (err) {
|
|
28684
|
-
if (err instanceof ResourceNotFoundException$
|
|
28911
|
+
if (err instanceof ResourceNotFoundException$9) return void 0;
|
|
28685
28912
|
throw err;
|
|
28686
28913
|
}
|
|
28687
28914
|
const pool = resp.UserPool;
|
|
@@ -28755,7 +28982,7 @@ var CognitoUserPoolProvider = class {
|
|
|
28755
28982
|
attributes: {}
|
|
28756
28983
|
};
|
|
28757
28984
|
} catch (err) {
|
|
28758
|
-
if (err instanceof ResourceNotFoundException$
|
|
28985
|
+
if (err instanceof ResourceNotFoundException$9) return null;
|
|
28759
28986
|
throw err;
|
|
28760
28987
|
}
|
|
28761
28988
|
const desiredName = typeof input.properties?.["UserPoolName"] === "string" ? input.properties["UserPoolName"] : void 0;
|
|
@@ -33784,7 +34011,7 @@ var KinesisStreamProvider = class {
|
|
|
33784
34011
|
}));
|
|
33785
34012
|
this.logger.debug(`Successfully deleted Kinesis stream ${logicalId}`);
|
|
33786
34013
|
} catch (error) {
|
|
33787
|
-
if (error instanceof ResourceNotFoundException$
|
|
34014
|
+
if (error instanceof ResourceNotFoundException$10) {
|
|
33788
34015
|
assertRegionMatch(await this.getClient().config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
33789
34016
|
this.logger.debug(`Kinesis stream ${physicalId} does not exist, skipping deletion`);
|
|
33790
34017
|
return;
|
|
@@ -33859,7 +34086,7 @@ var KinesisStreamProvider = class {
|
|
|
33859
34086
|
try {
|
|
33860
34087
|
stream = (await this.getClient().send(new DescribeStreamCommand({ StreamName: physicalId }))).StreamDescription;
|
|
33861
34088
|
} catch (err) {
|
|
33862
|
-
if (err instanceof ResourceNotFoundException$
|
|
34089
|
+
if (err instanceof ResourceNotFoundException$10) return void 0;
|
|
33863
34090
|
throw err;
|
|
33864
34091
|
}
|
|
33865
34092
|
if (!stream) return void 0;
|
|
@@ -33877,7 +34104,7 @@ var KinesisStreamProvider = class {
|
|
|
33877
34104
|
try {
|
|
33878
34105
|
result["Tags"] = normalizeAwsTagsToCfn((await this.getClient().send(new ListTagsForStreamCommand({ StreamName: physicalId }))).Tags);
|
|
33879
34106
|
} catch (err) {
|
|
33880
|
-
if (err instanceof ResourceNotFoundException$
|
|
34107
|
+
if (err instanceof ResourceNotFoundException$10) return void 0;
|
|
33881
34108
|
this.logger.debug(`Kinesis ListTagsForStream(${physicalId}) failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
33882
34109
|
}
|
|
33883
34110
|
return result;
|
|
@@ -33891,7 +34118,7 @@ var KinesisStreamProvider = class {
|
|
|
33891
34118
|
attributes: {}
|
|
33892
34119
|
};
|
|
33893
34120
|
} catch (err) {
|
|
33894
|
-
if (err instanceof ResourceNotFoundException$
|
|
34121
|
+
if (err instanceof ResourceNotFoundException$10) return null;
|
|
33895
34122
|
throw err;
|
|
33896
34123
|
}
|
|
33897
34124
|
return null;
|
|
@@ -34079,7 +34306,7 @@ var KinesisStreamConsumerProvider = class {
|
|
|
34079
34306
|
await this.getClient().send(new DeregisterStreamConsumerCommand({ ConsumerARN: physicalId }));
|
|
34080
34307
|
this.logger.debug(`Successfully deregistered Kinesis stream consumer ${logicalId}`);
|
|
34081
34308
|
} catch (error) {
|
|
34082
|
-
if (error instanceof ResourceNotFoundException$
|
|
34309
|
+
if (error instanceof ResourceNotFoundException$10) {
|
|
34083
34310
|
assertRegionMatch(await this.getClient().config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
34084
34311
|
this.logger.debug(`Kinesis stream consumer ${physicalId} not found, skipping`);
|
|
34085
34312
|
return;
|
|
@@ -34125,7 +34352,7 @@ var KinesisStreamConsumerProvider = class {
|
|
|
34125
34352
|
try {
|
|
34126
34353
|
desc = (await this.getClient().send(new DescribeStreamConsumerCommand({ ConsumerARN: physicalId }))).ConsumerDescription;
|
|
34127
34354
|
} catch (err) {
|
|
34128
|
-
if (err instanceof ResourceNotFoundException$
|
|
34355
|
+
if (err instanceof ResourceNotFoundException$10) return void 0;
|
|
34129
34356
|
throw err;
|
|
34130
34357
|
}
|
|
34131
34358
|
if (!desc) return void 0;
|
|
@@ -34135,7 +34362,7 @@ var KinesisStreamConsumerProvider = class {
|
|
|
34135
34362
|
try {
|
|
34136
34363
|
result["Tags"] = normalizeAwsTagsToCfn((await this.getClient().send(new ListTagsForResourceCommand$15({ ResourceARN: physicalId }))).Tags);
|
|
34137
34364
|
} catch (err) {
|
|
34138
|
-
if (err instanceof ResourceNotFoundException$
|
|
34365
|
+
if (err instanceof ResourceNotFoundException$10) return void 0;
|
|
34139
34366
|
this.logger.debug(`ListTagsForResource(${physicalId}) failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
34140
34367
|
result["Tags"] = [];
|
|
34141
34368
|
}
|
|
@@ -34341,7 +34568,7 @@ var SchedulerScheduleProvider = class {
|
|
|
34341
34568
|
}));
|
|
34342
34569
|
this.logger.debug(`Deleted Schedule ${logicalId}`);
|
|
34343
34570
|
} catch (error) {
|
|
34344
|
-
if (error instanceof ResourceNotFoundException$
|
|
34571
|
+
if (error instanceof ResourceNotFoundException$11) {
|
|
34345
34572
|
assertRegionMatch(await this.getClient().config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
34346
34573
|
this.logger.debug(`Schedule ${logicalId} already deleted (not found), treating as success`);
|
|
34347
34574
|
return;
|
|
@@ -34363,7 +34590,7 @@ var SchedulerScheduleProvider = class {
|
|
|
34363
34590
|
return (await this.getClient().send(new GetScheduleCommand({ Name: physicalId }))).Arn;
|
|
34364
34591
|
} catch (error) {
|
|
34365
34592
|
const cause = error instanceof Error ? error : void 0;
|
|
34366
|
-
const customGroupHint = error instanceof ResourceNotFoundException$
|
|
34593
|
+
const customGroupHint = error instanceof ResourceNotFoundException$11 ? " Schedules in a custom group cannot be looked up by bare name; the Arn is normally served from cdkd state attributes." : "";
|
|
34367
34594
|
throw new ProvisioningError(`Failed to resolve Arn for Schedule ${physicalId}: ${cause?.message ?? String(error)}.${customGroupHint}`, resourceType, physicalId, physicalId, cause);
|
|
34368
34595
|
}
|
|
34369
34596
|
}
|
|
@@ -34393,7 +34620,7 @@ var SchedulerScheduleProvider = class {
|
|
|
34393
34620
|
...response.Target !== void 0 && { Target: response.Target }
|
|
34394
34621
|
};
|
|
34395
34622
|
} catch (error) {
|
|
34396
|
-
if (error instanceof ResourceNotFoundException$
|
|
34623
|
+
if (error instanceof ResourceNotFoundException$11) return;
|
|
34397
34624
|
throw error;
|
|
34398
34625
|
}
|
|
34399
34626
|
}
|
|
@@ -34419,7 +34646,7 @@ var SchedulerScheduleProvider = class {
|
|
|
34419
34646
|
attributes: response.Arn ? { Arn: response.Arn } : {}
|
|
34420
34647
|
};
|
|
34421
34648
|
} catch (error) {
|
|
34422
|
-
if (error instanceof ResourceNotFoundException$
|
|
34649
|
+
if (error instanceof ResourceNotFoundException$11) return null;
|
|
34423
34650
|
throw error;
|
|
34424
34651
|
}
|
|
34425
34652
|
}
|
|
@@ -38078,7 +38305,7 @@ var FirehoseProvider = class {
|
|
|
38078
38305
|
await this.getClient().send(new DeleteDeliveryStreamCommand({ DeliveryStreamName: physicalId }));
|
|
38079
38306
|
this.logger.debug(`Successfully deleted Firehose delivery stream ${logicalId}`);
|
|
38080
38307
|
} catch (error) {
|
|
38081
|
-
if (error instanceof ResourceNotFoundException$
|
|
38308
|
+
if (error instanceof ResourceNotFoundException$12) {
|
|
38082
38309
|
assertRegionMatch(await this.getClient().config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
38083
38310
|
this.logger.debug(`Firehose delivery stream ${physicalId} does not exist, skipping deletion`);
|
|
38084
38311
|
return;
|
|
@@ -38615,7 +38842,7 @@ var FirehoseProvider = class {
|
|
|
38615
38842
|
try {
|
|
38616
38843
|
desc = (await this.getClient().send(new DescribeDeliveryStreamCommand({ DeliveryStreamName: physicalId }))).DeliveryStreamDescription;
|
|
38617
38844
|
} catch (err) {
|
|
38618
|
-
if (err instanceof ResourceNotFoundException$
|
|
38845
|
+
if (err instanceof ResourceNotFoundException$12) return void 0;
|
|
38619
38846
|
throw err;
|
|
38620
38847
|
}
|
|
38621
38848
|
if (!desc) return void 0;
|
|
@@ -38646,7 +38873,7 @@ var FirehoseProvider = class {
|
|
|
38646
38873
|
try {
|
|
38647
38874
|
result["Tags"] = normalizeAwsTagsToCfn((await this.getClient().send(new ListTagsForDeliveryStreamCommand({ DeliveryStreamName: physicalId }))).Tags);
|
|
38648
38875
|
} catch (err) {
|
|
38649
|
-
if (err instanceof ResourceNotFoundException$
|
|
38876
|
+
if (err instanceof ResourceNotFoundException$12) return void 0;
|
|
38650
38877
|
this.logger.debug(`Firehose ListTagsForDeliveryStream(${physicalId}) failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
38651
38878
|
result["Tags"] = [];
|
|
38652
38879
|
}
|
|
@@ -38683,7 +38910,7 @@ var FirehoseProvider = class {
|
|
|
38683
38910
|
attributes: {}
|
|
38684
38911
|
};
|
|
38685
38912
|
} catch (err) {
|
|
38686
|
-
if (err instanceof ResourceNotFoundException$
|
|
38913
|
+
if (err instanceof ResourceNotFoundException$12) return null;
|
|
38687
38914
|
throw err;
|
|
38688
38915
|
}
|
|
38689
38916
|
return null;
|
|
@@ -39425,7 +39652,7 @@ var CodeBuildProvider = class {
|
|
|
39425
39652
|
await this.getClient().send(new DeleteProjectCommand({ name: physicalId }));
|
|
39426
39653
|
this.logger.debug(`Successfully deleted CodeBuild Project ${logicalId}`);
|
|
39427
39654
|
} catch (error) {
|
|
39428
|
-
if (error instanceof ResourceNotFoundException$
|
|
39655
|
+
if (error instanceof ResourceNotFoundException$13) {
|
|
39429
39656
|
assertRegionMatch(await this.getClient().config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
39430
39657
|
this.logger.debug(`CodeBuild Project ${physicalId} does not exist, skipping deletion`);
|
|
39431
39658
|
return;
|
|
@@ -39480,7 +39707,7 @@ var CodeBuildProvider = class {
|
|
|
39480
39707
|
try {
|
|
39481
39708
|
project = (await this.getClient().send(new BatchGetProjectsCommand({ names: [physicalId] }))).projects?.[0];
|
|
39482
39709
|
} catch (err) {
|
|
39483
|
-
if (err instanceof ResourceNotFoundException$
|
|
39710
|
+
if (err instanceof ResourceNotFoundException$13) return void 0;
|
|
39484
39711
|
throw err;
|
|
39485
39712
|
}
|
|
39486
39713
|
if (!project) return void 0;
|
|
@@ -39625,7 +39852,7 @@ var CodeBuildProvider = class {
|
|
|
39625
39852
|
attributes: {}
|
|
39626
39853
|
} : null;
|
|
39627
39854
|
} catch (err) {
|
|
39628
|
-
if (err instanceof ResourceNotFoundException$
|
|
39855
|
+
if (err instanceof ResourceNotFoundException$13) return null;
|
|
39629
39856
|
throw err;
|
|
39630
39857
|
}
|
|
39631
39858
|
return null;
|
|
@@ -40345,7 +40572,7 @@ var DLMLifecyclePolicyProvider = class {
|
|
|
40345
40572
|
await this.getClient().send(new DeleteLifecyclePolicyCommand$1({ PolicyId: physicalId }));
|
|
40346
40573
|
this.logger.debug(`Successfully deleted DLM Lifecycle Policy ${logicalId}`);
|
|
40347
40574
|
} catch (error) {
|
|
40348
|
-
if (error instanceof ResourceNotFoundException$
|
|
40575
|
+
if (error instanceof ResourceNotFoundException$14) {
|
|
40349
40576
|
assertRegionMatch(await this.getClient().config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
40350
40577
|
this.logger.debug(`DLM Lifecycle Policy ${physicalId} does not exist, skipping deletion`);
|
|
40351
40578
|
return;
|
|
@@ -40396,7 +40623,7 @@ var DLMLifecyclePolicyProvider = class {
|
|
|
40396
40623
|
Tags: normalizeAwsTagsToCfn(policy.Tags)
|
|
40397
40624
|
};
|
|
40398
40625
|
} catch (error) {
|
|
40399
|
-
if (error instanceof ResourceNotFoundException$
|
|
40626
|
+
if (error instanceof ResourceNotFoundException$14) return;
|
|
40400
40627
|
throw error;
|
|
40401
40628
|
}
|
|
40402
40629
|
}
|
|
@@ -40432,7 +40659,7 @@ var DLMLifecyclePolicyProvider = class {
|
|
|
40432
40659
|
attributes: response.Policy.PolicyArn ? { Arn: response.Policy.PolicyArn } : {}
|
|
40433
40660
|
} : null;
|
|
40434
40661
|
} catch (err) {
|
|
40435
|
-
if (err instanceof ResourceNotFoundException$
|
|
40662
|
+
if (err instanceof ResourceNotFoundException$14) return null;
|
|
40436
40663
|
throw err;
|
|
40437
40664
|
}
|
|
40438
40665
|
return null;
|
|
@@ -42768,7 +42995,7 @@ var ACMCertificateProvider = class {
|
|
|
42768
42995
|
try {
|
|
42769
42996
|
await this.acmClient.send(new DeleteCertificateCommand({ CertificateArn: physicalId }));
|
|
42770
42997
|
} catch (error) {
|
|
42771
|
-
if (error instanceof ResourceNotFoundException$
|
|
42998
|
+
if (error instanceof ResourceNotFoundException$7) {
|
|
42772
42999
|
assertRegionMatch(await this.acmClient.config.region(), context?.expectedRegion, resourceType, logicalId, physicalId);
|
|
42773
43000
|
this.logger.debug(`Certificate ${physicalId} does not exist, skipping deletion`);
|
|
42774
43001
|
return;
|
|
@@ -42806,7 +43033,7 @@ var ACMCertificateProvider = class {
|
|
|
42806
43033
|
try {
|
|
42807
43034
|
cert = (await this.acmClient.send(new DescribeCertificateCommand({ CertificateArn: physicalId }))).Certificate;
|
|
42808
43035
|
} catch (err) {
|
|
42809
|
-
if (err instanceof ResourceNotFoundException$
|
|
43036
|
+
if (err instanceof ResourceNotFoundException$7) return void 0;
|
|
42810
43037
|
throw err;
|
|
42811
43038
|
}
|
|
42812
43039
|
if (!cert) return void 0;
|
|
@@ -42820,7 +43047,7 @@ var ACMCertificateProvider = class {
|
|
|
42820
43047
|
try {
|
|
42821
43048
|
result["Tags"] = normalizeAwsTagsToCfn((await this.acmClient.send(new ListTagsForCertificateCommand({ CertificateArn: physicalId }))).Tags);
|
|
42822
43049
|
} catch (err) {
|
|
42823
|
-
if (!(err instanceof ResourceNotFoundException$
|
|
43050
|
+
if (!(err instanceof ResourceNotFoundException$7)) throw err;
|
|
42824
43051
|
}
|
|
42825
43052
|
return result;
|
|
42826
43053
|
}
|
|
@@ -42851,7 +43078,7 @@ var ACMCertificateProvider = class {
|
|
|
42851
43078
|
}
|
|
42852
43079
|
};
|
|
42853
43080
|
} catch (err) {
|
|
42854
|
-
if (err instanceof ResourceNotFoundException$
|
|
43081
|
+
if (err instanceof ResourceNotFoundException$7) return null;
|
|
42855
43082
|
throw err;
|
|
42856
43083
|
}
|
|
42857
43084
|
}
|
|
@@ -42973,6 +43200,7 @@ function registerAllProviders(registry) {
|
|
|
42973
43200
|
registry.register("AWS::DynamoDB::GlobalTable", new DynamoDBGlobalTableProvider());
|
|
42974
43201
|
registry.register("AWS::Logs::LogGroup", new LogsLogGroupProvider());
|
|
42975
43202
|
registry.register("AWS::CloudWatch::Alarm", new CloudWatchAlarmProvider());
|
|
43203
|
+
registry.register("AWS::CloudWatch::AnomalyDetector", new CloudWatchAnomalyDetectorProvider());
|
|
42976
43204
|
registry.register("AWS::SecretsManager::Secret", new SecretsManagerSecretProvider());
|
|
42977
43205
|
registry.register("AWS::SSM::Parameter", new SSMParameterProvider());
|
|
42978
43206
|
registry.register("AWS::Events::Rule", new EventBridgeRuleProvider());
|
|
@@ -62934,7 +63162,7 @@ function createMigrateCommand() {
|
|
|
62934
63162
|
*/
|
|
62935
63163
|
function buildProgram() {
|
|
62936
63164
|
const program = new Command();
|
|
62937
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.
|
|
63165
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.270.0");
|
|
62938
63166
|
program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
62939
63167
|
const { profile } = actionCommand.optsWithGlobals();
|
|
62940
63168
|
if (profile !== void 0) process.env["AWS_PROFILE"] = profile;
|