UNPKG

474 kBPlain TextView Raw
1{
2 "author": {
3 "name": "Amazon Web Services",
4 "organization": true,
5 "roles": [
6 "author"
7 ],
8 "url": "https://aws.amazon.com"
9 },
10 "dependencies": {
11 "@aws-cdk/aws-iam": "1.161.0",
12 "@aws-cdk/core": "1.161.0",
13 "constructs": "^3.3.69"
14 },
15 "dependencyClosure": {
16 "@aws-cdk/aws-iam": {
17 "targets": {
18 "dotnet": {
19 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
20 "namespace": "Amazon.CDK.AWS.IAM",
21 "packageId": "Amazon.CDK.AWS.IAM"
22 },
23 "java": {
24 "maven": {
25 "artifactId": "iam",
26 "groupId": "software.amazon.awscdk"
27 },
28 "package": "software.amazon.awscdk.services.iam"
29 },
30 "js": {
31 "npm": "@aws-cdk/aws-iam"
32 },
33 "python": {
34 "classifiers": [
35 "Framework :: AWS CDK",
36 "Framework :: AWS CDK :: 1"
37 ],
38 "distName": "aws-cdk.aws-iam",
39 "module": "aws_cdk.aws_iam"
40 }
41 }
42 },
43 "@aws-cdk/cloud-assembly-schema": {
44 "targets": {
45 "dotnet": {
46 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
47 "namespace": "Amazon.CDK.CloudAssembly.Schema",
48 "packageId": "Amazon.CDK.CloudAssembly.Schema"
49 },
50 "java": {
51 "maven": {
52 "artifactId": "cdk-cloud-assembly-schema",
53 "groupId": "software.amazon.awscdk"
54 },
55 "package": "software.amazon.awscdk.cloudassembly.schema"
56 },
57 "js": {
58 "npm": "@aws-cdk/cloud-assembly-schema"
59 },
60 "python": {
61 "classifiers": [
62 "Framework :: AWS CDK",
63 "Framework :: AWS CDK :: 1"
64 ],
65 "distName": "aws-cdk.cloud-assembly-schema",
66 "module": "aws_cdk.cloud_assembly_schema"
67 }
68 }
69 },
70 "@aws-cdk/core": {
71 "targets": {
72 "dotnet": {
73 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
74 "namespace": "Amazon.CDK",
75 "packageId": "Amazon.CDK"
76 },
77 "java": {
78 "maven": {
79 "artifactId": "core",
80 "groupId": "software.amazon.awscdk"
81 },
82 "package": "software.amazon.awscdk.core"
83 },
84 "js": {
85 "npm": "@aws-cdk/core"
86 },
87 "python": {
88 "classifiers": [
89 "Framework :: AWS CDK",
90 "Framework :: AWS CDK :: 1"
91 ],
92 "distName": "aws-cdk.core",
93 "module": "aws_cdk.core"
94 }
95 }
96 },
97 "@aws-cdk/cx-api": {
98 "targets": {
99 "dotnet": {
100 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
101 "namespace": "Amazon.CDK.CXAPI",
102 "packageId": "Amazon.CDK.CXAPI"
103 },
104 "java": {
105 "maven": {
106 "artifactId": "cdk-cx-api",
107 "groupId": "software.amazon.awscdk"
108 },
109 "package": "software.amazon.awscdk.cxapi"
110 },
111 "js": {
112 "npm": "@aws-cdk/cx-api"
113 },
114 "python": {
115 "classifiers": [
116 "Framework :: AWS CDK",
117 "Framework :: AWS CDK :: 1"
118 ],
119 "distName": "aws-cdk.cx-api",
120 "module": "aws_cdk.cx_api"
121 }
122 }
123 },
124 "@aws-cdk/region-info": {
125 "targets": {
126 "dotnet": {
127 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
128 "namespace": "Amazon.CDK.RegionInfo",
129 "packageId": "Amazon.CDK.RegionInfo"
130 },
131 "java": {
132 "maven": {
133 "artifactId": "cdk-region-info",
134 "groupId": "software.amazon.awscdk"
135 },
136 "package": "software.amazon.awscdk.regioninfo"
137 },
138 "js": {
139 "npm": "@aws-cdk/region-info"
140 },
141 "python": {
142 "classifiers": [
143 "Framework :: AWS CDK",
144 "Framework :: AWS CDK :: 1"
145 ],
146 "distName": "aws-cdk.region-info",
147 "module": "aws_cdk.region_info"
148 }
149 }
150 },
151 "constructs": {
152 "targets": {
153 "dotnet": {
154 "namespace": "Constructs",
155 "packageId": "Constructs"
156 },
157 "go": {
158 "moduleName": "github.com/aws/constructs-go"
159 },
160 "java": {
161 "maven": {
162 "artifactId": "constructs",
163 "groupId": "software.constructs"
164 },
165 "package": "software.constructs"
166 },
167 "js": {
168 "npm": "constructs"
169 },
170 "python": {
171 "distName": "constructs",
172 "module": "constructs"
173 }
174 }
175 }
176 },
177 "description": "The CDK Construct Library for AWS::CloudWatch",
178 "docs": {
179 "stability": "stable"
180 },
181 "homepage": "https://github.com/aws/aws-cdk",
182 "jsiiVersion": "1.60.0 (build ebcefe6)",
183 "keywords": [
184 "aws",
185 "cdk",
186 "constructs",
187 "cloudwatch"
188 ],
189 "license": "Apache-2.0",
190 "metadata": {
191 "jsii": {
192 "compiledWithDeprecationWarnings": true,
193 "pacmak": {
194 "hasDefaultInterfaces": true
195 },
196 "rosetta": {
197 "strict": true
198 }
199 }
200 },
201 "name": "@aws-cdk/aws-cloudwatch",
202 "readme": {
203 "markdown": "# Amazon CloudWatch Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)\n\n![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge)\n\n---\n\n<!--END STABILITY BANNER-->\n\n## Metric objects\n\nMetric objects represent a metric that is emitted by AWS services or your own\napplication, such as `CPUUsage`, `FailureCount` or `Bandwidth`.\n\nMetric objects can be constructed directly or are exposed by resources as\nattributes. Resources that expose metrics will have functions that look\nlike `metricXxx()` which will return a Metric object, initialized with defaults\nthat make sense.\n\nFor example, `lambda.Function` objects have the `fn.metricErrors()` method, which\nrepresents the amount of errors reported by that Lambda function:\n\n```ts\ndeclare const fn: lambda.Function;\n\nconst errors = fn.metricErrors();\n```\n\n`Metric` objects can be account and region aware. You can specify `account` and `region` as properties of the metric, or use the `metric.attachTo(Construct)` method. `metric.attachTo()` will automatically copy the `region` and `account` fields of the `Construct`, which can come from anywhere in the Construct tree.\n\nYou can also instantiate `Metric` objects to reference any\n[published metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)\nthat's not exposed using a convenience method on the CDK construct.\nFor example:\n\n```ts\nconst hostedZone = new route53.HostedZone(this, 'MyHostedZone', { zoneName: \"example.org\" });\nconst metric = new cloudwatch.Metric({\n namespace: 'AWS/Route53',\n metricName: 'DNSQueries',\n dimensionsMap: {\n HostedZoneId: hostedZone.hostedZoneId\n }\n});\n```\n\n### Instantiating a new Metric object\n\nIf you want to reference a metric that is not yet exposed by an existing construct,\nyou can instantiate a `Metric` object to represent it. For example:\n\n```ts\nconst metric = new cloudwatch.Metric({\n namespace: 'MyNamespace',\n metricName: 'MyMetric',\n dimensionsMap: {\n ProcessingStep: 'Download'\n }\n});\n```\n\n### Metric Math\n\nMath expressions are supported by instantiating the `MathExpression` class.\nFor example, a math expression that sums two other metrics looks like this:\n\n```ts\ndeclare const fn: lambda.Function;\n\nconst allProblems = new cloudwatch.MathExpression({\n expression: \"errors + throttles\",\n usingMetrics: {\n errors: fn.metricErrors(),\n faults: fn.metricThrottles(),\n }\n});\n```\n\nYou can use `MathExpression` objects like any other metric, including using\nthem in other math expressions:\n\n```ts\ndeclare const fn: lambda.Function;\ndeclare const allProblems: cloudwatch.MathExpression;\n\nconst problemPercentage = new cloudwatch.MathExpression({\n expression: \"(problems / invocations) * 100\",\n usingMetrics: {\n problems: allProblems,\n invocations: fn.metricInvocations()\n }\n});\n```\n\n### Search Expressions\n\nMath expressions also support search expressions. For example, the following\nsearch expression returns all CPUUtilization metrics that it finds, with the\ngraph showing the Average statistic with an aggregation period of 5 minutes:\n\n```ts\nconst cpuUtilization = new cloudwatch.MathExpression({\n expression: \"SEARCH('{AWS/EC2,InstanceId} MetricName=\\\"CPUUtilization\\\"', 'Average', 300)\",\n\n // Specifying '' as the label suppresses the default behavior\n // of using the expression as metric label. This is especially appropriate\n // when using expressions that return multiple time series (like SEARCH()\n // or METRICS()), to show the labels of the retrieved metrics only.\n label: '',\n});\n```\n\nCross-account and cross-region search expressions are also supported. Use\nthe `searchAccount` and `searchRegion` properties to specify the account\nand/or region to evaluate the search expression against.\n\n### Aggregation\n\nTo graph or alarm on metrics you must aggregate them first, using a function\nlike `Average` or a percentile function like `P99`. By default, most Metric objects\nreturned by CDK libraries will be configured as `Average` over `300 seconds` (5 minutes).\nThe exception is if the metric represents a count of discrete events, such as\nfailures. In that case, the Metric object will be configured as `Sum` over `300\nseconds`, i.e. it represents the number of times that event occurred over the\ntime period.\n\nIf you want to change the default aggregation of the Metric object (for example,\nthe function or the period), you can do so by passing additional parameters\nto the metric function call:\n\n```ts\ndeclare const fn: lambda.Function;\n\nconst minuteErrorRate = fn.metricErrors({\n statistic: 'avg',\n period: Duration.minutes(1),\n label: 'Lambda failure rate'\n});\n```\n\nThis function also allows changing the metric label or color (which will be\nuseful when embedding them in graphs, see below).\n\n> Rates versus Sums\n>\n> The reason for using `Sum` to count discrete events is that *some* events are\n> emitted as either `0` or `1` (for example `Errors` for a Lambda) and some are\n> only emitted as `1` (for example `NumberOfMessagesPublished` for an SNS\n> topic).\n>\n> In case `0`-metrics are emitted, it makes sense to take the `Average` of this\n> metric: the result will be the fraction of errors over all executions.\n>\n> If `0`-metrics are not emitted, the `Average` will always be equal to `1`,\n> and not be very useful.\n>\n> In order to simplify the mental model of `Metric` objects, we default to\n> aggregating using `Sum`, which will be the same for both metrics types. If you\n> happen to know the Metric you want to alarm on makes sense as a rate\n> (`Average`) you can always choose to change the statistic.\n\n### Labels\n\nMetric labels are displayed in the legend of graphs that include the metrics.\n\nYou can use [dynamic labels](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html)\nto show summary information about the displayed time series\nin the legend. For example, if you use:\n\n```ts\ndeclare const fn: lambda.Function;\n\nconst minuteErrorRate = fn.metricErrors({\n statistic: 'sum',\n period: Duration.hours(1),\n\n // Show the maximum hourly error count in the legend\n label: '[max: ${MAX}] Lambda failure rate',\n});\n```\n\nAs the metric label, the maximum value in the visible range will\nbe shown next to the time series name in the graph's legend.\n\nIf the metric is a math expression producing more than one time series, the\nmaximum will be individually calculated and shown for each time series produce\nby the math expression.\n\n## Alarms\n\nAlarms can be created on metrics in one of two ways. Either create an `Alarm`\nobject, passing the `Metric` object to set the alarm on:\n\n```ts\ndeclare const fn: lambda.Function;\n\nnew cloudwatch.Alarm(this, 'Alarm', {\n metric: fn.metricErrors(),\n threshold: 100,\n evaluationPeriods: 2,\n});\n```\n\nAlternatively, you can call `metric.createAlarm()`:\n\n```ts\ndeclare const fn: lambda.Function;\n\nfn.metricErrors().createAlarm(this, 'Alarm', {\n threshold: 100,\n evaluationPeriods: 2,\n});\n```\n\nThe most important properties to set while creating an Alarms are:\n\n- `threshold`: the value to compare the metric against.\n- `comparisonOperator`: the comparison operation to use, defaults to `metric >= threshold`.\n- `evaluationPeriods`: how many consecutive periods the metric has to be\n breaching the the threshold for the alarm to trigger.\n\nTo create a cross-account alarm, make sure you have enabled [cross-account functionality](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html) in CloudWatch. Then, set the `account` property in the `Metric` object either manually or via the `metric.attachTo()` method.\n\n### Alarm Actions\n\nTo add actions to an alarm, use the integration classes from the\n`@aws-cdk/aws-cloudwatch-actions` package. For example, to post a message to\nan SNS topic when an alarm breaches, do the following:\n\n```ts\nimport * as cw_actions from '@aws-cdk/aws-cloudwatch-actions';\ndeclare const alarm: cloudwatch.Alarm;\n\nconst topic = new sns.Topic(this, 'Topic');\nalarm.addAlarmAction(new cw_actions.SnsAction(topic));\n```\n\n#### Notification formats\n\nAlarms can be created in one of two \"formats\":\n\n- With \"top-level parameters\" (these are the classic style of CloudWatch Alarms).\n- With a list of metrics specifications (these are the modern style of CloudWatch Alarms).\n\nFor backwards compatibility, CDK will try to create classic, top-level CloudWatch alarms\nas much as possible, unless you are using features that cannot be expressed in that format.\nFeatures that require the new-style alarm format are:\n\n- Metric math\n- Cross-account metrics\n- Labels\n\nThe difference between these two does not impact the functionality of the alarm\nin any way, *except* that the format of the notifications the Alarm generates is\ndifferent between them. This affects both the notifications sent out over SNS,\nas well as the EventBridge events generated by this Alarm. If you are writing\ncode to consume these notifications, be sure to handle both formats.\n\n### Composite Alarms\n\n[Composite Alarms](https://aws.amazon.com/about-aws/whats-new/2020/03/amazon-cloudwatch-now-allows-you-to-combine-multiple-alarms/)\ncan be created from existing Alarm resources.\n\n```ts\ndeclare const alarm1: cloudwatch.Alarm;\ndeclare const alarm2: cloudwatch.Alarm;\ndeclare const alarm3: cloudwatch.Alarm;\ndeclare const alarm4: cloudwatch.Alarm;\n\nconst alarmRule = cloudwatch.AlarmRule.anyOf(\n cloudwatch.AlarmRule.allOf(\n cloudwatch.AlarmRule.anyOf(\n alarm1,\n cloudwatch.AlarmRule.fromAlarm(alarm2, cloudwatch.AlarmState.OK),\n alarm3,\n ),\n cloudwatch.AlarmRule.not(cloudwatch.AlarmRule.fromAlarm(alarm4, cloudwatch.AlarmState.INSUFFICIENT_DATA)),\n ),\n cloudwatch.AlarmRule.fromBoolean(false),\n);\n\nnew cloudwatch.CompositeAlarm(this, 'MyAwesomeCompositeAlarm', {\n alarmRule,\n});\n```\n\n### A note on units\n\nIn CloudWatch, Metrics datums are emitted with units, such as `seconds` or\n`bytes`. When `Metric` objects are given a `unit` attribute, it will be used to\n*filter* the stream of metric datums for datums emitted using the same `unit`\nattribute.\n\nIn particular, the `unit` field is *not* used to rescale datums or alarm threshold\nvalues (for example, it cannot be used to specify an alarm threshold in\n*Megabytes* if the metric stream is being emitted as *bytes*).\n\nYou almost certainly don't want to specify the `unit` property when creating\n`Metric` objects (which will retrieve all datums regardless of their unit),\nunless you have very specific requirements. Note that in any case, CloudWatch\nonly supports filtering by `unit` for Alarms, not in Dashboard graphs.\n\nPlease see the following GitHub issue for a discussion on real unit\ncalculations in CDK: https://github.com/aws/aws-cdk/issues/5595\n\n## Dashboards\n\nDashboards are set of Widgets stored server-side which can be accessed quickly\nfrom the AWS console. Available widgets are graphs of a metric over time, the\ncurrent value of a metric, or a static piece of Markdown which explains what the\ngraphs mean.\n\nThe following widgets are available:\n\n- `GraphWidget` -- shows any number of metrics on both the left and right\n vertical axes.\n- `AlarmWidget` -- shows the graph and alarm line for a single alarm.\n- `SingleValueWidget` -- shows the current value of a set of metrics.\n- `TextWidget` -- shows some static Markdown.\n- `AlarmStatusWidget` -- shows the status of your alarms in a grid view.\n\n### Graph widget\n\nA graph widget can display any number of metrics on either the `left` or\n`right` vertical axis:\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\ndeclare const executionCountMetric: cloudwatch.Metric;\ndeclare const errorCountMetric: cloudwatch.Metric;\n\ndashboard.addWidgets(new cloudwatch.GraphWidget({\n title: \"Executions vs error rate\",\n\n left: [executionCountMetric],\n\n right: [errorCountMetric.with({\n statistic: \"average\",\n label: \"Error rate\",\n color: cloudwatch.Color.GREEN,\n })]\n}));\n```\n\nUsing the methods `addLeftMetric()` and `addRightMetric()` you can add metrics to a graph widget later on.\n\nGraph widgets can also display annotations attached to the left or the right y-axis.\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\n\ndashboard.addWidgets(new cloudwatch.GraphWidget({\n // ...\n\n leftAnnotations: [\n { value: 1800, label: Duration.minutes(30).toHumanString(), color: cloudwatch.Color.RED, },\n { value: 3600, label: '1 hour', color: '#2ca02c', }\n ],\n}));\n```\n\nThe graph legend can be adjusted from the default position at bottom of the widget.\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\n\ndashboard.addWidgets(new cloudwatch.GraphWidget({\n // ...\n\n legendPosition: cloudwatch.LegendPosition.RIGHT,\n}));\n```\n\nThe graph can publish live data within the last minute that has not been fully aggregated.\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\n\ndashboard.addWidgets(new cloudwatch.GraphWidget({\n // ...\n\n liveData: true,\n}));\n```\n\nThe graph view can be changed from default 'timeSeries' to 'bar' or 'pie'.\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\n\ndashboard.addWidgets(new cloudwatch.GraphWidget({\n // ...\n\n view: cloudwatch.GraphWidgetView.BAR,\n}));\n```\n\n### Alarm widget\n\nAn alarm widget shows the graph and the alarm line of a single alarm:\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\ndeclare const errorAlarm: cloudwatch.Alarm;\n\ndashboard.addWidgets(new cloudwatch.AlarmWidget({\n title: \"Errors\",\n alarm: errorAlarm,\n}));\n```\n\n### Single value widget\n\nA single-value widget shows the latest value of a set of metrics (as opposed\nto a graph of the value over time):\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\ndeclare const visitorCount: cloudwatch.Metric;\ndeclare const purchaseCount: cloudwatch.Metric;\n\ndashboard.addWidgets(new cloudwatch.SingleValueWidget({\n metrics: [visitorCount, purchaseCount],\n}));\n```\n\nShow as many digits as can fit, before rounding.\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\n\ndashboard.addWidgets(new cloudwatch.SingleValueWidget({\n metrics: [ /* ... */ ],\n\n fullPrecision: true,\n}));\n```\n\n### Text widget\n\nA text widget shows an arbitrary piece of MarkDown. Use this to add explanations\nto your dashboard:\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\n\ndashboard.addWidgets(new cloudwatch.TextWidget({\n markdown: '# Key Performance Indicators'\n}));\n```\n\n### Alarm Status widget\n\nAn alarm status widget displays instantly the status of any type of alarms and gives the\nability to aggregate one or more alarms together in a small surface.\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\ndeclare const errorAlarm: cloudwatch.Alarm;\n\ndashboard.addWidgets(\n new cloudwatch.AlarmStatusWidget({\n alarms: [errorAlarm],\n })\n);\n```\n\nAn alarm status widget only showing firing alarms, sorted by state and timestamp:\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\ndeclare const errorAlarm: cloudwatch.Alarm;\n\ndashboard.addWidgets(new cloudwatch.AlarmStatusWidget({\n title: \"Errors\",\n alarms: [errorAlarm],\n sortBy: cloudwatch.AlarmStatusWidgetSortBy.STATE_UPDATED_TIMESTAMP,\n states: [cloudwatch.AlarmState.ALARM],\n}));\n```\n\n### Query results widget\n\nA `LogQueryWidget` shows the results of a query from Logs Insights:\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\n\ndashboard.addWidgets(new cloudwatch.LogQueryWidget({\n logGroupNames: ['my-log-group'],\n view: cloudwatch.LogQueryVisualizationType.TABLE,\n // The lines will be automatically combined using '\\n|'.\n queryLines: [\n 'fields @message',\n 'filter @message like /Error/',\n ]\n}));\n```\n\n### Custom widget\n\nA `CustomWidget` shows the result of an AWS Lambda function:\n\n```ts\ndeclare const dashboard: cloudwatch.Dashboard;\n\n// Import or create a lambda function\nconst fn = lambda.Function.fromFunctionArn(\n dashboard,\n 'Function',\n 'arn:aws:lambda:us-east-1:123456789012:function:MyFn',\n);\n\ndashboard.addWidgets(new cloudwatch.CustomWidget({\n functionArn: fn.functionArn,\n title: 'My lambda baked widget',\n}));\n```\n\nYou can learn more about custom widgets in the [Amazon Cloudwatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/add_custom_widget_dashboard.html).\n\n### Dashboard Layout\n\nThe widgets on a dashboard are visually laid out in a grid that is 24 columns\nwide. Normally you specify X and Y coordinates for the widgets on a Dashboard,\nbut because this is inconvenient to do manually, the library contains a simple\nlayout system to help you lay out your dashboards the way you want them to.\n\nWidgets have a `width` and `height` property, and they will be automatically\nlaid out either horizontally or vertically stacked to fill out the available\nspace.\n\nWidgets are added to a Dashboard by calling `add(widget1, widget2, ...)`.\nWidgets given in the same call will be laid out horizontally. Widgets given\nin different calls will be laid out vertically. To make more complex layouts,\nyou can use the following widgets to pack widgets together in different ways:\n\n- `Column`: stack two or more widgets vertically.\n- `Row`: lay out two or more widgets horizontally.\n- `Spacer`: take up empty space\n"
204 },
205 "repository": {
206 "directory": "packages/@aws-cdk/aws-cloudwatch",
207 "type": "git",
208 "url": "https://github.com/aws/aws-cdk.git"
209 },
210 "schema": "jsii/0.10.0",
211 "targets": {
212 "dotnet": {
213 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
214 "namespace": "Amazon.CDK.AWS.CloudWatch",
215 "packageId": "Amazon.CDK.AWS.CloudWatch"
216 },
217 "java": {
218 "maven": {
219 "artifactId": "cloudwatch",
220 "groupId": "software.amazon.awscdk"
221 },
222 "package": "software.amazon.awscdk.services.cloudwatch"
223 },
224 "js": {
225 "npm": "@aws-cdk/aws-cloudwatch"
226 },
227 "python": {
228 "classifiers": [
229 "Framework :: AWS CDK",
230 "Framework :: AWS CDK :: 1"
231 ],
232 "distName": "aws-cdk.aws-cloudwatch",
233 "module": "aws_cdk.aws_cloudwatch"
234 }
235 },
236 "types": {
237 "@aws-cdk/aws-cloudwatch.Alarm": {
238 "assembly": "@aws-cdk/aws-cloudwatch",
239 "base": "@aws-cdk/aws-cloudwatch.AlarmBase",
240 "docs": {
241 "custom": {
242 "exampleMetadata": "infused"
243 },
244 "example": "import * as cloudwatch from '@aws-cdk/aws-cloudwatch';\n\ndeclare const alias: lambda.Alias;\nconst alarm = new cloudwatch.Alarm(this, 'Errors', {\n comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,\n threshold: 1,\n evaluationPeriods: 1,\n metric: alias.metricErrors(),\n});\nconst deploymentGroup = new codedeploy.LambdaDeploymentGroup(this, 'BlueGreenDeployment', {\n alias,\n deploymentConfig: codedeploy.LambdaDeploymentConfig.LINEAR_10PERCENT_EVERY_1MINUTE,\n alarms: [\n // pass some alarms when constructing the deployment group\n alarm,\n ],\n});\n\n// or add alarms to an existing group\ndeclare const blueGreenAlias: lambda.Alias;\ndeploymentGroup.addAlarm(new cloudwatch.Alarm(this, 'BlueGreenErrors', {\n comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,\n threshold: 1,\n evaluationPeriods: 1,\n metric: blueGreenAlias.metricErrors(),\n}));",
245 "stability": "stable",
246 "summary": "An alarm on a CloudWatch metric."
247 },
248 "fqn": "@aws-cdk/aws-cloudwatch.Alarm",
249 "initializer": {
250 "docs": {
251 "stability": "stable"
252 },
253 "locationInModule": {
254 "filename": "lib/alarm.ts",
255 "line": 146
256 },
257 "parameters": [
258 {
259 "name": "scope",
260 "type": {
261 "fqn": "constructs.Construct"
262 }
263 },
264 {
265 "name": "id",
266 "type": {
267 "primitive": "string"
268 }
269 },
270 {
271 "name": "props",
272 "type": {
273 "fqn": "@aws-cdk/aws-cloudwatch.AlarmProps"
274 }
275 }
276 ]
277 },
278 "kind": "class",
279 "locationInModule": {
280 "filename": "lib/alarm.ts",
281 "line": 105
282 },
283 "methods": [
284 {
285 "docs": {
286 "stability": "stable",
287 "summary": "Import an existing CloudWatch alarm provided an ARN."
288 },
289 "locationInModule": {
290 "filename": "lib/alarm.ts",
291 "line": 114
292 },
293 "name": "fromAlarmArn",
294 "parameters": [
295 {
296 "docs": {
297 "summary": "The parent creating construct (usually `this`)."
298 },
299 "name": "scope",
300 "type": {
301 "fqn": "constructs.Construct"
302 }
303 },
304 {
305 "docs": {
306 "summary": "The construct's name."
307 },
308 "name": "id",
309 "type": {
310 "primitive": "string"
311 }
312 },
313 {
314 "docs": {
315 "summary": "Alarm ARN (i.e. arn:aws:cloudwatch:<region>:<account-id>:alarm:Foo)."
316 },
317 "name": "alarmArn",
318 "type": {
319 "primitive": "string"
320 }
321 }
322 ],
323 "returns": {
324 "type": {
325 "fqn": "@aws-cdk/aws-cloudwatch.IAlarm"
326 }
327 },
328 "static": true
329 },
330 {
331 "docs": {
332 "remarks": "Typically the ARN of an SNS topic or ARN of an AutoScaling policy.",
333 "stability": "stable",
334 "summary": "Trigger this action if the alarm fires."
335 },
336 "locationInModule": {
337 "filename": "lib/alarm.ts",
338 "line": 237
339 },
340 "name": "addAlarmAction",
341 "overrides": "@aws-cdk/aws-cloudwatch.AlarmBase",
342 "parameters": [
343 {
344 "name": "actions",
345 "type": {
346 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmAction"
347 },
348 "variadic": true
349 }
350 ],
351 "variadic": true
352 },
353 {
354 "docs": {
355 "remarks": "This is useful if you want to represent an Alarm in a non-AlarmWidget.\nAn `AlarmWidget` can directly show an alarm, but it can only show a\nsingle alarm and no other metrics. Instead, you can convert the alarm to\na HorizontalAnnotation and add it as an annotation to another graph.\n\nThis might be useful if:\n\n- You want to show multiple alarms inside a single graph, for example if\n you have both a \"small margin/long period\" alarm as well as a\n \"large margin/short period\" alarm.\n\n- You want to show an Alarm line in a graph with multiple metrics in it.",
356 "stability": "stable",
357 "summary": "Turn this alarm into a horizontal annotation."
358 },
359 "locationInModule": {
360 "filename": "lib/alarm.ts",
361 "line": 228
362 },
363 "name": "toAnnotation",
364 "returns": {
365 "type": {
366 "fqn": "@aws-cdk/aws-cloudwatch.HorizontalAnnotation"
367 }
368 }
369 }
370 ],
371 "name": "Alarm",
372 "properties": [
373 {
374 "docs": {
375 "custom": {
376 "attribute": "true"
377 },
378 "stability": "stable",
379 "summary": "ARN of this alarm."
380 },
381 "immutable": true,
382 "locationInModule": {
383 "filename": "lib/alarm.ts",
384 "line": 127
385 },
386 "name": "alarmArn",
387 "overrides": "@aws-cdk/aws-cloudwatch.AlarmBase",
388 "type": {
389 "primitive": "string"
390 }
391 },
392 {
393 "docs": {
394 "custom": {
395 "attribute": "true"
396 },
397 "stability": "stable",
398 "summary": "Name of this alarm."
399 },
400 "immutable": true,
401 "locationInModule": {
402 "filename": "lib/alarm.ts",
403 "line": 134
404 },
405 "name": "alarmName",
406 "overrides": "@aws-cdk/aws-cloudwatch.AlarmBase",
407 "type": {
408 "primitive": "string"
409 }
410 },
411 {
412 "docs": {
413 "stability": "stable",
414 "summary": "The metric object this alarm was based on."
415 },
416 "immutable": true,
417 "locationInModule": {
418 "filename": "lib/alarm.ts",
419 "line": 139
420 },
421 "name": "metric",
422 "type": {
423 "fqn": "@aws-cdk/aws-cloudwatch.IMetric"
424 }
425 }
426 ],
427 "symbolId": "lib/alarm:Alarm"
428 },
429 "@aws-cdk/aws-cloudwatch.AlarmActionConfig": {
430 "assembly": "@aws-cdk/aws-cloudwatch",
431 "datatype": true,
432 "docs": {
433 "stability": "stable",
434 "summary": "Properties for an alarm action.",
435 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudwatch from '@aws-cdk/aws-cloudwatch';\nconst alarmActionConfig: cloudwatch.AlarmActionConfig = {\n alarmActionArn: 'alarmActionArn',\n};",
436 "custom": {
437 "exampleMetadata": "fixture=_generated"
438 }
439 },
440 "fqn": "@aws-cdk/aws-cloudwatch.AlarmActionConfig",
441 "kind": "interface",
442 "locationInModule": {
443 "filename": "lib/alarm-action.ts",
444 "line": 24
445 },
446 "name": "AlarmActionConfig",
447 "properties": [
448 {
449 "abstract": true,
450 "docs": {
451 "stability": "stable",
452 "summary": "Return the ARN that should be used for a CloudWatch Alarm action."
453 },
454 "immutable": true,
455 "locationInModule": {
456 "filename": "lib/alarm-action.ts",
457 "line": 28
458 },
459 "name": "alarmActionArn",
460 "type": {
461 "primitive": "string"
462 }
463 }
464 ],
465 "symbolId": "lib/alarm-action:AlarmActionConfig"
466 },
467 "@aws-cdk/aws-cloudwatch.AlarmBase": {
468 "abstract": true,
469 "assembly": "@aws-cdk/aws-cloudwatch",
470 "base": "@aws-cdk/core.Resource",
471 "docs": {
472 "stability": "stable",
473 "summary": "The base class for Alarm and CompositeAlarm resources."
474 },
475 "fqn": "@aws-cdk/aws-cloudwatch.AlarmBase",
476 "initializer": {
477 "docs": {
478 "stability": "stable"
479 },
480 "locationInModule": {
481 "filename": "lib/resource.ts",
482 "line": 150
483 },
484 "parameters": [
485 {
486 "name": "scope",
487 "type": {
488 "fqn": "constructs.Construct"
489 }
490 },
491 {
492 "name": "id",
493 "type": {
494 "primitive": "string"
495 }
496 },
497 {
498 "name": "props",
499 "optional": true,
500 "type": {
501 "fqn": "@aws-cdk/core.ResourceProps"
502 }
503 }
504 ]
505 },
506 "interfaces": [
507 "@aws-cdk/aws-cloudwatch.IAlarm"
508 ],
509 "kind": "class",
510 "locationInModule": {
511 "filename": "lib/alarm-base.ts",
512 "line": 38
513 },
514 "methods": [
515 {
516 "docs": {
517 "remarks": "Typically the ARN of an SNS topic or ARN of an AutoScaling policy.",
518 "stability": "stable",
519 "summary": "Trigger this action if the alarm fires."
520 },
521 "locationInModule": {
522 "filename": "lib/alarm-base.ts",
523 "line": 62
524 },
525 "name": "addAlarmAction",
526 "parameters": [
527 {
528 "name": "actions",
529 "type": {
530 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmAction"
531 },
532 "variadic": true
533 }
534 ],
535 "variadic": true
536 },
537 {
538 "docs": {
539 "remarks": "Typically the ARN of an SNS topic or ARN of an AutoScaling policy.",
540 "stability": "stable",
541 "summary": "Trigger this action if there is insufficient data to evaluate the alarm."
542 },
543 "locationInModule": {
544 "filename": "lib/alarm-base.ts",
545 "line": 75
546 },
547 "name": "addInsufficientDataAction",
548 "parameters": [
549 {
550 "name": "actions",
551 "type": {
552 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmAction"
553 },
554 "variadic": true
555 }
556 ],
557 "variadic": true
558 },
559 {
560 "docs": {
561 "remarks": "Typically the ARN of an SNS topic or ARN of an AutoScaling policy.",
562 "stability": "stable",
563 "summary": "Trigger this action if the alarm returns from breaching state into ok state."
564 },
565 "locationInModule": {
566 "filename": "lib/alarm-base.ts",
567 "line": 88
568 },
569 "name": "addOkAction",
570 "parameters": [
571 {
572 "name": "actions",
573 "type": {
574 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmAction"
575 },
576 "variadic": true
577 }
578 ],
579 "variadic": true
580 },
581 {
582 "docs": {
583 "stability": "stable",
584 "summary": "AlarmRule indicating ALARM state for Alarm."
585 },
586 "locationInModule": {
587 "filename": "lib/alarm-base.ts",
588 "line": 53
589 },
590 "name": "renderAlarmRule",
591 "overrides": "@aws-cdk/aws-cloudwatch.IAlarmRule",
592 "returns": {
593 "type": {
594 "primitive": "string"
595 }
596 }
597 }
598 ],
599 "name": "AlarmBase",
600 "properties": [
601 {
602 "abstract": true,
603 "docs": {
604 "custom": {
605 "attribute": "true"
606 },
607 "stability": "stable",
608 "summary": "Alarm ARN (i.e. arn:aws:cloudwatch:<region>:<account-id>:alarm:Foo)."
609 },
610 "immutable": true,
611 "locationInModule": {
612 "filename": "lib/alarm-base.ts",
613 "line": 43
614 },
615 "name": "alarmArn",
616 "overrides": "@aws-cdk/aws-cloudwatch.IAlarm",
617 "type": {
618 "primitive": "string"
619 }
620 },
621 {
622 "abstract": true,
623 "docs": {
624 "stability": "stable",
625 "summary": "Name of the alarm."
626 },
627 "immutable": true,
628 "locationInModule": {
629 "filename": "lib/alarm-base.ts",
630 "line": 44
631 },
632 "name": "alarmName",
633 "overrides": "@aws-cdk/aws-cloudwatch.IAlarm",
634 "type": {
635 "primitive": "string"
636 }
637 },
638 {
639 "docs": {
640 "stability": "stable"
641 },
642 "locationInModule": {
643 "filename": "lib/alarm-base.ts",
644 "line": 46
645 },
646 "name": "alarmActionArns",
647 "optional": true,
648 "protected": true,
649 "type": {
650 "collection": {
651 "elementtype": {
652 "primitive": "string"
653 },
654 "kind": "array"
655 }
656 }
657 },
658 {
659 "docs": {
660 "stability": "stable"
661 },
662 "locationInModule": {
663 "filename": "lib/alarm-base.ts",
664 "line": 47
665 },
666 "name": "insufficientDataActionArns",
667 "optional": true,
668 "protected": true,
669 "type": {
670 "collection": {
671 "elementtype": {
672 "primitive": "string"
673 },
674 "kind": "array"
675 }
676 }
677 },
678 {
679 "docs": {
680 "stability": "stable"
681 },
682 "locationInModule": {
683 "filename": "lib/alarm-base.ts",
684 "line": 48
685 },
686 "name": "okActionArns",
687 "optional": true,
688 "protected": true,
689 "type": {
690 "collection": {
691 "elementtype": {
692 "primitive": "string"
693 },
694 "kind": "array"
695 }
696 }
697 }
698 ],
699 "symbolId": "lib/alarm-base:AlarmBase"
700 },
701 "@aws-cdk/aws-cloudwatch.AlarmProps": {
702 "assembly": "@aws-cdk/aws-cloudwatch",
703 "datatype": true,
704 "docs": {
705 "custom": {
706 "exampleMetadata": "infused"
707 },
708 "example": "import * as cloudwatch from '@aws-cdk/aws-cloudwatch';\n\ndeclare const alias: lambda.Alias;\nconst alarm = new cloudwatch.Alarm(this, 'Errors', {\n comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,\n threshold: 1,\n evaluationPeriods: 1,\n metric: alias.metricErrors(),\n});\nconst deploymentGroup = new codedeploy.LambdaDeploymentGroup(this, 'BlueGreenDeployment', {\n alias,\n deploymentConfig: codedeploy.LambdaDeploymentConfig.LINEAR_10PERCENT_EVERY_1MINUTE,\n alarms: [\n // pass some alarms when constructing the deployment group\n alarm,\n ],\n});\n\n// or add alarms to an existing group\ndeclare const blueGreenAlias: lambda.Alias;\ndeploymentGroup.addAlarm(new cloudwatch.Alarm(this, 'BlueGreenErrors', {\n comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,\n threshold: 1,\n evaluationPeriods: 1,\n metric: blueGreenAlias.metricErrors(),\n}));",
709 "stability": "stable",
710 "summary": "Properties for Alarms."
711 },
712 "fqn": "@aws-cdk/aws-cloudwatch.AlarmProps",
713 "interfaces": [
714 "@aws-cdk/aws-cloudwatch.CreateAlarmOptions"
715 ],
716 "kind": "interface",
717 "locationInModule": {
718 "filename": "lib/alarm.ts",
719 "line": 17
720 },
721 "name": "AlarmProps",
722 "properties": [
723 {
724 "abstract": true,
725 "docs": {
726 "remarks": "Metric objects can be obtained from most resources, or you can construct\ncustom Metric objects by instantiating one.",
727 "stability": "stable",
728 "summary": "The metric to add the alarm on."
729 },
730 "immutable": true,
731 "locationInModule": {
732 "filename": "lib/alarm.ts",
733 "line": 24
734 },
735 "name": "metric",
736 "type": {
737 "fqn": "@aws-cdk/aws-cloudwatch.IMetric"
738 }
739 }
740 ],
741 "symbolId": "lib/alarm:AlarmProps"
742 },
743 "@aws-cdk/aws-cloudwatch.AlarmRule": {
744 "assembly": "@aws-cdk/aws-cloudwatch",
745 "docs": {
746 "custom": {
747 "exampleMetadata": "infused"
748 },
749 "example": "declare const alarm1: cloudwatch.Alarm;\ndeclare const alarm2: cloudwatch.Alarm;\ndeclare const alarm3: cloudwatch.Alarm;\ndeclare const alarm4: cloudwatch.Alarm;\n\nconst alarmRule = cloudwatch.AlarmRule.anyOf(\n cloudwatch.AlarmRule.allOf(\n cloudwatch.AlarmRule.anyOf(\n alarm1,\n cloudwatch.AlarmRule.fromAlarm(alarm2, cloudwatch.AlarmState.OK),\n alarm3,\n ),\n cloudwatch.AlarmRule.not(cloudwatch.AlarmRule.fromAlarm(alarm4, cloudwatch.AlarmState.INSUFFICIENT_DATA)),\n ),\n cloudwatch.AlarmRule.fromBoolean(false),\n);\n\nnew cloudwatch.CompositeAlarm(this, 'MyAwesomeCompositeAlarm', {\n alarmRule,\n});",
750 "stability": "stable",
751 "summary": "Class with static functions to build AlarmRule for Composite Alarms."
752 },
753 "fqn": "@aws-cdk/aws-cloudwatch.AlarmRule",
754 "initializer": {
755 "docs": {
756 "stability": "stable"
757 }
758 },
759 "kind": "class",
760 "locationInModule": {
761 "filename": "lib/alarm-rule.ts",
762 "line": 39
763 },
764 "methods": [
765 {
766 "docs": {
767 "stability": "stable",
768 "summary": "function to join all provided AlarmRules with AND operator."
769 },
770 "locationInModule": {
771 "filename": "lib/alarm-rule.ts",
772 "line": 46
773 },
774 "name": "allOf",
775 "parameters": [
776 {
777 "docs": {
778 "summary": "IAlarmRules to be joined with AND operator."
779 },
780 "name": "operands",
781 "type": {
782 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmRule"
783 },
784 "variadic": true
785 }
786 ],
787 "returns": {
788 "type": {
789 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmRule"
790 }
791 },
792 "static": true,
793 "variadic": true
794 },
795 {
796 "docs": {
797 "stability": "stable",
798 "summary": "function to join all provided AlarmRules with OR operator."
799 },
800 "locationInModule": {
801 "filename": "lib/alarm-rule.ts",
802 "line": 55
803 },
804 "name": "anyOf",
805 "parameters": [
806 {
807 "docs": {
808 "summary": "IAlarmRules to be joined with OR operator."
809 },
810 "name": "operands",
811 "type": {
812 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmRule"
813 },
814 "variadic": true
815 }
816 ],
817 "returns": {
818 "type": {
819 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmRule"
820 }
821 },
822 "static": true,
823 "variadic": true
824 },
825 {
826 "docs": {
827 "stability": "stable",
828 "summary": "function to build Rule Expression for given IAlarm and AlarmState."
829 },
830 "locationInModule": {
831 "filename": "lib/alarm-rule.ts",
832 "line": 91
833 },
834 "name": "fromAlarm",
835 "parameters": [
836 {
837 "docs": {
838 "summary": "IAlarm to be used in Rule Expression."
839 },
840 "name": "alarm",
841 "type": {
842 "fqn": "@aws-cdk/aws-cloudwatch.IAlarm"
843 }
844 },
845 {
846 "docs": {
847 "summary": "AlarmState to be used in Rule Expression."
848 },
849 "name": "alarmState",
850 "type": {
851 "fqn": "@aws-cdk/aws-cloudwatch.AlarmState"
852 }
853 }
854 ],
855 "returns": {
856 "type": {
857 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmRule"
858 }
859 },
860 "static": true
861 },
862 {
863 "docs": {
864 "stability": "stable",
865 "summary": "function to build TRUE/FALSE intent for Rule Expression."
866 },
867 "locationInModule": {
868 "filename": "lib/alarm-rule.ts",
869 "line": 77
870 },
871 "name": "fromBoolean",
872 "parameters": [
873 {
874 "docs": {
875 "summary": "boolean value to be used in rule expression."
876 },
877 "name": "value",
878 "type": {
879 "primitive": "boolean"
880 }
881 }
882 ],
883 "returns": {
884 "type": {
885 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmRule"
886 }
887 },
888 "static": true
889 },
890 {
891 "docs": {
892 "stability": "stable",
893 "summary": "function to build Rule Expression for given Alarm Rule string."
894 },
895 "locationInModule": {
896 "filename": "lib/alarm-rule.ts",
897 "line": 104
898 },
899 "name": "fromString",
900 "parameters": [
901 {
902 "docs": {
903 "summary": "string to be used in Rule Expression."
904 },
905 "name": "alarmRule",
906 "type": {
907 "primitive": "string"
908 }
909 }
910 ],
911 "returns": {
912 "type": {
913 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmRule"
914 }
915 },
916 "static": true
917 },
918 {
919 "docs": {
920 "stability": "stable",
921 "summary": "function to wrap provided AlarmRule in NOT operator."
922 },
923 "locationInModule": {
924 "filename": "lib/alarm-rule.ts",
925 "line": 64
926 },
927 "name": "not",
928 "parameters": [
929 {
930 "docs": {
931 "summary": "IAlarmRule to be wrapped in NOT operator."
932 },
933 "name": "operand",
934 "type": {
935 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmRule"
936 }
937 }
938 ],
939 "returns": {
940 "type": {
941 "fqn": "@aws-cdk/aws-cloudwatch.IAlarmRule"
942 }
943 },
944 "static": true
945 }
946 ],
947 "name": "AlarmRule",
948 "symbolId": "lib/alarm-rule:AlarmRule"
949 },
950 "@aws-cdk/aws-cloudwatch.AlarmState": {
951 "assembly": "@aws-cdk/aws-cloudwatch",
952 "docs": {
953 "custom": {
954 "exampleMetadata": "infused"
955 },
956 "example": "declare const dashboard: cloudwatch.Dashboard;\ndeclare const errorAlarm: cloudwatch.Alarm;\n\ndashboard.addWidgets(new cloudwatch.AlarmStatusWidget({\n title: \"Errors\",\n alarms: [errorAlarm],\n sortBy: cloudwatch.AlarmStatusWidgetSortBy.STATE_UPDATED_TIMESTAMP,\n states: [cloudwatch.AlarmState.ALARM],\n}));",
957 "stability": "stable",
958 "summary": "Enumeration indicates state of Alarm used in building Alarm Rule."
959 },
960 "fqn": "@aws-cdk/aws-cloudwatch.AlarmState",
961 "kind": "enum",
962 "locationInModule": {
963 "filename": "lib/alarm-rule.ts",
964 "line": 6
965 },
966 "members": [
967 {
968 "docs": {
969 "stability": "stable",
970 "summary": "State indicates resource is in ALARM."
971 },
972 "name": "ALARM"
973 },
974 {
975 "docs": {
976 "stability": "stable",
977 "summary": "State indicates resource is not in ALARM."
978 },
979 "name": "OK"
980 },
981 {
982 "docs": {
983 "stability": "stable",
984 "summary": "State indicates there is not enough data to determine is resource is in ALARM."
985 },
986 "name": "INSUFFICIENT_DATA"
987 }
988 ],
989 "name": "AlarmState",
990 "symbolId": "lib/alarm-rule:AlarmState"
991 },
992 "@aws-cdk/aws-cloudwatch.AlarmStatusWidget": {
993 "assembly": "@aws-cdk/aws-cloudwatch",
994 "base": "@aws-cdk/aws-cloudwatch.ConcreteWidget",
995 "docs": {
996 "custom": {
997 "exampleMetadata": "infused"
998 },
999 "example": "declare const dashboard: cloudwatch.Dashboard;\ndeclare const errorAlarm: cloudwatch.Alarm;\n\ndashboard.addWidgets(\n new cloudwatch.AlarmStatusWidget({\n alarms: [errorAlarm],\n })\n);",
1000 "stability": "stable",
1001 "summary": "A dashboard widget that displays alarms in a grid view."
1002 },
1003 "fqn": "@aws-cdk/aws-cloudwatch.AlarmStatusWidget",
1004 "initializer": {
1005 "docs": {
1006 "stability": "stable"
1007 },
1008 "locationInModule": {
1009 "filename": "lib/alarm-status-widget.ts",
1010 "line": 83
1011 },
1012 "parameters": [
1013 {
1014 "name": "props",
1015 "type": {
1016 "fqn": "@aws-cdk/aws-cloudwatch.AlarmStatusWidgetProps"
1017 }
1018 }
1019 ]
1020 },
1021 "kind": "class",
1022 "locationInModule": {
1023 "filename": "lib/alarm-status-widget.ts",
1024 "line": 80
1025 },
1026 "methods": [
1027 {
1028 "docs": {
1029 "stability": "stable",
1030 "summary": "Place the widget at a given position."
1031 },
1032 "locationInModule": {
1033 "filename": "lib/alarm-status-widget.ts",
1034 "line": 88
1035 },
1036 "name": "position",
1037 "overrides": "@aws-cdk/aws-cloudwatch.ConcreteWidget",
1038 "parameters": [
1039 {
1040 "name": "x",
1041 "type": {
1042 "primitive": "number"
1043 }
1044 },
1045 {
1046 "name": "y",
1047 "type": {
1048 "primitive": "number"
1049 }
1050 }
1051 ]
1052 },
1053 {
1054 "docs": {
1055 "stability": "stable",
1056 "summary": "Return the widget JSON for use in the dashboard."
1057 },
1058 "locationInModule": {
1059 "filename": "lib/alarm-status-widget.ts",
1060 "line": 93
1061 },
1062 "name": "toJson",
1063 "overrides": "@aws-cdk/aws-cloudwatch.ConcreteWidget",
1064 "returns": {
1065 "type": {
1066 "collection": {
1067 "elementtype": {
1068 "primitive": "any"
1069 },
1070 "kind": "array"
1071 }
1072 }
1073 }
1074 }
1075 ],
1076 "name": "AlarmStatusWidget",
1077 "symbolId": "lib/alarm-status-widget:AlarmStatusWidget"
1078 },
1079 "@aws-cdk/aws-cloudwatch.AlarmStatusWidgetProps": {
1080 "assembly": "@aws-cdk/aws-cloudwatch",
1081 "datatype": true,
1082 "docs": {
1083 "custom": {
1084 "exampleMetadata": "infused"
1085 },
1086 "example": "declare const dashboard: cloudwatch.Dashboard;\ndeclare const errorAlarm: cloudwatch.Alarm;\n\ndashboard.addWidgets(\n new cloudwatch.AlarmStatusWidget({\n alarms: [errorAlarm],\n })\n);",
1087 "stability": "stable",
1088 "summary": "Properties for an Alarm Status Widget."
1089 },
1090 "fqn": "@aws-cdk/aws-cloudwatch.AlarmStatusWidgetProps",
1091 "kind": "interface",
1092 "locationInModule": {
1093 "filename": "lib/alarm-status-widget.ts",
1094 "line": 34
1095 },
1096 "name": "AlarmStatusWidgetProps",
1097 "properties": [
1098 {
1099 "abstract": true,
1100 "docs": {
1101 "stability": "stable",
1102 "summary": "CloudWatch Alarms to show in widget."
1103 },
1104 "immutable": true,
1105 "locationInModule": {
1106 "filename": "lib/alarm-status-widget.ts",
1107 "line": 38
1108 },
1109 "name": "alarms",
1110 "type": {
1111 "collection": {
1112 "elementtype": {
1113 "fqn": "@aws-cdk/aws-cloudwatch.IAlarm"
1114 },
1115 "kind": "array"
1116 }
1117 }
1118 },
1119 {
1120 "abstract": true,
1121 "docs": {
1122 "default": "3",
1123 "stability": "stable",
1124 "summary": "Height of the widget."
1125 },
1126 "immutable": true,
1127 "locationInModule": {
1128 "filename": "lib/alarm-status-widget.ts",
1129 "line": 56
1130 },
1131 "name": "height",
1132 "optional": true,
1133 "type": {
1134 "primitive": "number"
1135 }
1136 },
1137 {
1138 "abstract": true,
1139 "docs": {
1140 "default": "- alphabetical order",
1141 "stability": "stable",
1142 "summary": "Specifies how to sort the alarms in the widget."
1143 },
1144 "immutable": true,
1145 "locationInModule": {
1146 "filename": "lib/alarm-status-widget.ts",
1147 "line": 63
1148 },
1149 "name": "sortBy",
1150 "optional": true,
1151 "type": {
1152 "fqn": "@aws-cdk/aws-cloudwatch.AlarmStatusWidgetSortBy"
1153 }
1154 },
1155 {
1156 "abstract": true,
1157 "docs": {
1158 "default": "- all the alarms specified in alarms are displayed.",
1159 "remarks": "You can specify one or more alarm states in the value for this field.\nThe alarm states that you can specify are ALARM, INSUFFICIENT_DATA, and OK.\n\nIf you omit this field or specify an empty array, all the alarms specifed in alarms are displayed.",
1160 "stability": "stable",
1161 "summary": "Use this field to filter the list of alarms displayed in the widget to only those alarms currently in the specified states."
1162 },
1163 "immutable": true,
1164 "locationInModule": {
1165 "filename": "lib/alarm-status-widget.ts",
1166 "line": 74
1167 },
1168 "name": "states",
1169 "optional": true,
1170 "type": {
1171 "collection": {
1172 "elementtype": {
1173 "fqn": "@aws-cdk/aws-cloudwatch.AlarmState"
1174 },
1175 "kind": "array"
1176 }
1177 }
1178 },
1179 {
1180 "abstract": true,
1181 "docs": {
1182 "default": "'Alarm Status'",
1183 "stability": "stable",
1184 "summary": "The title of the widget."
1185 },
1186 "immutable": true,
1187 "locationInModule": {
1188 "filename": "lib/alarm-status-widget.ts",
1189 "line": 44
1190 },
1191 "name": "title",
1192 "optional": true,
1193 "type": {
1194 "primitive": "string"
1195 }
1196 },
1197 {
1198 "abstract": true,
1199 "docs": {
1200 "default": "6",
1201 "stability": "stable",
1202 "summary": "Width of the widget, in a grid of 24 units wide."
1203 },
1204 "immutable": true,
1205 "locationInModule": {
1206 "filename": "lib/alarm-status-widget.ts",
1207 "line": 50
1208 },
1209 "name": "width",
1210 "optional": true,
1211 "type": {
1212 "primitive": "number"
1213 }
1214 }
1215 ],
1216 "symbolId": "lib/alarm-status-widget:AlarmStatusWidgetProps"
1217 },
1218 "@aws-cdk/aws-cloudwatch.AlarmStatusWidgetSortBy": {
1219 "assembly": "@aws-cdk/aws-cloudwatch",
1220 "docs": {
1221 "custom": {
1222 "exampleMetadata": "infused"
1223 },
1224 "example": "declare const dashboard: cloudwatch.Dashboard;\ndeclare const errorAlarm: cloudwatch.Alarm;\n\ndashboard.addWidgets(new cloudwatch.AlarmStatusWidget({\n title: \"Errors\",\n alarms: [errorAlarm],\n sortBy: cloudwatch.AlarmStatusWidgetSortBy.STATE_UPDATED_TIMESTAMP,\n states: [cloudwatch.AlarmState.ALARM],\n}));",
1225 "stability": "stable",
1226 "summary": "The sort possibilities for AlarmStatusWidgets."
1227 },
1228 "fqn": "@aws-cdk/aws-cloudwatch.AlarmStatusWidgetSortBy",
1229 "kind": "enum",
1230 "locationInModule": {
1231 "filename": "lib/alarm-status-widget.ts",
1232 "line": 9
1233 },
1234 "members": [
1235 {
1236 "docs": {
1237 "stability": "stable",
1238 "summary": "Choose DEFAULT to sort them in alphabetical order by alarm name."
1239 },
1240 "name": "DEFAULT"
1241 },
1242 {
1243 "docs": {
1244 "remarks": "Within each group, the alarms are sorted by when they last changed state, with more recent state changes listed first.",
1245 "stability": "stable",
1246 "summary": "Choose STATE_UPDATED_TIMESTAMP to sort them first by alarm state, with alarms in ALARM state first, INSUFFICIENT_DATA alarms next, and OK alarms last."
1247 },
1248 "name": "STATE_UPDATED_TIMESTAMP"
1249 },
1250 {
1251 "docs": {
1252 "remarks": "The alarm that changed state most recently is listed first.",
1253 "stability": "stable",
1254 "summary": "Choose TIMESTAMP to sort them by the time when the alarms most recently changed state, no matter the current alarm state."
1255 },
1256 "name": "TIMESTAMP"
1257 }
1258 ],
1259 "name": "AlarmStatusWidgetSortBy",
1260 "symbolId": "lib/alarm-status-widget:AlarmStatusWidgetSortBy"
1261 },
1262 "@aws-cdk/aws-cloudwatch.AlarmWidget": {
1263 "assembly": "@aws-cdk/aws-cloudwatch",
1264 "base": "@aws-cdk/aws-cloudwatch.ConcreteWidget",
1265 "docs": {
1266 "custom": {
1267 "exampleMetadata": "infused"
1268 },
1269 "example": "declare const dashboard: cloudwatch.Dashboard;\ndeclare const errorAlarm: cloudwatch.Alarm;\n\ndashboard.addWidgets(new cloudwatch.AlarmWidget({\n title: \"Errors\",\n alarm: errorAlarm,\n}));",
1270 "stability": "stable",
1271 "summary": "Display the metric associated with an alarm, including the alarm line."
1272 },
1273 "fqn": "@aws-cdk/aws-cloudwatch.AlarmWidget",
1274 "initializer": {
1275 "docs": {
1276 "stability": "stable"
1277 },
1278 "locationInModule": {
1279 "filename": "lib/graph.ts",
1280 "line": 97
1281 },
1282 "parameters": [
1283 {
1284 "name": "props",
1285 "type": {
1286 "fqn": "@aws-cdk/aws-cloudwatch.AlarmWidgetProps"
1287 }
1288 }
1289 ]
1290 },
1291 "kind": "class",
1292 "locationInModule": {
1293 "filename": "lib/graph.ts",
1294 "line": 94
1295 },
1296 "methods": [
1297 {
1298 "docs": {
1299 "stability": "stable",
1300 "summary": "Return the widget JSON for use in the dashboard."
1301 },
1302 "locationInModule": {
1303 "filename": "lib/graph.ts",
1304 "line": 102
1305 },
1306 "name": "toJson",
1307 "overrides": "@aws-cdk/aws-cloudwatch.ConcreteWidget",
1308 "returns": {
1309 "type": {
1310 "collection": {
1311 "elementtype": {
1312 "primitive": "any"
1313 },
1314 "kind": "array"
1315 }
1316 }
1317 }
1318 }
1319 ],
1320 "name": "AlarmWidget",
1321 "symbolId": "lib/graph:AlarmWidget"
1322 },
1323 "@aws-cdk/aws-cloudwatch.AlarmWidgetProps": {
1324 "assembly": "@aws-cdk/aws-cloudwatch",
1325 "datatype": true,
1326 "docs": {
1327 "custom": {
1328 "exampleMetadata": "infused"
1329 },
1330 "example": "declare const dashboard: cloudwatch.Dashboard;\ndeclare const errorAlarm: cloudwatch.Alarm;\n\ndashboard.addWidgets(new cloudwatch.AlarmWidget({\n title: \"Errors\",\n alarm: errorAlarm,\n}));",
1331 "stability": "stable",
1332 "summary": "Properties for an AlarmWidget."
1333 },
1334 "fqn": "@aws-cdk/aws-cloudwatch.AlarmWidgetProps",
1335 "interfaces": [
1336 "@aws-cdk/aws-cloudwatch.MetricWidgetProps"
1337 ],
1338 "kind": "interface",
1339 "locationInModule": {
1340 "filename": "lib/graph.ts",
1341 "line": 77
1342 },
1343 "name": "AlarmWidgetProps",
1344 "properties": [
1345 {
1346 "abstract": true,
1347 "docs": {
1348 "stability": "stable",
1349 "summary": "The alarm to show."
1350 },
1351 "immutable": true,
1352 "locationInModule": {
1353 "filename": "lib/graph.ts",
1354 "line": 81
1355 },
1356 "name": "alarm",
1357 "type": {
1358 "fqn": "@aws-cdk/aws-cloudwatch.IAlarm"
1359 }
1360 },
1361 {
1362 "abstract": true,
1363 "docs": {
1364 "default": "- No minimum or maximum values for the left Y-axis",
1365 "stability": "stable",
1366 "summary": "Left Y axis."
1367 },
1368 "immutable": true,
1369 "locationInModule": {
1370 "filename": "lib/graph.ts",
1371 "line": 88
1372 },
1373 "name": "leftYAxis",
1374 "optional": true,
1375 "type": {
1376 "fqn": "@aws-cdk/aws-cloudwatch.YAxisProps"
1377 }
1378 }
1379 ],
1380 "symbolId": "lib/graph:AlarmWidgetProps"
1381 },
1382 "@aws-cdk/aws-cloudwatch.CfnAlarm": {
1383 "assembly": "@aws-cdk/aws-cloudwatch",
1384 "base": "@aws-cdk/core.CfnResource",
1385 "docs": {
1386 "custom": {
1387 "cloudformationResource": "AWS::CloudWatch::Alarm",
1388 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html",
1389 "exampleMetadata": "fixture=_generated"
1390 },
1391 "remarks": "The `AWS::CloudWatch::Alarm` type specifies an alarm and associates it with the specified metric or metric math expression.\n\nWhen this operation creates an alarm, the alarm state is immediately set to `INSUFFICIENT_DATA` . The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.\n\nWhen you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.",
1392 "stability": "external",
1393 "summary": "A CloudFormation `AWS::CloudWatch::Alarm`.",
1394 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudwatch from '@aws-cdk/aws-cloudwatch';\nconst cfnAlarm = new cloudwatch.CfnAlarm(this, 'MyCfnAlarm', {\n comparisonOperator: 'comparisonOperator',\n evaluationPeriods: 123,\n\n // the properties below are optional\n actionsEnabled: false,\n alarmActions: ['alarmActions'],\n alarmDescription: 'alarmDescription',\n alarmName: 'alarmName',\n datapointsToAlarm: 123,\n dimensions: [{\n name: 'name',\n value: 'value',\n }],\n evaluateLowSampleCountPercentile: 'evaluateLowSampleCountPercentile',\n extendedStatistic: 'extendedStatistic',\n insufficientDataActions: ['insufficientDataActions'],\n metricName: 'metricName',\n metrics: [{\n id: 'id',\n\n // the properties below are optional\n accountId: 'accountId',\n expression: 'expression',\n label: 'label',\n metricStat: {\n metric: {\n dimensions: [{\n name: 'name',\n value: 'value',\n }],\n metricName: 'metricName',\n namespace: 'namespace',\n },\n period: 123,\n stat: 'stat',\n\n // the properties below are optional\n unit: 'unit',\n },\n period: 123,\n returnData: false,\n }],\n namespace: 'namespace',\n okActions: ['okActions'],\n period: 123,\n statistic: 'statistic',\n threshold: 123,\n thresholdMetricId: 'thresholdMetricId',\n treatMissingData: 'treatMissingData',\n unit: 'unit',\n});"
1395 },
1396 "fqn": "@aws-cdk/aws-cloudwatch.CfnAlarm",
1397 "initializer": {
1398 "docs": {
1399 "stability": "external",
1400 "summary": "Create a new `AWS::CloudWatch::Alarm`."
1401 },
1402 "locationInModule": {
1403 "filename": "lib/cloudwatch.generated.ts",
1404 "line": 531
1405 },
1406 "parameters": [
1407 {
1408 "docs": {
1409 "summary": "- scope in which this resource is defined."
1410 },
1411 "name": "scope",
1412 "type": {
1413 "fqn": "@aws-cdk/core.Construct"
1414 }
1415 },
1416 {
1417 "docs": {
1418 "summary": "- scoped id of the resource."
1419 },
1420 "name": "id",
1421 "type": {
1422 "primitive": "string"
1423 }
1424 },
1425 {
1426 "docs": {
1427 "summary": "- resource properties."
1428 },
1429 "name": "props",
1430 "type": {
1431 "fqn": "@aws-cdk/aws-cloudwatch.CfnAlarmProps"
1432 }
1433 }
1434 ]
1435 },
1436 "interfaces": [
1437 "@aws-cdk/core.IInspectable"
1438 ],
1439 "kind": "class",
1440 "locationInModule": {
1441 "filename": "lib/cloudwatch.generated.ts",
1442 "line": 318
1443 },
1444 "methods": [
1445 {
1446 "docs": {
1447 "stability": "external",
1448 "summary": "Examines the CloudFormation resource and discloses attributes."
1449 },
1450 "locationInModule": {
1451 "filename": "lib/cloudwatch.generated.ts",
1452 "line": 566
1453 },
1454 "name": "inspect",
1455 "overrides": "@aws-cdk/core.IInspectable",
1456 "parameters": [
1457 {
1458 "docs": {
1459 "summary": "- tree inspector to collect and process attributes."
1460 },
1461 "name": "inspector",
1462 "type": {
1463 "fqn": "@aws-cdk/core.TreeInspector"
1464 }
1465 }
1466 ]
1467 },
1468 {
1469 "docs": {
1470 "stability": "external"
1471 },
1472 "locationInModule": {
1473 "filename": "lib/cloudwatch.generated.ts",
1474 "line": 597
1475 },
1476 "name": "renderProperties",
1477 "overrides": "@aws-cdk/core.CfnResource",
1478 "parameters": [
1479 {
1480 "name": "props",
1481 "type": {
1482 "collection": {
1483 "elementtype": {
1484 "primitive": "any"
1485 },
1486 "kind": "map"
1487 }
1488 }
1489 }
1490 ],
1491 "protected": true,
1492 "returns": {
1493 "type": {
1494 "collection": {
1495 "elementtype": {
1496 "primitive": "any"
1497 },
1498 "kind": "map"
1499 }
1500 }
1501 }
1502 }
1503 ],
1504 "name": "CfnAlarm",
1505 "properties": [
1506 {
1507 "const": true,
1508 "docs": {
1509 "stability": "external",
1510 "summary": "The CloudFormation resource type name for this resource class."
1511 },
1512 "immutable": true,
1513 "locationInModule": {
1514 "filename": "lib/cloudwatch.generated.ts",
1515 "line": 322
1516 },
1517 "name": "CFN_RESOURCE_TYPE_NAME",
1518 "static": true,
1519 "type": {
1520 "primitive": "string"
1521 }
1522 },
1523 {
1524 "docs": {
1525 "custom": {
1526 "cloudformationAttribute": "Arn"
1527 },
1528 "stability": "external",
1529 "summary": "The ARN of the CloudWatch alarm, such as `arn:aws:cloudwatch:us-west-2:123456789012:alarm:myCloudWatchAlarm-CPUAlarm-UXMMZK36R55Z` ."
1530 },
1531 "immutable": true,
1532 "locationInModule": {
1533 "filename": "lib/cloudwatch.generated.ts",
1534 "line": 347
1535 },
1536 "name": "attrArn",
1537 "type": {
1538 "primitive": "string"
1539 }
1540 },
1541 {
1542 "docs": {
1543 "stability": "external"
1544 },
1545 "immutable": true,
1546 "locationInModule": {
1547 "filename": "lib/cloudwatch.generated.ts",
1548 "line": 571
1549 },
1550 "name": "cfnProperties",
1551 "overrides": "@aws-cdk/core.CfnResource",
1552 "protected": true,
1553 "type": {
1554 "collection": {
1555 "elementtype": {
1556 "primitive": "any"
1557 },
1558 "kind": "map"
1559 }
1560 }
1561 },
1562 {
1563 "docs": {
1564 "custom": {
1565 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-comparisonoperator"
1566 },
1567 "remarks": "The specified statistic value is used as the first operand.\n\nYou can specify the following values: `GreaterThanThreshold` , `GreaterThanOrEqualToThreshold` , `LessThanThreshold` , or `LessThanOrEqualToThreshold` .",
1568 "stability": "external",
1569 "summary": "The arithmetic operation to use when comparing the specified statistic and threshold."
1570 },
1571 "locationInModule": {
1572 "filename": "lib/cloudwatch.generated.ts",
1573 "line": 356
1574 },
1575 "name": "comparisonOperator",
1576 "type": {
1577 "primitive": "string"
1578 }
1579 },
1580 {
1581 "docs": {
1582 "custom": {
1583 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-evaluationperiods"
1584 },
1585 "remarks": "If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an \"M out of N\" alarm, this value is the N, and `DatapointsToAlarm` is the M.\n\nFor more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .",
1586 "stability": "external",
1587 "summary": "The number of periods over which data is compared to the specified threshold."
1588 },
1589 "locationInModule": {
1590 "filename": "lib/cloudwatch.generated.ts",
1591 "line": 365
1592 },
1593 "name": "evaluationPeriods",
1594 "type": {
1595 "primitive": "number"
1596 }
1597 },
1598 {
1599 "docs": {
1600 "custom": {
1601 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-actionsenabled"
1602 },
1603 "remarks": "The default is TRUE.",
1604 "stability": "external",
1605 "summary": "Indicates whether actions should be executed during any changes to the alarm state."
1606 },
1607 "locationInModule": {
1608 "filename": "lib/cloudwatch.generated.ts",
1609 "line": 372
1610 },
1611 "name": "actionsEnabled",
1612 "optional": true,
1613 "type": {
1614 "union": {
1615 "types": [
1616 {
1617 "primitive": "boolean"
1618 },
1619 {
1620 "fqn": "@aws-cdk/core.IResolvable"
1621 }
1622 ]
1623 }
1624 }
1625 },
1626 {
1627 "docs": {
1628 "custom": {
1629 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmactions"
1630 },
1631 "remarks": "Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *Amazon CloudWatch API Reference* .",
1632 "stability": "external",
1633 "summary": "The list of actions to execute when this alarm transitions into an ALARM state from any other state."
1634 },
1635 "locationInModule": {
1636 "filename": "lib/cloudwatch.generated.ts",
1637 "line": 379
1638 },
1639 "name": "alarmActions",
1640 "optional": true,
1641 "type": {
1642 "collection": {
1643 "elementtype": {
1644 "primitive": "string"
1645 },
1646 "kind": "array"
1647 }
1648 }
1649 },
1650 {
1651 "docs": {
1652 "custom": {
1653 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmdescription"
1654 },
1655 "stability": "external",
1656 "summary": "The description of the alarm."
1657 },
1658 "locationInModule": {
1659 "filename": "lib/cloudwatch.generated.ts",
1660 "line": 386
1661 },
1662 "name": "alarmDescription",
1663 "optional": true,
1664 "type": {
1665 "primitive": "string"
1666 }
1667 },
1668 {
1669 "docs": {
1670 "custom": {
1671 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmname"
1672 },
1673 "remarks": "If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the alarm name.\n\n> If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.",
1674 "stability": "external",
1675 "summary": "The name of the alarm."
1676 },
1677 "locationInModule": {
1678 "filename": "lib/cloudwatch.generated.ts",
1679 "line": 395
1680 },
1681 "name": "alarmName",
1682 "optional": true,
1683 "type": {
1684 "primitive": "string"
1685 }
1686 },
1687 {
1688 "docs": {
1689 "custom": {
1690 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarm-datapointstoalarm"
1691 },
1692 "remarks": "This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M, and the value that you set for `EvaluationPeriods` is the N value. For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, CloudWatch uses the same value here that you set for `EvaluationPeriods` , and the alarm goes to alarm state if that many consecutive periods are breaching.",
1693 "stability": "external",
1694 "summary": "The number of datapoints that must be breaching to trigger the alarm."
1695 },
1696 "locationInModule": {
1697 "filename": "lib/cloudwatch.generated.ts",
1698 "line": 404
1699 },
1700 "name": "datapointsToAlarm",
1701 "optional": true,
1702 "type": {
1703 "primitive": "number"
1704 }
1705 },
1706 {
1707 "docs": {
1708 "custom": {
1709 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-dimension"
1710 },
1711 "remarks": "For an alarm based on a math expression, you can't specify `Dimensions` . Instead, you use `Metrics` .",
1712 "stability": "external",
1713 "summary": "The dimensions for the metric associated with the alarm."
1714 },
1715 "locationInModule": {
1716 "filename": "lib/cloudwatch.generated.ts",
1717 "line": 411
1718 },
1719 "name": "dimensions",
1720 "optional": true,
1721 "type": {
1722 "union": {
1723 "types": [
1724 {
1725 "fqn": "@aws-cdk/core.IResolvable"
1726 },
1727 {
1728 "collection": {
1729 "elementtype": {
1730 "union": {
1731 "types": [
1732 {
1733 "fqn": "@aws-cdk/core.IResolvable"
1734 },
1735 {
1736 "fqn": "@aws-cdk/aws-cloudwatch.CfnAlarm.DimensionProperty"
1737 }
1738 ]
1739 }
1740 },
1741 "kind": "array"
1742 }
1743 }
1744 ]
1745 }
1746 }
1747 },
1748 {
1749 "docs": {
1750 "custom": {
1751 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-evaluatelowsamplecountpercentile"
1752 },
1753 "remarks": "If `ignore` , the alarm state does not change during periods with too few data points to be statistically significant. If `evaluate` or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.",
1754 "stability": "external",
1755 "summary": "Used only for alarms based on percentiles."
1756 },
1757 "locationInModule": {
1758 "filename": "lib/cloudwatch.generated.ts",
1759 "line": 418
1760 },
1761 "name": "evaluateLowSampleCountPercentile",
1762 "optional": true,
1763 "type": {
1764 "primitive": "string"
1765 }
1766 },
1767 {
1768 "docs": {
1769 "custom": {
1770 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-extendedstatistic"
1771 },
1772 "remarks": "For an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `ExtendedStatistic` . Instead, you use `Metrics` .",
1773 "stability": "external",
1774 "summary": "The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100."
1775 },
1776 "locationInModule": {
1777 "filename": "lib/cloudwatch.generated.ts",
1778 "line": 429
1779 },
1780 "name": "extendedStatistic",
1781 "optional": true,
1782 "type": {
1783 "primitive": "string"
1784 }
1785 },
1786 {
1787 "docs": {
1788 "custom": {
1789 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-insufficientdataactions"
1790 },
1791 "remarks": "Each action is specified as an Amazon Resource Name (ARN).",
1792 "stability": "external",
1793 "summary": "The actions to execute when this alarm transitions to the `INSUFFICIENT_DATA` state from any other state."
1794 },
1795 "locationInModule": {
1796 "filename": "lib/cloudwatch.generated.ts",
1797 "line": 436
1798 },
1799 "name": "insufficientDataActions",
1800 "optional": true,
1801 "type": {
1802 "collection": {
1803 "elementtype": {
1804 "primitive": "string"
1805 },
1806 "kind": "array"
1807 }
1808 }
1809 },
1810 {
1811 "docs": {
1812 "custom": {
1813 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-metricname"
1814 },
1815 "remarks": "This is required for an alarm based on a metric. For an alarm based on a math expression, you use `Metrics` instead and you can't specify `MetricName` .",
1816 "stability": "external",
1817 "summary": "The name of the metric associated with the alarm."
1818 },
1819 "locationInModule": {
1820 "filename": "lib/cloudwatch.generated.ts",
1821 "line": 443
1822 },
1823 "name": "metricName",
1824 "optional": true,
1825 "type": {
1826 "primitive": "string"
1827 }
1828 },
1829 {
1830 "docs": {
1831 "custom": {
1832 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarm-metrics"
1833 },
1834 "remarks": "Each item in the array either retrieves a metric or performs a math expression.\n\nIf you specify the `Metrics` parameter, you cannot specify `MetricName` , `Dimensions` , `Period` , `Namespace` , `Statistic` , `ExtendedStatistic` , or `Unit` .",
1835 "stability": "external",
1836 "summary": "An array that enables you to create an alarm based on the result of a metric math expression."
1837 },
1838 "locationInModule": {
1839 "filename": "lib/cloudwatch.generated.ts",
1840 "line": 452
1841 },
1842 "name": "metrics",
1843 "optional": true,
1844 "type": {
1845 "union": {
1846 "types": [
1847 {
1848 "fqn": "@aws-cdk/core.IResolvable"
1849 },
1850 {
1851 "collection": {
1852 "elementtype": {
1853 "union": {
1854 "types": [
1855 {
1856 "fqn": "@aws-cdk/core.IResolvable"
1857 },
1858 {
1859 "fqn": "@aws-cdk/aws-cloudwatch.CfnAlarm.MetricDataQueryProperty"
1860 }
1861 ]
1862 }
1863 },
1864 "kind": "array"
1865 }
1866 }
1867 ]
1868 }
1869 }
1870 },
1871 {
1872 "docs": {
1873 "custom": {
1874 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-namespace"
1875 },
1876 "remarks": "This is required for an alarm based on a metric. For an alarm based on a math expression, you can't specify `Namespace` and you use `Metrics` instead.\n\nFor a list of namespaces for metrics from AWS services, see [AWS Services That Publish CloudWatch Metrics.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)",
1877 "stability": "external",
1878 "summary": "The namespace of the metric associated with the alarm."
1879 },
1880 "locationInModule": {
1881 "filename": "lib/cloudwatch.generated.ts",
1882 "line": 461
1883 },
1884 "name": "namespace",
1885 "optional": true,
1886 "type": {
1887 "primitive": "string"
1888 }
1889 },
1890 {
1891 "docs": {
1892 "custom": {
1893 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-okactions"
1894 },
1895 "remarks": "Each action is specified as an Amazon Resource Name (ARN).",
1896 "stability": "external",
1897 "summary": "The actions to execute when this alarm transitions to the `OK` state from any other state."
1898 },
1899 "locationInModule": {
1900 "filename": "lib/cloudwatch.generated.ts",
1901 "line": 468
1902 },
1903 "name": "okActions",
1904 "optional": true,
1905 "type": {
1906 "collection": {
1907 "elementtype": {
1908 "primitive": "string"
1909 },
1910 "kind": "array"
1911 }
1912 }
1913 },
1914 {
1915 "docs": {
1916 "custom": {
1917 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-period"
1918 },
1919 "remarks": "This is required for an alarm based on a metric. Valid values are 10, 30, 60, and any multiple of 60.\n\nFor an alarm based on a math expression, you can't specify `Period` , and instead you use the `Metrics` parameter.\n\n*Minimum:* 10",
1920 "stability": "external",
1921 "summary": "The period, in seconds, over which the statistic is applied."
1922 },
1923 "locationInModule": {
1924 "filename": "lib/cloudwatch.generated.ts",
1925 "line": 479
1926 },
1927 "name": "period",
1928 "optional": true,
1929 "type": {
1930 "primitive": "number"
1931 }
1932 },
1933 {
1934 "docs": {
1935 "custom": {
1936 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-statistic"
1937 },
1938 "remarks": "For an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.\n\nFor an alarm based on a math expression, you can't specify `Statistic` . Instead, you use `Metrics` .",
1939 "stability": "external",
1940 "summary": "The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use `ExtendedStatistic` ."
1941 },
1942 "locationInModule": {
1943 "filename": "lib/cloudwatch.generated.ts",
1944 "line": 490
1945 },
1946 "name": "statistic",
1947 "optional": true,
1948 "type": {
1949 "primitive": "string"
1950 }
1951 },
1952 {
1953 "docs": {
1954 "custom": {
1955 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-threshold"
1956 },
1957 "stability": "external",
1958 "summary": "The value to compare with the specified statistic."
1959 },
1960 "locationInModule": {
1961 "filename": "lib/cloudwatch.generated.ts",
1962 "line": 497
1963 },
1964 "name": "threshold",
1965 "optional": true,
1966 "type": {
1967 "primitive": "number"
1968 }
1969 },
1970 {
1971 "docs": {
1972 "custom": {
1973 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-dynamic-threshold"
1974 },
1975 "stability": "external",
1976 "summary": "In an alarm based on an anomaly detection model, this is the ID of the `ANOMALY_DETECTION_BAND` function used as the threshold for the alarm."
1977 },
1978 "locationInModule": {
1979 "filename": "lib/cloudwatch.generated.ts",
1980 "line": 504
1981 },
1982 "name": "thresholdMetricId",
1983 "optional": true,
1984 "type": {
1985 "primitive": "string"
1986 }
1987 },
1988 {
1989 "docs": {
1990 "custom": {
1991 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-treatmissingdata"
1992 },
1993 "remarks": "Valid values are `breaching` , `notBreaching` , `ignore` , and `missing` . For more information, see [Configuring How CloudWatch Alarms Treat Missing Data](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) in the *Amazon CloudWatch User Guide* .\n\nIf you omit this parameter, the default behavior of `missing` is used.",
1994 "stability": "external",
1995 "summary": "Sets how this alarm is to handle missing data points."
1996 },
1997 "locationInModule": {
1998 "filename": "lib/cloudwatch.generated.ts",
1999 "line": 513
2000 },
2001 "name": "treatMissingData",
2002 "optional": true,
2003 "type": {
2004 "primitive": "string"
2005 }
2006 },
2007 {
2008 "docs": {
2009 "custom": {
2010 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-unit"
2011 },
2012 "remarks": "Specify this only if you are creating an alarm based on a single metric. Do not specify this if you are specifying a `Metrics` array.\n\nYou can specify the following values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.",
2013 "stability": "external",
2014 "summary": "The unit of the metric associated with the alarm."
2015 },
2016 "locationInModule": {
2017 "filename": "lib/cloudwatch.generated.ts",
2018 "line": 522
2019 },
2020 "name": "unit",
2021 "optional": true,
2022 "type": {
2023 "primitive": "string"
2024 }
2025 }
2026 ],
2027 "symbolId": "lib/cloudwatch.generated:CfnAlarm"
2028 },
2029 "@aws-cdk/aws-cloudwatch.CfnAlarm.DimensionProperty": {
2030 "assembly": "@aws-cdk/aws-cloudwatch",
2031 "datatype": true,
2032 "docs": {
2033 "custom": {
2034 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html",
2035 "exampleMetadata": "fixture=_generated"
2036 },
2037 "remarks": "Dimensions are name/value pairs that can be associated with a CloudWatch metric. You can specify a maximum of 10 dimensions for a given metric.",
2038 "stability": "external",
2039 "summary": "Dimension is an embedded property of the `AWS::CloudWatch::Alarm` type.",
2040 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudwatch from '@aws-cdk/aws-cloudwatch';\nconst dimensionProperty: cloudwatch.CfnAlarm.DimensionProperty = {\n name: 'name',\n value: 'value',\n};"
2041 },
2042 "fqn": "@aws-cdk/aws-cloudwatch.CfnAlarm.DimensionProperty",
2043 "kind": "interface",
2044 "locationInModule": {
2045 "filename": "lib/cloudwatch.generated.ts",
2046 "line": 611
2047 },
2048 "name": "DimensionProperty",
2049 "namespace": "CfnAlarm",
2050 "properties": [
2051 {
2052 "abstract": true,
2053 "docs": {
2054 "custom": {
2055 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html#cfn-cloudwatch-alarm-dimension-name"
2056 },
2057 "remarks": "This dimension name must have been included when the metric was published.",
2058 "stability": "external",
2059 "summary": "The name of the dimension, from 1–255 characters in length."
2060 },
2061 "immutable": true,
2062 "locationInModule": {
2063 "filename": "lib/cloudwatch.generated.ts",
2064 "line": 617
2065 },
2066 "name": "name",
2067 "type": {
2068 "primitive": "string"
2069 }
2070 },
2071 {
2072 "abstract": true,
2073 "docs": {
2074 "custom": {
2075 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html#cfn-cloudwatch-alarm-dimension-value"
2076 },
2077 "stability": "external",
2078 "summary": "The value for the dimension, from 1–255 characters in length."
2079 },
2080 "immutable": true,
2081 "locationInModule": {
2082 "filename": "lib/cloudwatch.generated.ts",
2083 "line": 623
2084 },
2085 "name": "value",
2086 "type": {
2087 "primitive": "string"
2088 }
2089 }
2090 ],
2091 "symbolId": "lib/cloudwatch.generated:CfnAlarm.DimensionProperty"
2092 },
2093 "@aws-cdk/aws-cloudwatch.CfnAlarm.MetricDataQueryProperty": {
2094 "assembly": "@aws-cdk/aws-cloudwatch",
2095 "datatype": true,
2096 "docs": {
2097 "custom": {
2098 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html",
2099 "exampleMetadata": "fixture=_generated"
2100 },
2101 "remarks": "Any expression used must return a single time series. For more information, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .",
2102 "stability": "external",
2103 "summary": "The `MetricDataQuery` property type specifies the metric data to return, and whether this call is just retrieving a batch set of data for one metric, or is performing a math expression on metric data.",
2104 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as cloudwatch from '@aws-cdk/aws-cloudwatch';\nconst metricDataQueryProperty: cloudwatch.CfnAlarm.MetricDataQueryProperty = {\n id: 'id',\n\n // the properties below are optional\n accountId: 'accountId',\n expression: 'expression',\n label: 'label',\n metricStat: {\n metric: {\n dimensions: [{\n name: 'name',\n value: 'value',\n }],\n metricName: 'metricName',\n namespace: 'namespace',\n },\n period: 123,\n stat: 'stat',\n\n // the properties below are optional\n unit: 'unit',\n },\n period: 123,\n returnData: false,\n};"
2105 },
2106 "fqn": "@aws-cdk/aws-cloudwatch.CfnAlarm.MetricDataQueryProperty",
2107 "kind": "interface",
2108 "locationInModule": {
2109 "filename": "lib/cloudwatch.generated.ts",
2110 "line": 776
2111 },
2112 "name": "MetricDataQueryProperty",
2113 "namespace": "CfnAlarm",
2114 "properties": [
2115 {
2116 "abstract": true,
2117 "docs": {
2118 "custom": {
2119 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-id"
2120 },
2121 "remarks": "This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.",
2122 "stability": "external",
2123 "summary": "A short name used to tie this object to the results in the response."
2124 },
2125 "immutable": true,
2126 "locationInModule": {
2127 "filename": "lib/cloudwatch.generated.ts",
2128 "line": 796
2129 },
2130 "name": "id",
2131 "type": {
2132 "primitive": "string"
2133 }
2134 },
2135 {
2136 "abstract": true,
2137 "docs": {
2138 "custom": {
2139 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-accountid"
2140 },
2141 "stability": "external",
2142 "summary": "The ID of the account where the metrics are located, if this is a cross-account alarm."
2143 },
2144 "immutable": true,
2145 "locationInModule": {
2146 "filename": "lib/cloudwatch.generated.ts",
2147 "line": 782