@gradientedge/cdk-utils 4.4.4 → 4.4.5
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/package.json +4 -5
- package/api-docs/AcmManager.html +0 -622
- package/api-docs/AcmProps.html +0 -238
- package/api-docs/AlarmProps.html +0 -238
- package/api-docs/AlarmStatusWidgetProps.html +0 -238
- package/api-docs/ApiDestinationEvent.html +0 -297
- package/api-docs/ApiDestinationEventType.html +0 -238
- package/api-docs/ApiDestinedLambda.html +0 -297
- package/api-docs/ApiDestinedLambdaEnvironment.html +0 -238
- package/api-docs/ApiDestinedLambdaType.html +0 -238
- package/api-docs/ApiDestinedRestApi.html +0 -297
- package/api-docs/ApiDestinedRestApiType.html +0 -238
- package/api-docs/ApiManager.html +0 -766
- package/api-docs/ApiToEventBridgeTarget.html +0 -1877
- package/api-docs/ApiToEventBridgeTarget.jpg +0 -0
- package/api-docs/ApiToEventBridgeTargetEventProps.html +0 -238
- package/api-docs/ApiToEventBridgeTargetLambdaProps.html +0 -238
- package/api-docs/ApiToEventBridgeTargetProps.html +0 -238
- package/api-docs/ApiToEventBridgeTargetRestApiProps.html +0 -238
- package/api-docs/AppConfigManager.html +0 -1203
- package/api-docs/AppConfigProps.html +0 -238
- package/api-docs/CloudFrontManager.html +0 -2402
- package/api-docs/CloudFrontProps.html +0 -238
- package/api-docs/CloudTrailManager.html +0 -637
- package/api-docs/CloudTrailProps.html +0 -238
- package/api-docs/CloudWatchManager.html +0 -2986
- package/api-docs/CloudfrontFunctionProps.html +0 -238
- package/api-docs/CodeBuildManager.html +0 -736
- package/api-docs/CommonConstruct.html +0 -1299
- package/api-docs/CommonStack.html +0 -813
- package/api-docs/CommonStackProps.html +0 -238
- package/api-docs/DashboardProps.html +0 -238
- package/api-docs/DistributionProps.html +0 -238
- package/api-docs/DynamodbManager.html +0 -530
- package/api-docs/EcrManager.html +0 -530
- package/api-docs/EcsClusterProps.html +0 -238
- package/api-docs/EcsManager.html +0 -880
- package/api-docs/EcsTaskProps.html +0 -238
- package/api-docs/EksClusterProps.html +0 -238
- package/api-docs/EksManager.html +0 -580
- package/api-docs/EventBusProps.html +0 -238
- package/api-docs/EventManager.html +0 -1454
- package/api-docs/EventRuleProps.html +0 -238
- package/api-docs/GraphQLApiLambda.html +0 -1671
- package/api-docs/GraphQLApiLambda.jpg +0 -0
- package/api-docs/GraphQlApiLambdaEnvironment.html +0 -238
- package/api-docs/GraphQlApiLambdaProps.html +0 -238
- package/api-docs/GraphWidgetProps.html +0 -238
- package/api-docs/HealthCheck.html +0 -238
- package/api-docs/IamManager.html +0 -3821
- package/api-docs/LambdaEdgeProps.html +0 -238
- package/api-docs/LambdaEnvironment.html +0 -238
- package/api-docs/LambdaManager.html +0 -2378
- package/api-docs/LambdaProps.html +0 -238
- package/api-docs/LifecycleRule.html +0 -238
- package/api-docs/LogManager.html +0 -955
- package/api-docs/LogProps.html +0 -238
- package/api-docs/LogQueryWidgetProps.html +0 -238
- package/api-docs/MetricFilterProps.html +0 -238
- package/api-docs/MetricProps.html +0 -238
- package/api-docs/NumericWidgetProps.html +0 -238
- package/api-docs/Route53Manager.html +0 -1460
- package/api-docs/Route53Props.html +0 -238
- package/api-docs/RuleProps.html +0 -238
- package/api-docs/S3BucketProps.html +0 -238
- package/api-docs/S3Manager.html +0 -1546
- package/api-docs/SSMParameterReader.html +0 -431
- package/api-docs/SSMParameterReaderProps.html +0 -238
- package/api-docs/SecretsManager.html +0 -1140
- package/api-docs/SiteWithEcsBackend.html +0 -2391
- package/api-docs/SiteWithEcsBackendProps.html +0 -238
- package/api-docs/SnsManager.html +0 -780
- package/api-docs/SsmManager.html +0 -955
- package/api-docs/StaticSite.html +0 -1358
- package/api-docs/StaticSiteProps.html +0 -238
- package/api-docs/SubscriptionProps.html +0 -238
- package/api-docs/TableProps.html +0 -238
- package/api-docs/TextWidgetProps.html +0 -238
- package/api-docs/VpcManager.html +0 -986
- package/api-docs/WafIPSetProps.html +0 -238
- package/api-docs/WafManager.html +0 -730
- package/api-docs/WafWebACLProps.html +0 -238
- package/api-docs/common_construct.ts.html +0 -279
- package/api-docs/common_stack.ts.html +0 -303
- package/api-docs/construct_api-to-eventbridge-target_api-destination-event.ts.html +0 -175
- package/api-docs/construct_api-to-eventbridge-target_api-destined-lambda.ts.html +0 -178
- package/api-docs/construct_api-to-eventbridge-target_api-destined-rest-api.ts.html +0 -190
- package/api-docs/construct_api-to-eventbridge-target_main.ts.html +0 -751
- package/api-docs/construct_graphql-api-lambda_main.ts.html +0 -408
- package/api-docs/construct_site-with-ecs-backend_main.ts.html +0 -544
- package/api-docs/construct_static-site_main.ts.html +0 -374
- package/api-docs/global.html +0 -1530
- package/api-docs/index.html +0 -208
- package/api-docs/logo.png +0 -0
- package/api-docs/manager_aws_acm-manager.ts.html +0 -236
- package/api-docs/manager_aws_api-manager.ts.html +0 -260
- package/api-docs/manager_aws_app-config-manager.ts.html +0 -310
- package/api-docs/manager_aws_cloudfront-manager.ts.html +0 -491
- package/api-docs/manager_aws_cloudtrail-manager.ts.html +0 -251
- package/api-docs/manager_aws_cloudwatch-manager.ts.html +0 -553
- package/api-docs/manager_aws_codebuild-manager.ts.html +0 -240
- package/api-docs/manager_aws_dynamodb-manager.ts.html +0 -219
- package/api-docs/manager_aws_ecr-manager.ts.html +0 -199
- package/api-docs/manager_aws_ecs-manager.ts.html +0 -259
- package/api-docs/manager_aws_eks-manager.ts.html +0 -260
- package/api-docs/manager_aws_event-manager.ts.html +0 -336
- package/api-docs/manager_aws_iam-manager.ts.html +0 -573
- package/api-docs/manager_aws_lambda-manager.ts.html +0 -400
- package/api-docs/manager_aws_log-manager.ts.html +0 -259
- package/api-docs/manager_aws_route53-manager.ts.html +0 -333
- package/api-docs/manager_aws_s3-manager.ts.html +0 -361
- package/api-docs/manager_aws_secrets-manager.ts.html +0 -274
- package/api-docs/manager_aws_sns-manager.ts.html +0 -246
- package/api-docs/manager_aws_ssm-manager.ts.html +0 -273
- package/api-docs/manager_aws_vpc-manager.ts.html +0 -244
- package/api-docs/manager_aws_waf-manager.ts.html +0 -232
- package/api-docs/scripts/app.min.js +0 -1
- package/api-docs/scripts/linenumber.js +0 -26
- package/api-docs/scripts/search.js +0 -39
- package/api-docs/styles/app.min.css +0 -1
- package/api-docs/styles/iframe.css +0 -13
- package/api-docs/styles/prettify-jsdoc.css +0 -111
- package/api-docs/styles/prettify-tomorrow.css +0 -132
- package/api-docs/styles/reset.css +0 -44
- package/api-docs/styles.css +0 -113
- package/api-docs/tutorial-Architecture.html +0 -151
- package/api-docs/tutorial-Build.html +0 -150
- package/api-docs/tutorial-CI-CD.html +0 -154
- package/api-docs/tutorial-Development.html +0 -227
- package/api-docs/types_aws_index.ts.html +0 -665
- package/api-docs/utils_aws_index.ts.html +0 -192
- package/api-docs/utils_index.ts.html +0 -227
- package/img/ApiToEventBridgeTarget.jpg +0 -0
- package/img/GraphQLApiLambda.jpg +0 -0
- package/img/logo.png +0 -0
- package/theme/styles.css +0 -113
|
@@ -1,553 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
<!DOCTYPE html>
|
|
4
|
-
<html lang="en">
|
|
5
|
-
|
|
6
|
-
<head>
|
|
7
|
-
|
|
8
|
-
<meta charset="utf-8">
|
|
9
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
10
|
-
<title>Gradient Edge CDK Utils manager/aws/cloudwatch-manager.ts</title>
|
|
11
|
-
|
|
12
|
-
<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script>
|
|
13
|
-
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
|
|
14
|
-
<script src="./build/entry.js"></script>
|
|
15
|
-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
|
16
|
-
<!--[if lt IE 9]>
|
|
17
|
-
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
18
|
-
<![endif]-->
|
|
19
|
-
<link href="https://fonts.googleapis.com/css?family=Roboto:100,400,700|Inconsolata,700" rel="stylesheet">
|
|
20
|
-
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
|
|
21
|
-
<link type="text/css" rel="stylesheet" href="https://jmblog.github.io/color-themes-for-google-code-prettify/themes/tomorrow-night.min.css">
|
|
22
|
-
<link type="text/css" rel="stylesheet" href="styles/app.min.css">
|
|
23
|
-
<link type="text/css" rel="stylesheet" href="styles/iframe.css">
|
|
24
|
-
<link type="text/css" rel="stylesheet" href="styles.css">
|
|
25
|
-
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</head>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<body class="layout small-header">
|
|
33
|
-
<div id="stickyNavbarOverlay"></div>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<div class="top-nav">
|
|
37
|
-
<div class="inner">
|
|
38
|
-
<a id="hamburger" role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
|
|
39
|
-
<span aria-hidden="true"></span>
|
|
40
|
-
<span aria-hidden="true"></span>
|
|
41
|
-
<span aria-hidden="true"></span>
|
|
42
|
-
</a>
|
|
43
|
-
<div class="logo">
|
|
44
|
-
|
|
45
|
-
<a class="image" href="index.html">
|
|
46
|
-
<img src="logo.png" alt="logo">
|
|
47
|
-
</a>
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
<a href="index.html">
|
|
51
|
-
<h1 class="navbar-item">Gradient Edge CDK Utils Documentation</h1>
|
|
52
|
-
</a>
|
|
53
|
-
|
|
54
|
-
</div>
|
|
55
|
-
<div class="menu">
|
|
56
|
-
|
|
57
|
-
<div class="navigation">
|
|
58
|
-
<a
|
|
59
|
-
href="index.html"
|
|
60
|
-
class="link"
|
|
61
|
-
>
|
|
62
|
-
API Documentation
|
|
63
|
-
</a>
|
|
64
|
-
|
|
65
|
-
<div class="dropdown is-hoverable is-right">
|
|
66
|
-
<a class="dropdown-trigger link">
|
|
67
|
-
Tutorials
|
|
68
|
-
<i class="fas fa-chevron-down fa-xs"></i>
|
|
69
|
-
</a>
|
|
70
|
-
<div class="dropdown-menu">
|
|
71
|
-
<div class="dropdown-content">
|
|
72
|
-
|
|
73
|
-
<a class="dropdown-item" href="tutorial-Architecture.html">
|
|
74
|
-
Architecture
|
|
75
|
-
</a>
|
|
76
|
-
|
|
77
|
-
<a class="dropdown-item" href="tutorial-Build.html">
|
|
78
|
-
Build
|
|
79
|
-
</a>
|
|
80
|
-
|
|
81
|
-
<a class="dropdown-item" href="tutorial-CI-CD.html">
|
|
82
|
-
CI-CD
|
|
83
|
-
</a>
|
|
84
|
-
|
|
85
|
-
<a class="dropdown-item" href="tutorial-Development.html">
|
|
86
|
-
Development
|
|
87
|
-
</a>
|
|
88
|
-
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
<a
|
|
96
|
-
class="link user-link "
|
|
97
|
-
href="https://github.com/gradientedge/cdk-utils"
|
|
98
|
-
>
|
|
99
|
-
Github
|
|
100
|
-
</a>
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
106
|
-
</div>
|
|
107
|
-
</div>
|
|
108
|
-
<div id="main">
|
|
109
|
-
<div
|
|
110
|
-
class="sidebar "
|
|
111
|
-
id="sidebarNav"
|
|
112
|
-
>
|
|
113
|
-
|
|
114
|
-
<div class="search-wrapper">
|
|
115
|
-
<input id="search" type="text" placeholder="Search docs..." class="input">
|
|
116
|
-
</div>
|
|
117
|
-
|
|
118
|
-
<nav>
|
|
119
|
-
|
|
120
|
-
<h2><a href="index.html">Documentation</a></h2><div class="category"></div><div class="category"><h2>cdk-utils.acm-manager</h2><h3>Classes / Construct</h3><ul><li><a href="AcmManager.html">AcmManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="AcmProps.html">AcmProps</a></li></ul></div><div class="category"><h2>cdk-utils.api-manager</h2><h3>Classes / Construct</h3><ul><li><a href="ApiManager.html">ApiManager</a></li></ul></div><div class="category"><h2>cdk-utils.api-to-eventbridge-target</h2><h3>Classes / member</h3><ul><li><a href="ApiDestinationEvent.html">ApiDestinationEvent</a></li><li><a href="ApiDestinedLambda.html">ApiDestinedLambda</a></li><li><a href="ApiDestinedRestApi.html">ApiDestinedRestApi</a></li></ul><h3>Classes / construct</h3><ul><li><a href="ApiToEventBridgeTarget.html">ApiToEventBridgeTarget</a></li></ul><h3>Interfaces / Types</h3><ul><li><a href="ApiDestinationEventType.html">ApiDestinationEventType</a></li><li><a href="ApiDestinedLambdaEnvironment.html">ApiDestinedLambdaEnvironment</a></li><li><a href="ApiDestinedLambdaType.html">ApiDestinedLambdaType</a></li><li><a href="ApiDestinedRestApiType.html">ApiDestinedRestApiType</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="ApiToEventBridgeTargetEventProps.html">ApiToEventBridgeTargetEventProps</a></li><li><a href="ApiToEventBridgeTargetLambdaProps.html">ApiToEventBridgeTargetLambdaProps</a></li><li><a href="ApiToEventBridgeTargetProps.html">ApiToEventBridgeTargetProps</a></li><li><a href="ApiToEventBridgeTargetRestApiProps.html">ApiToEventBridgeTargetRestApiProps</a></li></ul></div><div class="category"><h2>cdk-utils.app-config-manager</h2><h3>Classes / Construct</h3><ul><li><a href="AppConfigManager.html">AppConfigManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="AppConfigProps.html">AppConfigProps</a></li></ul><h3>Global</h3><ul><li><a href="global.html#ArnsByRegion">ArnsByRegion</a></li></ul></div><div class="category"><h2>cdk-utils.cloudfront-manager</h2><h3>Classes / Construct</h3><ul><li><a href="CloudFrontManager.html">CloudFrontManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="CloudfrontFunctionProps.html">CloudfrontFunctionProps</a></li><li><a href="CloudFrontProps.html">CloudFrontProps</a></li><li><a href="DistributionProps.html">DistributionProps</a></li></ul></div><div class="category"><h2>cdk-utils.cloudtrail-manager</h2><h3>Classes / Construct</h3><ul><li><a href="CloudTrailManager.html">CloudTrailManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="CloudTrailProps.html">CloudTrailProps</a></li></ul></div><div class="category"><h2>cdk-utils.cloudwatch-manager</h2><h3>Classes / Construct</h3><ul><li><a href="CloudWatchManager.html">CloudWatchManager</a></li><li><a href="LogManager.html">LogManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="AlarmProps.html">AlarmProps</a></li><li><a href="AlarmStatusWidgetProps.html">AlarmStatusWidgetProps</a></li><li><a href="DashboardProps.html">DashboardProps</a></li><li><a href="GraphWidgetProps.html">GraphWidgetProps</a></li><li><a href="LogProps.html">LogProps</a></li><li><a href="LogQueryWidgetProps.html">LogQueryWidgetProps</a></li><li><a href="MetricFilterProps.html">MetricFilterProps</a></li><li><a href="MetricProps.html">MetricProps</a></li><li><a href="NumericWidgetProps.html">NumericWidgetProps</a></li><li><a href="TextWidgetProps.html">TextWidgetProps</a></li></ul><h3>Global</h3><ul><li><a href="global.html#CloudWatchWidgetType">CloudWatchWidgetType</a></li></ul></div><div class="category"><h2>cdk-utils.codebuild-manager</h2><h3>Classes / Construct</h3><ul><li><a href="CodeBuildManager.html">CodeBuildManager</a></li></ul></div><div class="category"><h2>cdk-utils.common-construct</h2><h3>Classes / Construct</h3><ul><li><a href="CommonConstruct.html">CommonConstruct</a></li></ul></div><div class="category"><h2>cdk-utils.common-stack</h2><h3>Classes / Construct</h3><ul><li><a href="CommonStack.html">CommonStack</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="CommonStackProps.html">CommonStackProps</a></li></ul></div><div class="category"><h2>cdk-utils.dynamodb-manager</h2><h3>Classes / Construct</h3><ul><li><a href="DynamodbManager.html">DynamodbManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="TableProps.html">TableProps</a></li></ul></div><div class="category"><h2>cdk-utils.ecr-manager</h2><h3>Classes / Construct</h3><ul><li><a href="EcrManager.html">EcrManager</a></li></ul></div><div class="category"><h2>cdk-utils.ecs-manager</h2><h3>Classes / Construct</h3><ul><li><a href="EcsManager.html">EcsManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="EcsClusterProps.html">EcsClusterProps</a></li><li><a href="EcsTaskProps.html">EcsTaskProps</a></li></ul></div><div class="category"><h2>cdk-utils.eks-manager</h2><h3>Classes / Construct</h3><ul><li><a href="EksManager.html">EksManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="EksClusterProps.html">EksClusterProps</a></li></ul></div><div class="category"><h2>cdk-utils.event-manager</h2><h3>Classes / Construct</h3><ul><li><a href="EventManager.html">EventManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="EventBusProps.html">EventBusProps</a></li><li><a href="EventRuleProps.html">EventRuleProps</a></li><li><a href="RuleProps.html">RuleProps</a></li></ul></div><div class="category"><h2>cdk-utils.graphql-api-lambda</h2><h3>Classes / construct</h3><ul><li><a href="GraphQLApiLambda.html">GraphQLApiLambda</a></li></ul><h3>Interfaces / Types</h3><ul><li><a href="GraphQlApiLambdaEnvironment.html">GraphQlApiLambdaEnvironment</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="GraphQlApiLambdaProps.html">GraphQlApiLambdaProps</a></li></ul></div><div class="category"><h2>cdk-utils.iam-manager</h2><h3>Classes / Construct</h3><ul><li><a href="IamManager.html">IamManager</a></li></ul></div><div class="category"><h2>cdk-utils.lambda-manager</h2><h3>Classes / Construct</h3><ul><li><a href="LambdaManager.html">LambdaManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="LambdaEdgeProps.html">LambdaEdgeProps</a></li><li><a href="LambdaProps.html">LambdaProps</a></li></ul><h3>Interfaces / Types</h3><ul><li><a href="LambdaEnvironment.html">LambdaEnvironment</a></li></ul></div><div class="category"><h2>cdk-utils.route53-manager</h2><h3>Classes / Construct</h3><ul><li><a href="Route53Manager.html">Route53Manager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="Route53Props.html">Route53Props</a></li></ul></div><div class="category"><h2>cdk-utils.s3-manager</h2><h3>Classes / Construct</h3><ul><li><a href="S3Manager.html">S3Manager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="LifecycleRule.html">LifecycleRule</a></li><li><a href="S3BucketProps.html">S3BucketProps</a></li></ul></div><div class="category"><h2>cdk-utils.secrets-manager</h2><h3>Classes / Construct</h3><ul><li><a href="SecretsManager.html">SecretsManager</a></li></ul></div><div class="category"><h2>cdk-utils.site-with-ecs-backend</h2><h3>Classes / construct</h3><ul><li><a href="SiteWithEcsBackend.html">SiteWithEcsBackend</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="HealthCheck.html">HealthCheck</a></li><li><a href="SiteWithEcsBackendProps.html">SiteWithEcsBackendProps</a></li></ul></div><div class="category"><h2>cdk-utils.sns-manager</h2><h3>Classes / Construct</h3><ul><li><a href="SnsManager.html">SnsManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="SubscriptionProps.html">SubscriptionProps</a></li></ul></div><div class="category"><h2>cdk-utils.ssm-manager</h2><h3>Classes / Construct</h3><ul><li><a href="SsmManager.html">SsmManager</a></li><li><a href="SSMParameterReader.html">SSMParameterReader</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="SSMParameterReaderProps.html">SSMParameterReaderProps</a></li></ul></div><div class="category"><h2>cdk-utils.static-site</h2><h3>Classes / construct</h3><ul><li><a href="StaticSite.html">StaticSite</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="StaticSiteProps.html">StaticSiteProps</a></li></ul></div><div class="category"><h2>cdk-utils.utils</h2><h3>Global</h3><ul><li><a href="global.html#createCfnOutput">createCfnOutput</a></li><li><a href="global.html#defaultResponseObject">defaultResponseObject</a></li><li><a href="global.html#isDevStage">isDevStage</a></li><li><a href="global.html#isPrdStage">isPrdStage</a></li><li><a href="global.html#isTestStage">isTestStage</a></li><li><a href="global.html#isUatStage">isUatStage</a></li><li><a href="global.html#LogLevel">LogLevel</a></li><li><a href="global.html#redirectError">redirectError</a></li><li><a href="global.html#redirectSuccess">redirectSuccess</a></li></ul></div><div class="category"><h2>cdk-utils.vpc-manager</h2><h3>Classes / Construct</h3><ul><li><a href="VpcManager.html">VpcManager</a></li></ul><h3>Global</h3><ul><li><a href="global.html#CommonVpcIdentifier">CommonVpcIdentifier</a></li></ul></div><div class="category"><h2>cdk-utils.waf-manager</h2><h3>Classes / Construct</h3><ul><li><a href="WafManager.html">WafManager</a></li></ul><h3>Interfaces / Properties</h3><ul><li><a href="WafIPSetProps.html">WafIPSetProps</a></li><li><a href="WafWebACLProps.html">WafWebACLProps</a></li></ul></div>
|
|
121
|
-
|
|
122
|
-
</nav>
|
|
123
|
-
</div>
|
|
124
|
-
<div class="core" id="main-content-wrapper">
|
|
125
|
-
<div class="content">
|
|
126
|
-
<header class="page-title">
|
|
127
|
-
<p>Source</p>
|
|
128
|
-
<h1>manager/aws/cloudwatch-manager.ts</h1>
|
|
129
|
-
</header>
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
<section>
|
|
136
|
-
<article>
|
|
137
|
-
<pre class="prettyprint source linenums"><code>import * as cdk from 'aws-cdk-lib'
|
|
138
|
-
import * as watch from 'aws-cdk-lib/aws-cloudwatch'
|
|
139
|
-
import { IMetric } from 'aws-cdk-lib/aws-cloudwatch'
|
|
140
|
-
import * as common from '../../common'
|
|
141
|
-
import * as types from '../../types'
|
|
142
|
-
import * as utils from '../../utils'
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* @category cdk-utils.cloudwatch-manager
|
|
146
|
-
* @subcategory Construct
|
|
147
|
-
*/
|
|
148
|
-
enum CloudWatchWidgetType {
|
|
149
|
-
Text = 'Text',
|
|
150
|
-
SingleValue = 'SingleValue',
|
|
151
|
-
Graph = 'Graph',
|
|
152
|
-
AlarmStatus = 'AlarmStatus',
|
|
153
|
-
LogQuery = 'LogQuery',
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* @stability stable
|
|
158
|
-
* @category cdk-utils.cloudwatch-manager
|
|
159
|
-
* @subcategory Construct
|
|
160
|
-
* @classdesc Provides operations on AWS CloudWatch.
|
|
161
|
-
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
162
|
-
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
163
|
-
* @example
|
|
164
|
-
* import * as common from '@gradientedge/cdk-utils'
|
|
165
|
-
*
|
|
166
|
-
* class CustomConstruct extends common.common.CommonConstruct {
|
|
167
|
-
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
168
|
-
* super(parent, id, props)
|
|
169
|
-
* this.props = props
|
|
170
|
-
* this.cloudWatchManager.createAlarmForMetric('MyAlarm', this, metric)
|
|
171
|
-
* }
|
|
172
|
-
* }
|
|
173
|
-
*
|
|
174
|
-
* @see [CDK CloudWatch Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch-readme.html}
|
|
175
|
-
*/
|
|
176
|
-
export class CloudWatchManager {
|
|
177
|
-
/**
|
|
178
|
-
* @summary Method to create a cloudwatch alarm for a given expression
|
|
179
|
-
* @param {string} id scoped id of the resource
|
|
180
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
181
|
-
* @param {types.AlarmProps} props
|
|
182
|
-
*/
|
|
183
|
-
public createAlarmForExpression(id: string, scope: common.CommonConstruct, props: types.AlarmProps) {
|
|
184
|
-
if (!props) throw `Alarm props undefined`
|
|
185
|
-
|
|
186
|
-
if (!props.expression) throw `Could not find expression for Alarm props for id:${id}`
|
|
187
|
-
if (!props.metricProps) throw `Could not find metricProps for Alarm props for id:${id}`
|
|
188
|
-
|
|
189
|
-
const metrics: any = {}
|
|
190
|
-
this.determineMetrics(scope, props.metricProps).map(
|
|
191
|
-
(metric: watch.IMetric, index: number) => (metrics[`m${index}`] = metric)
|
|
192
|
-
)
|
|
193
|
-
const expression = new watch.MathExpression({
|
|
194
|
-
expression: props.expression,
|
|
195
|
-
usingMetrics: metrics,
|
|
196
|
-
period: props.periodInSecs ? cdk.Duration.seconds(props.periodInSecs) : cdk.Duration.minutes(5),
|
|
197
|
-
})
|
|
198
|
-
|
|
199
|
-
const alarm = expression.createAlarm(scope, `${id}`, {
|
|
200
|
-
alarmName: props.alarmName,
|
|
201
|
-
alarmDescription: props.alarmDescription,
|
|
202
|
-
threshold: props.threshold,
|
|
203
|
-
evaluationPeriods: props.evaluationPeriods,
|
|
204
|
-
comparisonOperator: props.comparisonOperator,
|
|
205
|
-
treatMissingData: props.treatMissingData,
|
|
206
|
-
datapointsToAlarm: props.datapointsToAlarm,
|
|
207
|
-
})
|
|
208
|
-
|
|
209
|
-
utils.createCfnOutput(`${id}-alarmArn`, scope, alarm.alarmArn)
|
|
210
|
-
utils.createCfnOutput(`${id}-alarmName`, scope, alarm.alarmName)
|
|
211
|
-
|
|
212
|
-
return alarm
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* @summary Method to create a cloudwatch alarm for a given metric
|
|
217
|
-
* @param {string} id scoped id of the resource
|
|
218
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
219
|
-
* @param {types.AlarmProps} props
|
|
220
|
-
* @param metric
|
|
221
|
-
*/
|
|
222
|
-
public createAlarmForMetric(
|
|
223
|
-
id: string,
|
|
224
|
-
scope: common.CommonConstruct,
|
|
225
|
-
props: types.AlarmProps,
|
|
226
|
-
metric: watch.Metric
|
|
227
|
-
) {
|
|
228
|
-
if (!props) throw `Alarm props undefined`
|
|
229
|
-
|
|
230
|
-
const alarm = metric.createAlarm(scope, `${id}`, {
|
|
231
|
-
alarmName: props.alarmName,
|
|
232
|
-
alarmDescription: props.alarmDescription,
|
|
233
|
-
threshold: props.threshold,
|
|
234
|
-
evaluationPeriods: props.evaluationPeriods,
|
|
235
|
-
comparisonOperator: props.comparisonOperator,
|
|
236
|
-
treatMissingData: props.treatMissingData,
|
|
237
|
-
datapointsToAlarm: props.datapointsToAlarm,
|
|
238
|
-
})
|
|
239
|
-
|
|
240
|
-
utils.createCfnOutput(`${id}-alarmArn`, scope, alarm.alarmArn)
|
|
241
|
-
utils.createCfnOutput(`${id}-alarmName`, scope, alarm.alarmName)
|
|
242
|
-
|
|
243
|
-
return alarm
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* @summary Method to create a cloudwatch dashboard
|
|
248
|
-
* @param {string} id scoped id of the resource
|
|
249
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
250
|
-
* @param {types.DashboardProps} props
|
|
251
|
-
* @param widgets
|
|
252
|
-
*/
|
|
253
|
-
public createDashboard(
|
|
254
|
-
id: string,
|
|
255
|
-
scope: common.CommonConstruct,
|
|
256
|
-
props: types.DashboardProps,
|
|
257
|
-
widgets?: watch.IWidget[][]
|
|
258
|
-
) {
|
|
259
|
-
if (!props) throw `Dashboard props undefined`
|
|
260
|
-
|
|
261
|
-
const dashboard = new watch.Dashboard(scope, `${id}`, {
|
|
262
|
-
dashboardName: props.dashboardName,
|
|
263
|
-
periodOverride: props.periodOverride,
|
|
264
|
-
start: CloudWatchManager.determineTimeRange(props.start),
|
|
265
|
-
end: CloudWatchManager.determineTimeRange(props.end),
|
|
266
|
-
widgets: widgets,
|
|
267
|
-
})
|
|
268
|
-
|
|
269
|
-
utils.createCfnOutput(`${id}-dashboardName`, scope, props.dashboardName)
|
|
270
|
-
|
|
271
|
-
return dashboard
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* @summary Method to create cloudwatch widgets
|
|
276
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
277
|
-
* @param props
|
|
278
|
-
*/
|
|
279
|
-
public createWidgets(scope: common.CommonConstruct, props: any[]) {
|
|
280
|
-
if (!props || props.length == 0) throw `Widget props undefined`
|
|
281
|
-
|
|
282
|
-
const widgets: any = []
|
|
283
|
-
props.forEach((widgetProps: any) => widgets.push(this.createWidget(widgetProps.id, scope, widgetProps)))
|
|
284
|
-
|
|
285
|
-
return widgets
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
/**
|
|
289
|
-
* @summary Method to create a cloudwatch widget
|
|
290
|
-
* @param {string} id scoped id of the resource
|
|
291
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
292
|
-
* @param props
|
|
293
|
-
*/
|
|
294
|
-
public createWidget(id: string, scope: common.CommonConstruct, props: any) {
|
|
295
|
-
if (!props) throw `Widget props undefined`
|
|
296
|
-
|
|
297
|
-
const metrics = this.determineMetrics(scope, props.metricProps)
|
|
298
|
-
let alarms,
|
|
299
|
-
logGroupNames = []
|
|
300
|
-
switch (props.type) {
|
|
301
|
-
case CloudWatchWidgetType.Text:
|
|
302
|
-
return this.createTextWidget(id, scope, props)
|
|
303
|
-
case CloudWatchWidgetType.SingleValue:
|
|
304
|
-
return this.createSingleValueWidget(id, scope, props, metrics)
|
|
305
|
-
case CloudWatchWidgetType.Graph:
|
|
306
|
-
return this.createGraphWidget(id, scope, props, metrics)
|
|
307
|
-
case CloudWatchWidgetType.AlarmStatus:
|
|
308
|
-
alarms = this.determineAlarms(id, scope, props.alarmProps)
|
|
309
|
-
return this.createAlarmStatusWidget(id, scope, props, alarms)
|
|
310
|
-
case CloudWatchWidgetType.LogQuery:
|
|
311
|
-
logGroupNames = props.logGroupNames.map((name: string) => `${name}-${scope.props.stage}`)
|
|
312
|
-
return this.createLogQueryWidget(id, scope, props, logGroupNames)
|
|
313
|
-
default:
|
|
314
|
-
throw 'Unsupported widget type'
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
/**
|
|
319
|
-
* @summary Method to create a cloudwatch text widget
|
|
320
|
-
* @param {string} id scoped id of the resource
|
|
321
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
322
|
-
* @param {types.TextWidgetProps} props
|
|
323
|
-
*/
|
|
324
|
-
public createTextWidget(id: string, scope: common.CommonConstruct, props: types.TextWidgetProps) {
|
|
325
|
-
const widget = new watch.TextWidget({
|
|
326
|
-
markdown: props.markdown,
|
|
327
|
-
width: props.width,
|
|
328
|
-
height: props.height,
|
|
329
|
-
})
|
|
330
|
-
|
|
331
|
-
if (props.positionX && props.positionY) widget.position(props.positionX, props.positionY)
|
|
332
|
-
|
|
333
|
-
return widget
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* @summary Method to create a cloudwatch numeric widget
|
|
338
|
-
* @param {string} id scoped id of the resource
|
|
339
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
340
|
-
* @param {types.NumericWidgetProps} props
|
|
341
|
-
* @param metrics
|
|
342
|
-
*/
|
|
343
|
-
public createSingleValueWidget(
|
|
344
|
-
id: string,
|
|
345
|
-
scope: common.CommonConstruct,
|
|
346
|
-
props: types.NumericWidgetProps,
|
|
347
|
-
metrics: IMetric[]
|
|
348
|
-
) {
|
|
349
|
-
const widget = new watch.SingleValueWidget({
|
|
350
|
-
metrics: metrics,
|
|
351
|
-
setPeriodToTimeRange: props.setPeriodToTimeRange,
|
|
352
|
-
fullPrecision: props.fullPrecision,
|
|
353
|
-
title: props.title,
|
|
354
|
-
width: props.width,
|
|
355
|
-
height: props.height,
|
|
356
|
-
})
|
|
357
|
-
|
|
358
|
-
if (props.positionX && props.positionY) widget.position(props.positionX, props.positionY)
|
|
359
|
-
|
|
360
|
-
return widget
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
/**
|
|
364
|
-
* @summary Method to create a cloudwatch graph widget
|
|
365
|
-
* @param {string} id scoped id of the resource
|
|
366
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
367
|
-
* @param {types.GraphWidgetProps} props
|
|
368
|
-
* @param leftYMetrics
|
|
369
|
-
* @param rightYMetrics
|
|
370
|
-
*/
|
|
371
|
-
public createGraphWidget(
|
|
372
|
-
id: string,
|
|
373
|
-
scope: common.CommonConstruct,
|
|
374
|
-
props: types.GraphWidgetProps,
|
|
375
|
-
leftYMetrics?: IMetric[],
|
|
376
|
-
rightYMetrics?: IMetric[]
|
|
377
|
-
) {
|
|
378
|
-
const widget = new watch.GraphWidget({
|
|
379
|
-
left: leftYMetrics,
|
|
380
|
-
right: rightYMetrics,
|
|
381
|
-
leftAnnotations: props.leftAnnotations,
|
|
382
|
-
rightAnnotations: props.rightAnnotations,
|
|
383
|
-
stacked: props.stacked,
|
|
384
|
-
leftYAxis: props.leftYAxis,
|
|
385
|
-
rightYAxis: props.rightYAxis,
|
|
386
|
-
legendPosition: props.legendPosition,
|
|
387
|
-
liveData: props.liveData,
|
|
388
|
-
view: props.view,
|
|
389
|
-
title: props.title,
|
|
390
|
-
width: props.width,
|
|
391
|
-
height: props.height,
|
|
392
|
-
})
|
|
393
|
-
|
|
394
|
-
if (props.positionX && props.positionY) widget.position(props.positionX, props.positionY)
|
|
395
|
-
|
|
396
|
-
return widget
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
/**
|
|
400
|
-
* @summary Method to create a cloudwatch alarm status widget
|
|
401
|
-
* @param {string} id scoped id of the resource
|
|
402
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
403
|
-
* @param {types.AlarmStatusWidgetProps} props
|
|
404
|
-
* @param {watch.IAlarm[]} alarms
|
|
405
|
-
*/
|
|
406
|
-
public createAlarmStatusWidget(
|
|
407
|
-
id: string,
|
|
408
|
-
scope: common.CommonConstruct,
|
|
409
|
-
props: types.AlarmStatusWidgetProps,
|
|
410
|
-
alarms: watch.IAlarm[]
|
|
411
|
-
) {
|
|
412
|
-
const widget = new watch.AlarmStatusWidget({
|
|
413
|
-
alarms: alarms,
|
|
414
|
-
title: props.title,
|
|
415
|
-
width: props.width,
|
|
416
|
-
height: props.height,
|
|
417
|
-
})
|
|
418
|
-
|
|
419
|
-
if (props.positionX && props.positionY) widget.position(props.positionX, props.positionY)
|
|
420
|
-
|
|
421
|
-
return widget
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
/**
|
|
425
|
-
* @summary Method to create a cloudwatch log query widget
|
|
426
|
-
* @param {string} id scoped id of the resource
|
|
427
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
428
|
-
* @param {types.LogQueryWidgetProps} props
|
|
429
|
-
* @param {string[]} logGroupNames
|
|
430
|
-
*/
|
|
431
|
-
public createLogQueryWidget(
|
|
432
|
-
id: string,
|
|
433
|
-
scope: common.CommonConstruct,
|
|
434
|
-
props: types.LogQueryWidgetProps,
|
|
435
|
-
logGroupNames: string[]
|
|
436
|
-
) {
|
|
437
|
-
const widget = new watch.LogQueryWidget({
|
|
438
|
-
logGroupNames: logGroupNames,
|
|
439
|
-
queryString: props.queryString,
|
|
440
|
-
queryLines: props.queryLines,
|
|
441
|
-
view: props.view,
|
|
442
|
-
title: props.title,
|
|
443
|
-
width: props.width,
|
|
444
|
-
height: props.height,
|
|
445
|
-
})
|
|
446
|
-
|
|
447
|
-
if (props.positionX && props.positionY) widget.position(props.positionX, props.positionY)
|
|
448
|
-
|
|
449
|
-
return widget
|
|
450
|
-
}
|
|
451
|
-
|
|
452
|
-
/**
|
|
453
|
-
* @summary Utility method to determine the metrics and dimensions
|
|
454
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
455
|
-
* @param {types.MetricProps[]} metricProps
|
|
456
|
-
*/
|
|
457
|
-
private determineMetrics(scope: common.CommonConstruct, metricProps: types.MetricProps[]) {
|
|
458
|
-
const metrics: watch.IMetric[] = []
|
|
459
|
-
if (metricProps) {
|
|
460
|
-
metricProps.forEach((metricProp: types.MetricProps) => {
|
|
461
|
-
let metricDimensions: watch.DimensionHash = metricProp.dimensionsMap || {}
|
|
462
|
-
if (metricProp.functionName) {
|
|
463
|
-
metricDimensions = {
|
|
464
|
-
...metricProp.dimensionsMap,
|
|
465
|
-
...{
|
|
466
|
-
FunctionName: `${metricProp.functionName}-${scope.props.stage}`,
|
|
467
|
-
},
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
if (metricProp.dbClusterIdentifier) {
|
|
471
|
-
metricDimensions = {
|
|
472
|
-
...metricProp.dimensionsMap,
|
|
473
|
-
...{
|
|
474
|
-
DBClusterIdentifier: `${metricProp.dbClusterIdentifier}-${scope.props.stage}`,
|
|
475
|
-
},
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
const metric = new watch.Metric({
|
|
479
|
-
namespace: metricProp.stageSuffix ? `${metricProp.namespace}-${scope.props.stage}` : metricProp.namespace,
|
|
480
|
-
metricName: metricProp.stageSuffix ? `${metricProp.metricName}-${scope.props.stage}` : metricProp.metricName,
|
|
481
|
-
dimensionsMap: metricDimensions,
|
|
482
|
-
statistic: metricProp.statistic,
|
|
483
|
-
region: metricProp.region,
|
|
484
|
-
period: metricProp.periodInSecs ? cdk.Duration.seconds(metricProp.periodInSecs) : cdk.Duration.minutes(5),
|
|
485
|
-
})
|
|
486
|
-
metrics.push(metric)
|
|
487
|
-
})
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
return metrics
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
/**
|
|
494
|
-
* @summary Utility method to determine the time range
|
|
495
|
-
* @param {string?} range
|
|
496
|
-
*/
|
|
497
|
-
private static determineTimeRange(range?: string) {
|
|
498
|
-
const moment = require('moment')
|
|
499
|
-
|
|
500
|
-
switch (range) {
|
|
501
|
-
case 'START_TODAY':
|
|
502
|
-
return moment().startOf('day').format()
|
|
503
|
-
case 'END_TODAY':
|
|
504
|
-
return moment().endOf('day').format()
|
|
505
|
-
default:
|
|
506
|
-
return range
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
|
|
510
|
-
/**
|
|
511
|
-
* @summary Utility method to determine the configured alarms
|
|
512
|
-
* @param {string} id scoped id of the resource
|
|
513
|
-
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
514
|
-
* @param {watch.AlarmProps[]} alarmProps
|
|
515
|
-
*/
|
|
516
|
-
private determineAlarms(id: string, scope: common.CommonConstruct, alarmProps: watch.AlarmProps[]) {
|
|
517
|
-
const alarms: watch.IAlarm[] = []
|
|
518
|
-
if (alarmProps) {
|
|
519
|
-
alarmProps.forEach((alarmProp: watch.AlarmProps) => {
|
|
520
|
-
if (!alarmProp.alarmName) throw `Alarm name undefined for ${id}`
|
|
521
|
-
const alarmArn = `arn:aws:cloudwatch:${cdk.Stack.of(scope).region}:${cdk.Stack.of(scope).account}:alarm:${
|
|
522
|
-
alarmProp.alarmName
|
|
523
|
-
}`
|
|
524
|
-
const alarm = watch.Alarm.fromAlarmArn(scope, `${alarmProp.alarmName}`, alarmArn)
|
|
525
|
-
alarms.push(alarm)
|
|
526
|
-
})
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
return alarms
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
</code></pre>
|
|
533
|
-
</article>
|
|
534
|
-
</section>
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
</div>
|
|
540
|
-
|
|
541
|
-
</div>
|
|
542
|
-
<div id="side-nav" class="side-nav">
|
|
543
|
-
</div>
|
|
544
|
-
</div>
|
|
545
|
-
<script src="scripts/app.min.js"></script>
|
|
546
|
-
<script>PR.prettyPrint();</script>
|
|
547
|
-
<script src="scripts/linenumber.js"> </script>
|
|
548
|
-
|
|
549
|
-
<script src="scripts/search.js"> </script>
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
</body>
|
|
553
|
-
</html>
|