@go-to-k/cdkd 0.153.0 → 0.155.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 +550 -11
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-9Ct1Z9oH.js → deploy-engine-DWLTHfXj.js} +251 -4
- package/dist/deploy-engine-DWLTHfXj.js.map +1 -0
- package/dist/{docker-cmd-EtWSTAje.js → docker-cmd-iDMcWcre.js} +7 -1
- package/dist/docker-cmd-iDMcWcre.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/dist/deploy-engine-9Ct1Z9oH.js.map +0 -1
- package/dist/docker-cmd-EtWSTAje.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as runDockerStreaming, c as getLogger, d as getLiveRenderer, g as generateResourceNameWithFallback, m as applyDefaultNameForFallback, n as formatDockerLoginError, o as spawnStreaming, r as getDockerCmd, v as withStackName } from "./docker-cmd-
|
|
1
|
+
import { a as runDockerStreaming, c as getLogger, d as getLiveRenderer, g as generateResourceNameWithFallback, m as applyDefaultNameForFallback, n as formatDockerLoginError, o as spawnStreaming, r as getDockerCmd, v as withStackName } from "./docker-cmd-iDMcWcre.js";
|
|
2
2
|
import { r as getAwsClients } from "./aws-clients-BF03Alpe.js";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
import { DeleteObjectCommand, GetBucketLocationCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectsV2Command, NoSuchKey, PutObjectCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
|
|
@@ -6748,6 +6748,228 @@ function assertRegionMatch(clientRegion, expectedRegion, resourceType, logicalId
|
|
|
6748
6748
|
if (clientRegion !== expectedRegion) throw new ProvisioningError(`Refusing to treat NotFound as idempotent delete success for ${logicalId} (${resourceType}): AWS client region ${clientRegion} does not match stack state region ${expectedRegion}. The resource likely still exists in ${expectedRegion}; rerun the destroy with the correct region (e.g. --region ${expectedRegion}).`, resourceType, logicalId, physicalId);
|
|
6749
6749
|
}
|
|
6750
6750
|
|
|
6751
|
+
//#endregion
|
|
6752
|
+
//#region src/provisioning/unsupported-types.generated.ts
|
|
6753
|
+
/**
|
|
6754
|
+
* AUTO-GENERATED by scripts/gen-unsupported-types.ts — DO NOT EDIT BY HAND.
|
|
6755
|
+
* Source: docs/_generated/provider-coverage.json (tier3).
|
|
6756
|
+
* Regenerate: `vp run gen:unsupported-types`.
|
|
6757
|
+
*
|
|
6758
|
+
* AWS CloudFormation resource types AWS reports as
|
|
6759
|
+
* `ProvisioningType: NON_PROVISIONABLE` (Cloud Control API cannot
|
|
6760
|
+
* create/update/delete them) and for which cdkd has no SDK provider. cdkd
|
|
6761
|
+
* pre-flight rejects these fast with an actionable message instead of letting
|
|
6762
|
+
* the optimistic Cloud Control fallthrough fail mid-deploy.
|
|
6763
|
+
*/
|
|
6764
|
+
const NON_PROVISIONABLE_TYPES = new Set([
|
|
6765
|
+
"Alexa::ASK::Skill",
|
|
6766
|
+
"AWS::AmazonMQ::ConfigurationAssociation",
|
|
6767
|
+
"AWS::ApiGatewayV2::ApiGatewayManagedOverrides",
|
|
6768
|
+
"AWS::AppMesh::GatewayRoute",
|
|
6769
|
+
"AWS::AppMesh::Mesh",
|
|
6770
|
+
"AWS::AppMesh::Route",
|
|
6771
|
+
"AWS::AppMesh::VirtualGateway",
|
|
6772
|
+
"AWS::AppMesh::VirtualNode",
|
|
6773
|
+
"AWS::AppMesh::VirtualRouter",
|
|
6774
|
+
"AWS::AppMesh::VirtualService",
|
|
6775
|
+
"AWS::AppStream::Fleet",
|
|
6776
|
+
"AWS::AppStream::StackFleetAssociation",
|
|
6777
|
+
"AWS::AppStream::StackUserAssociation",
|
|
6778
|
+
"AWS::AppStream::User",
|
|
6779
|
+
"AWS::AppSync::ApiCache",
|
|
6780
|
+
"AWS::AutoScalingPlans::ScalingPlan",
|
|
6781
|
+
"AWS::BedrockAgentCore::Browser",
|
|
6782
|
+
"AWS::Budgets::Budget",
|
|
6783
|
+
"AWS::CertificateManager::Certificate",
|
|
6784
|
+
"AWS::Cloud9::EnvironmentEC2",
|
|
6785
|
+
"AWS::CloudFormation::CustomResource",
|
|
6786
|
+
"AWS::CloudFormation::Macro",
|
|
6787
|
+
"AWS::CloudFormation::WaitCondition",
|
|
6788
|
+
"AWS::CloudFormation::WaitConditionHandle",
|
|
6789
|
+
"AWS::CloudFront::StreamingDistribution",
|
|
6790
|
+
"AWS::CloudWatch::AnomalyDetector",
|
|
6791
|
+
"AWS::CloudWatch::InsightRule",
|
|
6792
|
+
"AWS::CodeBuild::ReportGroup",
|
|
6793
|
+
"AWS::CodeBuild::SourceCredential",
|
|
6794
|
+
"AWS::CodeCommit::Repository",
|
|
6795
|
+
"AWS::CodeStar::GitHubRepository",
|
|
6796
|
+
"AWS::Config::ConfigurationRecorder",
|
|
6797
|
+
"AWS::Config::DeliveryChannel",
|
|
6798
|
+
"AWS::Config::OrganizationConfigRule",
|
|
6799
|
+
"AWS::Config::RemediationConfiguration",
|
|
6800
|
+
"AWS::DAX::Cluster",
|
|
6801
|
+
"AWS::DAX::ParameterGroup",
|
|
6802
|
+
"AWS::DAX::SubnetGroup",
|
|
6803
|
+
"AWS::DirectoryService::MicrosoftAD",
|
|
6804
|
+
"AWS::DLM::LifecyclePolicy",
|
|
6805
|
+
"AWS::DMS::Certificate",
|
|
6806
|
+
"AWS::DMS::Endpoint",
|
|
6807
|
+
"AWS::DMS::EventSubscription",
|
|
6808
|
+
"AWS::DMS::ReplicationInstance",
|
|
6809
|
+
"AWS::DMS::ReplicationSubnetGroup",
|
|
6810
|
+
"AWS::DMS::ReplicationTask",
|
|
6811
|
+
"AWS::DocDB::DBClusterParameterGroup",
|
|
6812
|
+
"AWS::DocDB::EventSubscription",
|
|
6813
|
+
"AWS::EC2::ClientVpnAuthorizationRule",
|
|
6814
|
+
"AWS::EC2::ClientVpnEndpoint",
|
|
6815
|
+
"AWS::EC2::ClientVpnRoute",
|
|
6816
|
+
"AWS::EC2::ClientVpnTargetNetworkAssociation",
|
|
6817
|
+
"AWS::EC2::NetworkInterfacePermission",
|
|
6818
|
+
"AWS::EC2::VPNGatewayRoutePropagation",
|
|
6819
|
+
"AWS::ElastiCache::SecurityGroup",
|
|
6820
|
+
"AWS::ElastiCache::SecurityGroupIngress",
|
|
6821
|
+
"AWS::ElasticLoadBalancing::LoadBalancer",
|
|
6822
|
+
"AWS::ElasticLoadBalancingV2::ListenerCertificate",
|
|
6823
|
+
"AWS::Elasticsearch::Domain",
|
|
6824
|
+
"AWS::EMR::Cluster",
|
|
6825
|
+
"AWS::EMR::InstanceFleetConfig",
|
|
6826
|
+
"AWS::EMR::InstanceGroupConfig",
|
|
6827
|
+
"AWS::FSx::FileSystem",
|
|
6828
|
+
"AWS::FSx::Snapshot",
|
|
6829
|
+
"AWS::FSx::StorageVirtualMachine",
|
|
6830
|
+
"AWS::FSx::Volume",
|
|
6831
|
+
"AWS::Glue::Classifier",
|
|
6832
|
+
"AWS::Glue::CustomEntityType",
|
|
6833
|
+
"AWS::Glue::DataCatalogEncryptionSettings",
|
|
6834
|
+
"AWS::Glue::DataQualityRuleset",
|
|
6835
|
+
"AWS::Glue::DevEndpoint",
|
|
6836
|
+
"AWS::Glue::MLTransform",
|
|
6837
|
+
"AWS::Glue::Partition",
|
|
6838
|
+
"AWS::Glue::TableOptimizer",
|
|
6839
|
+
"AWS::Greengrass::ConnectorDefinition",
|
|
6840
|
+
"AWS::Greengrass::ConnectorDefinitionVersion",
|
|
6841
|
+
"AWS::Greengrass::CoreDefinition",
|
|
6842
|
+
"AWS::Greengrass::CoreDefinitionVersion",
|
|
6843
|
+
"AWS::Greengrass::DeviceDefinition",
|
|
6844
|
+
"AWS::Greengrass::DeviceDefinitionVersion",
|
|
6845
|
+
"AWS::Greengrass::FunctionDefinition",
|
|
6846
|
+
"AWS::Greengrass::FunctionDefinitionVersion",
|
|
6847
|
+
"AWS::Greengrass::Group",
|
|
6848
|
+
"AWS::Greengrass::GroupVersion",
|
|
6849
|
+
"AWS::Greengrass::LoggerDefinition",
|
|
6850
|
+
"AWS::Greengrass::LoggerDefinitionVersion",
|
|
6851
|
+
"AWS::Greengrass::ResourceDefinition",
|
|
6852
|
+
"AWS::Greengrass::ResourceDefinitionVersion",
|
|
6853
|
+
"AWS::Greengrass::SubscriptionDefinition",
|
|
6854
|
+
"AWS::Greengrass::SubscriptionDefinitionVersion",
|
|
6855
|
+
"AWS::IAM::AccessKey",
|
|
6856
|
+
"AWS::IoT::PolicyPrincipalAttachment",
|
|
6857
|
+
"AWS::IoT::ThingPrincipalAttachment",
|
|
6858
|
+
"AWS::IoTThingsGraph::FlowTemplate",
|
|
6859
|
+
"AWS::KinesisAnalytics::Application",
|
|
6860
|
+
"AWS::KinesisAnalytics::ApplicationOutput",
|
|
6861
|
+
"AWS::KinesisAnalytics::ApplicationReferenceDataSource",
|
|
6862
|
+
"AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption",
|
|
6863
|
+
"AWS::KinesisAnalyticsV2::ApplicationOutput",
|
|
6864
|
+
"AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource",
|
|
6865
|
+
"AWS::LakeFormation::DataLakeSettings",
|
|
6866
|
+
"AWS::LakeFormation::Permissions",
|
|
6867
|
+
"AWS::LakeFormation::Resource",
|
|
6868
|
+
"AWS::ManagedBlockchain::Member",
|
|
6869
|
+
"AWS::ManagedBlockchain::Node",
|
|
6870
|
+
"AWS::MediaConvert::JobTemplate",
|
|
6871
|
+
"AWS::MediaConvert::Preset",
|
|
6872
|
+
"AWS::MediaConvert::Queue",
|
|
6873
|
+
"AWS::MediaLive::Channel",
|
|
6874
|
+
"AWS::MediaLive::Input",
|
|
6875
|
+
"AWS::MediaLive::InputSecurityGroup",
|
|
6876
|
+
"AWS::MediaStore::Container",
|
|
6877
|
+
"AWS::OpsWorks::App",
|
|
6878
|
+
"AWS::OpsWorks::ElasticLoadBalancerAttachment",
|
|
6879
|
+
"AWS::OpsWorks::Instance",
|
|
6880
|
+
"AWS::OpsWorks::Layer",
|
|
6881
|
+
"AWS::OpsWorks::Stack",
|
|
6882
|
+
"AWS::OpsWorks::UserProfile",
|
|
6883
|
+
"AWS::OpsWorks::Volume",
|
|
6884
|
+
"AWS::Pinpoint::ADMChannel",
|
|
6885
|
+
"AWS::Pinpoint::APNSChannel",
|
|
6886
|
+
"AWS::Pinpoint::APNSSandboxChannel",
|
|
6887
|
+
"AWS::Pinpoint::APNSVoipChannel",
|
|
6888
|
+
"AWS::Pinpoint::APNSVoipSandboxChannel",
|
|
6889
|
+
"AWS::Pinpoint::App",
|
|
6890
|
+
"AWS::Pinpoint::ApplicationSettings",
|
|
6891
|
+
"AWS::Pinpoint::BaiduChannel",
|
|
6892
|
+
"AWS::Pinpoint::Campaign",
|
|
6893
|
+
"AWS::Pinpoint::EmailChannel",
|
|
6894
|
+
"AWS::Pinpoint::EmailTemplate",
|
|
6895
|
+
"AWS::Pinpoint::EventStream",
|
|
6896
|
+
"AWS::Pinpoint::GCMChannel",
|
|
6897
|
+
"AWS::Pinpoint::PushTemplate",
|
|
6898
|
+
"AWS::Pinpoint::Segment",
|
|
6899
|
+
"AWS::Pinpoint::SMSChannel",
|
|
6900
|
+
"AWS::Pinpoint::SmsTemplate",
|
|
6901
|
+
"AWS::Pinpoint::VoiceChannel",
|
|
6902
|
+
"AWS::PinpointEmail::ConfigurationSet",
|
|
6903
|
+
"AWS::PinpointEmail::ConfigurationSetEventDestination",
|
|
6904
|
+
"AWS::PinpointEmail::DedicatedIpPool",
|
|
6905
|
+
"AWS::PinpointEmail::Identity",
|
|
6906
|
+
"AWS::QLDB::Ledger",
|
|
6907
|
+
"AWS::RDS::DBSecurityGroup",
|
|
6908
|
+
"AWS::RDS::DBSecurityGroupIngress",
|
|
6909
|
+
"AWS::Redshift::ClusterSecurityGroup",
|
|
6910
|
+
"AWS::Redshift::ClusterSecurityGroupIngress",
|
|
6911
|
+
"AWS::Route53::RecordSetGroup",
|
|
6912
|
+
"AWS::SageMaker::CodeRepository",
|
|
6913
|
+
"AWS::SageMaker::EndpointConfig",
|
|
6914
|
+
"AWS::SageMaker::NotebookInstance",
|
|
6915
|
+
"AWS::SageMaker::NotebookInstanceLifecycleConfig",
|
|
6916
|
+
"AWS::SageMaker::Workteam",
|
|
6917
|
+
"AWS::SDB::Domain",
|
|
6918
|
+
"AWS::ServiceCatalog::AcceptedPortfolioShare",
|
|
6919
|
+
"AWS::ServiceCatalog::CloudFormationProduct",
|
|
6920
|
+
"AWS::ServiceDiscovery::HttpNamespace",
|
|
6921
|
+
"AWS::ServiceDiscovery::Instance",
|
|
6922
|
+
"AWS::ServiceDiscovery::PublicDnsNamespace",
|
|
6923
|
+
"AWS::SES::ReceiptFilter",
|
|
6924
|
+
"AWS::SES::ReceiptRule",
|
|
6925
|
+
"AWS::SES::ReceiptRuleSet",
|
|
6926
|
+
"AWS::WAF::ByteMatchSet",
|
|
6927
|
+
"AWS::WAF::IPSet",
|
|
6928
|
+
"AWS::WAF::Rule",
|
|
6929
|
+
"AWS::WAF::SizeConstraintSet",
|
|
6930
|
+
"AWS::WAF::SqlInjectionMatchSet",
|
|
6931
|
+
"AWS::WAF::WebACL",
|
|
6932
|
+
"AWS::WAF::XssMatchSet",
|
|
6933
|
+
"AWS::WAFRegional::ByteMatchSet",
|
|
6934
|
+
"AWS::WAFRegional::GeoMatchSet",
|
|
6935
|
+
"AWS::WAFRegional::IPSet",
|
|
6936
|
+
"AWS::WAFRegional::RateBasedRule",
|
|
6937
|
+
"AWS::WAFRegional::RegexPatternSet",
|
|
6938
|
+
"AWS::WAFRegional::Rule",
|
|
6939
|
+
"AWS::WAFRegional::SizeConstraintSet",
|
|
6940
|
+
"AWS::WAFRegional::SqlInjectionMatchSet",
|
|
6941
|
+
"AWS::WAFRegional::WebACL",
|
|
6942
|
+
"AWS::WAFRegional::WebACLAssociation",
|
|
6943
|
+
"AWS::WAFRegional::XssMatchSet"
|
|
6944
|
+
]);
|
|
6945
|
+
|
|
6946
|
+
//#endregion
|
|
6947
|
+
//#region src/provisioning/unsupported-types.ts
|
|
6948
|
+
/**
|
|
6949
|
+
* Helpers for cdkd's genuinely-unsupported resource types.
|
|
6950
|
+
*
|
|
6951
|
+
* The data ({@link NON_PROVISIONABLE_TYPES}) is generated from the
|
|
6952
|
+
* provider-coverage audit (`vp run gen:unsupported-types`); this module adds
|
|
6953
|
+
* the runtime predicates + the actionable issue link used by the pre-flight
|
|
6954
|
+
* check (see {@link ../provisioning/provider-registry.ProviderRegistry.validateResourceTypes}).
|
|
6955
|
+
*/
|
|
6956
|
+
/**
|
|
6957
|
+
* True if AWS reports the type as `ProvisioningType: NON_PROVISIONABLE`
|
|
6958
|
+
* (Cloud Control API cannot create/update/delete it) and cdkd has no SDK
|
|
6959
|
+
* provider for it.
|
|
6960
|
+
*/
|
|
6961
|
+
function isNonProvisionable(resourceType) {
|
|
6962
|
+
return NON_PROVISIONABLE_TYPES.has(resourceType);
|
|
6963
|
+
}
|
|
6964
|
+
/**
|
|
6965
|
+
* A 1-click pre-filled GitHub issue link requesting cdkd support for a
|
|
6966
|
+
* resource type. Surfaced in the pre-flight error so a user hitting an
|
|
6967
|
+
* unsupported type lands directly in the "request support" flow.
|
|
6968
|
+
*/
|
|
6969
|
+
function unsupportedTypeIssueUrl(resourceType) {
|
|
6970
|
+
return `https://github.com/go-to-k/cdkd/issues/new?title=${encodeURIComponent(`Support resource type ${resourceType}`)}&labels=resource-support`;
|
|
6971
|
+
}
|
|
6972
|
+
|
|
6751
6973
|
//#endregion
|
|
6752
6974
|
//#region src/provisioning/cloud-control-provider.ts
|
|
6753
6975
|
/**
|
|
@@ -7106,7 +7328,6 @@ var CloudControlProvider = class {
|
|
|
7106
7328
|
if (new Set([
|
|
7107
7329
|
"AWS::IAM::Role",
|
|
7108
7330
|
"AWS::IAM::Policy",
|
|
7109
|
-
"AWS::IAM::ManagedPolicy",
|
|
7110
7331
|
"AWS::IAM::User",
|
|
7111
7332
|
"AWS::IAM::Group",
|
|
7112
7333
|
"AWS::IAM::InstanceProfile",
|
|
@@ -7123,6 +7344,7 @@ var CloudControlProvider = class {
|
|
|
7123
7344
|
"AWS::CertificateManager::Certificate"
|
|
7124
7345
|
]).has(resourceType)) return false;
|
|
7125
7346
|
if (resourceType.startsWith("Custom::") || resourceType.startsWith("AWS::CloudFormation::CustomResource")) return false;
|
|
7347
|
+
if (isNonProvisionable(resourceType)) return false;
|
|
7126
7348
|
return resourceType.startsWith("AWS::");
|
|
7127
7349
|
}
|
|
7128
7350
|
/**
|
|
@@ -7750,11 +7972,25 @@ var ProviderRegistry = class {
|
|
|
7750
7972
|
cloudControlProvider;
|
|
7751
7973
|
customResourceProvider;
|
|
7752
7974
|
skipResourceTypes = /* @__PURE__ */ new Set();
|
|
7975
|
+
allowedUnsupportedTypes = /* @__PURE__ */ new Set();
|
|
7753
7976
|
constructor() {
|
|
7754
7977
|
this.cloudControlProvider = new CloudControlProvider();
|
|
7755
7978
|
this.customResourceProvider = new CustomResourceProvider();
|
|
7756
7979
|
}
|
|
7757
7980
|
/**
|
|
7981
|
+
* Escape hatch for the `--allow-unsupported-types` CLI flag. Named types
|
|
7982
|
+
* bypass the pre-flight unsupported-type rejection and are routed through
|
|
7983
|
+
* Cloud Control optimistically (which will likely still fail for genuinely
|
|
7984
|
+
* NON_PROVISIONABLE types — but the choice is the user's). Per-type rather
|
|
7985
|
+
* than a blanket flag so the user explicitly acknowledges each type.
|
|
7986
|
+
*/
|
|
7987
|
+
allowUnsupportedTypes(resourceTypes) {
|
|
7988
|
+
for (const resourceType of resourceTypes) {
|
|
7989
|
+
this.allowedUnsupportedTypes.add(resourceType);
|
|
7990
|
+
this.logger.debug(`Allowing unsupported resource type via escape hatch: ${resourceType}`);
|
|
7991
|
+
}
|
|
7992
|
+
}
|
|
7993
|
+
/**
|
|
7758
7994
|
* Configure the response bucket for custom resources
|
|
7759
7995
|
* This allows Lambda handlers using cfn-response to send responses via S3
|
|
7760
7996
|
*/
|
|
@@ -7814,6 +8050,10 @@ var ProviderRegistry = class {
|
|
|
7814
8050
|
this.logger.debug(`Using Custom Resource provider for ${resourceType}`);
|
|
7815
8051
|
return this.customResourceProvider;
|
|
7816
8052
|
}
|
|
8053
|
+
if (this.allowedUnsupportedTypes.has(resourceType)) {
|
|
8054
|
+
this.logger.debug(`Routing escape-hatch-allowed type ${resourceType} through Cloud Control API`);
|
|
8055
|
+
return this.cloudControlProvider;
|
|
8056
|
+
}
|
|
7817
8057
|
throw new Error(`No provider available for resource type: ${resourceType}. This resource type is not supported by Cloud Control API and no SDK provider is registered.`);
|
|
7818
8058
|
}
|
|
7819
8059
|
/**
|
|
@@ -7827,6 +8067,7 @@ var ProviderRegistry = class {
|
|
|
7827
8067
|
*/
|
|
7828
8068
|
hasProvider(resourceType) {
|
|
7829
8069
|
if (this.shouldSkipResource(resourceType)) return true;
|
|
8070
|
+
if (this.allowedUnsupportedTypes.has(resourceType)) return true;
|
|
7830
8071
|
return this.providers.has(resourceType) || CloudControlProvider.isSupportedResourceType(resourceType) || resourceType.startsWith("Custom::") || resourceType === "AWS::CloudFormation::CustomResource";
|
|
7831
8072
|
}
|
|
7832
8073
|
/**
|
|
@@ -7849,6 +8090,7 @@ var ProviderRegistry = class {
|
|
|
7849
8090
|
getProviderType(resourceType) {
|
|
7850
8091
|
if (this.providers.has(resourceType)) return "sdk";
|
|
7851
8092
|
if (CloudControlProvider.isSupportedResourceType(resourceType)) return "cloud-control";
|
|
8093
|
+
if (this.allowedUnsupportedTypes.has(resourceType)) return "cloud-control";
|
|
7852
8094
|
return null;
|
|
7853
8095
|
}
|
|
7854
8096
|
/**
|
|
@@ -7862,7 +8104,12 @@ var ProviderRegistry = class {
|
|
|
7862
8104
|
validateResourceTypes(resourceTypes) {
|
|
7863
8105
|
const unsupportedTypes = [];
|
|
7864
8106
|
for (const resourceType of resourceTypes) if (!this.hasProvider(resourceType)) unsupportedTypes.push(resourceType);
|
|
7865
|
-
if (unsupportedTypes.length > 0)
|
|
8107
|
+
if (unsupportedTypes.length > 0) {
|
|
8108
|
+
const details = unsupportedTypes.map((type) => {
|
|
8109
|
+
return ` - ${type}\n ${isNonProvisionable(type) ? "AWS reports this type as NON_PROVISIONABLE (Cloud Control API cannot manage it) and cdkd has no SDK provider for it." : "cdkd does not currently support this type — no SDK provider is registered, and the type is either on cdkd's Cloud Control blocklist (pending a dedicated SDK provider) or is not an AWS:: namespace."}\n Request support: ${unsupportedTypeIssueUrl(type)}`;
|
|
8110
|
+
}).join("\n");
|
|
8111
|
+
throw new Error(`The following resource types are not supported by cdkd:\n` + details + `\n\nTo attempt deployment anyway (Cloud Control will likely fail for NON_PROVISIONABLE types), re-run with: --allow-unsupported-types ${unsupportedTypes.join(",")}`);
|
|
8112
|
+
}
|
|
7866
8113
|
this.logger.debug(`Validated ${resourceTypes.size} resource types: all have available providers`);
|
|
7867
8114
|
}
|
|
7868
8115
|
};
|
|
@@ -10065,4 +10312,4 @@ var DeployEngine = class {
|
|
|
10065
10312
|
|
|
10066
10313
|
//#endregion
|
|
10067
10314
|
export { CdkdError as $, shouldRetainResource as A, resolveSkipPrefix as B, IntrinsicFunctionResolver as C, TemplateParser as D, DagBuilder as E, Synthesizer as F, CFN_TEMPLATE_URL_LIMIT as G, resolveStateBucketWithDefaultAndSource as H, getDefaultStateBucketName as I, uploadCfnTemplate as J, MIGRATE_TMP_PREFIX as K, getLegacyStateBucketName as L, stringifyValue as M, WorkGraph as N, LockManager as O, buildDockerImage as P, AssetError as Q, resolveApp as R, assertRegionMatch as S, DiffCalculator as T, warnDeprecatedNoPrefixCliFlag as U, resolveStateBucketWithDefault as V, CFN_TEMPLATE_BODY_LIMIT as W, clearBucketRegionCache as X, AssemblyReader as Y, resolveBucketRegion as Z, matchesCdkPath as _, formatError as _t, withRetry as a, LockError as at, ProviderRegistry as b, withErrorHandling as bt, bold as c, PartialFailureError as ct, green as d, ResourceUpdateNotSupportedError as dt, ConfigError as et, red as f, RouteDiscoveryError as ft, CDK_PATH_TAG as g, SynthesisError as gt, collectInlinePolicyNamesManagedBySiblings as h, StateError as ht, withResourceDeadline as i, LocalStartServiceError as it, AssetPublisher as j, S3StateBackend as k, cyan as l, ProvisioningError as lt, IAMRoleProvider as m, StackTerminationProtectionError as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, LocalInvokeBuildError as nt, IMPLICIT_DELETE_DEPENDENCIES as o, MissingCdkCliError as ot, yellow as p, StackHasActiveImportsError as pt, findLargeInlineResources as q, DeployEngine as r, LocalMigrateError as rt, formatResourceLine as s, NestedStackChildDirectDestroyError as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, DependencyError as tt, gray as u, ResourceTimeoutError as ut, normalizeAwsTagsToCfn as v, isCdkdError as vt, applyRoleArnIfSet as w, CloudControlProvider as x, resolveExplicitPhysicalId as y, normalizeAwsError as yt, resolveCaptureObservedState as z };
|
|
10068
|
-
//# sourceMappingURL=deploy-engine-
|
|
10315
|
+
//# sourceMappingURL=deploy-engine-DWLTHfXj.js.map
|