@gradientedge/cdk-utils-aws 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/src/common/construct.d.ts +85 -0
- package/dist/src/common/construct.js +125 -0
- package/dist/src/common/index.d.ts +4 -0
- package/dist/src/common/index.js +4 -0
- package/dist/src/common/resource-name-formatter.d.ts +13 -0
- package/dist/src/common/resource-name-formatter.js +30 -0
- package/dist/src/common/stack.d.ts +62 -0
- package/dist/src/common/stack.js +139 -0
- package/dist/src/common/types.d.ts +30 -0
- package/dist/src/common/types.js +1 -0
- package/dist/src/construct/api-to-any-target/index.d.ts +3 -0
- package/dist/src/construct/api-to-any-target/index.js +3 -0
- package/dist/src/construct/api-to-any-target/main.d.ts +47 -0
- package/dist/src/construct/api-to-any-target/main.js +154 -0
- package/dist/src/construct/api-to-any-target/target.d.ts +23 -0
- package/dist/src/construct/api-to-any-target/target.js +14 -0
- package/dist/src/construct/api-to-any-target/types.d.ts +60 -0
- package/dist/src/construct/api-to-any-target/types.js +1 -0
- package/dist/src/construct/api-to-eventbridge-target/api.d.ts +34 -0
- package/dist/src/construct/api-to-eventbridge-target/api.js +23 -0
- package/dist/src/construct/api-to-eventbridge-target/event.d.ts +15 -0
- package/dist/src/construct/api-to-eventbridge-target/event.js +12 -0
- package/dist/src/construct/api-to-eventbridge-target/index.d.ts +4 -0
- package/dist/src/construct/api-to-eventbridge-target/index.js +4 -0
- package/dist/src/construct/api-to-eventbridge-target/main.d.ts +121 -0
- package/dist/src/construct/api-to-eventbridge-target/main.js +442 -0
- package/dist/src/construct/api-to-eventbridge-target/types.d.ts +100 -0
- package/dist/src/construct/api-to-eventbridge-target/types.js +1 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/api-destined-lambda.d.ts +16 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/api-destined-lambda.js +12 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/index.d.ts +3 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/index.js +3 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/main.d.ts +159 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/main.js +547 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/types.d.ts +22 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/types.js +1 -0
- package/dist/src/construct/api-to-lambda-target/api.d.ts +35 -0
- package/dist/src/construct/api-to-lambda-target/api.js +24 -0
- package/dist/src/construct/api-to-lambda-target/index.d.ts +3 -0
- package/dist/src/construct/api-to-lambda-target/index.js +3 -0
- package/dist/src/construct/api-to-lambda-target/main.d.ts +70 -0
- package/dist/src/construct/api-to-lambda-target/main.js +218 -0
- package/dist/src/construct/api-to-lambda-target/types.d.ts +62 -0
- package/dist/src/construct/api-to-lambda-target/types.js +1 -0
- package/dist/src/construct/application-configuration/index.d.ts +2 -0
- package/dist/src/construct/application-configuration/index.js +2 -0
- package/dist/src/construct/application-configuration/main.d.ts +23 -0
- package/dist/src/construct/application-configuration/main.js +79 -0
- package/dist/src/construct/application-configuration/types.d.ts +6 -0
- package/dist/src/construct/application-configuration/types.js +1 -0
- package/dist/src/construct/event-handler/handler.d.ts +29 -0
- package/dist/src/construct/event-handler/handler.js +21 -0
- package/dist/src/construct/event-handler/index.d.ts +3 -0
- package/dist/src/construct/event-handler/index.js +3 -0
- package/dist/src/construct/event-handler/main.d.ts +91 -0
- package/dist/src/construct/event-handler/main.js +196 -0
- package/dist/src/construct/event-handler/types.d.ts +41 -0
- package/dist/src/construct/event-handler/types.js +1 -0
- package/dist/src/construct/index.d.ts +14 -0
- package/dist/src/construct/index.js +14 -0
- package/dist/src/construct/lambda-with-iam-access/index.d.ts +2 -0
- package/dist/src/construct/lambda-with-iam-access/index.js +2 -0
- package/dist/src/construct/lambda-with-iam-access/main.d.ts +78 -0
- package/dist/src/construct/lambda-with-iam-access/main.js +182 -0
- package/dist/src/construct/lambda-with-iam-access/types.d.ts +20 -0
- package/dist/src/construct/lambda-with-iam-access/types.js +1 -0
- package/dist/src/construct/piped-event-handler/index.d.ts +2 -0
- package/dist/src/construct/piped-event-handler/index.js +2 -0
- package/dist/src/construct/piped-event-handler/main.d.ts +38 -0
- package/dist/src/construct/piped-event-handler/main.js +62 -0
- package/dist/src/construct/piped-event-handler/types.d.ts +9 -0
- package/dist/src/construct/piped-event-handler/types.js +1 -0
- package/dist/src/construct/rest-api-lambda/index.d.ts +2 -0
- package/dist/src/construct/rest-api-lambda/index.js +2 -0
- package/dist/src/construct/rest-api-lambda/main.d.ts +96 -0
- package/dist/src/construct/rest-api-lambda/main.js +170 -0
- package/dist/src/construct/rest-api-lambda/types.d.ts +23 -0
- package/dist/src/construct/rest-api-lambda/types.js +1 -0
- package/dist/src/construct/rest-api-lambda-with-cache/index.d.ts +2 -0
- package/dist/src/construct/rest-api-lambda-with-cache/index.js +2 -0
- package/dist/src/construct/rest-api-lambda-with-cache/main.d.ts +56 -0
- package/dist/src/construct/rest-api-lambda-with-cache/main.js +118 -0
- package/dist/src/construct/rest-api-lambda-with-cache/types.d.ts +11 -0
- package/dist/src/construct/rest-api-lambda-with-cache/types.js +1 -0
- package/dist/src/construct/site-with-ecs-backend/constants.d.ts +4 -0
- package/dist/src/construct/site-with-ecs-backend/constants.js +5 -0
- package/dist/src/construct/site-with-ecs-backend/index.d.ts +3 -0
- package/dist/src/construct/site-with-ecs-backend/index.js +3 -0
- package/dist/src/construct/site-with-ecs-backend/main.d.ts +154 -0
- package/dist/src/construct/site-with-ecs-backend/main.js +437 -0
- package/dist/src/construct/site-with-ecs-backend/types.d.ts +49 -0
- package/dist/src/construct/site-with-ecs-backend/types.js +1 -0
- package/dist/src/construct/site-with-lambda-backend/constants.d.ts +5 -0
- package/dist/src/construct/site-with-lambda-backend/constants.js +6 -0
- package/dist/src/construct/site-with-lambda-backend/index.d.ts +3 -0
- package/dist/src/construct/site-with-lambda-backend/index.js +3 -0
- package/dist/src/construct/site-with-lambda-backend/main.d.ts +116 -0
- package/dist/src/construct/site-with-lambda-backend/main.js +316 -0
- package/dist/src/construct/site-with-lambda-backend/types.d.ts +45 -0
- package/dist/src/construct/site-with-lambda-backend/types.js +1 -0
- package/dist/src/construct/static-asset-deployment/index.d.ts +2 -0
- package/dist/src/construct/static-asset-deployment/index.js +2 -0
- package/dist/src/construct/static-asset-deployment/main.d.ts +41 -0
- package/dist/src/construct/static-asset-deployment/main.js +113 -0
- package/dist/src/construct/static-asset-deployment/types.d.ts +41 -0
- package/dist/src/construct/static-asset-deployment/types.js +1 -0
- package/dist/src/construct/static-site/index.d.ts +2 -0
- package/dist/src/construct/static-site/index.js +2 -0
- package/dist/src/construct/static-site/main.d.ts +84 -0
- package/dist/src/construct/static-site/main.js +136 -0
- package/dist/src/construct/static-site/types.d.ts +30 -0
- package/dist/src/construct/static-site/types.js +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +5 -0
- package/dist/src/services/api-gateway/index.d.ts +2 -0
- package/dist/src/services/api-gateway/index.js +2 -0
- package/dist/src/services/api-gateway/main.d.ts +68 -0
- package/dist/src/services/api-gateway/main.js +173 -0
- package/dist/src/services/api-gateway/types.d.ts +10 -0
- package/dist/src/services/api-gateway/types.js +1 -0
- package/dist/src/services/appconfig/constants.d.ts +12 -0
- package/dist/src/services/appconfig/constants.js +51 -0
- package/dist/src/services/appconfig/index.d.ts +3 -0
- package/dist/src/services/appconfig/index.js +3 -0
- package/dist/src/services/appconfig/main.d.ts +63 -0
- package/dist/src/services/appconfig/main.js +119 -0
- package/dist/src/services/appconfig/types.d.ts +17 -0
- package/dist/src/services/appconfig/types.js +1 -0
- package/dist/src/services/certificate-manager/index.d.ts +2 -0
- package/dist/src/services/certificate-manager/index.js +2 -0
- package/dist/src/services/certificate-manager/main.d.ts +41 -0
- package/dist/src/services/certificate-manager/main.js +62 -0
- package/dist/src/services/certificate-manager/types.d.ts +11 -0
- package/dist/src/services/certificate-manager/types.js +1 -0
- package/dist/src/services/cloudfront/index.d.ts +2 -0
- package/dist/src/services/cloudfront/index.js +2 -0
- package/dist/src/services/cloudfront/main.d.ts +96 -0
- package/dist/src/services/cloudfront/main.js +233 -0
- package/dist/src/services/cloudfront/types.d.ts +13 -0
- package/dist/src/services/cloudfront/types.js +1 -0
- package/dist/src/services/cloudtrail/index.d.ts +2 -0
- package/dist/src/services/cloudtrail/index.js +2 -0
- package/dist/src/services/cloudtrail/main.d.ts +44 -0
- package/dist/src/services/cloudtrail/main.js +71 -0
- package/dist/src/services/cloudtrail/types.d.ts +5 -0
- package/dist/src/services/cloudtrail/types.js +1 -0
- package/dist/src/services/cloudwatch/index.d.ts +3 -0
- package/dist/src/services/cloudwatch/index.js +3 -0
- package/dist/src/services/cloudwatch/logs.d.ts +47 -0
- package/dist/src/services/cloudwatch/logs.js +98 -0
- package/dist/src/services/cloudwatch/main.d.ts +207 -0
- package/dist/src/services/cloudwatch/main.js +552 -0
- package/dist/src/services/cloudwatch/types.d.ts +89 -0
- package/dist/src/services/cloudwatch/types.js +1 -0
- package/dist/src/services/codebuild/index.d.ts +1 -0
- package/dist/src/services/codebuild/index.js +1 -0
- package/dist/src/services/codebuild/main.d.ts +36 -0
- package/dist/src/services/codebuild/main.js +67 -0
- package/dist/src/services/constants.d.ts +4 -0
- package/dist/src/services/constants.js +5 -0
- package/dist/src/services/dynamodb/index.d.ts +2 -0
- package/dist/src/services/dynamodb/index.js +2 -0
- package/dist/src/services/dynamodb/main.d.ts +35 -0
- package/dist/src/services/dynamodb/main.js +72 -0
- package/dist/src/services/dynamodb/types.d.ts +10 -0
- package/dist/src/services/dynamodb/types.js +1 -0
- package/dist/src/services/elastic-container-registry/index.d.ts +1 -0
- package/dist/src/services/elastic-container-registry/index.js +1 -0
- package/dist/src/services/elastic-container-registry/main.d.ts +27 -0
- package/dist/src/services/elastic-container-registry/main.js +33 -0
- package/dist/src/services/elastic-container-service/index.d.ts +2 -0
- package/dist/src/services/elastic-container-service/index.js +2 -0
- package/dist/src/services/elastic-container-service/main.d.ts +56 -0
- package/dist/src/services/elastic-container-service/main.js +149 -0
- package/dist/src/services/elastic-container-service/types.d.ts +45 -0
- package/dist/src/services/elastic-container-service/types.js +1 -0
- package/dist/src/services/elastic-file-system/index.d.ts +2 -0
- package/dist/src/services/elastic-file-system/index.js +2 -0
- package/dist/src/services/elastic-file-system/main.d.ts +42 -0
- package/dist/src/services/elastic-file-system/main.js +76 -0
- package/dist/src/services/elastic-file-system/types.d.ts +15 -0
- package/dist/src/services/elastic-file-system/types.js +1 -0
- package/dist/src/services/elastic-kubernetes-service/index.d.ts +2 -0
- package/dist/src/services/elastic-kubernetes-service/index.js +2 -0
- package/dist/src/services/elastic-kubernetes-service/main.d.ts +32 -0
- package/dist/src/services/elastic-kubernetes-service/main.js +85 -0
- package/dist/src/services/elastic-kubernetes-service/types.d.ts +7 -0
- package/dist/src/services/elastic-kubernetes-service/types.js +1 -0
- package/dist/src/services/elasticache/index.d.ts +2 -0
- package/dist/src/services/elasticache/index.js +2 -0
- package/dist/src/services/elasticache/main.d.ts +47 -0
- package/dist/src/services/elasticache/main.js +90 -0
- package/dist/src/services/elasticache/types.d.ts +9 -0
- package/dist/src/services/elasticache/types.js +1 -0
- package/dist/src/services/eventbridge/index.d.ts +3 -0
- package/dist/src/services/eventbridge/index.js +3 -0
- package/dist/src/services/eventbridge/main.d.ts +93 -0
- package/dist/src/services/eventbridge/main.js +295 -0
- package/dist/src/services/eventbridge/target.d.ts +57 -0
- package/dist/src/services/eventbridge/target.js +61 -0
- package/dist/src/services/eventbridge/types.d.ts +43 -0
- package/dist/src/services/eventbridge/types.js +1 -0
- package/dist/src/services/evidently/index.d.ts +2 -0
- package/dist/src/services/evidently/index.js +2 -0
- package/dist/src/services/evidently/main.d.ts +56 -0
- package/dist/src/services/evidently/main.js +114 -0
- package/dist/src/services/evidently/types.d.ts +21 -0
- package/dist/src/services/evidently/types.js +1 -0
- package/dist/src/services/identity-access-management/index.d.ts +1 -0
- package/dist/src/services/identity-access-management/index.js +1 -0
- package/dist/src/services/identity-access-management/main.d.ts +263 -0
- package/dist/src/services/identity-access-management/main.js +609 -0
- package/dist/src/services/index.d.ts +28 -0
- package/dist/src/services/index.js +28 -0
- package/dist/src/services/key-management-service/index.d.ts +2 -0
- package/dist/src/services/key-management-service/index.js +2 -0
- package/dist/src/services/key-management-service/main.d.ts +28 -0
- package/dist/src/services/key-management-service/main.js +39 -0
- package/dist/src/services/key-management-service/types.d.ts +5 -0
- package/dist/src/services/key-management-service/types.js +1 -0
- package/dist/src/services/lambda/index.d.ts +2 -0
- package/dist/src/services/lambda/index.js +2 -0
- package/dist/src/services/lambda/main.d.ts +89 -0
- package/dist/src/services/lambda/main.js +232 -0
- package/dist/src/services/lambda/types.d.ts +54 -0
- package/dist/src/services/lambda/types.js +1 -0
- package/dist/src/services/route53/index.d.ts +2 -0
- package/dist/src/services/route53/index.js +2 -0
- package/dist/src/services/route53/main.d.ts +66 -0
- package/dist/src/services/route53/main.js +136 -0
- package/dist/src/services/route53/types.d.ts +6 -0
- package/dist/src/services/route53/types.js +1 -0
- package/dist/src/services/secrets-manager/index.d.ts +2 -0
- package/dist/src/services/secrets-manager/index.js +2 -0
- package/dist/src/services/secrets-manager/main.d.ts +43 -0
- package/dist/src/services/secrets-manager/main.js +71 -0
- package/dist/src/services/secrets-manager/types.d.ts +3 -0
- package/dist/src/services/secrets-manager/types.js +1 -0
- package/dist/src/services/simple-notification-service/index.d.ts +2 -0
- package/dist/src/services/simple-notification-service/index.js +2 -0
- package/dist/src/services/simple-notification-service/main.d.ts +38 -0
- package/dist/src/services/simple-notification-service/main.js +68 -0
- package/dist/src/services/simple-notification-service/types.d.ts +5 -0
- package/dist/src/services/simple-notification-service/types.js +1 -0
- package/dist/src/services/simple-queue-service/index.d.ts +2 -0
- package/dist/src/services/simple-queue-service/index.js +2 -0
- package/dist/src/services/simple-queue-service/main.d.ts +45 -0
- package/dist/src/services/simple-queue-service/main.js +101 -0
- package/dist/src/services/simple-queue-service/types.d.ts +15 -0
- package/dist/src/services/simple-queue-service/types.js +1 -0
- package/dist/src/services/simple-storage-service/index.d.ts +2 -0
- package/dist/src/services/simple-storage-service/index.js +2 -0
- package/dist/src/services/simple-storage-service/main.d.ts +79 -0
- package/dist/src/services/simple-storage-service/main.js +191 -0
- package/dist/src/services/simple-storage-service/types.d.ts +25 -0
- package/dist/src/services/simple-storage-service/types.js +1 -0
- package/dist/src/services/step-function/index.d.ts +2 -0
- package/dist/src/services/step-function/index.js +2 -0
- package/dist/src/services/step-function/main.d.ts +161 -0
- package/dist/src/services/step-function/main.js +380 -0
- package/dist/src/services/step-function/types.d.ts +88 -0
- package/dist/src/services/step-function/types.js +1 -0
- package/dist/src/services/systems-manager/index.d.ts +2 -0
- package/dist/src/services/systems-manager/index.js +2 -0
- package/dist/src/services/systems-manager/main.d.ts +55 -0
- package/dist/src/services/systems-manager/main.js +97 -0
- package/dist/src/services/systems-manager/types.d.ts +9 -0
- package/dist/src/services/systems-manager/types.js +1 -0
- package/dist/src/services/virtual-private-cloud/index.d.ts +2 -0
- package/dist/src/services/virtual-private-cloud/index.js +2 -0
- package/dist/src/services/virtual-private-cloud/ipv6.d.ts +7 -0
- package/dist/src/services/virtual-private-cloud/ipv6.js +38 -0
- package/dist/src/services/virtual-private-cloud/main.d.ts +43 -0
- package/dist/src/services/virtual-private-cloud/main.js +87 -0
- package/dist/src/services/virtual-private-cloud/types.d.ts +4 -0
- package/dist/src/services/virtual-private-cloud/types.js +1 -0
- package/dist/src/services/web-application-firewall/index.d.ts +2 -0
- package/dist/src/services/web-application-firewall/index.js +2 -0
- package/dist/src/services/web-application-firewall/main.d.ts +35 -0
- package/dist/src/services/web-application-firewall/main.js +61 -0
- package/dist/src/services/web-application-firewall/types.d.ts +9 -0
- package/dist/src/services/web-application-firewall/types.js +1 -0
- package/dist/src/types/index.d.ts +6 -0
- package/dist/src/types/index.js +1 -0
- package/dist/src/utils/index.d.ts +45 -0
- package/dist/src/utils/index.js +61 -0
- package/package.json +44 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DistributionProps as CfDistributionProps, FunctionProps } from 'aws-cdk-lib/aws-cloudfront';
|
|
2
|
+
import { TagProps } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
*/
|
|
5
|
+
export interface DistributionProps extends CfDistributionProps {
|
|
6
|
+
tags?: TagProps[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
*/
|
|
10
|
+
export interface CloudfrontFunctionProps extends FunctionProps {
|
|
11
|
+
eventType: string;
|
|
12
|
+
functionFilePath: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { CfnTrail } from 'aws-cdk-lib/aws-cloudtrail';
|
|
2
|
+
import { CfnLogGroup } from 'aws-cdk-lib/aws-logs';
|
|
3
|
+
import { CfnBucketPolicy, IBucket } from 'aws-cdk-lib/aws-s3';
|
|
4
|
+
import { CommonConstruct } from '../../common/index.js';
|
|
5
|
+
import { CloudTrailProps } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* @classdesc Provides operations on AWS CloudTrail.
|
|
8
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
9
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
10
|
+
* @example
|
|
11
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
12
|
+
*
|
|
13
|
+
* class CustomConstruct extends CommonConstruct {
|
|
14
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
15
|
+
* super(parent, id, props)
|
|
16
|
+
* this.props = props
|
|
17
|
+
* this.cloudTrailManager.createCloudTrail(
|
|
18
|
+
* 'MyTrail',
|
|
19
|
+
* this,
|
|
20
|
+
* logGroup,
|
|
21
|
+
* dataBucket,
|
|
22
|
+
* logBucket,
|
|
23
|
+
* logBucketPolicy
|
|
24
|
+
* )
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
* @see [CDK CloudTrail Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudtrail-readme.html}
|
|
28
|
+
*/
|
|
29
|
+
export declare class CloudTrailManager {
|
|
30
|
+
/**
|
|
31
|
+
* @summary Method to create a cloud trail
|
|
32
|
+
* @param id scoped id of the resource
|
|
33
|
+
* @param scope scope in which this resource is defined
|
|
34
|
+
* @param props
|
|
35
|
+
* @param logGroup
|
|
36
|
+
* @param dataBucket
|
|
37
|
+
* @param logBucket
|
|
38
|
+
* @param logBucketPolicy
|
|
39
|
+
*/
|
|
40
|
+
createCloudTrail(id: string, scope: CommonConstruct, props: CloudTrailProps, logGroup: CfnLogGroup, dataBucket: IBucket, logBucket: IBucket, logBucketPolicy: CfnBucketPolicy): {
|
|
41
|
+
cloudTrail: CfnTrail;
|
|
42
|
+
cloudTrailRole: import("aws-cdk-lib/aws-iam").CfnRole;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { CfnTrail } from 'aws-cdk-lib/aws-cloudtrail';
|
|
2
|
+
import { createCfnOutput } from '../../utils/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* @classdesc Provides operations on AWS CloudTrail.
|
|
5
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
6
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
7
|
+
* @example
|
|
8
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
9
|
+
*
|
|
10
|
+
* class CustomConstruct extends CommonConstruct {
|
|
11
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
12
|
+
* super(parent, id, props)
|
|
13
|
+
* this.props = props
|
|
14
|
+
* this.cloudTrailManager.createCloudTrail(
|
|
15
|
+
* 'MyTrail',
|
|
16
|
+
* this,
|
|
17
|
+
* logGroup,
|
|
18
|
+
* dataBucket,
|
|
19
|
+
* logBucket,
|
|
20
|
+
* logBucketPolicy
|
|
21
|
+
* )
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* @see [CDK CloudTrail Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudtrail-readme.html}
|
|
25
|
+
*/
|
|
26
|
+
export class CloudTrailManager {
|
|
27
|
+
/**
|
|
28
|
+
* @summary Method to create a cloud trail
|
|
29
|
+
* @param id scoped id of the resource
|
|
30
|
+
* @param scope scope in which this resource is defined
|
|
31
|
+
* @param props
|
|
32
|
+
* @param logGroup
|
|
33
|
+
* @param dataBucket
|
|
34
|
+
* @param logBucket
|
|
35
|
+
* @param logBucketPolicy
|
|
36
|
+
*/
|
|
37
|
+
createCloudTrail(id, scope, props, logGroup, dataBucket, logBucket, logBucketPolicy) {
|
|
38
|
+
if (!props)
|
|
39
|
+
throw `CloudTrail props undefined for ${id}`;
|
|
40
|
+
if (!props.trailName)
|
|
41
|
+
throw `CloudTrail trailName undefined for ${id}`;
|
|
42
|
+
const role = scope.iamManager.createRoleForCloudTrail(`${id}Role`, scope, logGroup);
|
|
43
|
+
const cloudTrail = new CfnTrail(scope, `${id}`, {
|
|
44
|
+
...props,
|
|
45
|
+
cloudWatchLogsLogGroupArn: logGroup.attrArn,
|
|
46
|
+
cloudWatchLogsRoleArn: role.attrArn,
|
|
47
|
+
eventSelectors: [
|
|
48
|
+
{
|
|
49
|
+
dataResources: [
|
|
50
|
+
{
|
|
51
|
+
type: 'AWS::S3::Object',
|
|
52
|
+
values: [dataBucket.arnForObjects('')],
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
includeManagementEvents: false,
|
|
56
|
+
readWriteType: 'WriteOnly',
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
s3BucketName: logBucket.bucketName,
|
|
60
|
+
s3KeyPrefix: `logs-${props.trailName}`,
|
|
61
|
+
tags: [{ key: 'service', value: scope.props.name }],
|
|
62
|
+
trailName: scope.resourceNameFormatter.format(props.trailName, scope.props.resourceNameOptions?.cloudtrail),
|
|
63
|
+
});
|
|
64
|
+
cloudTrail.addDependency(logBucketPolicy);
|
|
65
|
+
cloudTrail.addDependency(logGroup);
|
|
66
|
+
cloudTrail.addDependency(role);
|
|
67
|
+
createCfnOutput(`${id}-trailName`, scope, cloudTrail.trailName);
|
|
68
|
+
createCfnOutput(`${id}-trailArn`, scope, cloudTrail.attrArn);
|
|
69
|
+
return { cloudTrail, cloudTrailRole: role };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
3
|
+
import { CommonConstruct } from '../../common/index.js';
|
|
4
|
+
import { LogProps, MetricFilterProps } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* @classdesc Provides operations on AWS CloudWatch.
|
|
7
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
8
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
9
|
+
* @example
|
|
10
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
11
|
+
*
|
|
12
|
+
* class CustomConstruct extends CommonConstruct {
|
|
13
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
14
|
+
* super(parent, id, props)
|
|
15
|
+
* this.props = props
|
|
16
|
+
* this.logsManager.createMetricFilter('MyMetricFilter', this, logGroup)
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* @see [CDK CloudWatch Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs-readme.html}
|
|
20
|
+
*/
|
|
21
|
+
export declare class LogManager {
|
|
22
|
+
/**
|
|
23
|
+
* @summary Method to create a cloudwatch metric filter
|
|
24
|
+
* @param id scoped id of the resource
|
|
25
|
+
* @param scope scope in which this resource is defined
|
|
26
|
+
* @param props
|
|
27
|
+
* @param logGroup
|
|
28
|
+
*/
|
|
29
|
+
createMetricFilter(id: string, scope: CommonConstruct, props: MetricFilterProps, logGroup: logs.ILogGroup): {
|
|
30
|
+
metric: cdk.aws_cloudwatch.Metric;
|
|
31
|
+
metricFilter: cdk.aws_logs.MetricFilter;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* @summary Method to create a cloudwatch log group (cfn)
|
|
35
|
+
* @param id scoped id of the resource
|
|
36
|
+
* @param scope scope in which this resource is defined
|
|
37
|
+
* @param props
|
|
38
|
+
*/
|
|
39
|
+
createCfnLogGroup(id: string, scope: CommonConstruct, props: LogProps): cdk.aws_logs.CfnLogGroup;
|
|
40
|
+
/**
|
|
41
|
+
* @summary Method to create a cloudwatch log group
|
|
42
|
+
* @param id scoped id of the resource
|
|
43
|
+
* @param scope scope in which this resource is defined
|
|
44
|
+
* @param props
|
|
45
|
+
*/
|
|
46
|
+
createLogGroup(id: string, scope: CommonConstruct, props: LogProps): cdk.aws_logs.LogGroup;
|
|
47
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
3
|
+
import _ from 'lodash';
|
|
4
|
+
import * as utils from '../../utils/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* @classdesc Provides operations on AWS CloudWatch.
|
|
7
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
8
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
9
|
+
* @example
|
|
10
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
11
|
+
*
|
|
12
|
+
* class CustomConstruct extends CommonConstruct {
|
|
13
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
14
|
+
* super(parent, id, props)
|
|
15
|
+
* this.props = props
|
|
16
|
+
* this.logsManager.createMetricFilter('MyMetricFilter', this, logGroup)
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* @see [CDK CloudWatch Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs-readme.html}
|
|
20
|
+
*/
|
|
21
|
+
export class LogManager {
|
|
22
|
+
/**
|
|
23
|
+
* @summary Method to create a cloudwatch metric filter
|
|
24
|
+
* @param id scoped id of the resource
|
|
25
|
+
* @param scope scope in which this resource is defined
|
|
26
|
+
* @param props
|
|
27
|
+
* @param logGroup
|
|
28
|
+
*/
|
|
29
|
+
createMetricFilter(id, scope, props, logGroup) {
|
|
30
|
+
if (!props)
|
|
31
|
+
throw `MetricFilter props undefined for ${id}`;
|
|
32
|
+
const metricFilter = new logs.MetricFilter(scope, `${id}`, {
|
|
33
|
+
defaultValue: props.defaultValue,
|
|
34
|
+
filterPattern: props.filterPattern,
|
|
35
|
+
logGroup: logGroup,
|
|
36
|
+
metricName: props.metricName,
|
|
37
|
+
metricNamespace: props.metricNamespace,
|
|
38
|
+
metricValue: props.metricValue,
|
|
39
|
+
});
|
|
40
|
+
const metric = props.options
|
|
41
|
+
? metricFilter.metric({
|
|
42
|
+
dimensionsMap: props.options.dimensionsMap,
|
|
43
|
+
period: props.periodInSecs ? cdk.Duration.seconds(props.periodInSecs) : cdk.Duration.minutes(5),
|
|
44
|
+
statistic: props.options.statistic,
|
|
45
|
+
})
|
|
46
|
+
: metricFilter.metric();
|
|
47
|
+
return { metric, metricFilter };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @summary Method to create a cloudwatch log group (cfn)
|
|
51
|
+
* @param id scoped id of the resource
|
|
52
|
+
* @param scope scope in which this resource is defined
|
|
53
|
+
* @param props
|
|
54
|
+
*/
|
|
55
|
+
createCfnLogGroup(id, scope, props) {
|
|
56
|
+
if (!props)
|
|
57
|
+
throw `Logs props undefined for ${id}`;
|
|
58
|
+
if (!props.logGroupName)
|
|
59
|
+
throw `Logs logGroupName undefined for ${id}`;
|
|
60
|
+
const logGroup = new logs.CfnLogGroup(scope, `${id}`, {
|
|
61
|
+
...props,
|
|
62
|
+
logGroupName: props.logGroupName,
|
|
63
|
+
retentionInDays: props.retention,
|
|
64
|
+
});
|
|
65
|
+
if (props.tags && !_.isEmpty(props.tags)) {
|
|
66
|
+
_.forEach(props.tags, tag => {
|
|
67
|
+
cdk.Tags.of(logGroup).add(tag.key, tag.value);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
utils.createCfnOutput(`${id}-logGroupArn`, scope, logGroup.attrArn);
|
|
71
|
+
return logGroup;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @summary Method to create a cloudwatch log group
|
|
75
|
+
* @param id scoped id of the resource
|
|
76
|
+
* @param scope scope in which this resource is defined
|
|
77
|
+
* @param props
|
|
78
|
+
*/
|
|
79
|
+
createLogGroup(id, scope, props) {
|
|
80
|
+
if (!props)
|
|
81
|
+
throw `Logs props undefined for ${id}`;
|
|
82
|
+
if (!props.logGroupName)
|
|
83
|
+
throw `Logs logGroupName undefined for ${id}`;
|
|
84
|
+
const logGroup = new logs.LogGroup(scope, `${id}`, {
|
|
85
|
+
...props,
|
|
86
|
+
logGroupName: props.logGroupName,
|
|
87
|
+
removalPolicy: props.removalPolicy ?? cdk.RemovalPolicy.DESTROY,
|
|
88
|
+
retention: props.retention,
|
|
89
|
+
});
|
|
90
|
+
if (props.tags && !_.isEmpty(props.tags)) {
|
|
91
|
+
_.forEach(props.tags, tag => {
|
|
92
|
+
cdk.Tags.of(logGroup).add(tag.key, tag.value);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
utils.createCfnOutput(`${id}-logGroupArn`, scope, logGroup.logGroupArn);
|
|
96
|
+
return logGroup;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as watch from 'aws-cdk-lib/aws-cloudwatch';
|
|
3
|
+
import { IMetric } from 'aws-cdk-lib/aws-cloudwatch';
|
|
4
|
+
import { CommonConstruct } from '../../common/index.js';
|
|
5
|
+
import { AlarmProps, AlarmStatusWidgetProps, DashboardProps, GraphWidgetProps, GuageWidgetProps, LogQueryWidgetProps, NumericWidgetProps, TextWidgetProps } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* @classdesc Provides operations on AWS CloudWatch.
|
|
8
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
9
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
10
|
+
* @example
|
|
11
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
12
|
+
*
|
|
13
|
+
* class CustomConstruct extends CommonConstruct {
|
|
14
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
15
|
+
* super(parent, id, props)
|
|
16
|
+
* this.props = props
|
|
17
|
+
* this.cloudWatchManager.createAlarmForMetric('MyAlarm', this, metric)
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* @see [CDK CloudWatch Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch-readme.html}
|
|
21
|
+
*/
|
|
22
|
+
export declare class CloudWatchManager {
|
|
23
|
+
/**
|
|
24
|
+
* @summary Method to create a cloudwatch alarm for a given expression
|
|
25
|
+
* @param id scoped id of the resource
|
|
26
|
+
* @param scope scope in which this resource is defined
|
|
27
|
+
* @param props
|
|
28
|
+
*/
|
|
29
|
+
createAlarmForExpression(id: string, scope: CommonConstruct, props: AlarmProps): cdk.aws_cloudwatch.Alarm;
|
|
30
|
+
/**
|
|
31
|
+
* @summary Method to create a cloudwatch alarm for a given metric
|
|
32
|
+
* @param id scoped id of the resource
|
|
33
|
+
* @param scope scope in which this resource is defined
|
|
34
|
+
* @param props
|
|
35
|
+
* @param metric
|
|
36
|
+
*/
|
|
37
|
+
createAlarmForMetric(id: string, scope: CommonConstruct, props: AlarmProps, metric: watch.Metric): cdk.aws_cloudwatch.Alarm;
|
|
38
|
+
/**
|
|
39
|
+
* @summary Method to create a cloudwatch dashboard
|
|
40
|
+
* @param id scoped id of the resource
|
|
41
|
+
* @param scope scope in which this resource is defined
|
|
42
|
+
* @param props
|
|
43
|
+
* @param widgets
|
|
44
|
+
*/
|
|
45
|
+
createDashboard(id: string, scope: CommonConstruct, props: DashboardProps, widgets?: watch.IWidget[][]): cdk.aws_cloudwatch.Dashboard;
|
|
46
|
+
/**
|
|
47
|
+
* @summary Method to create cloudwatch widgets
|
|
48
|
+
* @param scope scope in which this resource is defined
|
|
49
|
+
* @param props
|
|
50
|
+
*/
|
|
51
|
+
createWidgets(scope: CommonConstruct, props: any[]): any;
|
|
52
|
+
/**
|
|
53
|
+
* @summary Method to create a cloudwatch widget
|
|
54
|
+
* @param id scoped id of the resource
|
|
55
|
+
* @param scope scope in which this resource is defined
|
|
56
|
+
* @param props
|
|
57
|
+
*/
|
|
58
|
+
createWidget(id: string, scope: CommonConstruct, props: any): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
59
|
+
/**
|
|
60
|
+
* @summary Method to create a cloudfront distribution widget
|
|
61
|
+
* @param id scoped id of the resource
|
|
62
|
+
* @param scope scope in which this resource is defined
|
|
63
|
+
* @param props
|
|
64
|
+
* @param distributionId the cloudfront distribution id
|
|
65
|
+
*/
|
|
66
|
+
createCloudfrontDistributionWidget(id: string, scope: CommonConstruct, props: any, distributionId: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
67
|
+
/**
|
|
68
|
+
* @summary Method to create a step function widget
|
|
69
|
+
* @param id scoped id of the resource
|
|
70
|
+
* @param scope scope in which this resource is defined
|
|
71
|
+
* @param props
|
|
72
|
+
* @param stateMachineArn the step function arn
|
|
73
|
+
*/
|
|
74
|
+
createStateWidget(id: string, scope: CommonConstruct, props: any, stateMachineArn: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
75
|
+
/**
|
|
76
|
+
* @summary Method to create an event widget
|
|
77
|
+
* @param id scoped id of the resource
|
|
78
|
+
* @param scope scope in which this resource is defined
|
|
79
|
+
* @param props
|
|
80
|
+
* @param eventBusName the event bus name
|
|
81
|
+
* @param ruleName the event rule name
|
|
82
|
+
*/
|
|
83
|
+
createEventWidget(id: string, scope: CommonConstruct, props: any, eventBusName: string, ruleName: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
84
|
+
/**
|
|
85
|
+
* @summary Method to create an api gateway widget
|
|
86
|
+
* @param id scoped id of the resource
|
|
87
|
+
* @param scope scope in which this resource is defined
|
|
88
|
+
* @param props
|
|
89
|
+
* @param apiName the api name
|
|
90
|
+
*/
|
|
91
|
+
createApiGatewayWidget(id: string, scope: CommonConstruct, props: any, apiName: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
92
|
+
/**
|
|
93
|
+
* @summary Method to create a lambda function widget
|
|
94
|
+
* @param id scoped id of the resource
|
|
95
|
+
* @param scope scope in which this resource is defined
|
|
96
|
+
* @param props
|
|
97
|
+
* @param functionName the lambda function name
|
|
98
|
+
*/
|
|
99
|
+
createLambdaWidget(id: string, scope: CommonConstruct, props: any, functionName: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
100
|
+
/**
|
|
101
|
+
* @summary Method to create a custom widget
|
|
102
|
+
* @param id scoped id of the resource
|
|
103
|
+
* @param scope scope in which this resource is defined
|
|
104
|
+
* @param props
|
|
105
|
+
* @param service the service identifier
|
|
106
|
+
*/
|
|
107
|
+
createCustomWidget(id: string, scope: CommonConstruct, props: any, service: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
108
|
+
/**
|
|
109
|
+
* @summary Method to create an ecs cluster widget
|
|
110
|
+
* @param id scoped id of the resource
|
|
111
|
+
* @param scope scope in which this resource is defined
|
|
112
|
+
* @param props
|
|
113
|
+
* @param clusterName the ecs cluster name
|
|
114
|
+
*/
|
|
115
|
+
createEcsClusterWidget(id: string, scope: CommonConstruct, props: any, clusterName: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
116
|
+
/**
|
|
117
|
+
* @summary Method to create an ecs service widget
|
|
118
|
+
* @param id scoped id of the resource
|
|
119
|
+
* @param scope scope in which this resource is defined
|
|
120
|
+
* @param props
|
|
121
|
+
* @param clusterName the ecs cluster name
|
|
122
|
+
* @param serviceName the ecs service name
|
|
123
|
+
*/
|
|
124
|
+
createEcsServiceWidget(id: string, scope: CommonConstruct, props: any, clusterName: string, serviceName: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
125
|
+
/**
|
|
126
|
+
* @summary Method to create an elb widget
|
|
127
|
+
* @param id scoped id of the resource
|
|
128
|
+
* @param scope scope in which this resource is defined
|
|
129
|
+
* @param props
|
|
130
|
+
* @param loadBalancer the loadbalancer reference
|
|
131
|
+
*/
|
|
132
|
+
createElbWidget(id: string, scope: CommonConstruct, props: any, loadBalancer: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
133
|
+
/**
|
|
134
|
+
* @summary Method to create an elasticache widget
|
|
135
|
+
* @param id scoped id of the resource
|
|
136
|
+
* @param scope scope in which this resource is defined
|
|
137
|
+
* @param props
|
|
138
|
+
* @param cacheClusterId the elasticache cluster id
|
|
139
|
+
*/
|
|
140
|
+
createCacheWidget(id: string, scope: CommonConstruct, props: any, cacheClusterId: string): cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.GaugeWidget | cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.AlarmStatusWidget | cdk.aws_cloudwatch.LogQueryWidget;
|
|
141
|
+
/**
|
|
142
|
+
* @summary Method to create a cloudwatch text widget
|
|
143
|
+
* @param id scoped id of the resource
|
|
144
|
+
* @param scope scope in which this resource is defined
|
|
145
|
+
* @param props
|
|
146
|
+
*/
|
|
147
|
+
createTextWidget(id: string, scope: CommonConstruct, props: TextWidgetProps): cdk.aws_cloudwatch.TextWidget;
|
|
148
|
+
/**
|
|
149
|
+
* @summary Method to create a cloudwatch numeric widget
|
|
150
|
+
* @param id scoped id of the resource
|
|
151
|
+
* @param scope scope in which this resource is defined
|
|
152
|
+
* @param props
|
|
153
|
+
* @param metrics
|
|
154
|
+
*/
|
|
155
|
+
createSingleValueWidget(id: string, scope: CommonConstruct, props: NumericWidgetProps, metrics: IMetric[]): cdk.aws_cloudwatch.SingleValueWidget;
|
|
156
|
+
/**
|
|
157
|
+
* @summary Method to create a cloudwatch guage widget
|
|
158
|
+
* @param id scoped id of the resource
|
|
159
|
+
* @param scope scope in which this resource is defined
|
|
160
|
+
* @param props
|
|
161
|
+
* @param metrics
|
|
162
|
+
*/
|
|
163
|
+
createGuageWidget(id: string, scope: CommonConstruct, props: GuageWidgetProps, metrics: IMetric[]): cdk.aws_cloudwatch.GaugeWidget;
|
|
164
|
+
/**
|
|
165
|
+
* @summary Method to create a cloudwatch graph widget
|
|
166
|
+
* @param id scoped id of the resource
|
|
167
|
+
* @param scope scope in which this resource is defined
|
|
168
|
+
* @param props
|
|
169
|
+
* @param leftYMetrics
|
|
170
|
+
* @param rightYMetrics
|
|
171
|
+
*/
|
|
172
|
+
createGraphWidget(id: string, scope: CommonConstruct, props: GraphWidgetProps, leftYMetrics?: IMetric[], rightYMetrics?: IMetric[]): cdk.aws_cloudwatch.GraphWidget;
|
|
173
|
+
/**
|
|
174
|
+
* @summary Method to create a cloudwatch alarm status widget
|
|
175
|
+
* @param id scoped id of the resource
|
|
176
|
+
* @param scope scope in which this resource is defined
|
|
177
|
+
* @param props
|
|
178
|
+
* @param alarms
|
|
179
|
+
*/
|
|
180
|
+
createAlarmStatusWidget(id: string, scope: CommonConstruct, props: AlarmStatusWidgetProps, alarms: watch.IAlarm[]): cdk.aws_cloudwatch.AlarmStatusWidget;
|
|
181
|
+
/**
|
|
182
|
+
* @summary Method to create a cloudwatch log query widget
|
|
183
|
+
* @param id scoped id of the resource
|
|
184
|
+
* @param scope scope in which this resource is defined
|
|
185
|
+
* @param props
|
|
186
|
+
* @param logGroupNames
|
|
187
|
+
*/
|
|
188
|
+
createLogQueryWidget(id: string, scope: CommonConstruct, props: LogQueryWidgetProps, logGroupNames: string[]): cdk.aws_cloudwatch.LogQueryWidget;
|
|
189
|
+
/**
|
|
190
|
+
* @summary Utility method to determine the metrics and dimensions
|
|
191
|
+
* @param scope scope in which this resource is defined
|
|
192
|
+
* @param metricProps
|
|
193
|
+
*/
|
|
194
|
+
private determineMetrics;
|
|
195
|
+
/**
|
|
196
|
+
* @summary Utility method to determine the time range
|
|
197
|
+
* @param range
|
|
198
|
+
*/
|
|
199
|
+
private static determineTimeRange;
|
|
200
|
+
/**
|
|
201
|
+
* @summary Utility method to determine the configured alarms
|
|
202
|
+
* @param id scoped id of the resource
|
|
203
|
+
* @param scope scope in which this resource is defined
|
|
204
|
+
* @param alarmProps
|
|
205
|
+
*/
|
|
206
|
+
private determineAlarms;
|
|
207
|
+
}
|