@go-to-k/cdkd 0.278.39 → 0.278.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{asg-provider-CJJC8plY.js → asg-provider-CoBHZKJt.js} +2 -2
- package/dist/{asg-provider-CJJC8plY.js.map → asg-provider-CoBHZKJt.js.map} +1 -1
- package/dist/cli.js +179 -68
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-BJVpWi-B.js → deploy-engine-CiMIsVFt.js} +3 -3
- package/dist/{deploy-engine-BJVpWi-B.js.map → deploy-engine-CiMIsVFt.js.map} +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $ as describeTypeWithThrottleRetry, $t as AwsClients, A as red, At as Synthesizer, B as isTerminationProtectionPropagationError, Bt as resolveUseCdkBootstrapAssets, C as isStatefulRecreateTargetSync, Ct as buildDockerImage, D as cyan, Dt as runDockerStreaming, E as bold, Et as runDockerForeground, F as ProviderRegistry, Ft as resolveAutoAssetStorage, G as normalizeAwsTagsToCfn, Gt as MIGRATE_TMP_PREFIX, H as cfnRefValueFromPhysicalId, Ht as warnDeprecatedNoPrefixCliFlag, I as findActionableSilentDrops, It as resolveCaptureObservedState, J as readConfigString, Jt as expectedOwnerParam, K as resolveExplicitPhysicalId, Kt as findLargeInlineResources, L as CloudControlProvider, Lt as resolveSkipPrefix, M as IAMRoleProvider, Mt as getDefaultStateBucketName, N as collectInlinePolicyNamesManagedBySiblings, Nt as getLegacyStateBucketName, O as gray, Ot as AssetManifestLoader, P as clearOnUpdateRemoval, Pt as resolveApp, Q as DiffCalculator, Qt as resolveBucketRegion, R as slowCcOperationTimeoutMs, Rt as resolveStateBucketWithDefault, S as MULTI_REGION_RECREATE_BLOCKED_TYPES, St as validateContainerRepoName, T as formatResourceLine, Tn as withErrorHandling, Tt as getDockerCmd, U as refStateLookupFromResource, Ut as CFN_TEMPLATE_BODY_LIMIT, V as IntrinsicFunctionResolver, Vt as stateBucketExistenceConfirmed, W as WAFv2WebACLProvider, Wt as CFN_TEMPLATE_URL_LIMIT, X as requireConfigString, Xt as processStackMessages, Y as requireConfigArray, Yt as AssemblyReader, Z as applyRoleArnIfSet, _ as createPreDeleteFinalSnapshot, _n as ResourceUpdateNotSupportedError, _t as BOOTSTRAP_MARKER_PREFIX, a as DeploymentEventsStore, at as LockManager, b as unsupportedFinalSnapshotError, bt as parseBootstrapMarker, c as replayFailedOperations, cn as LocalInvokeBuildError$1, ct as shouldRetainResource, d as IMPLICIT_DELETE_DEPENDENCIES, dt as WorkGraph, en as getAwsClients, et as withRetry, f as computeImplicitDeleteEdges, fn as MissingCdkCliError, ft as buildAssetRedirectMap, g as ccRoutedFinalSnapshotError, gn as ResourceTimeoutError, gt as AssetModeResolver, h as buildFinalSnapshotIdentifier, hn as ProvisioningError, ht as rewriteTemplateAssetReferences, i as DeploymentEventsReader, in as CdkdError, it as TemplateParser, j as yellow, jt as synthesisStatusMessage, k as green, kt as getDockerImageBySourceHash, l as replayRollback, ln as LocalMigrateError, lt as AssetPublisher, m as PRE_DELETE_SNAPSHOT_TYPES, mn as PartialFailureError, mt as loadPublishableAssetManifest, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as setAwsClients, nt as isThrottlingError, o as planFailedOps, ot as S3StateBackend, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as NestedStackChildDirectDestroyError, pt as createAssetRedirectResolver, q as assertRegionMatch, qt as uploadCfnTemplate, r as DeployEngine, rt as DagBuilder, s as planRollback, sn as DeployCancelledError, st as rebuildClientForBucketRegion, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as resetAwsClients, tt as isRetryableTransientError, u as withResourceDeadline, un as LocalStartServiceError, ut as stringifyValue, v as isFinalSnapshotError, vn as StackHasActiveImportsError, vt as ensureAssetStorage, w as renderStatefulReason, wn as normalizeAwsError, wt as formatDockerLoginError, x as extractDeploymentEventError, xt as validateAssetBucketName, y as refusesFinalSnapshot, yn as StackTerminationProtectionError, yt as getBootstrapMarkerKey, z as disableInstanceApiTermination, zt as resolveStateBucketWithDefaultAndSource } from "./deploy-engine-
|
|
2
|
+
import { $ as describeTypeWithThrottleRetry, $t as AwsClients, A as red, At as Synthesizer, B as isTerminationProtectionPropagationError, Bt as resolveUseCdkBootstrapAssets, C as isStatefulRecreateTargetSync, Ct as buildDockerImage, D as cyan, Dt as runDockerStreaming, E as bold, Et as runDockerForeground, F as ProviderRegistry, Ft as resolveAutoAssetStorage, G as normalizeAwsTagsToCfn, Gt as MIGRATE_TMP_PREFIX, H as cfnRefValueFromPhysicalId, Ht as warnDeprecatedNoPrefixCliFlag, I as findActionableSilentDrops, It as resolveCaptureObservedState, J as readConfigString, Jt as expectedOwnerParam, K as resolveExplicitPhysicalId, Kt as findLargeInlineResources, L as CloudControlProvider, Lt as resolveSkipPrefix, M as IAMRoleProvider, Mt as getDefaultStateBucketName, N as collectInlinePolicyNamesManagedBySiblings, Nt as getLegacyStateBucketName, O as gray, Ot as AssetManifestLoader, P as clearOnUpdateRemoval, Pt as resolveApp, Q as DiffCalculator, Qt as resolveBucketRegion, R as slowCcOperationTimeoutMs, Rt as resolveStateBucketWithDefault, S as MULTI_REGION_RECREATE_BLOCKED_TYPES, St as validateContainerRepoName, T as formatResourceLine, Tn as withErrorHandling, Tt as getDockerCmd, U as refStateLookupFromResource, Ut as CFN_TEMPLATE_BODY_LIMIT, V as IntrinsicFunctionResolver, Vt as stateBucketExistenceConfirmed, W as WAFv2WebACLProvider, Wt as CFN_TEMPLATE_URL_LIMIT, X as requireConfigString, Xt as processStackMessages, Y as requireConfigArray, Yt as AssemblyReader, Z as applyRoleArnIfSet, _ as createPreDeleteFinalSnapshot, _n as ResourceUpdateNotSupportedError, _t as BOOTSTRAP_MARKER_PREFIX, a as DeploymentEventsStore, at as LockManager, b as unsupportedFinalSnapshotError, bt as parseBootstrapMarker, c as replayFailedOperations, cn as LocalInvokeBuildError$1, ct as shouldRetainResource, d as IMPLICIT_DELETE_DEPENDENCIES, dt as WorkGraph, en as getAwsClients, et as withRetry, f as computeImplicitDeleteEdges, fn as MissingCdkCliError, ft as buildAssetRedirectMap, g as ccRoutedFinalSnapshotError, gn as ResourceTimeoutError, gt as AssetModeResolver, h as buildFinalSnapshotIdentifier, hn as ProvisioningError, ht as rewriteTemplateAssetReferences, i as DeploymentEventsReader, in as CdkdError, it as TemplateParser, j as yellow, jt as synthesisStatusMessage, k as green, kt as getDockerImageBySourceHash, l as replayRollback, ln as LocalMigrateError, lt as AssetPublisher, m as PRE_DELETE_SNAPSHOT_TYPES, mn as PartialFailureError, mt as loadPublishableAssetManifest, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as setAwsClients, nt as isThrottlingError, o as planFailedOps, ot as S3StateBackend, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as NestedStackChildDirectDestroyError, pt as createAssetRedirectResolver, q as assertRegionMatch, qt as uploadCfnTemplate, r as DeployEngine, rt as DagBuilder, s as planRollback, sn as DeployCancelledError, st as rebuildClientForBucketRegion, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as resetAwsClients, tt as isRetryableTransientError, u as withResourceDeadline, un as LocalStartServiceError, ut as stringifyValue, v as isFinalSnapshotError, vn as StackHasActiveImportsError, vt as ensureAssetStorage, w as renderStatefulReason, wn as normalizeAwsError, wt as formatDockerLoginError, x as extractDeploymentEventError, xt as validateAssetBucketName, y as refusesFinalSnapshot, yn as StackTerminationProtectionError, yt as getBootstrapMarkerKey, z as disableInstanceApiTermination, zt as resolveStateBucketWithDefaultAndSource } from "./deploy-engine-CiMIsVFt.js";
|
|
3
3
|
import { a as getLiveRenderer, c as PATTERN_B_RESOURCE_TYPES, d as generateResourceNameWithFallback, f as withSkipPrefix, i as runStackBuffered, n as getLogger, o as PATTERN_B_NAME_OPTIONS, p as withStackName, s as PATTERN_B_NAME_PROPERTIES, u as generateResourceName } from "./logger-BYMEE-BS.js";
|
|
4
|
-
import { t as ASGProvider } from "./asg-provider-
|
|
4
|
+
import { t as ASGProvider } from "./asg-provider-CoBHZKJt.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, DeleteBucketEncryptionCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketOwnershipControlsCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectsCommand, GetBucketAccelerateConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketNotificationConfigurationCommand, GetBucketOwnershipControlsCommand, 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";
|
|
@@ -5109,7 +5109,8 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
5109
5109
|
});
|
|
5110
5110
|
await this.s3Client.send(new PutBucketLifecycleConfigurationCommand({
|
|
5111
5111
|
Bucket: bucketName,
|
|
5112
|
-
LifecycleConfiguration: { Rules: rules }
|
|
5112
|
+
LifecycleConfiguration: { Rules: rules },
|
|
5113
|
+
TransitionDefaultMinimumObjectSize: lifecycleConfig["TransitionDefaultMinimumObjectSize"]
|
|
5113
5114
|
}));
|
|
5114
5115
|
this.logger.debug(`Applied lifecycle configuration to bucket ${bucketName}`);
|
|
5115
5116
|
}
|
|
@@ -5146,12 +5147,14 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
5146
5147
|
if (!Array.isArray(encryptionConfig?.ServerSideEncryptionConfiguration)) throw new Error(`BucketEncryption.ServerSideEncryptionConfiguration must be an array (got ${encryptionConfig?.ServerSideEncryptionConfiguration === void 0 ? "undefined" : typeof encryptionConfig.ServerSideEncryptionConfiguration}) — check for an unresolved intrinsic or a mis-nested template value`);
|
|
5147
5148
|
const rules = encryptionConfig.ServerSideEncryptionConfiguration.map((rule) => {
|
|
5148
5149
|
const byDefault = rule["ServerSideEncryptionByDefault"];
|
|
5150
|
+
const blocked = rule["BlockedEncryptionTypes"];
|
|
5149
5151
|
return {
|
|
5150
5152
|
ApplyServerSideEncryptionByDefault: byDefault ? {
|
|
5151
5153
|
SSEAlgorithm: byDefault["SSEAlgorithm"],
|
|
5152
5154
|
KMSMasterKeyID: byDefault["KMSMasterKeyID"]
|
|
5153
5155
|
} : void 0,
|
|
5154
|
-
BucketKeyEnabled: rule["BucketKeyEnabled"]
|
|
5156
|
+
BucketKeyEnabled: rule["BucketKeyEnabled"],
|
|
5157
|
+
BlockedEncryptionTypes: blocked != null && blocked["EncryptionType"] !== void 0 ? { EncryptionType: blocked["EncryptionType"] } : void 0
|
|
5155
5158
|
};
|
|
5156
5159
|
});
|
|
5157
5160
|
await this.s3Client.send(new PutBucketEncryptionCommand({
|
|
@@ -5178,12 +5181,21 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
5178
5181
|
this.logger.debug(`Cleared logging configuration on bucket ${bucketName}`);
|
|
5179
5182
|
return;
|
|
5180
5183
|
}
|
|
5184
|
+
const loggingEnabled = {
|
|
5185
|
+
TargetBucket: destinationBucket,
|
|
5186
|
+
TargetPrefix: readConfigString(loggingConfig, "LogFilePrefix", "", "AWS::S3::Bucket LoggingConfiguration")
|
|
5187
|
+
};
|
|
5188
|
+
const keyFormat = loggingConfig["TargetObjectKeyFormat"];
|
|
5189
|
+
if (keyFormat != null) {
|
|
5190
|
+
const sdkKeyFormat = {};
|
|
5191
|
+
if (keyFormat["SimplePrefix"] !== void 0) sdkKeyFormat.SimplePrefix = {};
|
|
5192
|
+
const partitioned = keyFormat["PartitionedPrefix"];
|
|
5193
|
+
if (partitioned != null && partitioned["PartitionDateSource"] !== void 0) sdkKeyFormat.PartitionedPrefix = { PartitionDateSource: partitioned["PartitionDateSource"] };
|
|
5194
|
+
if (Object.keys(sdkKeyFormat).length > 0) loggingEnabled.TargetObjectKeyFormat = sdkKeyFormat;
|
|
5195
|
+
}
|
|
5181
5196
|
await this.s3Client.send(new PutBucketLoggingCommand({
|
|
5182
5197
|
Bucket: bucketName,
|
|
5183
|
-
BucketLoggingStatus: { LoggingEnabled:
|
|
5184
|
-
TargetBucket: destinationBucket,
|
|
5185
|
-
TargetPrefix: readConfigString(loggingConfig, "LogFilePrefix", "", "AWS::S3::Bucket LoggingConfiguration")
|
|
5186
|
-
} }
|
|
5198
|
+
BucketLoggingStatus: { LoggingEnabled: loggingEnabled }
|
|
5187
5199
|
}));
|
|
5188
5200
|
this.logger.debug(`Applied logging configuration to bucket ${bucketName}`);
|
|
5189
5201
|
}
|
|
@@ -5454,6 +5466,54 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
5454
5466
|
* - Rules[] (replication rules)
|
|
5455
5467
|
* SDK: PutBucketReplication with ReplicationConfiguration
|
|
5456
5468
|
*/
|
|
5469
|
+
/**
|
|
5470
|
+
* Build the SDK `Destination` for one replication rule.
|
|
5471
|
+
*
|
|
5472
|
+
* Before issue #1495 this was an inline literal carrying `Bucket` / `Account`
|
|
5473
|
+
* / `StorageClass` only, so FOUR whole sub-blocks the CFn schema declares
|
|
5474
|
+
* were accepted from the template and never sent — each one silently:
|
|
5475
|
+
*
|
|
5476
|
+
* - `AccessControlTranslation` — cross-account replication with owner
|
|
5477
|
+
* override; without it the replicas keep the SOURCE account's ownership.
|
|
5478
|
+
* - `EncryptionConfiguration.ReplicaKmsKeyID` — the replica-side SSE-KMS key;
|
|
5479
|
+
* dropped, the replicas are not encrypted with the declared key. CDK's
|
|
5480
|
+
* `aws-s3` L2 emits this for a `replicationRules` entry with a KMS key.
|
|
5481
|
+
* - `ReplicationTime` + `Metrics` — S3 Replication Time Control. RTC is a
|
|
5482
|
+
* billed SLA feature and both blocks are required to enable it, so a
|
|
5483
|
+
* template asking for RTC got plain asynchronous replication.
|
|
5484
|
+
*
|
|
5485
|
+
* CFn and the SDK spell every member identically here (verified against
|
|
5486
|
+
* `@aws-sdk/client-s3`'s `Destination`), but the block is assembled member by
|
|
5487
|
+
* member rather than forwarded so a CFn-only member cannot ride through.
|
|
5488
|
+
*/
|
|
5489
|
+
buildReplicationDestination(dest) {
|
|
5490
|
+
const sdkDest = {
|
|
5491
|
+
Bucket: dest["Bucket"],
|
|
5492
|
+
Account: dest["Account"],
|
|
5493
|
+
StorageClass: dest["StorageClass"]
|
|
5494
|
+
};
|
|
5495
|
+
const acl = dest["AccessControlTranslation"];
|
|
5496
|
+
if (acl != null && acl["Owner"] !== void 0) sdkDest["AccessControlTranslation"] = { Owner: acl["Owner"] };
|
|
5497
|
+
const encryption = dest["EncryptionConfiguration"];
|
|
5498
|
+
if (encryption != null && encryption["ReplicaKmsKeyID"] !== void 0) sdkDest["EncryptionConfiguration"] = { ReplicaKmsKeyID: encryption["ReplicaKmsKeyID"] };
|
|
5499
|
+
const replicationTime = dest["ReplicationTime"];
|
|
5500
|
+
if (replicationTime != null) {
|
|
5501
|
+
const time = replicationTime["Time"];
|
|
5502
|
+
const rt = {};
|
|
5503
|
+
if (replicationTime["Status"] !== void 0) rt["Status"] = replicationTime["Status"];
|
|
5504
|
+
if (time != null && time["Minutes"] !== void 0) rt["Time"] = { Minutes: time["Minutes"] };
|
|
5505
|
+
if (Object.keys(rt).length > 0) sdkDest["ReplicationTime"] = rt;
|
|
5506
|
+
}
|
|
5507
|
+
const metrics = dest["Metrics"];
|
|
5508
|
+
if (metrics != null) {
|
|
5509
|
+
const threshold = metrics["EventThreshold"];
|
|
5510
|
+
const m = {};
|
|
5511
|
+
if (metrics["Status"] !== void 0) m["Status"] = metrics["Status"];
|
|
5512
|
+
if (threshold != null && threshold["Minutes"] !== void 0) m["EventThreshold"] = { Minutes: threshold["Minutes"] };
|
|
5513
|
+
if (Object.keys(m).length > 0) sdkDest["Metrics"] = m;
|
|
5514
|
+
}
|
|
5515
|
+
return sdkDest;
|
|
5516
|
+
}
|
|
5457
5517
|
async applyReplicationConfiguration(bucketName, replConfig) {
|
|
5458
5518
|
const rules = replConfig["Rules"];
|
|
5459
5519
|
await this.s3Client.send(new PutBucketReplicationCommand({
|
|
@@ -5466,12 +5526,17 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
5466
5526
|
ID: rule["Id"],
|
|
5467
5527
|
Status: readConfigString(rule, "Status", "Enabled", "AWS::S3::Bucket ReplicationConfiguration.Rules[]"),
|
|
5468
5528
|
Priority: rule["Priority"],
|
|
5469
|
-
Destination:
|
|
5470
|
-
Bucket: dest["Bucket"],
|
|
5471
|
-
Account: dest["Account"],
|
|
5472
|
-
StorageClass: dest["StorageClass"]
|
|
5473
|
-
}
|
|
5529
|
+
Destination: this.buildReplicationDestination(dest)
|
|
5474
5530
|
};
|
|
5531
|
+
const criteria = rule["SourceSelectionCriteria"];
|
|
5532
|
+
if (criteria != null) {
|
|
5533
|
+
const sdkCriteria = {};
|
|
5534
|
+
const replicaMods = criteria["ReplicaModifications"];
|
|
5535
|
+
if (replicaMods != null && replicaMods["Status"] !== void 0) sdkCriteria["ReplicaModifications"] = { Status: replicaMods["Status"] };
|
|
5536
|
+
const sseKms = criteria["SseKmsEncryptedObjects"];
|
|
5537
|
+
if (sseKms != null && sseKms["Status"] !== void 0) sdkCriteria["SseKmsEncryptedObjects"] = { Status: sseKms["Status"] };
|
|
5538
|
+
if (Object.keys(sdkCriteria).length > 0) sdkRule["SourceSelectionCriteria"] = sdkCriteria;
|
|
5539
|
+
}
|
|
5475
5540
|
const filter = rule["Filter"];
|
|
5476
5541
|
if (filter) {
|
|
5477
5542
|
const and = filter["And"];
|
|
@@ -5987,6 +6052,7 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
5987
6052
|
out["ServerSideEncryptionByDefault"] = sseOut;
|
|
5988
6053
|
}
|
|
5989
6054
|
if (rule.BucketKeyEnabled !== void 0) out["BucketKeyEnabled"] = rule.BucketKeyEnabled;
|
|
6055
|
+
if (rule.BlockedEncryptionTypes?.EncryptionType !== void 0) out["BlockedEncryptionTypes"] = { EncryptionType: rule.BlockedEncryptionTypes.EncryptionType };
|
|
5990
6056
|
return out;
|
|
5991
6057
|
}) };
|
|
5992
6058
|
} catch (err) {
|
|
@@ -6023,59 +6089,66 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
6023
6089
|
}
|
|
6024
6090
|
async readLifecycle(bucket) {
|
|
6025
6091
|
try {
|
|
6026
|
-
|
|
6027
|
-
|
|
6028
|
-
|
|
6029
|
-
|
|
6030
|
-
|
|
6031
|
-
|
|
6032
|
-
|
|
6033
|
-
|
|
6034
|
-
if (r.
|
|
6035
|
-
if (r.
|
|
6036
|
-
out["
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
|
|
6040
|
-
|
|
6041
|
-
|
|
6042
|
-
|
|
6043
|
-
return item;
|
|
6044
|
-
});
|
|
6045
|
-
if (r.NoncurrentVersionExpiration) {
|
|
6046
|
-
const nve = {};
|
|
6047
|
-
if (r.NoncurrentVersionExpiration.NoncurrentDays !== void 0) nve["NoncurrentDays"] = r.NoncurrentVersionExpiration.NoncurrentDays;
|
|
6048
|
-
if (r.NoncurrentVersionExpiration.NewerNoncurrentVersions !== void 0) nve["NewerNoncurrentVersions"] = r.NoncurrentVersionExpiration.NewerNoncurrentVersions;
|
|
6049
|
-
out["NoncurrentVersionExpiration"] = nve;
|
|
6050
|
-
}
|
|
6051
|
-
if (r.NoncurrentVersionTransitions && r.NoncurrentVersionTransitions.length > 0) out["NoncurrentVersionTransitions"] = r.NoncurrentVersionTransitions.map((nvt) => {
|
|
6052
|
-
const item = {};
|
|
6053
|
-
if (nvt.NoncurrentDays !== void 0) item["TransitionInDays"] = nvt.NoncurrentDays;
|
|
6054
|
-
if (nvt.StorageClass !== void 0) item["StorageClass"] = nvt.StorageClass;
|
|
6055
|
-
if (nvt.NewerNoncurrentVersions !== void 0) item["NewerNoncurrentVersions"] = nvt.NewerNoncurrentVersions;
|
|
6056
|
-
return item;
|
|
6057
|
-
});
|
|
6058
|
-
if (r.AbortIncompleteMultipartUpload) out["AbortIncompleteMultipartUpload"] = { DaysAfterInitiation: r.AbortIncompleteMultipartUpload.DaysAfterInitiation };
|
|
6059
|
-
if (r.Filter) {
|
|
6060
|
-
const f = r.Filter;
|
|
6061
|
-
const cfnFilter = {};
|
|
6062
|
-
const and = f["And"];
|
|
6063
|
-
const tagOnly = f["Tag"];
|
|
6064
|
-
if (and) {
|
|
6065
|
-
if (and["Prefix"] !== void 0) cfnFilter["Prefix"] = and["Prefix"];
|
|
6066
|
-
if (and["Tags"]) cfnFilter["TagFilters"] = and["Tags"];
|
|
6067
|
-
if (and["ObjectSizeGreaterThan"] !== void 0) cfnFilter["ObjectSizeGreaterThan"] = and["ObjectSizeGreaterThan"];
|
|
6068
|
-
if (and["ObjectSizeLessThan"] !== void 0) cfnFilter["ObjectSizeLessThan"] = and["ObjectSizeLessThan"];
|
|
6069
|
-
} else if (tagOnly) cfnFilter["TagFilters"] = [tagOnly];
|
|
6070
|
-
else {
|
|
6071
|
-
if (f["Prefix"] !== void 0) cfnFilter["Prefix"] = f["Prefix"];
|
|
6072
|
-
if (f["ObjectSizeGreaterThan"] !== void 0) cfnFilter["ObjectSizeGreaterThan"] = f["ObjectSizeGreaterThan"];
|
|
6073
|
-
if (f["ObjectSizeLessThan"] !== void 0) cfnFilter["ObjectSizeLessThan"] = f["ObjectSizeLessThan"];
|
|
6092
|
+
const resp = await this.s3Client.send(new GetBucketLifecycleConfigurationCommand({ Bucket: bucket }));
|
|
6093
|
+
const rules = resp.Rules ?? [];
|
|
6094
|
+
const lifecycleOut = {};
|
|
6095
|
+
if (resp.TransitionDefaultMinimumObjectSize !== void 0) lifecycleOut["TransitionDefaultMinimumObjectSize"] = resp.TransitionDefaultMinimumObjectSize;
|
|
6096
|
+
return {
|
|
6097
|
+
...lifecycleOut,
|
|
6098
|
+
Rules: rules.map((r) => {
|
|
6099
|
+
const out = {};
|
|
6100
|
+
if (r.ID !== void 0) out["Id"] = r.ID;
|
|
6101
|
+
if (r.Status !== void 0) out["Status"] = r.Status;
|
|
6102
|
+
if (r.Prefix !== void 0) out["Prefix"] = r.Prefix;
|
|
6103
|
+
if (r.Expiration) {
|
|
6104
|
+
const exp = {};
|
|
6105
|
+
if (r.Expiration.Days !== void 0) exp["Days"] = r.Expiration.Days;
|
|
6106
|
+
if (r.Expiration.Date !== void 0) exp["Date"] = r.Expiration.Date.toISOString();
|
|
6107
|
+
if (r.Expiration.ExpiredObjectDeleteMarker !== void 0) exp["ExpiredObjectDeleteMarker"] = r.Expiration.ExpiredObjectDeleteMarker;
|
|
6108
|
+
out["Expiration"] = exp;
|
|
6074
6109
|
}
|
|
6075
|
-
if (
|
|
6076
|
-
|
|
6077
|
-
|
|
6078
|
-
|
|
6110
|
+
if (r.Transitions && r.Transitions.length > 0) out["Transitions"] = r.Transitions.map((t) => {
|
|
6111
|
+
const item = {};
|
|
6112
|
+
if (t.Days !== void 0) item["TransitionInDays"] = t.Days;
|
|
6113
|
+
if (t.Date !== void 0) item["TransitionDate"] = t.Date.toISOString();
|
|
6114
|
+
if (t.StorageClass !== void 0) item["StorageClass"] = t.StorageClass;
|
|
6115
|
+
return item;
|
|
6116
|
+
});
|
|
6117
|
+
if (r.NoncurrentVersionExpiration) {
|
|
6118
|
+
const nve = {};
|
|
6119
|
+
if (r.NoncurrentVersionExpiration.NoncurrentDays !== void 0) nve["NoncurrentDays"] = r.NoncurrentVersionExpiration.NoncurrentDays;
|
|
6120
|
+
if (r.NoncurrentVersionExpiration.NewerNoncurrentVersions !== void 0) nve["NewerNoncurrentVersions"] = r.NoncurrentVersionExpiration.NewerNoncurrentVersions;
|
|
6121
|
+
out["NoncurrentVersionExpiration"] = nve;
|
|
6122
|
+
}
|
|
6123
|
+
if (r.NoncurrentVersionTransitions && r.NoncurrentVersionTransitions.length > 0) out["NoncurrentVersionTransitions"] = r.NoncurrentVersionTransitions.map((nvt) => {
|
|
6124
|
+
const item = {};
|
|
6125
|
+
if (nvt.NoncurrentDays !== void 0) item["TransitionInDays"] = nvt.NoncurrentDays;
|
|
6126
|
+
if (nvt.StorageClass !== void 0) item["StorageClass"] = nvt.StorageClass;
|
|
6127
|
+
if (nvt.NewerNoncurrentVersions !== void 0) item["NewerNoncurrentVersions"] = nvt.NewerNoncurrentVersions;
|
|
6128
|
+
return item;
|
|
6129
|
+
});
|
|
6130
|
+
if (r.AbortIncompleteMultipartUpload) out["AbortIncompleteMultipartUpload"] = { DaysAfterInitiation: r.AbortIncompleteMultipartUpload.DaysAfterInitiation };
|
|
6131
|
+
if (r.Filter) {
|
|
6132
|
+
const f = r.Filter;
|
|
6133
|
+
const cfnFilter = {};
|
|
6134
|
+
const and = f["And"];
|
|
6135
|
+
const tagOnly = f["Tag"];
|
|
6136
|
+
if (and) {
|
|
6137
|
+
if (and["Prefix"] !== void 0) cfnFilter["Prefix"] = and["Prefix"];
|
|
6138
|
+
if (and["Tags"]) cfnFilter["TagFilters"] = and["Tags"];
|
|
6139
|
+
if (and["ObjectSizeGreaterThan"] !== void 0) cfnFilter["ObjectSizeGreaterThan"] = and["ObjectSizeGreaterThan"];
|
|
6140
|
+
if (and["ObjectSizeLessThan"] !== void 0) cfnFilter["ObjectSizeLessThan"] = and["ObjectSizeLessThan"];
|
|
6141
|
+
} else if (tagOnly) cfnFilter["TagFilters"] = [tagOnly];
|
|
6142
|
+
else {
|
|
6143
|
+
if (f["Prefix"] !== void 0) cfnFilter["Prefix"] = f["Prefix"];
|
|
6144
|
+
if (f["ObjectSizeGreaterThan"] !== void 0) cfnFilter["ObjectSizeGreaterThan"] = f["ObjectSizeGreaterThan"];
|
|
6145
|
+
if (f["ObjectSizeLessThan"] !== void 0) cfnFilter["ObjectSizeLessThan"] = f["ObjectSizeLessThan"];
|
|
6146
|
+
}
|
|
6147
|
+
if (Object.keys(cfnFilter).length > 0) out["Filter"] = cfnFilter;
|
|
6148
|
+
}
|
|
6149
|
+
return out;
|
|
6150
|
+
})
|
|
6151
|
+
};
|
|
6079
6152
|
} catch (err) {
|
|
6080
6153
|
if (err.name === "NoSuchLifecycleConfiguration") return { Rules: [] };
|
|
6081
6154
|
throw err;
|
|
@@ -6141,6 +6214,17 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
6141
6214
|
const out = {};
|
|
6142
6215
|
if (resp.LoggingEnabled.TargetBucket !== void 0) out["DestinationBucketName"] = resp.LoggingEnabled.TargetBucket;
|
|
6143
6216
|
if (resp.LoggingEnabled.TargetPrefix !== void 0) out["LogFilePrefix"] = resp.LoggingEnabled.TargetPrefix;
|
|
6217
|
+
const keyFormat = resp.LoggingEnabled.TargetObjectKeyFormat;
|
|
6218
|
+
if (keyFormat) {
|
|
6219
|
+
const cfnKeyFormat = {};
|
|
6220
|
+
if (keyFormat.SimplePrefix !== void 0) cfnKeyFormat["SimplePrefix"] = {};
|
|
6221
|
+
if (keyFormat.PartitionedPrefix) {
|
|
6222
|
+
const partitioned = {};
|
|
6223
|
+
if (keyFormat.PartitionedPrefix.PartitionDateSource !== void 0) partitioned["PartitionDateSource"] = keyFormat.PartitionedPrefix.PartitionDateSource;
|
|
6224
|
+
cfnKeyFormat["PartitionedPrefix"] = partitioned;
|
|
6225
|
+
}
|
|
6226
|
+
if (Object.keys(cfnKeyFormat).length > 0) out["TargetObjectKeyFormat"] = cfnKeyFormat;
|
|
6227
|
+
}
|
|
6144
6228
|
return out;
|
|
6145
6229
|
}
|
|
6146
6230
|
async readNotification(bucket) {
|
|
@@ -6201,8 +6285,34 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
6201
6285
|
if (r.Destination.Bucket !== void 0) d["Bucket"] = r.Destination.Bucket;
|
|
6202
6286
|
if (r.Destination.Account !== void 0) d["Account"] = r.Destination.Account;
|
|
6203
6287
|
if (r.Destination.StorageClass !== void 0) d["StorageClass"] = r.Destination.StorageClass;
|
|
6288
|
+
const acl = r.Destination.AccessControlTranslation;
|
|
6289
|
+
if (acl?.Owner !== void 0) d["AccessControlTranslation"] = { Owner: acl.Owner };
|
|
6290
|
+
const enc = r.Destination.EncryptionConfiguration;
|
|
6291
|
+
if (enc?.ReplicaKmsKeyID !== void 0) d["EncryptionConfiguration"] = { ReplicaKmsKeyID: enc.ReplicaKmsKeyID };
|
|
6292
|
+
const rtIn = r.Destination.ReplicationTime;
|
|
6293
|
+
if (rtIn) {
|
|
6294
|
+
const rt = {};
|
|
6295
|
+
if (rtIn.Status !== void 0) rt["Status"] = rtIn.Status;
|
|
6296
|
+
if (rtIn.Time?.Minutes !== void 0) rt["Time"] = { Minutes: rtIn.Time.Minutes };
|
|
6297
|
+
if (Object.keys(rt).length > 0) d["ReplicationTime"] = rt;
|
|
6298
|
+
}
|
|
6299
|
+
const metricsIn = r.Destination.Metrics;
|
|
6300
|
+
if (metricsIn) {
|
|
6301
|
+
const m = {};
|
|
6302
|
+
if (metricsIn.Status !== void 0) m["Status"] = metricsIn.Status;
|
|
6303
|
+
if (metricsIn.EventThreshold?.Minutes !== void 0) m["EventThreshold"] = { Minutes: metricsIn.EventThreshold.Minutes };
|
|
6304
|
+
if (Object.keys(m).length > 0) d["Metrics"] = m;
|
|
6305
|
+
}
|
|
6204
6306
|
ruleOut["Destination"] = d;
|
|
6205
6307
|
}
|
|
6308
|
+
if (r.SourceSelectionCriteria) {
|
|
6309
|
+
const criteria = {};
|
|
6310
|
+
const replicaMods = r.SourceSelectionCriteria.ReplicaModifications;
|
|
6311
|
+
if (replicaMods?.Status !== void 0) criteria["ReplicaModifications"] = { Status: replicaMods.Status };
|
|
6312
|
+
const sseKms = r.SourceSelectionCriteria.SseKmsEncryptedObjects;
|
|
6313
|
+
if (sseKms?.Status !== void 0) criteria["SseKmsEncryptedObjects"] = { Status: sseKms.Status };
|
|
6314
|
+
if (Object.keys(criteria).length > 0) ruleOut["SourceSelectionCriteria"] = criteria;
|
|
6315
|
+
}
|
|
6206
6316
|
if (r.Filter) {
|
|
6207
6317
|
const f = r.Filter;
|
|
6208
6318
|
const cfnFilter = {};
|
|
@@ -6218,7 +6328,7 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
6218
6328
|
else if (f["Prefix"] !== void 0) cfnFilter["Prefix"] = f["Prefix"];
|
|
6219
6329
|
if (Object.keys(cfnFilter).length > 0) ruleOut["Filter"] = cfnFilter;
|
|
6220
6330
|
}
|
|
6221
|
-
if (r.DeleteMarkerReplication) ruleOut["DeleteMarkerReplication"] = { Status: r.DeleteMarkerReplication.Status };
|
|
6331
|
+
if (r.DeleteMarkerReplication?.Status !== void 0) ruleOut["DeleteMarkerReplication"] = { Status: r.DeleteMarkerReplication.Status };
|
|
6222
6332
|
return ruleOut;
|
|
6223
6333
|
});
|
|
6224
6334
|
return out;
|
|
@@ -26676,10 +26786,11 @@ var ELBv2Provider = class {
|
|
|
26676
26786
|
try {
|
|
26677
26787
|
const rawMatcher = properties["Matcher"];
|
|
26678
26788
|
const matcher = rawMatcher && (rawMatcher.HttpCode !== void 0 || rawMatcher.GrpcCode !== void 0) ? rawMatcher : void 0;
|
|
26789
|
+
const healthCheckPort = String(properties["Protocol"] ?? previousProperties["Protocol"] ?? "").toUpperCase() === "GENEVE" ? properties["HealthCheckPort"] : clearOnUpdateRemoval(properties["HealthCheckPort"], previousProperties["HealthCheckPort"], "traffic-port");
|
|
26679
26790
|
await this.getClient().send(new ModifyTargetGroupCommand({
|
|
26680
26791
|
TargetGroupArn: physicalId,
|
|
26681
26792
|
HealthCheckProtocol: properties["HealthCheckProtocol"],
|
|
26682
|
-
HealthCheckPort:
|
|
26793
|
+
HealthCheckPort: healthCheckPort,
|
|
26683
26794
|
HealthCheckPath: properties["HealthCheckPath"],
|
|
26684
26795
|
HealthCheckEnabled: properties["HealthCheckEnabled"] !== void 0 ? Boolean(properties["HealthCheckEnabled"]) : void 0,
|
|
26685
26796
|
HealthCheckIntervalSeconds: properties["HealthCheckIntervalSeconds"] !== void 0 ? Number(properties["HealthCheckIntervalSeconds"]) : void 0,
|
|
@@ -67218,7 +67329,7 @@ function createMigrateCommand() {
|
|
|
67218
67329
|
*/
|
|
67219
67330
|
function buildProgram() {
|
|
67220
67331
|
const program = new Command();
|
|
67221
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.278.
|
|
67332
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.278.41");
|
|
67222
67333
|
program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
67223
67334
|
const { profile } = actionCommand.optsWithGlobals();
|
|
67224
67335
|
if (profile !== void 0) process.env["AWS_PROFILE"] = profile;
|