@go-to-k/cdkd 0.278.12 → 0.278.14

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 DagBuilder, A as red, At as resolveApp, B as isTerminationProtectionPropagationError, Bt as CFN_TEMPLATE_URL_LIMIT, C as isStatefulRecreateTargetSync, Ct as runDockerStreaming, D as cyan, Dt as synthesisStatusMessage, E as bold, Et as Synthesizer, F as ProviderRegistry, Ft as resolveStateBucketWithDefaultAndSource, G as normalizeAwsTagsToCfn, Gt as AssemblyReader, H as cfnRefValueFromPhysicalId, Ht as findLargeInlineResources, I as findActionableSilentDrops, It as resolveUseCdkBootstrapAssets, J as applyRoleArnIfSet, Jt as resolveBucketRegion, K as resolveExplicitPhysicalId, Kt as processStackMessages, L as CloudControlProvider, Lt as stateBucketExistenceConfirmed, M as IAMRoleProvider, Mt as resolveCaptureObservedState, N as collectInlinePolicyNamesManagedBySiblings, Nt as resolveSkipPrefix, O as gray, Ot as getDefaultStateBucketName, P as clearOnUpdateRemoval, Pt as resolveStateBucketWithDefault, Q as isRetryableTransientError, Qt as setAwsClients, R as slowCcOperationTimeoutMs, Rt as warnDeprecatedNoPrefixCliFlag, S as MULTI_REGION_RECREATE_BLOCKED_TYPES, St as runDockerForeground, T as formatResourceLine, Tt as getDockerImageBySourceHash, U as refStateLookupFromResource, Ut as uploadCfnTemplate, V as IntrinsicFunctionResolver, Vt as MIGRATE_TMP_PREFIX, W as WAFv2WebACLProvider, Wt as expectedOwnerParam, X as describeTypeWithThrottleRetry, Xt as getAwsClients, Y as DiffCalculator, Yt as AwsClients, Z as withRetry, Zt as resetAwsClients, _ as createPreDeleteFinalSnapshot, _t as validateAssetBucketName, a as DeploymentEventsStore, an as LocalMigrateError, at as AssetPublisher, b as unsupportedFinalSnapshotError, bn as normalizeAwsError, bt as formatDockerLoginError, c as replayFailedOperations, cn as MissingCdkCliError, ct as buildAssetRedirectMap, d as IMPLICIT_DELETE_DEPENDENCIES, dn as ProvisioningError, dt as rewriteTemplateAssetReferences, en as CdkdError, et as TemplateParser, f as computeImplicitDeleteEdges, fn as ResourceTimeoutError, ft as AssetModeResolver, g as ccRoutedFinalSnapshotError, gt as parseBootstrapMarker, h as buildFinalSnapshotIdentifier, hn as StackTerminationProtectionError, ht as getBootstrapMarkerKey, i as DeploymentEventsReader, in as LocalInvokeBuildError$1, it as shouldRetainResource, j as yellow, jt as resolveAutoAssetStorage, k as green, kt as getLegacyStateBucketName, l as replayRollback, ln as NestedStackChildDirectDestroyError, lt as createAssetRedirectResolver, m as PRE_DELETE_SNAPSHOT_TYPES, mn as StackHasActiveImportsError, mt as ensureAssetStorage, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nt as S3StateBackend, o as planFailedOps, on as LocalStartServiceError, ot as stringifyValue, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as ResourceUpdateNotSupportedError, pt as BOOTSTRAP_MARKER_PREFIX, q as assertRegionMatch, r as DeployEngine, rn as DeployCancelledError, rt as rebuildClientForBucketRegion, s as planRollback, st as WorkGraph, t as DEFAULT_RESOURCE_TIMEOUT_MS, tt as LockManager, u as withResourceDeadline, un as PartialFailureError, ut as loadPublishableAssetManifest, v as isFinalSnapshotError, vt as validateContainerRepoName, w as renderStatefulReason, wt as AssetManifestLoader, x as extractDeploymentEventError, xn as withErrorHandling, xt as getDockerCmd, y as refusesFinalSnapshot, yt as buildDockerImage, z as disableInstanceApiTermination, zt as CFN_TEMPLATE_BODY_LIMIT } from "./deploy-engine-BKfqbjsz.js";
2
+ import { $ as DagBuilder, A as red, At as resolveApp, B as isTerminationProtectionPropagationError, Bt as CFN_TEMPLATE_URL_LIMIT, C as isStatefulRecreateTargetSync, Ct as runDockerStreaming, D as cyan, Dt as synthesisStatusMessage, E as bold, Et as Synthesizer, F as ProviderRegistry, Ft as resolveStateBucketWithDefaultAndSource, G as normalizeAwsTagsToCfn, Gt as AssemblyReader, H as cfnRefValueFromPhysicalId, Ht as findLargeInlineResources, I as findActionableSilentDrops, It as resolveUseCdkBootstrapAssets, J as applyRoleArnIfSet, Jt as resolveBucketRegion, K as resolveExplicitPhysicalId, Kt as processStackMessages, L as CloudControlProvider, Lt as stateBucketExistenceConfirmed, M as IAMRoleProvider, Mt as resolveCaptureObservedState, N as collectInlinePolicyNamesManagedBySiblings, Nt as resolveSkipPrefix, O as gray, Ot as getDefaultStateBucketName, P as clearOnUpdateRemoval, Pt as resolveStateBucketWithDefault, Q as isRetryableTransientError, Qt as setAwsClients, R as slowCcOperationTimeoutMs, Rt as warnDeprecatedNoPrefixCliFlag, S as MULTI_REGION_RECREATE_BLOCKED_TYPES, St as runDockerForeground, T as formatResourceLine, Tt as getDockerImageBySourceHash, U as refStateLookupFromResource, Ut as uploadCfnTemplate, V as IntrinsicFunctionResolver, Vt as MIGRATE_TMP_PREFIX, W as WAFv2WebACLProvider, Wt as expectedOwnerParam, X as describeTypeWithThrottleRetry, Xt as getAwsClients, Y as DiffCalculator, Yt as AwsClients, Z as withRetry, Zt as resetAwsClients, _ as createPreDeleteFinalSnapshot, _t as validateAssetBucketName, a as DeploymentEventsStore, an as LocalMigrateError, at as AssetPublisher, b as unsupportedFinalSnapshotError, bn as normalizeAwsError, bt as formatDockerLoginError, c as replayFailedOperations, cn as MissingCdkCliError, ct as buildAssetRedirectMap, d as IMPLICIT_DELETE_DEPENDENCIES, dn as ProvisioningError, dt as rewriteTemplateAssetReferences, en as CdkdError, et as TemplateParser, f as computeImplicitDeleteEdges, fn as ResourceTimeoutError, ft as AssetModeResolver, g as ccRoutedFinalSnapshotError, gt as parseBootstrapMarker, h as buildFinalSnapshotIdentifier, hn as StackTerminationProtectionError, ht as getBootstrapMarkerKey, i as DeploymentEventsReader, in as LocalInvokeBuildError$1, it as shouldRetainResource, j as yellow, jt as resolveAutoAssetStorage, k as green, kt as getLegacyStateBucketName, l as replayRollback, ln as NestedStackChildDirectDestroyError, lt as createAssetRedirectResolver, m as PRE_DELETE_SNAPSHOT_TYPES, mn as StackHasActiveImportsError, mt as ensureAssetStorage, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nt as S3StateBackend, o as planFailedOps, on as LocalStartServiceError, ot as stringifyValue, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as ResourceUpdateNotSupportedError, pt as BOOTSTRAP_MARKER_PREFIX, q as assertRegionMatch, r as DeployEngine, rn as DeployCancelledError, rt as rebuildClientForBucketRegion, s as planRollback, st as WorkGraph, t as DEFAULT_RESOURCE_TIMEOUT_MS, tt as LockManager, u as withResourceDeadline, un as PartialFailureError, ut as loadPublishableAssetManifest, v as isFinalSnapshotError, vt as validateContainerRepoName, w as renderStatefulReason, wt as AssetManifestLoader, x as extractDeploymentEventError, xn as withErrorHandling, xt as getDockerCmd, y as refusesFinalSnapshot, yt as buildDockerImage, z as disableInstanceApiTermination, zt as CFN_TEMPLATE_BODY_LIMIT } from "./deploy-engine-CLNqGpsK.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-BAnnBKci.js";
4
+ import { t as ASGProvider } from "./asg-provider-Abhz9gSY.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";
@@ -4813,6 +4813,52 @@ function isTruthyCfnBoolean(value) {
4813
4813
  //#endregion
4814
4814
  //#region src/provisioning/providers/s3-bucket-provider.ts
4815
4815
  /**
4816
+ * A plain (non-array) object. `typeof x === 'object'` alone accepts arrays and
4817
+ * `null`; a `Transition: []` or an unresolved intrinsic pushed through as a
4818
+ * single transition entry makes S3 answer `MalformedXML` for the WHOLE
4819
+ * lifecycle configuration, so the legacy singular readers screen with this.
4820
+ */
4821
+ function isPlainObject$1(value) {
4822
+ return typeof value === "object" && value !== null && !Array.isArray(value);
4823
+ }
4824
+ /**
4825
+ * Coerce a CFn numeric to a finite number. CloudFormation is stringly typed —
4826
+ * a hand-written or imported template (the audience the legacy lifecycle
4827
+ * branches exist for) can carry `"365"` where the schema says number.
4828
+ */
4829
+ function coerceCfnNumber(value) {
4830
+ if (typeof value !== "number" && typeof value !== "string") return void 0;
4831
+ if (value === "") return void 0;
4832
+ const n = Number(value);
4833
+ return Number.isFinite(n) ? n : void 0;
4834
+ }
4835
+ /**
4836
+ * Merge a legacy SINGULAR action object into its modern plural array.
4837
+ *
4838
+ * S3 rejects two transitions with the same `StorageClass` and fails the whole
4839
+ * `PutBucketLifecycleConfiguration`, so a blind concatenation is unsafe. But
4840
+ * dropping the singular wholesale loses a legitimate template: a plural
4841
+ * `[{GLACIER, 30}]` alongside a singular `{DEEP_ARCHIVE, 90}` is two different
4842
+ * classes, which S3 accepts. So: keep both, let the PLURAL win on a
4843
+ * StorageClass collision, and say so rather than dropping in silence.
4844
+ */
4845
+ function mergeLegacySingular(plural, singular, onCollision) {
4846
+ const out = (Array.isArray(plural) ? plural : []).filter(isPlainObject$1);
4847
+ if (!isPlainObject$1(singular)) return out;
4848
+ const sc = singular["StorageClass"];
4849
+ if (typeof sc === "string" && out.some((e) => e["StorageClass"] === sc)) {
4850
+ onCollision(sc);
4851
+ return out;
4852
+ }
4853
+ return [...out, singular];
4854
+ }
4855
+ /** Coerce a CFn boolean, which may arrive as the string `"true"` / `"false"`. */
4856
+ function coerceCfnBoolean(value) {
4857
+ if (typeof value === "boolean") return value;
4858
+ if (value === "true") return true;
4859
+ if (value === "false") return false;
4860
+ }
4861
+ /**
4816
4862
  * SDK Provider for AWS::S3::Bucket
4817
4863
  *
4818
4864
  * Uses S3 SDK directly instead of CC API for synchronous bucket creation.
@@ -4982,7 +5028,7 @@ var S3BucketProvider = class {
4982
5028
  const filter = rule["Filter"];
4983
5029
  return {
4984
5030
  prefix: filter?.["Prefix"] ?? rule["Prefix"],
4985
- tagFilters: filter?.["TagFilters"],
5031
+ tagFilters: filter?.["TagFilters"] ?? rule["TagFilters"],
4986
5032
  sizeGt: filter?.["ObjectSizeGreaterThan"] ?? rule["ObjectSizeGreaterThan"],
4987
5033
  sizeLt: filter?.["ObjectSizeLessThan"] ?? rule["ObjectSizeLessThan"]
4988
5034
  };
@@ -5010,24 +5056,37 @@ var S3BucketProvider = class {
5010
5056
  ExpiredObjectDeleteMarker: exp["ExpiredObjectDeleteMarker"]
5011
5057
  };
5012
5058
  }
5013
- const nve = rule["NoncurrentVersionExpiration"];
5059
+ if (coerceCfnBoolean(rule["ExpiredObjectDeleteMarker"]) === true) {
5060
+ const exp = sdkRule.Expiration;
5061
+ if (!(exp?.["Days"] !== void 0 || exp?.["Date"] !== void 0)) sdkRule.Expiration = { ExpiredObjectDeleteMarker: true };
5062
+ else this.logger.warn(`Lifecycle rule '${rule["Id"] ?? "<unnamed>"}' on ${bucketName} sets ExpiredObjectDeleteMarker alongside an expiration Days/Date; S3 forbids combining them, so the delete-marker cleanup was not applied.`);
5063
+ }
5064
+ const nve = isPlainObject$1(rule["NoncurrentVersionExpiration"]) ? rule["NoncurrentVersionExpiration"] : void 0;
5065
+ const legacyNveDays = rule["NoncurrentVersionExpirationInDays"];
5014
5066
  if (nve) sdkRule.NoncurrentVersionExpiration = {
5015
5067
  NoncurrentDays: nve["NoncurrentDays"],
5016
5068
  NewerNoncurrentVersions: nve["NewerNoncurrentVersions"]
5017
5069
  };
5018
- const nvts = rule["NoncurrentVersionTransitions"];
5019
- if (nvts && Array.isArray(nvts)) sdkRule.NoncurrentVersionTransitions = nvts.map((nvt) => ({
5020
- NoncurrentDays: nvt["NoncurrentDays"],
5070
+ else if (coerceCfnNumber(legacyNveDays) !== void 0) sdkRule.NoncurrentVersionExpiration = { NoncurrentDays: coerceCfnNumber(legacyNveDays) };
5071
+ const toSdkNvt = (nvt) => ({
5072
+ NoncurrentDays: nvt["TransitionInDays"] ?? nvt["NoncurrentDays"],
5021
5073
  StorageClass: nvt["StorageClass"],
5022
5074
  NewerNoncurrentVersions: nvt["NewerNoncurrentVersions"]
5023
- }));
5024
- const transitions = rule["Transitions"];
5025
- if (transitions && Array.isArray(transitions)) sdkRule.Transitions = transitions.map((t) => ({
5075
+ });
5076
+ const nvts = rule["NoncurrentVersionTransitions"];
5077
+ const singularNvt = rule["NoncurrentVersionTransition"];
5078
+ const allNvts = mergeLegacySingular(nvts, singularNvt, (sc) => this.logger.warn(`Lifecycle rule '${rule["Id"] ?? "<unnamed>"}' on ${bucketName} declares both NoncurrentVersionTransitions and the legacy NoncurrentVersionTransition for storage class ${sc}; S3 rejects duplicates, so the legacy singular was ignored.`));
5079
+ if (allNvts.length > 0) sdkRule.NoncurrentVersionTransitions = allNvts.map(toSdkNvt);
5080
+ const toSdkTransition = (t) => ({
5026
5081
  Days: t["TransitionInDays"] ?? t["Days"],
5027
5082
  Date: t["TransitionDate"] ?? t["Date"] ? new Date(t["TransitionDate"] ?? t["Date"]) : void 0,
5028
5083
  StorageClass: t["StorageClass"]
5029
- }));
5030
- const abort = rule["AbortIncompleteMultipartUpload"];
5084
+ });
5085
+ const transitions = rule["Transitions"];
5086
+ const singularTransition = rule["Transition"];
5087
+ const allTransitions = mergeLegacySingular(transitions, singularTransition, (sc) => this.logger.warn(`Lifecycle rule '${rule["Id"] ?? "<unnamed>"}' on ${bucketName} declares both Transitions and the legacy Transition for storage class ${sc}; S3 rejects duplicates, so the legacy singular was ignored.`));
5088
+ if (allTransitions.length > 0) sdkRule.Transitions = allTransitions.map(toSdkTransition);
5089
+ const abort = isPlainObject$1(rule["AbortIncompleteMultipartUpload"]) ? rule["AbortIncompleteMultipartUpload"] : void 0;
5031
5090
  if (abort) sdkRule.AbortIncompleteMultipartUpload = { DaysAfterInitiation: abort["DaysAfterInitiation"] };
5032
5091
  const { prefix, tagFilters, sizeGt, sizeLt } = gatherScope(rule);
5033
5092
  const hasTags = tagFilters !== void 0 && tagFilters.length > 0;
@@ -5037,6 +5096,7 @@ var S3BucketProvider = class {
5037
5096
  ObjectSizeGreaterThan: sizeGt,
5038
5097
  ObjectSizeLessThan: sizeLt
5039
5098
  } };
5099
+ else if (hasTags && tagFilters.length > 1) sdkRule.Filter = { And: { Tags: tagFilters } };
5040
5100
  else if (hasTags) sdkRule.Filter = { Tag: tagFilters[0] };
5041
5101
  else if (sizeGt !== void 0) sdkRule.Filter = { ObjectSizeGreaterThan: sizeGt };
5042
5102
  else if (sizeLt !== void 0) sdkRule.Filter = { ObjectSizeLessThan: sizeLt };
@@ -5872,7 +5932,7 @@ var S3BucketProvider = class {
5872
5932
  }
5873
5933
  if (r.NoncurrentVersionTransitions && r.NoncurrentVersionTransitions.length > 0) out["NoncurrentVersionTransitions"] = r.NoncurrentVersionTransitions.map((nvt) => {
5874
5934
  const item = {};
5875
- if (nvt.NoncurrentDays !== void 0) item["NoncurrentDays"] = nvt.NoncurrentDays;
5935
+ if (nvt.NoncurrentDays !== void 0) item["TransitionInDays"] = nvt.NoncurrentDays;
5876
5936
  if (nvt.StorageClass !== void 0) item["StorageClass"] = nvt.StorageClass;
5877
5937
  if (nvt.NewerNoncurrentVersions !== void 0) item["NewerNoncurrentVersions"] = nvt.NewerNoncurrentVersions;
5878
5938
  return item;
@@ -40946,6 +41006,15 @@ var CodeBuildProvider = class {
40946
41006
  if (!this.client) this.client = new CodeBuildClient(this.providerRegion ? { region: this.providerRegion } : {});
40947
41007
  return this.client;
40948
41008
  }
41009
+ /**
41010
+ * Return type is DECLARED on purpose. `new CreateProjectCommand(input)` takes
41011
+ * a variable, so TypeScript's excess-property check never runs there and a
41012
+ * misspelled SDK member (`gitSubModulesConfig`) would compile, be dropped by
41013
+ * the serializer, and still pass every unit test — the tests read back the
41014
+ * same key the mapper wrote, so they are tautological on spelling. A fresh
41015
+ * object literal returned against a declared type IS excess-property checked,
41016
+ * which turns each member name into a compile-time fact (issue #1386).
41017
+ */
40949
41018
  mapSource(source) {
40950
41019
  if (!source) return { type: "NO_SOURCE" };
40951
41020
  let buildspec;
@@ -40953,13 +41022,26 @@ var CodeBuildProvider = class {
40953
41022
  const bs = source["BuildSpec"];
40954
41023
  buildspec = typeof bs === "object" ? JSON.stringify(bs) : bs;
40955
41024
  }
41025
+ const cfnAuth = source["Auth"];
41026
+ const cfnGitSubmodules = source["GitSubmodulesConfig"];
41027
+ const cfnBuildStatus = source["BuildStatusConfig"];
40956
41028
  return {
40957
41029
  type: source["Type"] ?? "NO_SOURCE",
40958
41030
  buildspec,
40959
41031
  location: source["Location"],
40960
41032
  gitCloneDepth: source["GitCloneDepth"],
40961
41033
  insecureSsl: source["InsecureSsl"],
40962
- reportBuildStatus: source["ReportBuildStatus"]
41034
+ reportBuildStatus: source["ReportBuildStatus"],
41035
+ sourceIdentifier: source["SourceIdentifier"],
41036
+ auth: cfnAuth ? {
41037
+ type: cfnAuth["Type"],
41038
+ resource: cfnAuth["Resource"]
41039
+ } : void 0,
41040
+ gitSubmodulesConfig: cfnGitSubmodules ? { fetchSubmodules: cfnGitSubmodules["FetchSubmodules"] } : void 0,
41041
+ buildStatusConfig: cfnBuildStatus ? {
41042
+ context: cfnBuildStatus["Context"],
41043
+ targetUrl: cfnBuildStatus["TargetUrl"]
41044
+ } : void 0
40963
41045
  };
40964
41046
  }
40965
41047
  mapArtifacts(artifacts) {
@@ -40976,6 +41058,7 @@ var CodeBuildProvider = class {
40976
41058
  artifactIdentifier: artifacts["ArtifactIdentifier"]
40977
41059
  };
40978
41060
  }
41061
+ /** Declared return type for the same excess-property reason as {@link mapSource}. */
40979
41062
  mapProperties(logicalId, properties) {
40980
41063
  const name = properties["Name"] ?? logicalId;
40981
41064
  const source = properties["Source"];
@@ -40988,11 +41071,14 @@ var CodeBuildProvider = class {
40988
41071
  const artifacts = properties["Artifacts"];
40989
41072
  const tags = properties["Tags"];
40990
41073
  const envVars = environment?.["EnvironmentVariables"];
41074
+ const cfnFleet = environment?.["Fleet"];
41075
+ const cfnDockerServer = environment?.["DockerServer"];
40991
41076
  const cfnCache = properties["Cache"];
40992
41077
  const cache = cfnCache ? {
40993
41078
  type: cfnCache["Type"],
40994
41079
  location: cfnCache["Location"],
40995
- modes: cfnCache["Modes"]
41080
+ modes: cfnCache["Modes"],
41081
+ cacheNamespace: cfnCache["CacheNamespace"]
40996
41082
  } : void 0;
40997
41083
  const cfnVpcConfig = properties["VpcConfig"];
40998
41084
  const vpcConfig = cfnVpcConfig ? {
@@ -41043,6 +41129,7 @@ var CodeBuildProvider = class {
41043
41129
  serviceRole: cfnBuildBatchConfig["ServiceRole"],
41044
41130
  combineArtifacts: cfnBuildBatchConfig["CombineArtifacts"],
41045
41131
  timeoutInMins: cfnBuildBatchConfig["TimeoutInMins"],
41132
+ batchReportMode: cfnBuildBatchConfig["BatchReportMode"],
41046
41133
  restrictions: restrictions ? {
41047
41134
  maximumBuildsAllowed: restrictions["MaximumBuildsAllowed"],
41048
41135
  computeTypesAllowed: restrictions["ComputeTypesAllowed"]
@@ -41064,6 +41151,11 @@ var CodeBuildProvider = class {
41064
41151
  privilegedMode: environment?.["PrivilegedMode"],
41065
41152
  certificate: environment?.["Certificate"],
41066
41153
  imagePullCredentialsType: environment?.["ImagePullCredentialsType"],
41154
+ fleet: cfnFleet ? { fleetArn: cfnFleet["FleetArn"] } : void 0,
41155
+ dockerServer: cfnDockerServer ? {
41156
+ computeType: cfnDockerServer["ComputeType"],
41157
+ securityGroupIds: cfnDockerServer["SecurityGroupIds"]
41158
+ } : void 0,
41067
41159
  registryCredential: environment?.["RegistryCredential"] ? {
41068
41160
  credential: environment["RegistryCredential"]["Credential"],
41069
41161
  credentialProvider: environment["RegistryCredential"]["CredentialProvider"]
@@ -41210,6 +41302,14 @@ var CodeBuildProvider = class {
41210
41302
  if (project.source?.gitCloneDepth !== void 0) src["GitCloneDepth"] = project.source.gitCloneDepth;
41211
41303
  if (project.source?.insecureSsl !== void 0) src["InsecureSsl"] = project.source.insecureSsl;
41212
41304
  if (project.source?.reportBuildStatus !== void 0) src["ReportBuildStatus"] = project.source.reportBuildStatus;
41305
+ if (project.source?.sourceIdentifier !== void 0) src["SourceIdentifier"] = project.source.sourceIdentifier;
41306
+ if (project.source?.gitSubmodulesConfig !== void 0) src["GitSubmodulesConfig"] = { FetchSubmodules: project.source.gitSubmodulesConfig.fetchSubmodules };
41307
+ if (project.source?.buildStatusConfig !== void 0) {
41308
+ const bsc = {};
41309
+ if (project.source.buildStatusConfig.context !== void 0) bsc["Context"] = project.source.buildStatusConfig.context;
41310
+ if (project.source.buildStatusConfig.targetUrl !== void 0) bsc["TargetUrl"] = project.source.buildStatusConfig.targetUrl;
41311
+ src["BuildStatusConfig"] = bsc;
41312
+ }
41213
41313
  result["Source"] = src;
41214
41314
  }
41215
41315
  {
@@ -41233,6 +41333,17 @@ var CodeBuildProvider = class {
41233
41333
  if (project.environment?.privilegedMode !== void 0) env["PrivilegedMode"] = project.environment.privilegedMode;
41234
41334
  if (project.environment?.imagePullCredentialsType !== void 0) env["ImagePullCredentialsType"] = project.environment.imagePullCredentialsType;
41235
41335
  if (project.environment?.certificate !== void 0) env["Certificate"] = project.environment.certificate;
41336
+ if (project.environment?.fleet !== void 0) {
41337
+ const fleet = {};
41338
+ if (project.environment.fleet.fleetArn !== void 0) fleet["FleetArn"] = project.environment.fleet.fleetArn;
41339
+ env["Fleet"] = fleet;
41340
+ }
41341
+ if (project.environment?.dockerServer !== void 0) {
41342
+ const ds = {};
41343
+ if (project.environment.dockerServer.computeType !== void 0) ds["ComputeType"] = project.environment.dockerServer.computeType;
41344
+ if (project.environment.dockerServer.securityGroupIds !== void 0) ds["SecurityGroupIds"] = project.environment.dockerServer.securityGroupIds;
41345
+ env["DockerServer"] = ds;
41346
+ }
41236
41347
  env["EnvironmentVariables"] = (project.environment?.environmentVariables ?? []).map((ev) => {
41237
41348
  const out = {};
41238
41349
  if (ev.name !== void 0) out["Name"] = ev.name;
@@ -41265,6 +41376,7 @@ var CodeBuildProvider = class {
41265
41376
  const cache = { Type: project.cache?.type ?? "NO_CACHE" };
41266
41377
  if (project.cache?.location !== void 0) cache["Location"] = project.cache.location;
41267
41378
  if (project.cache?.modes !== void 0) cache["Modes"] = project.cache.modes;
41379
+ if (project.cache?.cacheNamespace !== void 0) cache["CacheNamespace"] = project.cache.cacheNamespace;
41268
41380
  result["Cache"] = cache;
41269
41381
  }
41270
41382
  result["SecondarySources"] = (project.secondarySources ?? []).map((s) => {
@@ -41276,6 +41388,13 @@ var CodeBuildProvider = class {
41276
41388
  if (s.insecureSsl !== void 0) out["InsecureSsl"] = s.insecureSsl;
41277
41389
  if (s.reportBuildStatus !== void 0) out["ReportBuildStatus"] = s.reportBuildStatus;
41278
41390
  if (s.sourceIdentifier !== void 0) out["SourceIdentifier"] = s.sourceIdentifier;
41391
+ if (s.gitSubmodulesConfig !== void 0) out["GitSubmodulesConfig"] = { FetchSubmodules: s.gitSubmodulesConfig.fetchSubmodules };
41392
+ if (s.buildStatusConfig !== void 0) {
41393
+ const bsc = {};
41394
+ if (s.buildStatusConfig.context !== void 0) bsc["Context"] = s.buildStatusConfig.context;
41395
+ if (s.buildStatusConfig.targetUrl !== void 0) bsc["TargetUrl"] = s.buildStatusConfig.targetUrl;
41396
+ out["BuildStatusConfig"] = bsc;
41397
+ }
41279
41398
  return out;
41280
41399
  });
41281
41400
  result["SecondaryArtifacts"] = (project.secondaryArtifacts ?? []).map((a) => {
@@ -41324,6 +41443,9 @@ var CodeBuildProvider = class {
41324
41443
  result["Tags"] = normalizeAwsTagsToCfn(project.tags);
41325
41444
  return result;
41326
41445
  }
41446
+ getDriftUnknownPaths() {
41447
+ return ["Source.Auth"];
41448
+ }
41327
41449
  async import(input) {
41328
41450
  const explicit = resolveExplicitPhysicalId(input, "Name");
41329
41451
  if (explicit) try {
@@ -64846,7 +64968,7 @@ function createMigrateCommand() {
64846
64968
  */
64847
64969
  function buildProgram() {
64848
64970
  const program = new Command();
64849
- program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.278.12");
64971
+ program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.278.14");
64850
64972
  program.hook("preAction", (_thisCommand, actionCommand) => {
64851
64973
  const { profile } = actionCommand.optsWithGlobals();
64852
64974
  if (profile !== void 0) process.env["AWS_PROFILE"] = profile;