@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,29 @@
|
|
|
1
|
+
export { CDK } from "./constants";
|
|
2
|
+
export { JaypieAccountLoggingBucket, JaypieAccountLoggingBucketProps, } from "./JaypieAccountLoggingBucket";
|
|
3
|
+
export { JaypieApiGateway } from "./JaypieApiGateway";
|
|
4
|
+
export { JaypieAppStack } from "./JaypieAppStack";
|
|
5
|
+
export { JaypieBucketQueuedLambda } from "./JaypieBucketQueuedLambda";
|
|
6
|
+
export { JaypieDatadogBucket, JaypieDatadogBucketProps, } from "./JaypieDatadogBucket";
|
|
7
|
+
export { JaypieDatadogForwarder, JaypieDatadogForwarderProps, } from "./JaypieDatadogForwarder";
|
|
8
|
+
export { JaypieDistribution, JaypieDistributionProps, } from "./JaypieDistribution";
|
|
9
|
+
export { JaypieDatadogSecret } from "./JaypieDatadogSecret";
|
|
10
|
+
export { JaypieDnsRecord, JaypieDnsRecordProps } from "./JaypieDnsRecord";
|
|
11
|
+
export { JaypieEnvSecret } from "./JaypieEnvSecret";
|
|
12
|
+
export { JaypieEventsRule, JaypieEventsRuleProps } from "./JaypieEventsRule";
|
|
13
|
+
export { JaypieGitHubDeployRole, JaypieGitHubDeployRoleProps, } from "./JaypieGitHubDeployRole";
|
|
14
|
+
export { JaypieExpressLambda } from "./JaypieExpressLambda";
|
|
15
|
+
export { JaypieHostedZone, JaypieHostedZoneRecordProps, } from "./JaypieHostedZone";
|
|
16
|
+
export { JaypieInfrastructureStack } from "./JaypieInfrastructureStack";
|
|
17
|
+
export { JaypieLambda, JaypieLambdaProps } from "./JaypieLambda";
|
|
18
|
+
export { JaypieMongoDbSecret } from "./JaypieMongoDbSecret";
|
|
19
|
+
export { JaypieNextJs, JaypieNextjsProps } from "./JaypieNextJs";
|
|
20
|
+
export { JaypieOpenAiSecret } from "./JaypieOpenAiSecret";
|
|
21
|
+
export { JaypieOrganizationTrail, JaypieOrganizationTrailProps, } from "./JaypieOrganizationTrail";
|
|
22
|
+
export { AccountAssignments, JaypieSsoPermissions, JaypieSsoPermissionsProps, } from "./JaypieSsoPermissions";
|
|
23
|
+
export { JaypieSsoSyncApplication, JaypieSsoSyncApplicationProps, } from "./JaypieSsoSyncApplication";
|
|
24
|
+
export { JaypieQueuedLambda } from "./JaypieQueuedLambda";
|
|
25
|
+
export { JaypieStack, JaypieStackProps } from "./JaypieStack";
|
|
26
|
+
export { JaypieStaticWebBucket, JaypieStaticWebBucketProps, } from "./JaypieStaticWebBucket";
|
|
27
|
+
export { JaypieTraceSigningKeySecret } from "./JaypieTraceSigningKeySecret";
|
|
28
|
+
export { JaypieWebDeploymentBucket } from "./JaypieWebDeploymentBucket";
|
|
29
|
+
export * from "./helpers";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { BucketProps, IBucket } from "aws-cdk-lib/aws-s3";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
export interface JaypieAccountLoggingBucketProps extends BucketProps {
|
|
4
|
+
/**
|
|
5
|
+
* Optional construct ID
|
|
6
|
+
* @default "AccountLoggingBucket"
|
|
7
|
+
*/
|
|
8
|
+
id?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Bucket name
|
|
11
|
+
* @default `account-logging-stack-${PROJECT_NONCE}`
|
|
12
|
+
*/
|
|
13
|
+
bucketName?: string;
|
|
14
|
+
/**
|
|
15
|
+
* The service tag value
|
|
16
|
+
* @default CDK.SERVICE.INFRASTRUCTURE
|
|
17
|
+
*/
|
|
18
|
+
service?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Optional project tag value
|
|
21
|
+
*/
|
|
22
|
+
project?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Number of days before logs expire
|
|
25
|
+
* @default 365
|
|
26
|
+
*/
|
|
27
|
+
expirationDays?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Number of days before transitioning to INFREQUENT_ACCESS storage
|
|
30
|
+
* @default 30
|
|
31
|
+
*/
|
|
32
|
+
infrequentAccessTransitionDays?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Number of days before transitioning to GLACIER storage
|
|
35
|
+
* @default 180
|
|
36
|
+
*/
|
|
37
|
+
glacierTransitionDays?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Whether to create CloudFormation output for bucket name
|
|
40
|
+
* @default true
|
|
41
|
+
*/
|
|
42
|
+
createOutput?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Custom export name for the bucket name output
|
|
45
|
+
* @default CDK.IMPORT.LOG_BUCKET
|
|
46
|
+
*/
|
|
47
|
+
exportName?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Description for the CloudFormation output
|
|
50
|
+
* @default "Account-wide logging bucket"
|
|
51
|
+
*/
|
|
52
|
+
outputDescription?: string;
|
|
53
|
+
}
|
|
54
|
+
export declare class JaypieAccountLoggingBucket extends Construct {
|
|
55
|
+
readonly bucket: IBucket;
|
|
56
|
+
/**
|
|
57
|
+
* Create a new account-wide logging S3 bucket with lifecycle policies and export
|
|
58
|
+
*/
|
|
59
|
+
constructor(scope: Construct, idOrProps?: string | JaypieAccountLoggingBucketProps, propsOrUndefined?: JaypieAccountLoggingBucketProps);
|
|
60
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { RemovalPolicy, Stack } from "aws-cdk-lib";
|
|
3
|
+
import * as acm from "aws-cdk-lib/aws-certificatemanager";
|
|
4
|
+
import * as apiGateway from "aws-cdk-lib/aws-apigateway";
|
|
5
|
+
import * as route53 from "aws-cdk-lib/aws-route53";
|
|
6
|
+
export interface JaypieApiGatewayProps extends apiGateway.LambdaRestApiProps {
|
|
7
|
+
certificate?: boolean | acm.ICertificate;
|
|
8
|
+
host?: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
roleTag?: string;
|
|
11
|
+
zone?: string | route53.IHostedZone;
|
|
12
|
+
}
|
|
13
|
+
export declare class JaypieApiGateway extends Construct implements apiGateway.IRestApi {
|
|
14
|
+
private readonly _api;
|
|
15
|
+
private readonly _certificate?;
|
|
16
|
+
private readonly _domainName?;
|
|
17
|
+
private readonly _host?;
|
|
18
|
+
constructor(scope: Construct, id: string, props: JaypieApiGatewayProps);
|
|
19
|
+
get api(): apiGateway.LambdaRestApi;
|
|
20
|
+
get url(): string;
|
|
21
|
+
get certificateArn(): string | undefined;
|
|
22
|
+
get domainName(): string | undefined;
|
|
23
|
+
get host(): string | undefined;
|
|
24
|
+
get restApiId(): string;
|
|
25
|
+
get restApiName(): string;
|
|
26
|
+
get restApiRootResourceId(): string;
|
|
27
|
+
get deploymentStage(): apiGateway.Stage;
|
|
28
|
+
get domainNameAliasDomainName(): string | undefined;
|
|
29
|
+
get domainNameAliasHostedZoneId(): string | undefined;
|
|
30
|
+
get root(): apiGateway.IResource;
|
|
31
|
+
get env(): {
|
|
32
|
+
account: string;
|
|
33
|
+
region: string;
|
|
34
|
+
};
|
|
35
|
+
get stack(): Stack;
|
|
36
|
+
arnForExecuteApi(method?: string, path?: string, stage?: string): string;
|
|
37
|
+
metric(metricName: string, props?: import("aws-cdk-lib/aws-cloudwatch").MetricOptions): import("aws-cdk-lib/aws-cloudwatch").Metric;
|
|
38
|
+
metricCacheHitCount(props?: import("aws-cdk-lib/aws-cloudwatch").MetricOptions): import("aws-cdk-lib/aws-cloudwatch").Metric;
|
|
39
|
+
metricCacheMissCount(props?: import("aws-cdk-lib/aws-cloudwatch").MetricOptions): import("aws-cdk-lib/aws-cloudwatch").Metric;
|
|
40
|
+
metricClientError(props?: import("aws-cdk-lib/aws-cloudwatch").MetricOptions): import("aws-cdk-lib/aws-cloudwatch").Metric;
|
|
41
|
+
metricCount(props?: import("aws-cdk-lib/aws-cloudwatch").MetricOptions): import("aws-cdk-lib/aws-cloudwatch").Metric;
|
|
42
|
+
metricIntegrationLatency(props?: import("aws-cdk-lib/aws-cloudwatch").MetricOptions): import("aws-cdk-lib/aws-cloudwatch").Metric;
|
|
43
|
+
metricLatency(props?: import("aws-cdk-lib/aws-cloudwatch").MetricOptions): import("aws-cdk-lib/aws-cloudwatch").Metric;
|
|
44
|
+
metricServerError(props?: import("aws-cdk-lib/aws-cloudwatch").MetricOptions): import("aws-cdk-lib/aws-cloudwatch").Metric;
|
|
45
|
+
applyRemovalPolicy(policy: RemovalPolicy): void;
|
|
46
|
+
get restApiRef(): apiGateway.RestApiReference;
|
|
47
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { RemovalPolicy } from "aws-cdk-lib";
|
|
3
|
+
import * as s3 from "aws-cdk-lib/aws-s3";
|
|
4
|
+
import * as iam from "aws-cdk-lib/aws-iam";
|
|
5
|
+
import { JaypieQueuedLambda, JaypieQueuedLambdaProps } from "./JaypieQueuedLambda.js";
|
|
6
|
+
export interface JaypieBucketQueuedLambdaProps extends JaypieQueuedLambdaProps {
|
|
7
|
+
bucketName?: string;
|
|
8
|
+
bucketOptions?: s3.BucketProps;
|
|
9
|
+
}
|
|
10
|
+
export declare class JaypieBucketQueuedLambda extends JaypieQueuedLambda implements s3.IBucket {
|
|
11
|
+
private readonly _bucket;
|
|
12
|
+
constructor(scope: Construct, id: string, props: JaypieBucketQueuedLambdaProps);
|
|
13
|
+
get bucket(): s3.Bucket;
|
|
14
|
+
get bucketArn(): string;
|
|
15
|
+
get bucketDomainName(): string;
|
|
16
|
+
get bucketDualStackDomainName(): string;
|
|
17
|
+
get bucketName(): string;
|
|
18
|
+
get bucketRegionalDomainName(): string;
|
|
19
|
+
get bucketWebsiteDomainName(): string;
|
|
20
|
+
get bucketWebsiteUrl(): string;
|
|
21
|
+
get encryptionKey(): undefined | import("aws-cdk-lib/aws-kms").IKey;
|
|
22
|
+
get isWebsite(): boolean;
|
|
23
|
+
get policy(): s3.BucketPolicy | undefined;
|
|
24
|
+
addEventNotification(event: s3.EventType, dest: s3.IBucketNotificationDestination, ...filters: s3.NotificationKeyFilter[]): void;
|
|
25
|
+
addObjectCreatedNotification(dest: s3.IBucketNotificationDestination, ...filters: s3.NotificationKeyFilter[]): void;
|
|
26
|
+
addObjectRemovedNotification(dest: s3.IBucketNotificationDestination, ...filters: s3.NotificationKeyFilter[]): void;
|
|
27
|
+
addToResourcePolicy(permission: iam.PolicyStatement): iam.AddToResourcePolicyResult;
|
|
28
|
+
arnForObjects(objectKeyPattern: string): string;
|
|
29
|
+
enableEventBridgeNotification(): void;
|
|
30
|
+
grantDelete(grantee: iam.IGrantable, objectsKeyPattern?: any): iam.Grant;
|
|
31
|
+
grantPublicAccess(keyPrefix?: string, ...allowedActions: string[]): iam.Grant;
|
|
32
|
+
grantPut(grantee: iam.IGrantable, objectsKeyPattern?: any): iam.Grant;
|
|
33
|
+
grantPutAcl(grantee: iam.IGrantable, objectsKeyPattern?: string): iam.Grant;
|
|
34
|
+
grantRead(grantee: iam.IGrantable, objectsKeyPattern?: any): iam.Grant;
|
|
35
|
+
grantReadWrite(grantee: iam.IGrantable, objectsKeyPattern?: any): iam.Grant;
|
|
36
|
+
grantWrite(grantee: iam.IGrantable, objectsKeyPattern?: any): iam.Grant;
|
|
37
|
+
onCloudTrailEvent(id: string, options?: s3.OnCloudTrailBucketEventOptions): import("aws-cdk-lib/aws-events").Rule;
|
|
38
|
+
onCloudTrailPutObject(id: string, options?: s3.OnCloudTrailBucketEventOptions): import("aws-cdk-lib/aws-events").Rule;
|
|
39
|
+
onCloudTrailWriteObject(id: string, options?: s3.OnCloudTrailBucketEventOptions): import("aws-cdk-lib/aws-events").Rule;
|
|
40
|
+
s3UrlForObject(key?: string): string;
|
|
41
|
+
transferAccelerationUrlForObject(key?: string, options?: s3.TransferAccelerationUrlOptions): string;
|
|
42
|
+
urlForObject(key?: string): string;
|
|
43
|
+
virtualHostedUrlForObject(key?: string, options?: s3.VirtualHostedStyleUrlOptions): string;
|
|
44
|
+
grantReplicationPermission(identity: iam.IGrantable, props: any): iam.Grant;
|
|
45
|
+
addReplicationPolicy(policy: any): void;
|
|
46
|
+
get bucketRef(): s3.BucketReference;
|
|
47
|
+
applyRemovalPolicy(policy: RemovalPolicy): void;
|
|
48
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Policy } from "aws-cdk-lib/aws-iam";
|
|
2
|
+
import { BucketProps, IBucket } from "aws-cdk-lib/aws-s3";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
export interface JaypieDatadogBucketProps extends BucketProps {
|
|
5
|
+
/**
|
|
6
|
+
* Optional construct ID
|
|
7
|
+
* @default "JaypieDatadogBucket"
|
|
8
|
+
*/
|
|
9
|
+
id?: string;
|
|
10
|
+
/**
|
|
11
|
+
* The scope to use when creating the S3 bucket
|
|
12
|
+
* @default this (the construct itself)
|
|
13
|
+
*/
|
|
14
|
+
bucketScope?: Construct;
|
|
15
|
+
/**
|
|
16
|
+
* The ID to use for the S3 bucket construct
|
|
17
|
+
* @default "DatadogArchiveBucket"
|
|
18
|
+
*/
|
|
19
|
+
bucketId?: string;
|
|
20
|
+
/**
|
|
21
|
+
* The service tag value
|
|
22
|
+
* @default CDK.SERVICE.DATADOG
|
|
23
|
+
*/
|
|
24
|
+
service?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Optional project tag value
|
|
27
|
+
*/
|
|
28
|
+
project?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Whether to grant Datadog role access to this bucket
|
|
31
|
+
* Uses CDK_ENV_DATADOG_ROLE_ARN if set
|
|
32
|
+
* @default true
|
|
33
|
+
*/
|
|
34
|
+
grantDatadogAccess?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare class JaypieDatadogBucket extends Construct {
|
|
37
|
+
readonly bucket: IBucket;
|
|
38
|
+
readonly policy?: Policy;
|
|
39
|
+
/**
|
|
40
|
+
* Create a new S3 bucket for Datadog log archiving with automatic IAM permissions
|
|
41
|
+
*/
|
|
42
|
+
constructor(scope: Construct, idOrProps?: string | JaypieDatadogBucketProps, propsOrUndefined?: JaypieDatadogBucketProps);
|
|
43
|
+
/**
|
|
44
|
+
* Grants the Datadog IAM role access to this bucket
|
|
45
|
+
*
|
|
46
|
+
* Checks for CDK_ENV_DATADOG_ROLE_ARN environment variable.
|
|
47
|
+
* If found, creates a custom policy with:
|
|
48
|
+
* - s3:ListBucket on bucket
|
|
49
|
+
* - s3:GetObject and s3:PutObject on bucket/*
|
|
50
|
+
*
|
|
51
|
+
* @param options - Configuration options
|
|
52
|
+
* @returns The created Policy, or undefined if CDK_ENV_DATADOG_ROLE_ARN is not set
|
|
53
|
+
*/
|
|
54
|
+
private grantDatadogRoleBucketAccess;
|
|
55
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { CfnStack } from "aws-cdk-lib";
|
|
2
|
+
import { Rule } from "aws-cdk-lib/aws-events";
|
|
3
|
+
import { IFunction } from "aws-cdk-lib/aws-lambda";
|
|
4
|
+
import { Construct } from "constructs";
|
|
5
|
+
export interface JaypieDatadogForwarderProps {
|
|
6
|
+
/**
|
|
7
|
+
* Optional construct ID
|
|
8
|
+
* @default "DatadogForwarder"
|
|
9
|
+
*/
|
|
10
|
+
id?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Datadog API key
|
|
13
|
+
* @default process.env.CDK_ENV_DATADOG_API_KEY
|
|
14
|
+
*/
|
|
15
|
+
datadogApiKey?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Account identifier for Datadog tags
|
|
18
|
+
* @default process.env.CDK_ENV_ACCOUNT
|
|
19
|
+
*/
|
|
20
|
+
account?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Reserved concurrency for the forwarder Lambda
|
|
23
|
+
* Must be a string as required by the CloudFormation template
|
|
24
|
+
* @default "10"
|
|
25
|
+
*/
|
|
26
|
+
reservedConcurrency?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Additional Datadog tags (comma-separated)
|
|
29
|
+
* Will be appended to account tag
|
|
30
|
+
*/
|
|
31
|
+
additionalTags?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The service tag value
|
|
34
|
+
* @default CDK.VENDOR.DATADOG
|
|
35
|
+
*/
|
|
36
|
+
service?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Optional project tag value
|
|
39
|
+
*/
|
|
40
|
+
project?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Whether to create CloudFormation events rule
|
|
43
|
+
* @default true
|
|
44
|
+
*/
|
|
45
|
+
enableCloudFormationEvents?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Whether to extend Datadog role with custom permissions
|
|
48
|
+
* Uses CDK_ENV_DATADOG_ROLE_ARN if set
|
|
49
|
+
* @default true
|
|
50
|
+
*/
|
|
51
|
+
enableRoleExtension?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Whether to create CloudFormation output for forwarder ARN
|
|
54
|
+
* @default true
|
|
55
|
+
*/
|
|
56
|
+
createOutput?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Custom export name for the forwarder ARN output
|
|
59
|
+
* @default CDK.IMPORT.DATADOG_LOG_FORWARDER
|
|
60
|
+
*/
|
|
61
|
+
exportName?: string;
|
|
62
|
+
/**
|
|
63
|
+
* URL to Datadog forwarder CloudFormation template
|
|
64
|
+
* @default "https://datadog-cloudformation-template.s3.amazonaws.com/aws/forwarder/latest.yaml"
|
|
65
|
+
*/
|
|
66
|
+
templateUrl?: string;
|
|
67
|
+
}
|
|
68
|
+
export declare class JaypieDatadogForwarder extends Construct {
|
|
69
|
+
readonly cfnStack: CfnStack;
|
|
70
|
+
readonly forwarderFunction: IFunction;
|
|
71
|
+
readonly eventsRule?: Rule;
|
|
72
|
+
/**
|
|
73
|
+
* Create a new Datadog forwarder with CloudFormation nested stack
|
|
74
|
+
*/
|
|
75
|
+
constructor(scope: Construct, idOrProps?: string | JaypieDatadogForwarderProps, propsOrUndefined?: JaypieDatadogForwarderProps);
|
|
76
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { RemovalPolicy, Stack } from "aws-cdk-lib";
|
|
2
|
+
import * as acm from "aws-cdk-lib/aws-certificatemanager";
|
|
3
|
+
import * as cloudfront from "aws-cdk-lib/aws-cloudfront";
|
|
4
|
+
import * as lambda from "aws-cdk-lib/aws-lambda";
|
|
5
|
+
import * as route53 from "aws-cdk-lib/aws-route53";
|
|
6
|
+
import * as s3 from "aws-cdk-lib/aws-s3";
|
|
7
|
+
import { LambdaDestination } from "aws-cdk-lib/aws-s3-notifications";
|
|
8
|
+
import { Construct } from "constructs";
|
|
9
|
+
export interface JaypieDistributionProps extends Omit<cloudfront.DistributionProps, "certificate" | "defaultBehavior"> {
|
|
10
|
+
/**
|
|
11
|
+
* SSL certificate for the CloudFront distribution
|
|
12
|
+
* @default true (creates a new certificate)
|
|
13
|
+
*/
|
|
14
|
+
certificate?: boolean | acm.ICertificate;
|
|
15
|
+
/**
|
|
16
|
+
* Override default behavior (optional if handler is provided)
|
|
17
|
+
*/
|
|
18
|
+
defaultBehavior?: cloudfront.BehaviorOptions;
|
|
19
|
+
/**
|
|
20
|
+
* Log destination configuration for CloudFront access logs
|
|
21
|
+
* - LambdaDestination: Use a specific Lambda destination for S3 notifications
|
|
22
|
+
* - true: Use Datadog forwarder for S3 notifications (default)
|
|
23
|
+
* - false: Disable logging entirely
|
|
24
|
+
* @default true
|
|
25
|
+
*/
|
|
26
|
+
destination?: LambdaDestination | boolean;
|
|
27
|
+
/**
|
|
28
|
+
* The origin handler - can be an IOrigin, IFunctionUrl, or IFunction
|
|
29
|
+
* If IFunction, a FunctionUrl will be created with auth NONE
|
|
30
|
+
*/
|
|
31
|
+
handler?: cloudfront.IOrigin | lambda.IFunctionUrl | lambda.IFunction;
|
|
32
|
+
/**
|
|
33
|
+
* The domain name for the distribution
|
|
34
|
+
* @default mergeDomain(CDK_ENV_API_SUBDOMAIN, CDK_ENV_API_HOSTED_ZONE || CDK_ENV_HOSTED_ZONE)
|
|
35
|
+
*/
|
|
36
|
+
host?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Invoke mode for Lambda Function URLs
|
|
39
|
+
* @default InvokeMode.BUFFERED
|
|
40
|
+
*/
|
|
41
|
+
invokeMode?: lambda.InvokeMode;
|
|
42
|
+
/**
|
|
43
|
+
* Role tag for tagging resources
|
|
44
|
+
* @default CDK.ROLE.HOSTING
|
|
45
|
+
*/
|
|
46
|
+
roleTag?: string;
|
|
47
|
+
/**
|
|
48
|
+
* The hosted zone for DNS records
|
|
49
|
+
* @default CDK_ENV_API_HOSTED_ZONE || CDK_ENV_HOSTED_ZONE
|
|
50
|
+
*/
|
|
51
|
+
zone?: string | route53.IHostedZone;
|
|
52
|
+
}
|
|
53
|
+
export declare class JaypieDistribution extends Construct implements cloudfront.IDistribution {
|
|
54
|
+
readonly certificate?: acm.ICertificate;
|
|
55
|
+
readonly distribution: cloudfront.Distribution;
|
|
56
|
+
readonly distributionArn: string;
|
|
57
|
+
readonly distributionDomainName: string;
|
|
58
|
+
readonly distributionId: string;
|
|
59
|
+
readonly domainName: string;
|
|
60
|
+
readonly functionUrl?: lambda.FunctionUrl;
|
|
61
|
+
readonly host?: string;
|
|
62
|
+
readonly logBucket?: s3.IBucket;
|
|
63
|
+
constructor(scope: Construct, id: string, props: JaypieDistributionProps);
|
|
64
|
+
private isIOrigin;
|
|
65
|
+
private isIFunctionUrl;
|
|
66
|
+
private isIFunction;
|
|
67
|
+
get env(): {
|
|
68
|
+
account: string;
|
|
69
|
+
region: string;
|
|
70
|
+
};
|
|
71
|
+
get stack(): Stack;
|
|
72
|
+
applyRemovalPolicy(policy: RemovalPolicy): void;
|
|
73
|
+
grant(identity: import("aws-cdk-lib/aws-iam").IGrantable, ...actions: string[]): import("aws-cdk-lib/aws-iam").Grant;
|
|
74
|
+
grantCreateInvalidation(identity: import("aws-cdk-lib/aws-iam").IGrantable): import("aws-cdk-lib/aws-iam").Grant;
|
|
75
|
+
get distributionRef(): cloudfront.DistributionReference;
|
|
76
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as cdk from "aws-cdk-lib";
|
|
2
|
+
import { ARecord, CnameRecord, IHostedZone, MxRecord, NsRecord, TxtRecord } from "aws-cdk-lib/aws-route53";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
export interface JaypieDnsRecordProps {
|
|
5
|
+
/**
|
|
6
|
+
* Optional comment to add to the DNS record
|
|
7
|
+
*/
|
|
8
|
+
comment?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Optional record name (subdomain). If not provided, creates record at zone apex
|
|
11
|
+
*/
|
|
12
|
+
recordName?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Time to live for the DNS record
|
|
15
|
+
* @default CDK.DNS.CONFIG.TTL (5 minutes)
|
|
16
|
+
*/
|
|
17
|
+
ttl?: cdk.Duration;
|
|
18
|
+
/**
|
|
19
|
+
* The DNS record type (A, CNAME, MX, NS, TXT)
|
|
20
|
+
*/
|
|
21
|
+
type: string;
|
|
22
|
+
/**
|
|
23
|
+
* Values for the DNS record. Format depends on record type:
|
|
24
|
+
* - A: Array of IPv4 addresses (e.g., ["1.2.3.4", "5.6.7.8"])
|
|
25
|
+
* - CNAME: Single domain name as first element (e.g., ["example.com"])
|
|
26
|
+
* - MX: Array of objects with priority and hostName (e.g., [{priority: 10, hostName: "mail.example.com"}])
|
|
27
|
+
* - NS: Array of name server addresses (e.g., ["ns1.example.com", "ns2.example.com"])
|
|
28
|
+
* - TXT: Array of text values (e.g., ["v=spf1 include:example.com ~all"])
|
|
29
|
+
*/
|
|
30
|
+
values: string[] | Array<{
|
|
31
|
+
hostName: string;
|
|
32
|
+
priority: number;
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* The hosted zone where the record will be created.
|
|
36
|
+
* Can be either:
|
|
37
|
+
* - A string (zone name) - will lookup the hosted zone by domain name
|
|
38
|
+
* - An IHostedZone object - will use the provided zone directly
|
|
39
|
+
*/
|
|
40
|
+
zone: string | IHostedZone;
|
|
41
|
+
}
|
|
42
|
+
export declare class JaypieDnsRecord extends Construct {
|
|
43
|
+
readonly record: ARecord | CnameRecord | MxRecord | NsRecord | TxtRecord;
|
|
44
|
+
constructor(scope: Construct, id: string, props: JaypieDnsRecordProps);
|
|
45
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { SecretValue, RemovalPolicy, Stack } from "aws-cdk-lib";
|
|
3
|
+
import * as secretsmanager from "aws-cdk-lib/aws-secretsmanager";
|
|
4
|
+
import { ISecret, ISecretAttachmentTarget, RotationSchedule, RotationScheduleOptions } from "aws-cdk-lib/aws-secretsmanager";
|
|
5
|
+
import { IKey } from "aws-cdk-lib/aws-kms";
|
|
6
|
+
import { Grant, IGrantable, PolicyStatement, AddToResourcePolicyResult } from "aws-cdk-lib/aws-iam";
|
|
7
|
+
export interface JaypieEnvSecretProps {
|
|
8
|
+
consumer?: boolean;
|
|
9
|
+
envKey?: string;
|
|
10
|
+
export?: string;
|
|
11
|
+
generateSecretString?: secretsmanager.SecretStringGenerator;
|
|
12
|
+
provider?: boolean;
|
|
13
|
+
roleTag?: string;
|
|
14
|
+
vendorTag?: string;
|
|
15
|
+
value?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class JaypieEnvSecret extends Construct implements ISecret {
|
|
18
|
+
private readonly _envKey?;
|
|
19
|
+
private readonly _secret;
|
|
20
|
+
constructor(scope: Construct, idOrEnvKey: string, props?: JaypieEnvSecretProps);
|
|
21
|
+
get stack(): Stack;
|
|
22
|
+
get env(): {
|
|
23
|
+
account: string;
|
|
24
|
+
region: string;
|
|
25
|
+
};
|
|
26
|
+
applyRemovalPolicy(policy: RemovalPolicy): void;
|
|
27
|
+
get secretArn(): string;
|
|
28
|
+
get secretName(): string;
|
|
29
|
+
get secretFullArn(): string | undefined;
|
|
30
|
+
get encryptionKey(): IKey | undefined;
|
|
31
|
+
get secretValue(): SecretValue;
|
|
32
|
+
secretValueFromJson(key: string): SecretValue;
|
|
33
|
+
grantRead(grantee: IGrantable, versionStages?: string[]): Grant;
|
|
34
|
+
grantWrite(grantee: IGrantable): Grant;
|
|
35
|
+
addRotationSchedule(id: string, options: RotationScheduleOptions): RotationSchedule;
|
|
36
|
+
addToResourcePolicy(statement: PolicyStatement): AddToResourcePolicyResult;
|
|
37
|
+
denyAccountRootDelete(): void;
|
|
38
|
+
attach(target: ISecretAttachmentTarget): ISecret;
|
|
39
|
+
cfnDynamicReferenceKey(options?: Parameters<ISecret["cfnDynamicReferenceKey"]>[0]): string;
|
|
40
|
+
get envKey(): string | undefined;
|
|
41
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Rule, RuleProps } from "aws-cdk-lib/aws-events";
|
|
2
|
+
import { IFunction } from "aws-cdk-lib/aws-lambda";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
export interface JaypieEventsRuleProps extends Omit<RuleProps, "targets"> {
|
|
5
|
+
/**
|
|
6
|
+
* Optional construct ID
|
|
7
|
+
* @default Generated from source or "EventsRule"
|
|
8
|
+
*/
|
|
9
|
+
id?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Event source(s) to match
|
|
12
|
+
* @default undefined
|
|
13
|
+
*/
|
|
14
|
+
source?: string | string[];
|
|
15
|
+
/**
|
|
16
|
+
* Lambda function to target
|
|
17
|
+
* Can be:
|
|
18
|
+
* - An IFunction instance
|
|
19
|
+
* - undefined (will resolve Datadog forwarder)
|
|
20
|
+
* @default Resolves Datadog forwarder via resolveDatadogForwarderFunction
|
|
21
|
+
*/
|
|
22
|
+
targetFunction?: IFunction;
|
|
23
|
+
/**
|
|
24
|
+
* The service tag value
|
|
25
|
+
* @default CDK.SERVICE.DATADOG
|
|
26
|
+
*/
|
|
27
|
+
service?: string;
|
|
28
|
+
/**
|
|
29
|
+
* The vendor tag value
|
|
30
|
+
* @default CDK.VENDOR.DATADOG
|
|
31
|
+
*/
|
|
32
|
+
vendor?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Optional project tag value
|
|
35
|
+
*/
|
|
36
|
+
project?: string;
|
|
37
|
+
}
|
|
38
|
+
export declare class JaypieEventsRule extends Construct {
|
|
39
|
+
readonly rule: Rule;
|
|
40
|
+
readonly targetFunction: IFunction;
|
|
41
|
+
/**
|
|
42
|
+
* Create a new EventBridge rule that targets a Lambda function
|
|
43
|
+
*/
|
|
44
|
+
constructor(scope: Construct, idOrSourceOrProps?: string | JaypieEventsRuleProps, propsOrUndefined?: JaypieEventsRuleProps);
|
|
45
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Role } from "aws-cdk-lib/aws-iam";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
export interface JaypieGitHubDeployRoleProps {
|
|
4
|
+
oidcProviderArn?: string;
|
|
5
|
+
output?: boolean | string;
|
|
6
|
+
repoRestriction?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class JaypieGitHubDeployRole extends Construct {
|
|
9
|
+
private readonly _role;
|
|
10
|
+
constructor(scope: Construct, id?: string, props?: JaypieGitHubDeployRoleProps);
|
|
11
|
+
get role(): Role;
|
|
12
|
+
get roleArn(): string;
|
|
13
|
+
get roleName(): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ILogGroup } from "aws-cdk-lib/aws-logs";
|
|
2
|
+
import { LambdaDestination } from "aws-cdk-lib/aws-logs-destinations";
|
|
3
|
+
import { IHostedZone } from "aws-cdk-lib/aws-route53";
|
|
4
|
+
import { Construct } from "constructs";
|
|
5
|
+
import { JaypieDnsRecord, JaypieDnsRecordProps } from "./JaypieDnsRecord";
|
|
6
|
+
/**
|
|
7
|
+
* DNS record configuration for JaypieHostedZone
|
|
8
|
+
* Omits 'zone' since it will be automatically set to the created hosted zone
|
|
9
|
+
*/
|
|
10
|
+
export interface JaypieHostedZoneRecordProps extends Omit<JaypieDnsRecordProps, "zone"> {
|
|
11
|
+
/**
|
|
12
|
+
* Optional ID for the DNS record construct
|
|
13
|
+
* @default Generated from record type and name
|
|
14
|
+
*/
|
|
15
|
+
id?: string;
|
|
16
|
+
}
|
|
17
|
+
interface JaypieHostedZoneProps {
|
|
18
|
+
/**
|
|
19
|
+
* Optional construct ID
|
|
20
|
+
* @default `${zoneName}-HostedZone`
|
|
21
|
+
*/
|
|
22
|
+
id?: string;
|
|
23
|
+
/**
|
|
24
|
+
* The domain name for the hosted zone
|
|
25
|
+
*/
|
|
26
|
+
zoneName: string;
|
|
27
|
+
/**
|
|
28
|
+
* The service tag value
|
|
29
|
+
* @default CDK.SERVICE.INFRASTRUCTURE
|
|
30
|
+
*/
|
|
31
|
+
service?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Optional project tag value
|
|
34
|
+
*/
|
|
35
|
+
project?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Log destination configuration
|
|
38
|
+
* - LambdaDestination: Use a specific Lambda destination
|
|
39
|
+
* - true: Use Datadog logging destination (default)
|
|
40
|
+
* - false: Do not use a destination
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
destination?: LambdaDestination | boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Optional DNS records to create for this hosted zone
|
|
46
|
+
* Each record will be created as a JaypieDnsRecord construct
|
|
47
|
+
*/
|
|
48
|
+
records?: JaypieHostedZoneRecordProps[];
|
|
49
|
+
}
|
|
50
|
+
export declare class JaypieHostedZone extends Construct {
|
|
51
|
+
readonly hostedZone: IHostedZone;
|
|
52
|
+
readonly logGroup: ILogGroup;
|
|
53
|
+
readonly dnsRecords: JaypieDnsRecord[];
|
|
54
|
+
/**
|
|
55
|
+
* Create a new hosted zone with query logging and optional DNS records
|
|
56
|
+
*/
|
|
57
|
+
constructor(scope: Construct, idOrProps: string | JaypieHostedZoneProps, propsOrRecords?: JaypieHostedZoneProps | JaypieHostedZoneRecordProps[]);
|
|
58
|
+
}
|
|
59
|
+
export {};
|