@jaypie/constructs 1.1.65 → 1.1.66
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/cjs/JaypieAccountLoggingBucket.d.ts +60 -0
- package/dist/cjs/JaypieApiGateway.d.ts +47 -0
- package/dist/cjs/JaypieAppStack.d.ts +5 -0
- package/dist/cjs/JaypieBucketQueuedLambda.d.ts +48 -0
- package/dist/cjs/JaypieDatadogBucket.d.ts +55 -0
- package/dist/cjs/JaypieDatadogForwarder.d.ts +76 -0
- package/dist/cjs/JaypieDatadogSecret.d.ts +5 -0
- package/dist/cjs/JaypieDistribution.d.ts +76 -0
- package/dist/cjs/JaypieDnsRecord.d.ts +45 -0
- package/dist/cjs/JaypieEnvSecret.d.ts +41 -0
- package/dist/cjs/JaypieEventsRule.d.ts +45 -0
- package/dist/cjs/JaypieExpressLambda.d.ts +5 -0
- package/dist/cjs/JaypieGitHubDeployRole.d.ts +14 -0
- package/dist/cjs/JaypieHostedZone.d.ts +59 -0
- package/dist/cjs/JaypieInfrastructureStack.d.ts +5 -0
- package/dist/cjs/JaypieLambda.d.ts +115 -0
- package/dist/cjs/JaypieMongoDbSecret.d.ts +5 -0
- package/dist/cjs/JaypieNextJs.d.ts +36 -0
- package/dist/cjs/JaypieNextJs.test.d.ts +1 -0
- package/dist/cjs/JaypieOpenAiSecret.d.ts +5 -0
- package/dist/cjs/JaypieOrganizationTrail.d.ts +62 -0
- package/dist/cjs/JaypieQueuedLambda.d.ts +77 -0
- package/dist/cjs/JaypieSsoPermissions.d.ts +96 -0
- package/dist/cjs/JaypieSsoSyncApplication.d.ts +27 -0
- package/dist/cjs/JaypieStack.d.ts +8 -0
- package/dist/cjs/JaypieStaticWebBucket.d.ts +22 -0
- package/dist/cjs/JaypieTraceSigningKeySecret.d.ts +5 -0
- package/dist/cjs/JaypieWebDeploymentBucket.d.ts +84 -0
- package/dist/cjs/__tests__/JaypieBucketQueuedLambda.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieDistribution.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieDnsRecord.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieEnvSecret.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieExpressLambda.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieHostedZone.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieLambda.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieQueuedLambda.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieSsoPermissions.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieSsoSyncApplication.spec.d.ts +1 -0
- package/dist/cjs/__tests__/JaypieStaticWebBucket.spec.d.ts +1 -0
- package/dist/cjs/__tests__/index.spec.d.ts +1 -0
- package/dist/cjs/constants.d.ts +151 -0
- package/dist/cjs/helpers/__tests__/envHostname.spec.d.ts +1 -0
- package/dist/cjs/helpers/__tests__/jaypieLambdaEnv.spec.d.ts +1 -0
- package/dist/cjs/helpers/__tests__/resolveDatadogForwarderFunction.spec.d.ts +1 -0
- package/dist/cjs/helpers/__tests__/resolveDatadogLoggingDestination.spec.d.ts +1 -0
- package/dist/cjs/helpers/__tests__/resolveEnvironment.spec.d.ts +1 -0
- package/dist/cjs/helpers/__tests__/resolveSecrets.spec.d.ts +1 -0
- package/dist/cjs/helpers/addDatadogLayers.d.ts +5 -0
- package/dist/cjs/helpers/constructEnvName.d.ts +5 -0
- package/dist/cjs/helpers/constructStackName.d.ts +1 -0
- package/dist/cjs/helpers/constructTagger.d.ts +4 -0
- package/dist/cjs/helpers/envHostname.d.ts +6 -0
- package/dist/cjs/helpers/extendDatadogRole.d.ts +31 -0
- package/dist/cjs/helpers/index.d.ts +18 -0
- package/dist/cjs/helpers/isEnv.d.ts +12 -0
- package/dist/cjs/helpers/isValidHostname.d.ts +1 -0
- package/dist/cjs/helpers/isValidSubdomain.d.ts +1 -0
- package/dist/cjs/helpers/jaypieLambdaEnv.d.ts +8 -0
- package/dist/cjs/helpers/mergeDomain.d.ts +1 -0
- package/dist/cjs/helpers/resolveDatadogForwarderFunction.d.ts +7 -0
- package/dist/cjs/helpers/resolveDatadogLayers.d.ts +7 -0
- package/dist/cjs/helpers/resolveDatadogLoggingDestination.d.ts +4 -0
- package/dist/cjs/helpers/resolveEnvironment.d.ts +47 -0
- package/dist/cjs/helpers/resolveHostedZone.d.ts +6 -0
- package/dist/cjs/helpers/resolveParamsAndSecrets.d.ts +13 -0
- package/dist/cjs/helpers/resolveSecrets.d.ts +52 -0
- package/dist/cjs/index.cjs +3503 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.ts +29 -0
- package/dist/esm/JaypieAccountLoggingBucket.d.ts +60 -0
- package/dist/esm/JaypieApiGateway.d.ts +47 -0
- package/dist/esm/JaypieAppStack.d.ts +5 -0
- package/dist/esm/JaypieBucketQueuedLambda.d.ts +48 -0
- package/dist/esm/JaypieDatadogBucket.d.ts +55 -0
- package/dist/esm/JaypieDatadogForwarder.d.ts +76 -0
- package/dist/esm/JaypieDatadogSecret.d.ts +5 -0
- package/dist/esm/JaypieDistribution.d.ts +76 -0
- package/dist/esm/JaypieDnsRecord.d.ts +45 -0
- package/dist/esm/JaypieEnvSecret.d.ts +41 -0
- package/dist/esm/JaypieEventsRule.d.ts +45 -0
- package/dist/esm/JaypieExpressLambda.d.ts +5 -0
- package/dist/esm/JaypieGitHubDeployRole.d.ts +14 -0
- package/dist/esm/JaypieHostedZone.d.ts +59 -0
- package/dist/esm/JaypieInfrastructureStack.d.ts +5 -0
- package/dist/esm/JaypieLambda.d.ts +115 -0
- package/dist/esm/JaypieMongoDbSecret.d.ts +5 -0
- package/dist/esm/JaypieNextJs.d.ts +36 -0
- package/dist/esm/JaypieNextJs.test.d.ts +1 -0
- package/dist/esm/JaypieOpenAiSecret.d.ts +5 -0
- package/dist/esm/JaypieOrganizationTrail.d.ts +62 -0
- package/dist/esm/JaypieQueuedLambda.d.ts +77 -0
- package/dist/esm/JaypieSsoPermissions.d.ts +96 -0
- package/dist/esm/JaypieSsoSyncApplication.d.ts +27 -0
- package/dist/esm/JaypieStack.d.ts +8 -0
- package/dist/esm/JaypieStaticWebBucket.d.ts +22 -0
- package/dist/esm/JaypieTraceSigningKeySecret.d.ts +5 -0
- package/dist/esm/JaypieWebDeploymentBucket.d.ts +84 -0
- package/dist/esm/__tests__/JaypieBucketQueuedLambda.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieDistribution.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieDnsRecord.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieEnvSecret.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieExpressLambda.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieHostedZone.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieLambda.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieQueuedLambda.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieSsoPermissions.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieSsoSyncApplication.spec.d.ts +1 -0
- package/dist/esm/__tests__/JaypieStaticWebBucket.spec.d.ts +1 -0
- package/dist/esm/__tests__/index.spec.d.ts +1 -0
- package/dist/esm/constants.d.ts +151 -0
- package/dist/esm/helpers/__tests__/envHostname.spec.d.ts +1 -0
- package/dist/esm/helpers/__tests__/jaypieLambdaEnv.spec.d.ts +1 -0
- package/dist/esm/helpers/__tests__/resolveDatadogForwarderFunction.spec.d.ts +1 -0
- package/dist/esm/helpers/__tests__/resolveDatadogLoggingDestination.spec.d.ts +1 -0
- package/dist/esm/helpers/__tests__/resolveEnvironment.spec.d.ts +1 -0
- package/dist/esm/helpers/__tests__/resolveSecrets.spec.d.ts +1 -0
- package/dist/esm/helpers/addDatadogLayers.d.ts +5 -0
- package/dist/esm/helpers/constructEnvName.d.ts +5 -0
- package/dist/esm/helpers/constructStackName.d.ts +1 -0
- package/dist/esm/helpers/constructTagger.d.ts +4 -0
- package/dist/esm/helpers/envHostname.d.ts +6 -0
- package/dist/esm/helpers/extendDatadogRole.d.ts +31 -0
- package/dist/esm/helpers/index.d.ts +18 -0
- package/dist/esm/helpers/isEnv.d.ts +12 -0
- package/dist/esm/helpers/isValidHostname.d.ts +1 -0
- package/dist/esm/helpers/isValidSubdomain.d.ts +1 -0
- package/dist/esm/helpers/jaypieLambdaEnv.d.ts +8 -0
- package/dist/esm/helpers/mergeDomain.d.ts +1 -0
- package/dist/esm/helpers/resolveDatadogForwarderFunction.d.ts +7 -0
- package/dist/esm/helpers/resolveDatadogLayers.d.ts +7 -0
- package/dist/esm/helpers/resolveDatadogLoggingDestination.d.ts +4 -0
- package/dist/esm/helpers/resolveEnvironment.d.ts +47 -0
- package/dist/esm/helpers/resolveHostedZone.d.ts +6 -0
- package/dist/esm/helpers/resolveParamsAndSecrets.d.ts +13 -0
- package/dist/esm/helpers/resolveSecrets.d.ts +52 -0
- package/dist/esm/index.d.ts +29 -0
- package/dist/esm/index.js +3423 -0
- package/dist/esm/index.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
export declare const CDK: {
|
|
2
|
+
ACCOUNT: {
|
|
3
|
+
DEVELOPMENT: string;
|
|
4
|
+
MANAGEMENT: string;
|
|
5
|
+
OPERATIONS: string;
|
|
6
|
+
PRODUCTION: string;
|
|
7
|
+
SANDBOX: string;
|
|
8
|
+
SECURITY: string;
|
|
9
|
+
STAGE: string;
|
|
10
|
+
};
|
|
11
|
+
BUILD: {
|
|
12
|
+
CONFIG: {
|
|
13
|
+
ALL: string;
|
|
14
|
+
API: string;
|
|
15
|
+
INFRASTRUCTURE: string;
|
|
16
|
+
NONE: string;
|
|
17
|
+
WEB: string;
|
|
18
|
+
};
|
|
19
|
+
PERSONAL: string;
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated rename "ephemeral" to "personal" (since 2/24/2025)
|
|
22
|
+
*/
|
|
23
|
+
EPHEMERAL: string;
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated as even "ephemeral" builds have static assets (since 7/6/2024)
|
|
26
|
+
*/
|
|
27
|
+
STATIC: string;
|
|
28
|
+
};
|
|
29
|
+
CREATION: {
|
|
30
|
+
CDK: string;
|
|
31
|
+
CLOUDFORMATION_TEMPLATE: string;
|
|
32
|
+
MANUAL: string;
|
|
33
|
+
};
|
|
34
|
+
DATADOG: {
|
|
35
|
+
SITE: string;
|
|
36
|
+
LAYER: {
|
|
37
|
+
NODE: number;
|
|
38
|
+
EXTENSION: number;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
DEFAULT: {
|
|
42
|
+
REGION: string;
|
|
43
|
+
};
|
|
44
|
+
DNS: {
|
|
45
|
+
CONFIG: {
|
|
46
|
+
TTL: number;
|
|
47
|
+
};
|
|
48
|
+
RECORD: {
|
|
49
|
+
A: string;
|
|
50
|
+
CNAME: string;
|
|
51
|
+
MX: string;
|
|
52
|
+
NS: string;
|
|
53
|
+
TXT: string;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
DURATION: {
|
|
57
|
+
EXPRESS_API: number;
|
|
58
|
+
LAMBDA_MAXIMUM: number;
|
|
59
|
+
LAMBDA_WORKER: number;
|
|
60
|
+
};
|
|
61
|
+
ENV: {
|
|
62
|
+
DEMO: string;
|
|
63
|
+
DEVELOPMENT: string;
|
|
64
|
+
/** @deprecated */ EPHEMERAL: string;
|
|
65
|
+
LOCAL: string;
|
|
66
|
+
/** @deprecated */ MAIN: string;
|
|
67
|
+
META: string;
|
|
68
|
+
PERSONAL: string;
|
|
69
|
+
PREVIEW: string;
|
|
70
|
+
PRODUCTION: string;
|
|
71
|
+
RELEASE: string;
|
|
72
|
+
REVIEW: string;
|
|
73
|
+
SANDBOX: string;
|
|
74
|
+
TRAINING: string;
|
|
75
|
+
};
|
|
76
|
+
HOST: {
|
|
77
|
+
APEX: string;
|
|
78
|
+
};
|
|
79
|
+
IMPORT: {
|
|
80
|
+
DATADOG_LOG_FORWARDER: string;
|
|
81
|
+
DATADOG_ROLE: string;
|
|
82
|
+
DATADOG_SECRET: string;
|
|
83
|
+
LOG_BUCKET: string;
|
|
84
|
+
OIDC_PROVIDER: string;
|
|
85
|
+
};
|
|
86
|
+
LAMBDA: {
|
|
87
|
+
LOG_RETENTION: number;
|
|
88
|
+
MEMORY_SIZE: number;
|
|
89
|
+
};
|
|
90
|
+
PRINCIPAL: {
|
|
91
|
+
ROUTE53: string;
|
|
92
|
+
};
|
|
93
|
+
PRINCIPAL_TYPE: {
|
|
94
|
+
GROUP: string;
|
|
95
|
+
USER: string;
|
|
96
|
+
};
|
|
97
|
+
PROJECT: {
|
|
98
|
+
INFRASTRUCTURE: string;
|
|
99
|
+
};
|
|
100
|
+
ROLE: {
|
|
101
|
+
API: string;
|
|
102
|
+
DEPLOY: string;
|
|
103
|
+
HOSTING: string;
|
|
104
|
+
MONITORING: string;
|
|
105
|
+
NETWORKING: string;
|
|
106
|
+
PROCESSING: string;
|
|
107
|
+
SECURITY: string;
|
|
108
|
+
STACK: string;
|
|
109
|
+
STORAGE: string;
|
|
110
|
+
TOY: string;
|
|
111
|
+
};
|
|
112
|
+
SERVICE: {
|
|
113
|
+
DATADOG: string;
|
|
114
|
+
INFRASTRUCTURE: string;
|
|
115
|
+
LIBRARIES: string;
|
|
116
|
+
NONE: string;
|
|
117
|
+
SSO: string;
|
|
118
|
+
TRACE: string;
|
|
119
|
+
};
|
|
120
|
+
TAG: {
|
|
121
|
+
BUILD_DATE: string;
|
|
122
|
+
BUILD_HEX: string;
|
|
123
|
+
BUILD_NUMBER: string;
|
|
124
|
+
BUILD_TIME: string;
|
|
125
|
+
BUILD_TYPE: string;
|
|
126
|
+
COMMIT: string;
|
|
127
|
+
CREATION: string;
|
|
128
|
+
ENV: string;
|
|
129
|
+
NONCE: string;
|
|
130
|
+
PROJECT: string;
|
|
131
|
+
ROLE: string;
|
|
132
|
+
SERVICE: string;
|
|
133
|
+
SPONSOR: string;
|
|
134
|
+
STACK: string;
|
|
135
|
+
STACK_SHA: string;
|
|
136
|
+
VENDOR: string;
|
|
137
|
+
VERSION: string;
|
|
138
|
+
};
|
|
139
|
+
TARGET_TYPE: {
|
|
140
|
+
AWS_ACCOUNT: string;
|
|
141
|
+
};
|
|
142
|
+
VENDOR: {
|
|
143
|
+
ANTHROPIC: string;
|
|
144
|
+
AUTH0: string;
|
|
145
|
+
DATADOG: string;
|
|
146
|
+
KNOWTRACE: string;
|
|
147
|
+
MONGODB: string;
|
|
148
|
+
OPENAI: string;
|
|
149
|
+
SPLINTERLANDS: string;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function constructStackName(key?: string): string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Policy } from "aws-cdk-lib/aws-iam";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
export interface ExtendDatadogRoleOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Optional construct ID for the policy
|
|
6
|
+
* @default "DatadogCustomPolicy"
|
|
7
|
+
*/
|
|
8
|
+
id?: string;
|
|
9
|
+
/**
|
|
10
|
+
* The service tag value
|
|
11
|
+
* @default CDK.SERVICE.DATADOG
|
|
12
|
+
*/
|
|
13
|
+
service?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Optional project tag value
|
|
16
|
+
*/
|
|
17
|
+
project?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Extends the Datadog IAM role with additional permissions
|
|
21
|
+
*
|
|
22
|
+
* Checks for CDK_ENV_DATADOG_ROLE_ARN environment variable.
|
|
23
|
+
* If found, creates a custom policy with:
|
|
24
|
+
* - budgets:ViewBudget
|
|
25
|
+
* - logs:DescribeLogGroups
|
|
26
|
+
*
|
|
27
|
+
* @param scope - The construct scope
|
|
28
|
+
* @param options - Configuration options
|
|
29
|
+
* @returns The created Policy, or undefined if CDK_ENV_DATADOG_ROLE_ARN is not set
|
|
30
|
+
*/
|
|
31
|
+
export declare function extendDatadogRole(scope: Construct, options?: ExtendDatadogRoleOptions): Policy | undefined;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { addDatadogLayers } from "./addDatadogLayers";
|
|
2
|
+
export { constructEnvName } from "./constructEnvName";
|
|
3
|
+
export { constructStackName } from "./constructStackName";
|
|
4
|
+
export { constructTagger } from "./constructTagger";
|
|
5
|
+
export { envHostname } from "./envHostname";
|
|
6
|
+
export { extendDatadogRole, ExtendDatadogRoleOptions, } from "./extendDatadogRole";
|
|
7
|
+
export { isEnv, isProductionEnv, isSandboxEnv } from "./isEnv";
|
|
8
|
+
export { isValidHostname } from "./isValidHostname";
|
|
9
|
+
export { isValidSubdomain } from "./isValidSubdomain";
|
|
10
|
+
export { jaypieLambdaEnv } from "./jaypieLambdaEnv";
|
|
11
|
+
export { mergeDomain } from "./mergeDomain";
|
|
12
|
+
export { resolveDatadogForwarderFunction } from "./resolveDatadogForwarderFunction";
|
|
13
|
+
export { resolveDatadogLayers } from "./resolveDatadogLayers";
|
|
14
|
+
export { resolveDatadogLoggingDestination } from "./resolveDatadogLoggingDestination";
|
|
15
|
+
export { resolveEnvironment, EnvironmentArrayItem, EnvironmentInput, } from "./resolveEnvironment";
|
|
16
|
+
export { resolveHostedZone } from "./resolveHostedZone";
|
|
17
|
+
export { resolveParamsAndSecrets } from "./resolveParamsAndSecrets";
|
|
18
|
+
export { resolveSecrets, SecretsArrayItem, clearSecretsCache, clearAllSecretsCaches, } from "./resolveSecrets";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if the current environment matches the given environment
|
|
3
|
+
*/
|
|
4
|
+
export declare function isEnv(env: string): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Check if the current environment is production
|
|
7
|
+
*/
|
|
8
|
+
export declare function isProductionEnv(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Check if the current environment is sandbox
|
|
11
|
+
*/
|
|
12
|
+
export declare function isSandboxEnv(): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isValidHostname(hostname: string): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isValidSubdomain(subdomain: string): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function mergeDomain(subDomain: string, hostedZone: string): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
export interface ResolveDatadogForwarderFunctionOptions {
|
|
4
|
+
import?: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function resolveDatadogForwarderFunction(scope: Construct, options?: ResolveDatadogForwarderFunctionOptions): lambda.IFunction;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
export interface ResolveDatadogLayerOptions {
|
|
4
|
+
datadogApiKeyArn?: string;
|
|
5
|
+
uniqueId?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function resolveDatadogLayers(scope: Construct, options?: ResolveDatadogLayerOptions): lambda.ILayerVersion[] | undefined;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as logDestinations from "aws-cdk-lib/aws-logs-destinations";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { ResolveDatadogForwarderFunctionOptions } from "./resolveDatadogForwarderFunction";
|
|
4
|
+
export declare function resolveDatadogLoggingDestination(scope: Construct, options?: ResolveDatadogForwarderFunctionOptions): logDestinations.LambdaDestination;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment value type for the new array syntax
|
|
3
|
+
* - string: key to lookup in process.env
|
|
4
|
+
* - object: key-value pairs to include directly
|
|
5
|
+
*/
|
|
6
|
+
export type EnvironmentArrayItem = string | {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Environment type that supports both legacy object syntax and new array syntax
|
|
11
|
+
*/
|
|
12
|
+
export type EnvironmentInput = {
|
|
13
|
+
[key: string]: string;
|
|
14
|
+
} | EnvironmentArrayItem[];
|
|
15
|
+
/**
|
|
16
|
+
* Resolves environment input to a plain object.
|
|
17
|
+
*
|
|
18
|
+
* When environment is an object (legacy syntax), returns it as-is.
|
|
19
|
+
* When environment is an array:
|
|
20
|
+
* - Strings are treated as keys to lookup in process.env
|
|
21
|
+
* - Objects have their key-value pairs merged in
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* // Legacy object syntax
|
|
25
|
+
* resolveEnvironment({ FOO: "bar" })
|
|
26
|
+
* // => { FOO: "bar" }
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* // Array syntax with process.env lookup
|
|
30
|
+
* // Given process.env.MY_VAR = "hello"
|
|
31
|
+
* resolveEnvironment(["MY_VAR"])
|
|
32
|
+
* // => { MY_VAR: "hello" }
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* // Array syntax with objects
|
|
36
|
+
* resolveEnvironment([{ FOO: "bar", BAZ: "qux" }])
|
|
37
|
+
* // => { FOO: "bar", BAZ: "qux" }
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* // Mixed array syntax
|
|
41
|
+
* // Given process.env.MY_VAR = "hello"
|
|
42
|
+
* resolveEnvironment(["MY_VAR", { FOO: "bar" }])
|
|
43
|
+
* // => { MY_VAR: "hello", FOO: "bar" }
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveEnvironment(environment?: EnvironmentInput, env?: Record<string, string | undefined>): {
|
|
46
|
+
[key: string]: string;
|
|
47
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Duration } from "aws-cdk-lib";
|
|
2
|
+
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
3
|
+
export interface ResolveParamsAndSecretsOptions {
|
|
4
|
+
cacheSize?: number;
|
|
5
|
+
logLevel?: lambda.ParamsAndSecretsLogLevel;
|
|
6
|
+
parameterStoreTtl?: Duration;
|
|
7
|
+
secretsManagerTtl?: Duration;
|
|
8
|
+
}
|
|
9
|
+
export declare const resolveParamsAndSecrets: ({ paramsAndSecrets, options, }?: {
|
|
10
|
+
paramsAndSecrets?: lambda.ParamsAndSecretsLayerVersion | boolean;
|
|
11
|
+
options?: ResolveParamsAndSecretsOptions;
|
|
12
|
+
}) => lambda.ParamsAndSecretsLayerVersion | undefined;
|
|
13
|
+
export default resolveParamsAndSecrets;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { JaypieEnvSecret } from "../JaypieEnvSecret.js";
|
|
3
|
+
/**
|
|
4
|
+
* Secrets input type that supports both JaypieEnvSecret instances and strings
|
|
5
|
+
* - JaypieEnvSecret: passed through as-is
|
|
6
|
+
* - string: converted to JaypieEnvSecret with the string as envKey
|
|
7
|
+
*/
|
|
8
|
+
export type SecretsArrayItem = JaypieEnvSecret | string;
|
|
9
|
+
/**
|
|
10
|
+
* Resolves secrets input to an array of JaypieEnvSecret instances.
|
|
11
|
+
*
|
|
12
|
+
* When an item is already a JaypieEnvSecret, it's passed through as-is.
|
|
13
|
+
* When an item is a string, a JaypieEnvSecret is created (or reused from cache)
|
|
14
|
+
* with the string as the envKey.
|
|
15
|
+
*
|
|
16
|
+
* Secrets are cached per scope to avoid creating duplicate secrets when
|
|
17
|
+
* multiple constructs in the same scope reference the same secret.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // JaypieEnvSecret instances pass through
|
|
21
|
+
* const secret = new JaypieEnvSecret(scope, "MySecret", { envKey: "MY_KEY" });
|
|
22
|
+
* resolveSecrets(scope, [secret])
|
|
23
|
+
* // => [secret]
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* // Strings create JaypieEnvSecret instances
|
|
27
|
+
* resolveSecrets(scope, ["AUTH0_SECRET", "MONGODB_URI"])
|
|
28
|
+
* // => [JaypieEnvSecret(envKey: "AUTH0_SECRET"), JaypieEnvSecret(envKey: "MONGODB_URI")]
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // Mixed input
|
|
32
|
+
* const existingSecret = new JaypieEnvSecret(scope, "Existing", { envKey: "EXISTING" });
|
|
33
|
+
* resolveSecrets(scope, [existingSecret, "NEW_SECRET"])
|
|
34
|
+
* // => [existingSecret, JaypieEnvSecret(envKey: "NEW_SECRET")]
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* // Secrets are shared across calls with the same scope
|
|
38
|
+
* const secrets1 = resolveSecrets(scope, ["SHARED_SECRET"]);
|
|
39
|
+
* const secrets2 = resolveSecrets(scope, ["SHARED_SECRET"]);
|
|
40
|
+
* // secrets1[0] === secrets2[0] (same instance)
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveSecrets(scope: Construct, secrets?: SecretsArrayItem[]): JaypieEnvSecret[];
|
|
43
|
+
/**
|
|
44
|
+
* Clears the secrets cache for a given scope.
|
|
45
|
+
* Primarily useful for testing.
|
|
46
|
+
*/
|
|
47
|
+
export declare function clearSecretsCache(scope: Construct): void;
|
|
48
|
+
/**
|
|
49
|
+
* Clears all secrets caches.
|
|
50
|
+
* Primarily useful for testing.
|
|
51
|
+
*/
|
|
52
|
+
export declare function clearAllSecretsCaches(): void;
|