@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/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-B-igYtBj.js";
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-D-XHoXeI.js";
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$4, 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$5, 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$6, UpdateCertificateOptionsCommand } from "@aws-sdk/client-acm";
25
- import { CreateMicrovmImageCommand, DeleteMicrovmImageCommand, GetMicrovmImageCommand, LambdaMicrovmsClient, ListTagsCommand as ListTagsCommand$1, ResourceNotFoundException as ResourceNotFoundException$7, TagResourceCommand as TagResourceCommand$10, UntagResourceCommand as UntagResourceCommand$10, UpdateMicrovmImageCommand } from "@aws-sdk/client-lambda-microvms";
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$8, SetUserPoolMfaConfigCommand, UpdateUserPoolCommand } from "@aws-sdk/client-cognito-identity-provider";
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$9, 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$10, SchedulerClient, UpdateScheduleCommand } from "@aws-sdk/client-scheduler";
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$11, TagDeliveryStreamCommand, UntagDeliveryStreamCommand, UpdateDestinationCommand } from "@aws-sdk/client-firehose";
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$12, UpdateProjectCommand } from "@aws-sdk/client-codebuild";
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$13, TagResourceCommand as TagResourceCommand$21, UntagResourceCommand as UntagResourceCommand$21, UpdateLifecyclePolicyCommand } from "@aws-sdk/client-dlm";
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$7) {
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$7) return null;
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$7) return void 0;
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$7) return;
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$4)) throw err;
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$4) {
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$4) return void 0;
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$4) return void 0;
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$4) return null;
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$5) {
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$5) return void 0;
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$5) {
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$5) return void 0;
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$8) {
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$8) {
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$8) return void 0;
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$8) return null;
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$9) {
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$9) return void 0;
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$9) return void 0;
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$9) return null;
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$9) {
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$9) return void 0;
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$9) return void 0;
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$10) {
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$10 ? " Schedules in a custom group cannot be looked up by bare name; the Arn is normally served from cdkd state attributes." : "";
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$10) return;
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$10) return null;
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$11) {
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$11) return void 0;
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$11) return void 0;
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$11) return null;
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$12) {
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$12) return void 0;
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$12) return null;
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$13) {
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$13) return;
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$13) return null;
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$6) {
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$6) return void 0;
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$6)) throw err;
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$6) return null;
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.269.3");
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;