terraconstructs 0.0.8

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.
Files changed (680) hide show
  1. package/.envrc +5 -0
  2. package/.jsii +79780 -0
  3. package/.mise.toml +8 -0
  4. package/.nvmrc +1 -0
  5. package/.terraform-version +1 -0
  6. package/.terraform.d/plugin-cache/.gitignore +5 -0
  7. package/LICENSE +674 -0
  8. package/NOTICE.txt +12 -0
  9. package/README.md +42 -0
  10. package/bun.lockb +0 -0
  11. package/go.mod +158 -0
  12. package/go.sum +1206 -0
  13. package/lib/aws/arn.d.ts +187 -0
  14. package/lib/aws/arn.js +383 -0
  15. package/lib/aws/aws-construct.d.ts +76 -0
  16. package/lib/aws/aws-construct.js +38 -0
  17. package/lib/aws/aws-stack.d.ts +201 -0
  18. package/lib/aws/aws-stack.js +303 -0
  19. package/lib/aws/cloudwatch/actions/ec2.d.ts +35 -0
  20. package/lib/aws/cloudwatch/actions/ec2.js +48 -0
  21. package/lib/aws/cloudwatch/actions/index.d.ts +2 -0
  22. package/lib/aws/cloudwatch/actions/index.js +24 -0
  23. package/lib/aws/cloudwatch/actions/lambda.d.ts +16 -0
  24. package/lib/aws/cloudwatch/actions/lambda.js +48 -0
  25. package/lib/aws/cloudwatch/alarm-action.d.ts +23 -0
  26. package/lib/aws/cloudwatch/alarm-action.js +4 -0
  27. package/lib/aws/cloudwatch/alarm-base.d.ts +84 -0
  28. package/lib/aws/cloudwatch/alarm-base.js +64 -0
  29. package/lib/aws/cloudwatch/alarm-rule.d.ts +61 -0
  30. package/lib/aws/cloudwatch/alarm-rule.js +116 -0
  31. package/lib/aws/cloudwatch/alarm-status-widget.d.ts +77 -0
  32. package/lib/aws/cloudwatch/alarm-status-widget.js +62 -0
  33. package/lib/aws/cloudwatch/alarm.d.ts +158 -0
  34. package/lib/aws/cloudwatch/alarm.js +410 -0
  35. package/lib/aws/cloudwatch/composite-alarm.d.ts +88 -0
  36. package/lib/aws/cloudwatch/composite-alarm.js +98 -0
  37. package/lib/aws/cloudwatch/dashboard.d.ts +137 -0
  38. package/lib/aws/cloudwatch/dashboard.js +141 -0
  39. package/lib/aws/cloudwatch/data-protection-policy.d.ts +184 -0
  40. package/lib/aws/cloudwatch/data-protection-policy.js +246 -0
  41. package/lib/aws/cloudwatch/graph.d.ts +792 -0
  42. package/lib/aws/cloudwatch/graph.js +537 -0
  43. package/lib/aws/cloudwatch/index.d.ts +26 -0
  44. package/lib/aws/cloudwatch/index.js +49 -0
  45. package/lib/aws/cloudwatch/layout.d.ts +89 -0
  46. package/lib/aws/cloudwatch/layout.js +147 -0
  47. package/lib/aws/cloudwatch/log-destinations/index.d.ts +2 -0
  48. package/lib/aws/cloudwatch/log-destinations/index.js +20 -0
  49. package/lib/aws/cloudwatch/log-destinations/kinesis.d.ts +29 -0
  50. package/lib/aws/cloudwatch/log-destinations/kinesis.js +52 -0
  51. package/lib/aws/cloudwatch/log-destinations/lambda.d.ts +22 -0
  52. package/lib/aws/cloudwatch/log-destinations/lambda.js +46 -0
  53. package/lib/aws/cloudwatch/log-group.d.ts +453 -0
  54. package/lib/aws/cloudwatch/log-group.js +350 -0
  55. package/lib/aws/cloudwatch/log-query.d.ts +91 -0
  56. package/lib/aws/cloudwatch/log-query.js +85 -0
  57. package/lib/aws/cloudwatch/log-stream.d.ts +57 -0
  58. package/lib/aws/cloudwatch/log-stream.js +57 -0
  59. package/lib/aws/cloudwatch/metric-filter.d.ts +30 -0
  60. package/lib/aws/cloudwatch/metric-filter.js +69 -0
  61. package/lib/aws/cloudwatch/metric-types.d.ts +407 -0
  62. package/lib/aws/cloudwatch/metric-types.js +151 -0
  63. package/lib/aws/cloudwatch/metric.d.ts +492 -0
  64. package/lib/aws/cloudwatch/metric.js +493 -0
  65. package/lib/aws/cloudwatch/pattern.d.ts +195 -0
  66. package/lib/aws/cloudwatch/pattern.js +412 -0
  67. package/lib/aws/cloudwatch/policy.d.ts +43 -0
  68. package/lib/aws/cloudwatch/policy.js +50 -0
  69. package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.d.ts +14 -0
  70. package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.js +37 -0
  71. package/lib/aws/cloudwatch/private/env-tokens.d.ts +8 -0
  72. package/lib/aws/cloudwatch/private/env-tokens.js +48 -0
  73. package/lib/aws/cloudwatch/private/metric-util.d.ts +60 -0
  74. package/lib/aws/cloudwatch/private/metric-util.js +132 -0
  75. package/lib/aws/cloudwatch/private/object.d.ts +1 -0
  76. package/lib/aws/cloudwatch/private/object.js +18 -0
  77. package/lib/aws/cloudwatch/private/rendering.d.ts +60 -0
  78. package/lib/aws/cloudwatch/private/rendering.js +181 -0
  79. package/lib/aws/cloudwatch/private/statistic.d.ts +51 -0
  80. package/lib/aws/cloudwatch/private/statistic.js +176 -0
  81. package/lib/aws/cloudwatch/query-definition.d.ts +150 -0
  82. package/lib/aws/cloudwatch/query-definition.js +114 -0
  83. package/lib/aws/cloudwatch/stats.d.ts +150 -0
  84. package/lib/aws/cloudwatch/stats.js +207 -0
  85. package/lib/aws/cloudwatch/subscription-filter.d.ts +75 -0
  86. package/lib/aws/cloudwatch/subscription-filter.js +51 -0
  87. package/lib/aws/cloudwatch/text.d.ts +52 -0
  88. package/lib/aws/cloudwatch/text.js +53 -0
  89. package/lib/aws/cloudwatch/variable.d.ts +156 -0
  90. package/lib/aws/cloudwatch/variable.js +156 -0
  91. package/lib/aws/cloudwatch/widget.d.ts +62 -0
  92. package/lib/aws/cloudwatch/widget.js +45 -0
  93. package/lib/aws/compute/activity.d.ts +81 -0
  94. package/lib/aws/compute/activity.js +132 -0
  95. package/lib/aws/compute/architecture.d.ts +33 -0
  96. package/lib/aws/compute/architecture.js +42 -0
  97. package/lib/aws/compute/chain.d.ts +52 -0
  98. package/lib/aws/compute/chain.js +68 -0
  99. package/lib/aws/compute/condition.d.ts +202 -0
  100. package/lib/aws/compute/condition.js +409 -0
  101. package/lib/aws/compute/event-invoke-config.d.ts +74 -0
  102. package/lib/aws/compute/event-invoke-config.js +63 -0
  103. package/lib/aws/compute/event-source-filter.d.ts +64 -0
  104. package/lib/aws/compute/event-source-filter.js +86 -0
  105. package/lib/aws/compute/event-source-mapping.d.ts +310 -0
  106. package/lib/aws/compute/event-source-mapping.js +267 -0
  107. package/lib/aws/compute/event-sources/index.d.ts +4 -0
  108. package/lib/aws/compute/event-sources/index.js +28 -0
  109. package/lib/aws/compute/event-sources/s3-onfailure-destination.d.ts +13 -0
  110. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +26 -0
  111. package/lib/aws/compute/event-sources/s3.d.ts +24 -0
  112. package/lib/aws/compute/event-sources/s3.js +25 -0
  113. package/lib/aws/compute/event-sources/sqs-dlq.d.ts +13 -0
  114. package/lib/aws/compute/event-sources/sqs-dlq.js +26 -0
  115. package/lib/aws/compute/event-sources/sqs.d.ts +75 -0
  116. package/lib/aws/compute/event-sources/sqs.js +84 -0
  117. package/lib/aws/compute/fields.d.ts +367 -0
  118. package/lib/aws/compute/fields.js +546 -0
  119. package/lib/aws/compute/function-alias.d.ts +148 -0
  120. package/lib/aws/compute/function-alias.js +176 -0
  121. package/lib/aws/compute/function-base.d.ts +314 -0
  122. package/lib/aws/compute/function-base.js +421 -0
  123. package/lib/aws/compute/function-destination.d.ts +42 -0
  124. package/lib/aws/compute/function-destination.js +18 -0
  125. package/lib/aws/compute/function-destinations/event-bridge.d.ts +19 -0
  126. package/lib/aws/compute/function-destinations/event-bridge.js +46 -0
  127. package/lib/aws/compute/function-destinations/function.d.ts +34 -0
  128. package/lib/aws/compute/function-destinations/function.js +55 -0
  129. package/lib/aws/compute/function-destinations/index.d.ts +3 -0
  130. package/lib/aws/compute/function-destinations/index.js +22 -0
  131. package/lib/aws/compute/function-destinations/sqs.d.ts +14 -0
  132. package/lib/aws/compute/function-destinations/sqs.js +27 -0
  133. package/lib/aws/compute/function-nodejs.d.ts +55 -0
  134. package/lib/aws/compute/function-nodejs.js +70 -0
  135. package/lib/aws/compute/function-permission.d.ts +83 -0
  136. package/lib/aws/compute/function-permission.js +3 -0
  137. package/lib/aws/compute/function-url.d.ts +210 -0
  138. package/lib/aws/compute/function-url.js +148 -0
  139. package/lib/aws/compute/function-vpc-config.generated.d.ts +36 -0
  140. package/lib/aws/compute/function-vpc-config.generated.js +3 -0
  141. package/lib/aws/compute/function.d.ts +492 -0
  142. package/lib/aws/compute/function.js +692 -0
  143. package/lib/aws/compute/index.d.ts +42 -0
  144. package/lib/aws/compute/index.js +64 -0
  145. package/lib/aws/compute/private/intrinstics.d.ts +86 -0
  146. package/lib/aws/compute/private/intrinstics.js +220 -0
  147. package/lib/aws/compute/private/json-path.d.ts +57 -0
  148. package/lib/aws/compute/private/json-path.js +351 -0
  149. package/lib/aws/compute/private/util.d.ts +1 -0
  150. package/lib/aws/compute/private/util.js +38 -0
  151. package/lib/aws/compute/state-graph.d.ts +100 -0
  152. package/lib/aws/compute/state-graph.js +177 -0
  153. package/lib/aws/compute/state-machine-fragment.d.ts +61 -0
  154. package/lib/aws/compute/state-machine-fragment.js +56 -0
  155. package/lib/aws/compute/state-machine.d.ts +323 -0
  156. package/lib/aws/compute/state-machine.js +392 -0
  157. package/lib/aws/compute/states/choice.d.ts +94 -0
  158. package/lib/aws/compute/states/choice.js +81 -0
  159. package/lib/aws/compute/states/custom-state.d.ts +55 -0
  160. package/lib/aws/compute/states/custom-state.js +114 -0
  161. package/lib/aws/compute/states/distributed-map/item-batcher.d.ts +64 -0
  162. package/lib/aws/compute/states/distributed-map/item-batcher.js +58 -0
  163. package/lib/aws/compute/states/distributed-map/item-reader.d.ts +256 -0
  164. package/lib/aws/compute/states/distributed-map/item-reader.js +253 -0
  165. package/lib/aws/compute/states/distributed-map/result-writer.d.ts +41 -0
  166. package/lib/aws/compute/states/distributed-map/result-writer.js +66 -0
  167. package/lib/aws/compute/states/distributed-map.d.ts +153 -0
  168. package/lib/aws/compute/states/distributed-map.js +207 -0
  169. package/lib/aws/compute/states/fail.d.ts +74 -0
  170. package/lib/aws/compute/states/fail.js +83 -0
  171. package/lib/aws/compute/states/map-base.d.ts +145 -0
  172. package/lib/aws/compute/states/map-base.js +109 -0
  173. package/lib/aws/compute/states/map.d.ts +76 -0
  174. package/lib/aws/compute/states/map.js +110 -0
  175. package/lib/aws/compute/states/parallel.d.ts +113 -0
  176. package/lib/aws/compute/states/parallel.js +100 -0
  177. package/lib/aws/compute/states/pass.d.ts +122 -0
  178. package/lib/aws/compute/states/pass.js +99 -0
  179. package/lib/aws/compute/states/private/state-type.d.ts +13 -0
  180. package/lib/aws/compute/states/private/state-type.js +19 -0
  181. package/lib/aws/compute/states/state.d.ts +276 -0
  182. package/lib/aws/compute/states/state.js +482 -0
  183. package/lib/aws/compute/states/succeed.d.ts +51 -0
  184. package/lib/aws/compute/states/succeed.js +32 -0
  185. package/lib/aws/compute/states/task-base.d.ts +225 -0
  186. package/lib/aws/compute/states/task-base.js +160 -0
  187. package/lib/aws/compute/states/task.d.ts +127 -0
  188. package/lib/aws/compute/states/task.js +92 -0
  189. package/lib/aws/compute/states/wait.d.ts +78 -0
  190. package/lib/aws/compute/states/wait.js +90 -0
  191. package/lib/aws/compute/step-functions-task.d.ts +78 -0
  192. package/lib/aws/compute/step-functions-task.js +27 -0
  193. package/lib/aws/compute/task-credentials.d.ts +45 -0
  194. package/lib/aws/compute/task-credentials.js +52 -0
  195. package/lib/aws/compute/task-input.d.ts +86 -0
  196. package/lib/aws/compute/task-input.js +107 -0
  197. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.d.ts +73 -0
  198. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +69 -0
  199. package/lib/aws/compute/tasks/eventbridge/put-events.d.ts +74 -0
  200. package/lib/aws/compute/tasks/eventbridge/put-events.js +94 -0
  201. package/lib/aws/compute/tasks/http/invoke.d.ts +104 -0
  202. package/lib/aws/compute/tasks/http/invoke.js +117 -0
  203. package/lib/aws/compute/tasks/index.d.ts +7 -0
  204. package/lib/aws/compute/tasks/index.js +42 -0
  205. package/lib/aws/compute/tasks/lambda/invoke.d.ts +106 -0
  206. package/lib/aws/compute/tasks/lambda/invoke.js +125 -0
  207. package/lib/aws/compute/tasks/private/task-utils.d.ts +8 -0
  208. package/lib/aws/compute/tasks/private/task-utils.js +36 -0
  209. package/lib/aws/compute/tasks/resource-arn-suffix.d.ts +3 -0
  210. package/lib/aws/compute/tasks/resource-arn-suffix.js +25 -0
  211. package/lib/aws/compute/tasks/sqs/send-message.d.ts +62 -0
  212. package/lib/aws/compute/tasks/sqs/send-message.js +70 -0
  213. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.d.ts +36 -0
  214. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +45 -0
  215. package/lib/aws/compute/tasks/stepfunctions/start-execution.d.ts +63 -0
  216. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +123 -0
  217. package/lib/aws/compute/types.d.ts +214 -0
  218. package/lib/aws/compute/types.js +103 -0
  219. package/lib/aws/compute/util.d.ts +12 -0
  220. package/lib/aws/compute/util.js +29 -0
  221. package/lib/aws/edge/certificate.d.ts +144 -0
  222. package/lib/aws/edge/certificate.js +191 -0
  223. package/lib/aws/edge/distribution.d.ts +505 -0
  224. package/lib/aws/edge/distribution.js +444 -0
  225. package/lib/aws/edge/dns-alias-record-targets.d.ts +29 -0
  226. package/lib/aws/edge/dns-alias-record-targets.js +46 -0
  227. package/lib/aws/edge/dns-record.d.ts +536 -0
  228. package/lib/aws/edge/dns-record.js +532 -0
  229. package/lib/aws/edge/dns-zone.d.ts +169 -0
  230. package/lib/aws/edge/dns-zone.js +149 -0
  231. package/lib/aws/edge/function.d.ts +185 -0
  232. package/lib/aws/edge/function.js +141 -0
  233. package/lib/aws/edge/index.d.ts +8 -0
  234. package/lib/aws/edge/index.js +25 -0
  235. package/lib/aws/edge/key-value-store.d.ts +162 -0
  236. package/lib/aws/edge/key-value-store.js +163 -0
  237. package/lib/aws/edge/origin.d.ts +160 -0
  238. package/lib/aws/edge/origin.js +245 -0
  239. package/lib/aws/encryption/alias.d.ts +137 -0
  240. package/lib/aws/encryption/alias.js +216 -0
  241. package/lib/aws/encryption/index.d.ts +4 -0
  242. package/lib/aws/encryption/index.js +21 -0
  243. package/lib/aws/encryption/key-lookup.d.ts +11 -0
  244. package/lib/aws/encryption/key-lookup.js +4 -0
  245. package/lib/aws/encryption/key.d.ts +461 -0
  246. package/lib/aws/encryption/key.js +586 -0
  247. package/lib/aws/encryption/private/perms.d.ts +5 -0
  248. package/lib/aws/encryption/private/perms.js +30 -0
  249. package/lib/aws/encryption/via-service-principal.d.ts +11 -0
  250. package/lib/aws/encryption/via-service-principal.js +39 -0
  251. package/lib/aws/iam/grant.d.ts +221 -0
  252. package/lib/aws/iam/grant.js +239 -0
  253. package/lib/aws/iam/identity-base.d.ts +20 -0
  254. package/lib/aws/iam/identity-base.js +3 -0
  255. package/lib/aws/iam/index.d.ts +16 -0
  256. package/lib/aws/iam/index.js +34 -0
  257. package/lib/aws/iam/managed-policy.d.ts +227 -0
  258. package/lib/aws/iam/managed-policy.js +237 -0
  259. package/lib/aws/iam/oidc-provider.d.ts +120 -0
  260. package/lib/aws/iam/oidc-provider.js +82 -0
  261. package/lib/aws/iam/policy-document-config.generated.d.ts +78 -0
  262. package/lib/aws/iam/policy-document-config.generated.js +3 -0
  263. package/lib/aws/iam/policy-document.d.ts +150 -0
  264. package/lib/aws/iam/policy-document.js +172 -0
  265. package/lib/aws/iam/policy-statement-props.generated.d.ts +55 -0
  266. package/lib/aws/iam/policy-statement-props.generated.js +3 -0
  267. package/lib/aws/iam/policy-statement.d.ts +451 -0
  268. package/lib/aws/iam/policy-statement.js +947 -0
  269. package/lib/aws/iam/policy.d.ts +122 -0
  270. package/lib/aws/iam/policy.js +192 -0
  271. package/lib/aws/iam/principals.d.ts +668 -0
  272. package/lib/aws/iam/principals.js +1032 -0
  273. package/lib/aws/iam/private/adapter.d.ts +21 -0
  274. package/lib/aws/iam/private/adapter.js +51 -0
  275. package/lib/aws/iam/private/assume-role-policy.d.ts +8 -0
  276. package/lib/aws/iam/private/assume-role-policy.js +27 -0
  277. package/lib/aws/iam/private/comparable-principal.d.ts +6 -0
  278. package/lib/aws/iam/private/comparable-principal.js +20 -0
  279. package/lib/aws/iam/private/immutable-role.d.ts +43 -0
  280. package/lib/aws/iam/private/immutable-role.js +76 -0
  281. package/lib/aws/iam/private/imported-role.d.ts +49 -0
  282. package/lib/aws/iam/private/imported-role.js +103 -0
  283. package/lib/aws/iam/private/merge-statements.d.ts +44 -0
  284. package/lib/aws/iam/private/merge-statements.js +214 -0
  285. package/lib/aws/iam/private/postprocess-policy-document.d.ts +15 -0
  286. package/lib/aws/iam/private/postprocess-policy-document.js +102 -0
  287. package/lib/aws/iam/private/util.d.ts +37 -0
  288. package/lib/aws/iam/private/util.js +87 -0
  289. package/lib/aws/iam/role.d.ts +425 -0
  290. package/lib/aws/iam/role.js +407 -0
  291. package/lib/aws/iam/saml-provider.d.ts +79 -0
  292. package/lib/aws/iam/saml-provider.js +79 -0
  293. package/lib/aws/iam/unknown-principal.d.ts +32 -0
  294. package/lib/aws/iam/unknown-principal.js +45 -0
  295. package/lib/aws/iam/utils.d.ts +12 -0
  296. package/lib/aws/iam/utils.js +41 -0
  297. package/lib/aws/index.d.ts +13 -0
  298. package/lib/aws/index.js +34 -0
  299. package/lib/aws/log-retention.d.ts +97 -0
  300. package/lib/aws/log-retention.js +103 -0
  301. package/lib/aws/network/index.d.ts +4 -0
  302. package/lib/aws/network/index.js +21 -0
  303. package/lib/aws/network/network.d.ts +77 -0
  304. package/lib/aws/network/network.js +3 -0
  305. package/lib/aws/network/simple-ipv4-vpc.d.ts +84 -0
  306. package/lib/aws/network/simple-ipv4-vpc.js +236 -0
  307. package/lib/aws/network/subnet-group.d.ts +42 -0
  308. package/lib/aws/network/subnet-group.js +72 -0
  309. package/lib/aws/network/subnet.d.ts +95 -0
  310. package/lib/aws/network/subnet.js +123 -0
  311. package/lib/aws/notify/archive.d.ts +77 -0
  312. package/lib/aws/notify/archive.js +62 -0
  313. package/lib/aws/notify/connection.d.ts +276 -0
  314. package/lib/aws/notify/connection.js +261 -0
  315. package/lib/aws/notify/event-bus.d.ts +298 -0
  316. package/lib/aws/notify/event-bus.js +326 -0
  317. package/lib/aws/notify/event-pattern.d.ts +220 -0
  318. package/lib/aws/notify/event-pattern.js +197 -0
  319. package/lib/aws/notify/index.d.ts +15 -0
  320. package/lib/aws/notify/index.js +35 -0
  321. package/lib/aws/notify/input.d.ts +126 -0
  322. package/lib/aws/notify/input.js +282 -0
  323. package/lib/aws/notify/kinesis-canned-metrics.generated.d.ts +68 -0
  324. package/lib/aws/notify/kinesis-canned-metrics.generated.js +103 -0
  325. package/lib/aws/notify/kinesis-fixed-canned-metrics.d.ts +195 -0
  326. package/lib/aws/notify/kinesis-fixed-canned-metrics.js +155 -0
  327. package/lib/aws/notify/kinesis-stream.d.ts +705 -0
  328. package/lib/aws/notify/kinesis-stream.js +541 -0
  329. package/lib/aws/notify/on-event-options.d.ts +54 -0
  330. package/lib/aws/notify/on-event-options.js +3 -0
  331. package/lib/aws/notify/queue-config.generated.d.ts +85 -0
  332. package/lib/aws/notify/queue-config.generated.js +3 -0
  333. package/lib/aws/notify/queue-policy.d.ts +35 -0
  334. package/lib/aws/notify/queue-policy.js +39 -0
  335. package/lib/aws/notify/queue.d.ts +355 -0
  336. package/lib/aws/notify/queue.js +305 -0
  337. package/lib/aws/notify/resource-policy.d.ts +41 -0
  338. package/lib/aws/notify/resource-policy.js +43 -0
  339. package/lib/aws/notify/rule.d.ts +153 -0
  340. package/lib/aws/notify/rule.js +227 -0
  341. package/lib/aws/notify/schedule.d.ts +83 -0
  342. package/lib/aws/notify/schedule.js +116 -0
  343. package/lib/aws/notify/target.d.ts +102 -0
  344. package/lib/aws/notify/target.js +3 -0
  345. package/lib/aws/notify/targets/event-bus.d.ts +39 -0
  346. package/lib/aws/notify/targets/event-bus.js +40 -0
  347. package/lib/aws/notify/targets/function.d.ts +31 -0
  348. package/lib/aws/notify/targets/function.js +36 -0
  349. package/lib/aws/notify/targets/index.d.ts +6 -0
  350. package/lib/aws/notify/targets/index.js +37 -0
  351. package/lib/aws/notify/targets/log-group.d.ts +89 -0
  352. package/lib/aws/notify/targets/log-group.js +110 -0
  353. package/lib/aws/notify/targets/sqs.d.ts +45 -0
  354. package/lib/aws/notify/targets/sqs.js +73 -0
  355. package/lib/aws/notify/targets/state-machine.d.ts +36 -0
  356. package/lib/aws/notify/targets/state-machine.js +39 -0
  357. package/lib/aws/notify/targets/util.d.ts +71 -0
  358. package/lib/aws/notify/targets/util.js +130 -0
  359. package/lib/aws/notify/util.d.ts +13 -0
  360. package/lib/aws/notify/util.js +69 -0
  361. package/lib/aws/provider-config.generated.d.ts +220 -0
  362. package/lib/aws/provider-config.generated.js +3 -0
  363. package/lib/aws/storage/bucket-destination.d.ts +41 -0
  364. package/lib/aws/storage/bucket-destination.js +13 -0
  365. package/lib/aws/storage/bucket-notifications.d.ts +58 -0
  366. package/lib/aws/storage/bucket-notifications.js +169 -0
  367. package/lib/aws/storage/bucket-perms.d.ts +9 -0
  368. package/lib/aws/storage/bucket-perms.js +33 -0
  369. package/lib/aws/storage/bucket-policy.d.ts +51 -0
  370. package/lib/aws/storage/bucket-policy.js +53 -0
  371. package/lib/aws/storage/bucket-source.d.ts +41 -0
  372. package/lib/aws/storage/bucket-source.js +79 -0
  373. package/lib/aws/storage/bucket.d.ts +941 -0
  374. package/lib/aws/storage/bucket.js +869 -0
  375. package/lib/aws/storage/cors-config.generated.d.ts +57 -0
  376. package/lib/aws/storage/cors-config.generated.js +3 -0
  377. package/lib/aws/storage/cors-rule-config.generated.d.ts +38 -0
  378. package/lib/aws/storage/cors-rule-config.generated.js +3 -0
  379. package/lib/aws/storage/index.d.ts +12 -0
  380. package/lib/aws/storage/index.js +31 -0
  381. package/lib/aws/storage/lifecycle-config.generated.d.ts +55 -0
  382. package/lib/aws/storage/lifecycle-config.generated.js +3 -0
  383. package/lib/aws/storage/notification-targets/function.d.ts +11 -0
  384. package/lib/aws/storage/notification-targets/function.js +48 -0
  385. package/lib/aws/storage/notification-targets/index.d.ts +2 -0
  386. package/lib/aws/storage/notification-targets/index.js +21 -0
  387. package/lib/aws/storage/notification-targets/queue.d.ts +15 -0
  388. package/lib/aws/storage/notification-targets/queue.js +58 -0
  389. package/lib/aws/storage/origin-access-identity.d.ts +91 -0
  390. package/lib/aws/storage/origin-access-identity.js +76 -0
  391. package/lib/aws/storage/util.d.ts +40 -0
  392. package/lib/aws/storage/util.js +85 -0
  393. package/lib/aws/storage/website-config.generated.d.ts +73 -0
  394. package/lib/aws/storage/website-config.generated.js +3 -0
  395. package/lib/aws/util.d.ts +4 -0
  396. package/lib/aws/util.js +25 -0
  397. package/lib/construct-base.d.ts +69 -0
  398. package/lib/construct-base.js +89 -0
  399. package/lib/duration.d.ts +160 -0
  400. package/lib/duration.js +327 -0
  401. package/lib/index.d.ts +5 -0
  402. package/lib/index.js +24 -0
  403. package/lib/private/index.d.ts +2 -0
  404. package/lib/private/index.js +19 -0
  405. package/lib/private/terraform-dependables-aspect.d.ts +20 -0
  406. package/lib/private/terraform-dependables-aspect.js +95 -0
  407. package/lib/private/unique-resource-name.d.ts +9 -0
  408. package/lib/private/unique-resource-name.js +145 -0
  409. package/lib/size.d.ts +146 -0
  410. package/lib/size.js +220 -0
  411. package/lib/stack-base.d.ts +188 -0
  412. package/lib/stack-base.js +183 -0
  413. package/lib/token.d.ts +32 -0
  414. package/lib/token.js +54 -0
  415. package/node_modules/camel-case/LICENSE +21 -0
  416. package/node_modules/camel-case/README.md +47 -0
  417. package/node_modules/camel-case/dist/index.d.ts +5 -0
  418. package/node_modules/camel-case/dist/index.js +23 -0
  419. package/node_modules/camel-case/dist/index.js.map +1 -0
  420. package/node_modules/camel-case/dist/index.spec.d.ts +1 -0
  421. package/node_modules/camel-case/dist/index.spec.js +26 -0
  422. package/node_modules/camel-case/dist/index.spec.js.map +1 -0
  423. package/node_modules/camel-case/dist.es2015/index.d.ts +5 -0
  424. package/node_modules/camel-case/dist.es2015/index.js +17 -0
  425. package/node_modules/camel-case/dist.es2015/index.js.map +1 -0
  426. package/node_modules/camel-case/dist.es2015/index.spec.d.ts +1 -0
  427. package/node_modules/camel-case/dist.es2015/index.spec.js +24 -0
  428. package/node_modules/camel-case/dist.es2015/index.spec.js.map +1 -0
  429. package/node_modules/camel-case/package.json +89 -0
  430. package/node_modules/capital-case/LICENSE +21 -0
  431. package/node_modules/capital-case/README.md +37 -0
  432. package/node_modules/capital-case/dist/index.d.ts +4 -0
  433. package/node_modules/capital-case/dist/index.js +16 -0
  434. package/node_modules/capital-case/dist/index.js.map +1 -0
  435. package/node_modules/capital-case/dist/index.spec.d.ts +1 -0
  436. package/node_modules/capital-case/dist/index.spec.js +24 -0
  437. package/node_modules/capital-case/dist/index.spec.js.map +1 -0
  438. package/node_modules/capital-case/dist.es2015/index.d.ts +4 -0
  439. package/node_modules/capital-case/dist.es2015/index.js +11 -0
  440. package/node_modules/capital-case/dist.es2015/index.js.map +1 -0
  441. package/node_modules/capital-case/dist.es2015/index.spec.d.ts +1 -0
  442. package/node_modules/capital-case/dist.es2015/index.spec.js +22 -0
  443. package/node_modules/capital-case/dist.es2015/index.spec.js.map +1 -0
  444. package/node_modules/capital-case/package.json +90 -0
  445. package/node_modules/change-case/LICENSE +21 -0
  446. package/node_modules/change-case/README.md +44 -0
  447. package/node_modules/change-case/dist/index.d.ts +11 -0
  448. package/node_modules/change-case/dist/index.js +15 -0
  449. package/node_modules/change-case/dist/index.js.map +1 -0
  450. package/node_modules/change-case/dist/index.spec.d.ts +1 -0
  451. package/node_modules/change-case/dist/index.spec.js +9 -0
  452. package/node_modules/change-case/dist/index.spec.js.map +1 -0
  453. package/node_modules/change-case/dist.es2015/index.d.ts +11 -0
  454. package/node_modules/change-case/dist.es2015/index.js +12 -0
  455. package/node_modules/change-case/dist.es2015/index.js.map +1 -0
  456. package/node_modules/change-case/dist.es2015/index.spec.d.ts +1 -0
  457. package/node_modules/change-case/dist.es2015/index.spec.js +7 -0
  458. package/node_modules/change-case/dist.es2015/index.spec.js.map +1 -0
  459. package/node_modules/change-case/package.json +101 -0
  460. package/node_modules/constant-case/LICENSE +21 -0
  461. package/node_modules/constant-case/README.md +37 -0
  462. package/node_modules/constant-case/dist/index.d.ts +3 -0
  463. package/node_modules/constant-case/dist/index.js +12 -0
  464. package/node_modules/constant-case/dist/index.js.map +1 -0
  465. package/node_modules/constant-case/dist/index.spec.d.ts +1 -0
  466. package/node_modules/constant-case/dist/index.spec.js +26 -0
  467. package/node_modules/constant-case/dist/index.spec.js.map +1 -0
  468. package/node_modules/constant-case/dist.es2015/index.d.ts +3 -0
  469. package/node_modules/constant-case/dist.es2015/index.js +8 -0
  470. package/node_modules/constant-case/dist.es2015/index.js.map +1 -0
  471. package/node_modules/constant-case/dist.es2015/index.spec.d.ts +1 -0
  472. package/node_modules/constant-case/dist.es2015/index.spec.js +24 -0
  473. package/node_modules/constant-case/dist.es2015/index.spec.js.map +1 -0
  474. package/node_modules/constant-case/package.json +90 -0
  475. package/node_modules/dot-case/LICENSE +21 -0
  476. package/node_modules/dot-case/README.md +37 -0
  477. package/node_modules/dot-case/dist/index.d.ts +3 -0
  478. package/node_modules/dot-case/dist/index.js +11 -0
  479. package/node_modules/dot-case/dist/index.js.map +1 -0
  480. package/node_modules/dot-case/dist/index.spec.d.ts +1 -0
  481. package/node_modules/dot-case/dist/index.spec.js +26 -0
  482. package/node_modules/dot-case/dist/index.spec.js.map +1 -0
  483. package/node_modules/dot-case/dist.es2015/index.d.ts +3 -0
  484. package/node_modules/dot-case/dist.es2015/index.js +7 -0
  485. package/node_modules/dot-case/dist.es2015/index.js.map +1 -0
  486. package/node_modules/dot-case/dist.es2015/index.spec.d.ts +1 -0
  487. package/node_modules/dot-case/dist.es2015/index.spec.js +24 -0
  488. package/node_modules/dot-case/dist.es2015/index.spec.js.map +1 -0
  489. package/node_modules/dot-case/package.json +89 -0
  490. package/node_modules/esbuild-wasm/LICENSE.md +21 -0
  491. package/node_modules/esbuild-wasm/README.md +3 -0
  492. package/node_modules/esbuild-wasm/bin/esbuild +91 -0
  493. package/node_modules/esbuild-wasm/esbuild.wasm +0 -0
  494. package/node_modules/esbuild-wasm/esm/browser.d.ts +705 -0
  495. package/node_modules/esbuild-wasm/esm/browser.js +2370 -0
  496. package/node_modules/esbuild-wasm/esm/browser.min.js +20 -0
  497. package/node_modules/esbuild-wasm/lib/browser.d.ts +705 -0
  498. package/node_modules/esbuild-wasm/lib/browser.js +2415 -0
  499. package/node_modules/esbuild-wasm/lib/browser.min.js +22 -0
  500. package/node_modules/esbuild-wasm/lib/main.d.ts +705 -0
  501. package/node_modules/esbuild-wasm/lib/main.js +2051 -0
  502. package/node_modules/esbuild-wasm/package.json +19 -0
  503. package/node_modules/esbuild-wasm/wasm_exec.js +561 -0
  504. package/node_modules/esbuild-wasm/wasm_exec_node.js +39 -0
  505. package/node_modules/header-case/LICENSE +21 -0
  506. package/node_modules/header-case/README.md +37 -0
  507. package/node_modules/header-case/dist/index.d.ts +3 -0
  508. package/node_modules/header-case/dist/index.js +11 -0
  509. package/node_modules/header-case/dist/index.js.map +1 -0
  510. package/node_modules/header-case/dist/index.spec.d.ts +1 -0
  511. package/node_modules/header-case/dist/index.spec.js +24 -0
  512. package/node_modules/header-case/dist/index.spec.js.map +1 -0
  513. package/node_modules/header-case/dist.es2015/index.d.ts +3 -0
  514. package/node_modules/header-case/dist.es2015/index.js +7 -0
  515. package/node_modules/header-case/dist.es2015/index.js.map +1 -0
  516. package/node_modules/header-case/dist.es2015/index.spec.d.ts +1 -0
  517. package/node_modules/header-case/dist.es2015/index.spec.js +22 -0
  518. package/node_modules/header-case/dist.es2015/index.spec.js.map +1 -0
  519. package/node_modules/header-case/package.json +89 -0
  520. package/node_modules/lower-case/LICENSE +21 -0
  521. package/node_modules/lower-case/README.md +35 -0
  522. package/node_modules/lower-case/dist/index.d.ts +8 -0
  523. package/node_modules/lower-case/dist/index.js +53 -0
  524. package/node_modules/lower-case/dist/index.js.map +1 -0
  525. package/node_modules/lower-case/dist/index.spec.d.ts +1 -0
  526. package/node_modules/lower-case/dist/index.spec.js +36 -0
  527. package/node_modules/lower-case/dist/index.spec.js.map +1 -0
  528. package/node_modules/lower-case/dist.es2015/index.d.ts +8 -0
  529. package/node_modules/lower-case/dist.es2015/index.js +48 -0
  530. package/node_modules/lower-case/dist.es2015/index.js.map +1 -0
  531. package/node_modules/lower-case/dist.es2015/index.spec.d.ts +1 -0
  532. package/node_modules/lower-case/dist.es2015/index.spec.js +34 -0
  533. package/node_modules/lower-case/dist.es2015/index.spec.js.map +1 -0
  534. package/node_modules/lower-case/package.json +87 -0
  535. package/node_modules/mime-db/HISTORY.md +507 -0
  536. package/node_modules/mime-db/LICENSE +23 -0
  537. package/node_modules/mime-db/README.md +100 -0
  538. package/node_modules/mime-db/db.json +8519 -0
  539. package/node_modules/mime-db/index.js +12 -0
  540. package/node_modules/mime-db/package.json +60 -0
  541. package/node_modules/mime-types/HISTORY.md +397 -0
  542. package/node_modules/mime-types/LICENSE +23 -0
  543. package/node_modules/mime-types/README.md +113 -0
  544. package/node_modules/mime-types/index.js +188 -0
  545. package/node_modules/mime-types/package.json +44 -0
  546. package/node_modules/no-case/LICENSE +21 -0
  547. package/node_modules/no-case/README.md +37 -0
  548. package/node_modules/no-case/dist/index.d.ts +10 -0
  549. package/node_modules/no-case/dist/index.js +35 -0
  550. package/node_modules/no-case/dist/index.js.map +1 -0
  551. package/node_modules/no-case/dist/index.spec.d.ts +1 -0
  552. package/node_modules/no-case/dist/index.spec.js +59 -0
  553. package/node_modules/no-case/dist/index.spec.js.map +1 -0
  554. package/node_modules/no-case/dist.es2015/index.d.ts +10 -0
  555. package/node_modules/no-case/dist.es2015/index.js +31 -0
  556. package/node_modules/no-case/dist.es2015/index.js.map +1 -0
  557. package/node_modules/no-case/dist.es2015/index.spec.d.ts +1 -0
  558. package/node_modules/no-case/dist.es2015/index.spec.js +57 -0
  559. package/node_modules/no-case/dist.es2015/index.spec.js.map +1 -0
  560. package/node_modules/no-case/package.json +85 -0
  561. package/node_modules/param-case/LICENSE +21 -0
  562. package/node_modules/param-case/README.md +37 -0
  563. package/node_modules/param-case/dist/index.d.ts +3 -0
  564. package/node_modules/param-case/dist/index.js +11 -0
  565. package/node_modules/param-case/dist/index.js.map +1 -0
  566. package/node_modules/param-case/dist/index.spec.d.ts +1 -0
  567. package/node_modules/param-case/dist/index.spec.js +24 -0
  568. package/node_modules/param-case/dist/index.spec.js.map +1 -0
  569. package/node_modules/param-case/dist.es2015/index.d.ts +3 -0
  570. package/node_modules/param-case/dist.es2015/index.js +7 -0
  571. package/node_modules/param-case/dist.es2015/index.js.map +1 -0
  572. package/node_modules/param-case/dist.es2015/index.spec.d.ts +1 -0
  573. package/node_modules/param-case/dist.es2015/index.spec.js +22 -0
  574. package/node_modules/param-case/dist.es2015/index.spec.js.map +1 -0
  575. package/node_modules/param-case/package.json +91 -0
  576. package/node_modules/pascal-case/LICENSE +21 -0
  577. package/node_modules/pascal-case/README.md +47 -0
  578. package/node_modules/pascal-case/dist/index.d.ts +5 -0
  579. package/node_modules/pascal-case/dist/index.js +24 -0
  580. package/node_modules/pascal-case/dist/index.js.map +1 -0
  581. package/node_modules/pascal-case/dist/index.spec.d.ts +1 -0
  582. package/node_modules/pascal-case/dist/index.spec.js +25 -0
  583. package/node_modules/pascal-case/dist/index.spec.js.map +1 -0
  584. package/node_modules/pascal-case/dist.es2015/index.d.ts +5 -0
  585. package/node_modules/pascal-case/dist.es2015/index.js +18 -0
  586. package/node_modules/pascal-case/dist.es2015/index.js.map +1 -0
  587. package/node_modules/pascal-case/dist.es2015/index.spec.d.ts +1 -0
  588. package/node_modules/pascal-case/dist.es2015/index.spec.js +23 -0
  589. package/node_modules/pascal-case/dist.es2015/index.spec.js.map +1 -0
  590. package/node_modules/pascal-case/package.json +90 -0
  591. package/node_modules/path-case/LICENSE +21 -0
  592. package/node_modules/path-case/README.md +37 -0
  593. package/node_modules/path-case/dist/index.d.ts +3 -0
  594. package/node_modules/path-case/dist/index.js +11 -0
  595. package/node_modules/path-case/dist/index.js.map +1 -0
  596. package/node_modules/path-case/dist/index.spec.d.ts +1 -0
  597. package/node_modules/path-case/dist/index.spec.js +24 -0
  598. package/node_modules/path-case/dist/index.spec.js.map +1 -0
  599. package/node_modules/path-case/dist.es2015/index.d.ts +3 -0
  600. package/node_modules/path-case/dist.es2015/index.js +7 -0
  601. package/node_modules/path-case/dist.es2015/index.js.map +1 -0
  602. package/node_modules/path-case/dist.es2015/index.spec.d.ts +1 -0
  603. package/node_modules/path-case/dist.es2015/index.spec.js +22 -0
  604. package/node_modules/path-case/dist.es2015/index.spec.js.map +1 -0
  605. package/node_modules/path-case/package.json +88 -0
  606. package/node_modules/sentence-case/LICENSE +21 -0
  607. package/node_modules/sentence-case/README.md +37 -0
  608. package/node_modules/sentence-case/dist/index.d.ts +4 -0
  609. package/node_modules/sentence-case/dist/index.js +19 -0
  610. package/node_modules/sentence-case/dist/index.js.map +1 -0
  611. package/node_modules/sentence-case/dist/index.spec.d.ts +1 -0
  612. package/node_modules/sentence-case/dist/index.spec.js +24 -0
  613. package/node_modules/sentence-case/dist/index.spec.js.map +1 -0
  614. package/node_modules/sentence-case/dist.es2015/index.d.ts +4 -0
  615. package/node_modules/sentence-case/dist.es2015/index.js +14 -0
  616. package/node_modules/sentence-case/dist.es2015/index.js.map +1 -0
  617. package/node_modules/sentence-case/dist.es2015/index.spec.d.ts +1 -0
  618. package/node_modules/sentence-case/dist.es2015/index.spec.js +22 -0
  619. package/node_modules/sentence-case/dist.es2015/index.spec.js.map +1 -0
  620. package/node_modules/sentence-case/package.json +89 -0
  621. package/node_modules/snake-case/LICENSE +21 -0
  622. package/node_modules/snake-case/README.md +37 -0
  623. package/node_modules/snake-case/dist/index.d.ts +3 -0
  624. package/node_modules/snake-case/dist/index.js +11 -0
  625. package/node_modules/snake-case/dist/index.js.map +1 -0
  626. package/node_modules/snake-case/dist/index.spec.d.ts +1 -0
  627. package/node_modules/snake-case/dist/index.spec.js +25 -0
  628. package/node_modules/snake-case/dist/index.spec.js.map +1 -0
  629. package/node_modules/snake-case/dist.es2015/index.d.ts +3 -0
  630. package/node_modules/snake-case/dist.es2015/index.js +7 -0
  631. package/node_modules/snake-case/dist.es2015/index.js.map +1 -0
  632. package/node_modules/snake-case/dist.es2015/index.spec.d.ts +1 -0
  633. package/node_modules/snake-case/dist.es2015/index.spec.js +23 -0
  634. package/node_modules/snake-case/dist.es2015/index.spec.js.map +1 -0
  635. package/node_modules/snake-case/package.json +90 -0
  636. package/node_modules/tslib/CopyrightNotice.txt +15 -0
  637. package/node_modules/tslib/LICENSE.txt +12 -0
  638. package/node_modules/tslib/README.md +164 -0
  639. package/node_modules/tslib/SECURITY.md +41 -0
  640. package/node_modules/tslib/modules/index.d.ts +37 -0
  641. package/node_modules/tslib/modules/index.js +68 -0
  642. package/node_modules/tslib/modules/package.json +3 -0
  643. package/node_modules/tslib/package.json +47 -0
  644. package/node_modules/tslib/tslib.d.ts +453 -0
  645. package/node_modules/tslib/tslib.es6.html +1 -0
  646. package/node_modules/tslib/tslib.es6.js +374 -0
  647. package/node_modules/tslib/tslib.es6.mjs +373 -0
  648. package/node_modules/tslib/tslib.html +1 -0
  649. package/node_modules/tslib/tslib.js +424 -0
  650. package/node_modules/upper-case/README.md +34 -0
  651. package/node_modules/upper-case/dist/index.d.ts +8 -0
  652. package/node_modules/upper-case/dist/index.js +49 -0
  653. package/node_modules/upper-case/dist/index.js.map +1 -0
  654. package/node_modules/upper-case/dist/index.spec.d.ts +1 -0
  655. package/node_modules/upper-case/dist/index.spec.js +34 -0
  656. package/node_modules/upper-case/dist/index.spec.js.map +1 -0
  657. package/node_modules/upper-case/dist.es2015/index.d.ts +8 -0
  658. package/node_modules/upper-case/dist.es2015/index.js +44 -0
  659. package/node_modules/upper-case/dist.es2015/index.js.map +1 -0
  660. package/node_modules/upper-case/dist.es2015/index.spec.d.ts +1 -0
  661. package/node_modules/upper-case/dist.es2015/index.spec.js +32 -0
  662. package/node_modules/upper-case/dist.es2015/index.spec.js.map +1 -0
  663. package/node_modules/upper-case/package.json +86 -0
  664. package/node_modules/upper-case-first/LICENSE +21 -0
  665. package/node_modules/upper-case-first/README.md +32 -0
  666. package/node_modules/upper-case-first/dist/index.d.ts +4 -0
  667. package/node_modules/upper-case-first/dist/index.js +11 -0
  668. package/node_modules/upper-case-first/dist/index.js.map +1 -0
  669. package/node_modules/upper-case-first/dist/index.spec.d.ts +1 -0
  670. package/node_modules/upper-case-first/dist/index.spec.js +20 -0
  671. package/node_modules/upper-case-first/dist/index.spec.js.map +1 -0
  672. package/node_modules/upper-case-first/dist.es2015/index.d.ts +4 -0
  673. package/node_modules/upper-case-first/dist.es2015/index.js +7 -0
  674. package/node_modules/upper-case-first/dist.es2015/index.js.map +1 -0
  675. package/node_modules/upper-case-first/dist.es2015/index.spec.d.ts +1 -0
  676. package/node_modules/upper-case-first/dist.es2015/index.spec.js +18 -0
  677. package/node_modules/upper-case-first/dist.es2015/index.spec.js.map +1 -0
  678. package/node_modules/upper-case-first/package.json +87 -0
  679. package/package.json +152 -0
  680. package/setup.js +2 -0
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ // https://github.com/aws/aws-cdk/blob/v2.170.0/packages/aws-cdk-lib/aws-cloudwatch/lib/metric-types.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Unit = exports.Statistic = void 0;
5
+ /**
6
+ * Statistic to use over the aggregation period
7
+ *
8
+ * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html
9
+ * @deprecated Use one of the factory methods on `Stats` to produce statistics strings
10
+ */
11
+ var Statistic;
12
+ (function (Statistic) {
13
+ /**
14
+ * The count (number) of data points used for the statistical calculation.
15
+ */
16
+ Statistic["SAMPLE_COUNT"] = "SampleCount";
17
+ /**
18
+ * The value of Sum / SampleCount during the specified period.
19
+ */
20
+ Statistic["AVERAGE"] = "Average";
21
+ /**
22
+ * All values submitted for the matching metric added together.
23
+ * This statistic can be useful for determining the total volume of a metric.
24
+ */
25
+ Statistic["SUM"] = "Sum";
26
+ /**
27
+ * The lowest value observed during the specified period.
28
+ * You can use this value to determine low volumes of activity for your application.
29
+ */
30
+ Statistic["MINIMUM"] = "Minimum";
31
+ /**
32
+ * The highest value observed during the specified period.
33
+ * You can use this value to determine high volumes of activity for your application.
34
+ */
35
+ Statistic["MAXIMUM"] = "Maximum";
36
+ })(Statistic || (exports.Statistic = Statistic = {}));
37
+ /**
38
+ * Unit for metric
39
+ */
40
+ var Unit;
41
+ (function (Unit) {
42
+ /**
43
+ * Seconds
44
+ */
45
+ Unit["SECONDS"] = "Seconds";
46
+ /**
47
+ * Microseconds
48
+ */
49
+ Unit["MICROSECONDS"] = "Microseconds";
50
+ /**
51
+ * Milliseconds
52
+ */
53
+ Unit["MILLISECONDS"] = "Milliseconds";
54
+ /**
55
+ * Bytes
56
+ */
57
+ Unit["BYTES"] = "Bytes";
58
+ /**
59
+ * Kilobytes
60
+ */
61
+ Unit["KILOBYTES"] = "Kilobytes";
62
+ /**
63
+ * Megabytes
64
+ */
65
+ Unit["MEGABYTES"] = "Megabytes";
66
+ /**
67
+ * Gigabytes
68
+ */
69
+ Unit["GIGABYTES"] = "Gigabytes";
70
+ /**
71
+ * Terabytes
72
+ */
73
+ Unit["TERABYTES"] = "Terabytes";
74
+ /**
75
+ * Bits
76
+ */
77
+ Unit["BITS"] = "Bits";
78
+ /**
79
+ * Kilobits
80
+ */
81
+ Unit["KILOBITS"] = "Kilobits";
82
+ /**
83
+ * Megabits
84
+ */
85
+ Unit["MEGABITS"] = "Megabits";
86
+ /**
87
+ * Gigabits
88
+ */
89
+ Unit["GIGABITS"] = "Gigabits";
90
+ /**
91
+ * Terabits
92
+ */
93
+ Unit["TERABITS"] = "Terabits";
94
+ /**
95
+ * Percent
96
+ */
97
+ Unit["PERCENT"] = "Percent";
98
+ /**
99
+ * Count
100
+ */
101
+ Unit["COUNT"] = "Count";
102
+ /**
103
+ * Bytes/second (B/s)
104
+ */
105
+ Unit["BYTES_PER_SECOND"] = "Bytes/Second";
106
+ /**
107
+ * Kilobytes/second (kB/s)
108
+ */
109
+ Unit["KILOBYTES_PER_SECOND"] = "Kilobytes/Second";
110
+ /**
111
+ * Megabytes/second (MB/s)
112
+ */
113
+ Unit["MEGABYTES_PER_SECOND"] = "Megabytes/Second";
114
+ /**
115
+ * Gigabytes/second (GB/s)
116
+ */
117
+ Unit["GIGABYTES_PER_SECOND"] = "Gigabytes/Second";
118
+ /**
119
+ * Terabytes/second (TB/s)
120
+ */
121
+ Unit["TERABYTES_PER_SECOND"] = "Terabytes/Second";
122
+ /**
123
+ * Bits/second (b/s)
124
+ */
125
+ Unit["BITS_PER_SECOND"] = "Bits/Second";
126
+ /**
127
+ * Kilobits/second (kb/s)
128
+ */
129
+ Unit["KILOBITS_PER_SECOND"] = "Kilobits/Second";
130
+ /**
131
+ * Megabits/second (Mb/s)
132
+ */
133
+ Unit["MEGABITS_PER_SECOND"] = "Megabits/Second";
134
+ /**
135
+ * Gigabits/second (Gb/s)
136
+ */
137
+ Unit["GIGABITS_PER_SECOND"] = "Gigabits/Second";
138
+ /**
139
+ * Terabits/second (Tb/s)
140
+ */
141
+ Unit["TERABITS_PER_SECOND"] = "Terabits/Second";
142
+ /**
143
+ * Count/second
144
+ */
145
+ Unit["COUNT_PER_SECOND"] = "Count/Second";
146
+ /**
147
+ * None
148
+ */
149
+ Unit["NONE"] = "None";
150
+ })(Unit || (exports.Unit = Unit = {}));
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jbG91ZHdhdGNoL21ldHJpYy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdUdBQXVHOzs7QUErQ3ZHOzs7OztHQUtHO0FBQ0gsSUFBWSxTQXlCWDtBQXpCRCxXQUFZLFNBQVM7SUFDbkI7O09BRUc7SUFDSCx5Q0FBNEIsQ0FBQTtJQUU1Qjs7T0FFRztJQUNILGdDQUFtQixDQUFBO0lBQ25COzs7T0FHRztJQUNILHdCQUFXLENBQUE7SUFDWDs7O09BR0c7SUFDSCxnQ0FBbUIsQ0FBQTtJQUNuQjs7O09BR0c7SUFDSCxnQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBekJXLFNBQVMseUJBQVQsU0FBUyxRQXlCcEI7QUFFRDs7R0FFRztBQUNILElBQVksSUF1SVg7QUF2SUQsV0FBWSxJQUFJO0lBQ2Q7O09BRUc7SUFDSCwyQkFBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILHFDQUE2QixDQUFBO0lBRTdCOztPQUVHO0lBQ0gscUNBQTZCLENBQUE7SUFFN0I7O09BRUc7SUFDSCx1QkFBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCwrQkFBdUIsQ0FBQTtJQUV2Qjs7T0FFRztJQUNILCtCQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsK0JBQXVCLENBQUE7SUFFdkI7O09BRUc7SUFDSCwrQkFBdUIsQ0FBQTtJQUV2Qjs7T0FFRztJQUNILHFCQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILDZCQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsNkJBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCw2QkFBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILDZCQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsMkJBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCx1QkFBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCx5Q0FBaUMsQ0FBQTtJQUVqQzs7T0FFRztJQUNILGlEQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsaURBQXlDLENBQUE7SUFFekM7O09BRUc7SUFDSCxpREFBeUMsQ0FBQTtJQUV6Qzs7T0FFRztJQUNILGlEQUF5QyxDQUFBO0lBRXpDOztPQUVHO0lBQ0gsdUNBQStCLENBQUE7SUFFL0I7O09BRUc7SUFDSCwrQ0FBdUMsQ0FBQTtJQUV2Qzs7T0FFRztJQUNILCtDQUF1QyxDQUFBO0lBRXZDOztPQUVHO0lBQ0gsK0NBQXVDLENBQUE7SUFFdkM7O09BRUc7SUFDSCwrQ0FBdUMsQ0FBQTtJQUV2Qzs7T0FFRztJQUNILHlDQUFpQyxDQUFBO0lBRWpDOztPQUVHO0lBQ0gscUJBQWEsQ0FBQTtBQUNmLENBQUMsRUF2SVcsSUFBSSxvQkFBSixJQUFJLFFBdUlmIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTcwLjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gvbGliL21ldHJpYy10eXBlcy50c1xuXG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCIuLi8uLi9kdXJhdGlvblwiO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgbWV0cmljc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElNZXRyaWMge1xuICAvKipcbiAgICogQW55IHdhcm5pbmdzIHJlbGF0ZWQgdG8gdGhpcyBtZXRyaWNcbiAgICpcbiAgICogU2hvdWxkIGJlIGF0dGFjaGVkIHRvIHRoZSBjb25zdW1pbmcgY29uc3RydWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICogQGRlcHJlY2F0ZWQgLSB1c2Ugd2FybmluZ3NWMlxuICAgKi9cbiAgcmVhZG9ubHkgd2FybmluZ3M/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW55IHdhcm5pbmdzIHJlbGF0ZWQgdG8gdGhpcyBtZXRyaWNcbiAgICpcbiAgICogU2hvdWxkIGJlIGF0dGFjaGVkIHRvIHRoZSBjb25zdW1pbmcgY29uc3RydWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHdhcm5pbmdzVjI/OiB7IFtpZDogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEluc3BlY3QgdGhlIGRldGFpbHMgb2YgdGhlIG1ldHJpYyBvYmplY3RcbiAgICovXG4gIHRvTWV0cmljQ29uZmlnKCk6IE1ldHJpY0NvbmZpZztcblxuICAvKipcbiAgICogVHVybiB0aGlzIG1ldHJpYyBvYmplY3QgaW50byBhbiBhbGFybSBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgdG9NZXRyaWNDb25maWcoKWAgaW5zdGVhZC5cbiAgICovXG4gIHRvQWxhcm1Db25maWcoKTogTWV0cmljQWxhcm1Db25maWc7XG5cbiAgLyoqXG4gICAqIFR1cm4gdGhpcyBtZXRyaWMgb2JqZWN0IGludG8gYSBncmFwaCBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgdG9NZXRyaWNDb25maWcoKWAgaW5zdGVhZC5cbiAgICovXG4gIHRvR3JhcGhDb25maWcoKTogTWV0cmljR3JhcGhDb25maWc7XG59XG5cbi8qKlxuICogU3RhdGlzdGljIHRvIHVzZSBvdmVyIHRoZSBhZ2dyZWdhdGlvbiBwZXJpb2RcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9tb25pdG9yaW5nL1N0YXRpc3RpY3MtZGVmaW5pdGlvbnMuaHRtbFxuICogQGRlcHJlY2F0ZWQgVXNlIG9uZSBvZiB0aGUgZmFjdG9yeSBtZXRob2RzIG9uIGBTdGF0c2AgdG8gcHJvZHVjZSBzdGF0aXN0aWNzIHN0cmluZ3NcbiAqL1xuZXhwb3J0IGVudW0gU3RhdGlzdGljIHtcbiAgLyoqXG4gICAqIFRoZSBjb3VudCAobnVtYmVyKSBvZiBkYXRhIHBvaW50cyB1c2VkIGZvciB0aGUgc3RhdGlzdGljYWwgY2FsY3VsYXRpb24uXG4gICAqL1xuICBTQU1QTEVfQ09VTlQgPSBcIlNhbXBsZUNvdW50XCIsXG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiBTdW0gLyBTYW1wbGVDb3VudCBkdXJpbmcgdGhlIHNwZWNpZmllZCBwZXJpb2QuXG4gICAqL1xuICBBVkVSQUdFID0gXCJBdmVyYWdlXCIsXG4gIC8qKlxuICAgKiBBbGwgdmFsdWVzIHN1Ym1pdHRlZCBmb3IgdGhlIG1hdGNoaW5nIG1ldHJpYyBhZGRlZCB0b2dldGhlci5cbiAgICogVGhpcyBzdGF0aXN0aWMgY2FuIGJlIHVzZWZ1bCBmb3IgZGV0ZXJtaW5pbmcgdGhlIHRvdGFsIHZvbHVtZSBvZiBhIG1ldHJpYy5cbiAgICovXG4gIFNVTSA9IFwiU3VtXCIsXG4gIC8qKlxuICAgKiBUaGUgbG93ZXN0IHZhbHVlIG9ic2VydmVkIGR1cmluZyB0aGUgc3BlY2lmaWVkIHBlcmlvZC5cbiAgICogWW91IGNhbiB1c2UgdGhpcyB2YWx1ZSB0byBkZXRlcm1pbmUgbG93IHZvbHVtZXMgb2YgYWN0aXZpdHkgZm9yIHlvdXIgYXBwbGljYXRpb24uXG4gICAqL1xuICBNSU5JTVVNID0gXCJNaW5pbXVtXCIsXG4gIC8qKlxuICAgKiBUaGUgaGlnaGVzdCB2YWx1ZSBvYnNlcnZlZCBkdXJpbmcgdGhlIHNwZWNpZmllZCBwZXJpb2QuXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdmFsdWUgdG8gZGV0ZXJtaW5lIGhpZ2ggdm9sdW1lcyBvZiBhY3Rpdml0eSBmb3IgeW91ciBhcHBsaWNhdGlvbi5cbiAgICovXG4gIE1BWElNVU0gPSBcIk1heGltdW1cIixcbn1cblxuLyoqXG4gKiBVbml0IGZvciBtZXRyaWNcbiAqL1xuZXhwb3J0IGVudW0gVW5pdCB7XG4gIC8qKlxuICAgKiBTZWNvbmRzXG4gICAqL1xuICBTRUNPTkRTID0gXCJTZWNvbmRzXCIsXG5cbiAgLyoqXG4gICAqIE1pY3Jvc2Vjb25kc1xuICAgKi9cbiAgTUlDUk9TRUNPTkRTID0gXCJNaWNyb3NlY29uZHNcIixcblxuICAvKipcbiAgICogTWlsbGlzZWNvbmRzXG4gICAqL1xuICBNSUxMSVNFQ09ORFMgPSBcIk1pbGxpc2Vjb25kc1wiLFxuXG4gIC8qKlxuICAgKiBCeXRlc1xuICAgKi9cbiAgQllURVMgPSBcIkJ5dGVzXCIsXG5cbiAgLyoqXG4gICAqIEtpbG9ieXRlc1xuICAgKi9cbiAgS0lMT0JZVEVTID0gXCJLaWxvYnl0ZXNcIixcblxuICAvKipcbiAgICogTWVnYWJ5dGVzXG4gICAqL1xuICBNRUdBQllURVMgPSBcIk1lZ2FieXRlc1wiLFxuXG4gIC8qKlxuICAgKiBHaWdhYnl0ZXNcbiAgICovXG4gIEdJR0FCWVRFUyA9IFwiR2lnYWJ5dGVzXCIsXG5cbiAgLyoqXG4gICAqIFRlcmFieXRlc1xuICAgKi9cbiAgVEVSQUJZVEVTID0gXCJUZXJhYnl0ZXNcIixcblxuICAvKipcbiAgICogQml0c1xuICAgKi9cbiAgQklUUyA9IFwiQml0c1wiLFxuXG4gIC8qKlxuICAgKiBLaWxvYml0c1xuICAgKi9cbiAgS0lMT0JJVFMgPSBcIktpbG9iaXRzXCIsXG5cbiAgLyoqXG4gICAqIE1lZ2FiaXRzXG4gICAqL1xuICBNRUdBQklUUyA9IFwiTWVnYWJpdHNcIixcblxuICAvKipcbiAgICogR2lnYWJpdHNcbiAgICovXG4gIEdJR0FCSVRTID0gXCJHaWdhYml0c1wiLFxuXG4gIC8qKlxuICAgKiBUZXJhYml0c1xuICAgKi9cbiAgVEVSQUJJVFMgPSBcIlRlcmFiaXRzXCIsXG5cbiAgLyoqXG4gICAqIFBlcmNlbnRcbiAgICovXG4gIFBFUkNFTlQgPSBcIlBlcmNlbnRcIixcblxuICAvKipcbiAgICogQ291bnRcbiAgICovXG4gIENPVU5UID0gXCJDb3VudFwiLFxuXG4gIC8qKlxuICAgKiBCeXRlcy9zZWNvbmQgKEIvcylcbiAgICovXG4gIEJZVEVTX1BFUl9TRUNPTkQgPSBcIkJ5dGVzL1NlY29uZFwiLFxuXG4gIC8qKlxuICAgKiBLaWxvYnl0ZXMvc2Vjb25kIChrQi9zKVxuICAgKi9cbiAgS0lMT0JZVEVTX1BFUl9TRUNPTkQgPSBcIktpbG9ieXRlcy9TZWNvbmRcIixcblxuICAvKipcbiAgICogTWVnYWJ5dGVzL3NlY29uZCAoTUIvcylcbiAgICovXG4gIE1FR0FCWVRFU19QRVJfU0VDT05EID0gXCJNZWdhYnl0ZXMvU2Vjb25kXCIsXG5cbiAgLyoqXG4gICAqIEdpZ2FieXRlcy9zZWNvbmQgKEdCL3MpXG4gICAqL1xuICBHSUdBQllURVNfUEVSX1NFQ09ORCA9IFwiR2lnYWJ5dGVzL1NlY29uZFwiLFxuXG4gIC8qKlxuICAgKiBUZXJhYnl0ZXMvc2Vjb25kIChUQi9zKVxuICAgKi9cbiAgVEVSQUJZVEVTX1BFUl9TRUNPTkQgPSBcIlRlcmFieXRlcy9TZWNvbmRcIixcblxuICAvKipcbiAgICogQml0cy9zZWNvbmQgKGIvcylcbiAgICovXG4gIEJJVFNfUEVSX1NFQ09ORCA9IFwiQml0cy9TZWNvbmRcIixcblxuICAvKipcbiAgICogS2lsb2JpdHMvc2Vjb25kIChrYi9zKVxuICAgKi9cbiAgS0lMT0JJVFNfUEVSX1NFQ09ORCA9IFwiS2lsb2JpdHMvU2Vjb25kXCIsXG5cbiAgLyoqXG4gICAqIE1lZ2FiaXRzL3NlY29uZCAoTWIvcylcbiAgICovXG4gIE1FR0FCSVRTX1BFUl9TRUNPTkQgPSBcIk1lZ2FiaXRzL1NlY29uZFwiLFxuXG4gIC8qKlxuICAgKiBHaWdhYml0cy9zZWNvbmQgKEdiL3MpXG4gICAqL1xuICBHSUdBQklUU19QRVJfU0VDT05EID0gXCJHaWdhYml0cy9TZWNvbmRcIixcblxuICAvKipcbiAgICogVGVyYWJpdHMvc2Vjb25kIChUYi9zKVxuICAgKi9cbiAgVEVSQUJJVFNfUEVSX1NFQ09ORCA9IFwiVGVyYWJpdHMvU2Vjb25kXCIsXG5cbiAgLyoqXG4gICAqIENvdW50L3NlY29uZFxuICAgKi9cbiAgQ09VTlRfUEVSX1NFQ09ORCA9IFwiQ291bnQvU2Vjb25kXCIsXG5cbiAgLyoqXG4gICAqIE5vbmVcbiAgICovXG4gIE5PTkUgPSBcIk5vbmVcIixcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIG9mIGEgcmVuZGVyZWQgbWV0cmljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljQ29uZmlnIHtcbiAgLyoqXG4gICAqIEluIGNhc2UgdGhlIG1ldHJpYyByZXByZXNlbnRzIGEgcXVlcnksIHRoZSBkZXRhaWxzIG9mIHRoZSBxdWVyeVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY1N0YXQ/OiBNZXRyaWNTdGF0Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBJbiBjYXNlIHRoZSBtZXRyaWMgaXMgYSBtYXRoIGV4cHJlc3Npb24sIHRoZSBkZXRhaWxzIG9mIHRoZSBtYXRoIGV4cHJlc3Npb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBtYXRoRXhwcmVzc2lvbj86IE1ldHJpY0V4cHJlc3Npb25Db25maWc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgcHJvcGVydGllcyB3aGljaCB3aWxsIGJlIHJlbmRlcmVkIGlmIHRoZSBtZXRyaWMgaXMgdXNlZCBpbiBhIGRhc2hib2FyZFxuICAgKlxuICAgKiBFeGFtcGxlcyBhcmUgJ2xhYmVsJyBhbmQgJ2NvbG9yJywgYnV0IGFueSBrZXkgaW4gaGVyZSB3aWxsIGJlXG4gICAqIGFkZGVkIHRvIGRhc2hib2FyZCBncmFwaHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVuZGVyaW5nUHJvcGVydGllcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgY29uY3JldGUgbWV0cmljXG4gKlxuICogTk9URTogYHVuaXRgIGlzIG5vIGxvbmdlciBvbiB0aGlzIG9iamVjdCBzaW5jZSBpdCBpcyBvbmx5IHVzZWQgZm9yIGBBbGFybXNgLCBhbmQgZG9lc24ndCBtZWFuIHdoYXQgb25lXG4gKiB3b3VsZCBleHBlY3QgaXQgdG8gbWVhbiB0aGVyZSBhbnl3YXkuIEl0IGlzIG1vc3QgbGlrZWx5IHRvIGJlIG1pc3VzZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljU3RhdENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgZGltZW5zaW9ucyB0byBhcHBseSB0byB0aGUgYWxhcm1cbiAgICpcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IGRpbWVuc2lvbnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBOYW1lc3BhY2Ugb2YgdGhlIG1ldHJpY1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIG1ldHJpY1xuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBzZWNvbmRzIHRvIGFnZ3JlZ2F0ZSBvdmVyXG4gICAqL1xuICByZWFkb25seSBwZXJpb2Q6IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBZ2dyZWdhdGlvbiBmdW5jdGlvbiB0byB1c2UgKGNhbiBiZSBlaXRoZXIgc2ltcGxlIG9yIGEgcGVyY2VudGlsZSlcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpc3RpYzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVbml0IHVzZWQgdG8gZmlsdGVyIHRoZSBtZXRyaWMgc3RyZWFtXG4gICAqXG4gICAqIE9ubHkgcmVmZXIgdG8gZGF0dW1zIGVtaXR0ZWQgdG8gdGhlIG1ldHJpYyBzdHJlYW0gd2l0aCB0aGUgZ2l2ZW4gdW5pdCBhbmRcbiAgICogaWdub3JlIGFsbCBvdGhlcnMuIE9ubHkgdXNlZnVsIHdoZW4gZGF0dW1zIGFyZSBiZWluZyBlbWl0dGVkIHRvIHRoZSBzYW1lXG4gICAqIG1ldHJpYyBzdHJlYW0gdW5kZXIgZGlmZmVyZW50IHVuaXRzLlxuICAgKlxuICAgKiBUaGlzIGZpZWxkIGhhcyBiZWVuIHJlbmFtZWQgZnJvbSBwbGFpbiBgdW5pdGAgdG8gY2xlYXJseSBjb21tdW5pY2F0ZVxuICAgKiBpdHMgcHVycG9zZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBSZWZlciB0byBhbGwgbWV0cmljIGRhdHVtc1xuICAgKi9cbiAgcmVhZG9ubHkgdW5pdEZpbHRlcj86IFVuaXQ7XG5cbiAgLyoqXG4gICAqIFJlZ2lvbiB3aGljaCB0aGlzIG1ldHJpYyBjb21lcyBmcm9tLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEZXBsb3ltZW50IHJlZ2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQWNjb3VudCB3aGljaCB0aGlzIG1ldHJpYyBjb21lcyBmcm9tLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEZXBsb3ltZW50IGFjY291bnQuXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgY29uY3JldGUgbWV0cmljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljRXhwcmVzc2lvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBNYXRoIGV4cHJlc3Npb24gZm9yIHRoZSBtZXRyaWMuXG4gICAqL1xuICByZWFkb25seSBleHByZXNzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1ldHJpY3MgdXNlZCBpbiB0aGUgbWF0aCBleHByZXNzaW9uXG4gICAqL1xuICByZWFkb25seSB1c2luZ01ldHJpY3M6IFJlY29yZDxzdHJpbmcsIElNZXRyaWM+O1xuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBzZWNvbmRzIHRvIGFnZ3JlZ2F0ZSBvdmVyXG4gICAqL1xuICByZWFkb25seSBwZXJpb2Q6IG51bWJlcjtcblxuICAvKipcbiAgICogQWNjb3VudCB0byBldmFsdWF0ZSBzZWFyY2ggZXhwcmVzc2lvbnMgd2l0aGluLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlcGxveW1lbnQgYWNjb3VudC5cbiAgICovXG4gIHJlYWRvbmx5IHNlYXJjaEFjY291bnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZ2lvbiB0byBldmFsdWF0ZSBzZWFyY2ggZXhwcmVzc2lvbnMgd2l0aGluLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlcGxveW1lbnQgcmVnaW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VhcmNoUmVnaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIE1ldHJpYyBpZGVudGlmeWluZyBwYXJ0IG9mIGFuIEFsYXJtXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgTWV0cmljQ29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljQWxhcm1Db25maWcge1xuICAvKipcbiAgICogVGhlIGRpbWVuc2lvbnMgdG8gYXBwbHkgdG8gdGhlIGFsYXJtXG4gICAqL1xuICByZWFkb25seSBkaW1lbnNpb25zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogTmFtZXNwYWNlIG9mIHRoZSBtZXRyaWNcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBtZXRyaWNcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogSG93IG1hbnkgc2Vjb25kcyB0byBhZ2dyZWdhdGUgb3ZlclxuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNpbXBsZSBhZ2dyZWdhdGlvbiBmdW5jdGlvbiB0byB1c2VcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpc3RpYz86IFN0YXRpc3RpYztcblxuICAvKipcbiAgICogUGVyY2VudGlsZSBhZ2dyZWdhdGlvbiBmdW5jdGlvbiB0byB1c2VcbiAgICovXG4gIHJlYWRvbmx5IGV4dGVuZGVkU3RhdGlzdGljPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdCBvZiB0aGUgYWxhcm1cbiAgICovXG4gIHJlYWRvbmx5IHVuaXQ/OiBVbml0O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIE1ldHJpYyBpZGVudGlmeWluZyBwYXJ0IG9mIGEgR3JhcGhcbiAqXG4gKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCBieSBNZXRyaWNDb25maWdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXRyaWNHcmFwaENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgZGltZW5zaW9ucyB0byBhcHBseSB0byB0aGUgYWxhcm1cbiAgICovXG4gIHJlYWRvbmx5IGRpbWVuc2lvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICAvKipcbiAgICogTmFtZXNwYWNlIG9mIHRoZSBtZXRyaWNcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBtZXRyaWNcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogUmVuZGVyaW5nIHByb3BlcnRpZXMgb3ZlcnJpZGUgeUF4aXMgcGFyYW1ldGVyIG9mIHRoZSB3aWRnZXQgb2JqZWN0XG4gICAqL1xuICByZWFkb25seSByZW5kZXJpbmdQcm9wZXJ0aWVzOiBNZXRyaWNSZW5kZXJpbmdQcm9wZXJ0aWVzO1xuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBzZWNvbmRzIHRvIGFnZ3JlZ2F0ZSBvdmVyXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgcGVyaW9kYCBpbiBgcmVuZGVyaW5nUHJvcGVydGllc2BcbiAgICovXG4gIHJlYWRvbmx5IHBlcmlvZDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBMYWJlbCBmb3IgdGhlIG1ldHJpY1xuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGxhYmVsYCBpbiBgcmVuZGVyaW5nUHJvcGVydGllc2BcbiAgICovXG4gIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb2xvciBmb3IgdGhlIGdyYXBoIGxpbmVcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBjb2xvcmAgaW4gYHJlbmRlcmluZ1Byb3BlcnRpZXNgXG4gICAqL1xuICByZWFkb25seSBjb2xvcj86IHN0cmluZztcblxuICAvKipcbiAgICogQWdncmVnYXRpb24gZnVuY3Rpb24gdG8gdXNlIChjYW4gYmUgZWl0aGVyIHNpbXBsZSBvciBhIHBlcmNlbnRpbGUpXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgc3RhdGAgaW4gYHJlbmRlcmluZ1Byb3BlcnRpZXNgXG4gICAqL1xuICByZWFkb25seSBzdGF0aXN0aWM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bml0IG9mIHRoZSBhbGFybVxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBub3QgdXNlZCBpbiBkYXNoYm9hcmQgd2lkZ2V0c1xuICAgKi9cbiAgcmVhZG9ubHkgdW5pdD86IFVuaXQ7XG59XG5cbi8qKlxuICogQ3VzdG9tIHJlbmRlcmluZyBwcm9wZXJ0aWVzIHRoYXQgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcmVuZGVyaW5nIHByb3BlcnRpZXMgc3BlY2lmaWVkIGluIHRoZSB5QXhpcyBwYXJhbWV0ZXIgb2YgdGhlIHdpZGdldCBvYmplY3QuXG4gKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgYnkgTWV0cmljQ29uZmlnLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJpY1JlbmRlcmluZ1Byb3BlcnRpZXMge1xuICAvKipcbiAgICogSG93IG1hbnkgc2Vjb25kcyB0byBhZ2dyZWdhdGUgb3ZlclxuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIExhYmVsIGZvciB0aGUgbWV0cmljXG4gICAqL1xuICByZWFkb25seSBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGhleCBjb2xvciBjb2RlLCBwcmVmaXhlZCB3aXRoICcjJyAoZS5nLiAnIzAwZmYwMCcpLCB0byB1c2Ugd2hlbiB0aGlzIG1ldHJpYyBpcyByZW5kZXJlZCBvbiBhIGdyYXBoLlxuICAgKiBUaGUgYENvbG9yYCBjbGFzcyBoYXMgYSBzZXQgb2Ygc3RhbmRhcmQgY29sb3JzIHRoYXQgY2FuIGJlIHVzZWQgaGVyZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZ2dyZWdhdGlvbiBmdW5jdGlvbiB0byB1c2UgKGNhbiBiZSBlaXRoZXIgc2ltcGxlIG9yIGEgcGVyY2VudGlsZSlcbiAgICovXG4gIHJlYWRvbmx5IHN0YXQ/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,492 @@
1
+ import { Construct, IConstruct } from "constructs";
2
+ import { Alarm, ComparisonOperator, TreatMissingData } from "./alarm";
3
+ import { IMetric, MetricAlarmConfig, MetricConfig, MetricGraphConfig, Unit } from "./metric-types";
4
+ import { Duration } from "../../duration";
5
+ import * as iam from "../iam";
6
+ export type DimensionsMap = {
7
+ [dim: string]: string;
8
+ };
9
+ /**
10
+ * Options shared by most methods accepting metric options
11
+ */
12
+ export interface CommonMetricOptions {
13
+ /**
14
+ * The period over which the specified statistic is applied.
15
+ *
16
+ * @default Duration.minutes(5)
17
+ */
18
+ readonly period?: Duration;
19
+ /**
20
+ * What function to use for aggregating.
21
+ *
22
+ * Use the `aws_cloudwatch.Stats` helper class to construct valid input strings.
23
+ *
24
+ * Can be one of the following:
25
+ *
26
+ * - "Minimum" | "min"
27
+ * - "Maximum" | "max"
28
+ * - "Average" | "avg"
29
+ * - "Sum" | "sum"
30
+ * - "SampleCount | "n"
31
+ * - "pNN.NN"
32
+ * - "tmNN.NN" | "tm(NN.NN%:NN.NN%)"
33
+ * - "iqm"
34
+ * - "wmNN.NN" | "wm(NN.NN%:NN.NN%)"
35
+ * - "tcNN.NN" | "tc(NN.NN%:NN.NN%)"
36
+ * - "tsNN.NN" | "ts(NN.NN%:NN.NN%)"
37
+ *
38
+ * @default Average
39
+ */
40
+ readonly statistic?: string;
41
+ /**
42
+ * Dimensions of the metric
43
+ *
44
+ * @default - No dimensions.
45
+ */
46
+ readonly dimensionsMap?: DimensionsMap;
47
+ /**
48
+ * Unit used to filter the metric stream
49
+ *
50
+ * Only refer to datums emitted to the metric stream with the given unit and
51
+ * ignore all others. Only useful when datums are being emitted to the same
52
+ * metric stream under different units.
53
+ *
54
+ * The default is to use all matric datums in the stream, regardless of unit,
55
+ * which is recommended in nearly all cases.
56
+ *
57
+ * CloudWatch does not honor this property for graphs.
58
+ *
59
+ * @default - All metric datums in the given metric stream
60
+ */
61
+ readonly unit?: Unit;
62
+ /**
63
+ * Label for this metric when added to a Graph in a Dashboard
64
+ *
65
+ * You can use [dynamic labels](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html)
66
+ * to show summary information about the entire displayed time series
67
+ * in the legend. For example, if you use:
68
+ *
69
+ * ```
70
+ * [max: ${MAX}] MyMetric
71
+ * ```
72
+ *
73
+ * As the metric label, the maximum value in the visible range will
74
+ * be shown next to the time series name in the graph's legend.
75
+ *
76
+ * @default - No label
77
+ */
78
+ readonly label?: string;
79
+ /**
80
+ * The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph.
81
+ * The `Color` class has a set of standard colors that can be used here.
82
+ * @default - Automatic color
83
+ */
84
+ readonly color?: string;
85
+ /**
86
+ * Account which this metric comes from.
87
+ *
88
+ * @default - Deployment account.
89
+ */
90
+ readonly account?: string;
91
+ /**
92
+ * Region which this metric comes from.
93
+ *
94
+ * @default - Deployment region.
95
+ */
96
+ readonly region?: string;
97
+ }
98
+ /**
99
+ * Properties for a metric
100
+ */
101
+ export interface MetricProps extends CommonMetricOptions {
102
+ /**
103
+ * Namespace of the metric.
104
+ */
105
+ readonly namespace: string;
106
+ /**
107
+ * Name of the metric.
108
+ */
109
+ readonly metricName: string;
110
+ }
111
+ /**
112
+ * Properties of a metric that can be changed
113
+ */
114
+ export interface MetricOptions extends CommonMetricOptions {
115
+ }
116
+ /**
117
+ * Configurable options for MathExpressions
118
+ */
119
+ export interface MathExpressionOptions {
120
+ /**
121
+ * Label for this expression when added to a Graph in a Dashboard
122
+ *
123
+ * If this expression evaluates to more than one time series (for
124
+ * example, through the use of `METRICS()` or `SEARCH()` expressions),
125
+ * each time series will appear in the graph using a combination of the
126
+ * expression label and the individual metric label. Specify the empty
127
+ * string (`''`) to suppress the expression label and only keep the
128
+ * metric label.
129
+ *
130
+ * You can use [dynamic labels](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html)
131
+ * to show summary information about the displayed time series
132
+ * in the legend. For example, if you use:
133
+ *
134
+ * ```
135
+ * [max: ${MAX}] MyMetric
136
+ * ```
137
+ *
138
+ * As the metric label, the maximum value in the visible range will
139
+ * be shown next to the time series name in the graph's legend. If the
140
+ * math expression produces more than one time series, the maximum
141
+ * will be shown for each individual time series produce by this
142
+ * math expression.
143
+ *
144
+ * @default - Expression value is used as label
145
+ */
146
+ readonly label?: string;
147
+ /**
148
+ * Color for this metric when added to a Graph in a Dashboard
149
+ *
150
+ * @default - Automatic color
151
+ */
152
+ readonly color?: string;
153
+ /**
154
+ * The period over which the expression's statistics are applied.
155
+ *
156
+ * This period overrides all periods in the metrics used in this
157
+ * math expression.
158
+ *
159
+ * @default Duration.minutes(5)
160
+ */
161
+ readonly period?: Duration;
162
+ /**
163
+ * Account to evaluate search expressions within.
164
+ *
165
+ * Specifying a searchAccount has no effect to the account used
166
+ * for metrics within the expression (passed via usingMetrics).
167
+ *
168
+ * @default - Deployment account.
169
+ */
170
+ readonly searchAccount?: string;
171
+ /**
172
+ * Region to evaluate search expressions within.
173
+ *
174
+ * Specifying a searchRegion has no effect to the region used
175
+ * for metrics within the expression (passed via usingMetrics).
176
+ *
177
+ * @default - Deployment region.
178
+ */
179
+ readonly searchRegion?: string;
180
+ }
181
+ /**
182
+ * Properties for a MathExpression
183
+ */
184
+ export interface MathExpressionProps extends MathExpressionOptions {
185
+ /**
186
+ * The expression defining the metric.
187
+ *
188
+ * When an expression contains a SEARCH function, it cannot be used
189
+ * within an Alarm.
190
+ */
191
+ readonly expression: string;
192
+ /**
193
+ * The metrics used in the expression, in a map.
194
+ *
195
+ * The key is the identifier that represents the given metric in the
196
+ * expression, and the value is the actual Metric object.
197
+ *
198
+ * The `period` of each metric in `usingMetrics` is ignored and instead overridden
199
+ * by the `period` specified for the `MathExpression` construct. Even if no `period`
200
+ * is specified for the `MathExpression`, it will be overridden by the default
201
+ * value (`Duration.minutes(5)`).
202
+ *
203
+ * Example:
204
+ *
205
+ * ```ts
206
+ * declare const metrics: elbv2.IApplicationLoadBalancerMetrics;
207
+ * new cloudwatch.MathExpression({
208
+ * expression: 'm1+m2',
209
+ * label: 'AlbErrors',
210
+ * usingMetrics: {
211
+ * m1: metrics.custom('HTTPCode_ELB_500_Count', {
212
+ * period: Duration.minutes(1), // <- This period will be ignored
213
+ * statistic: 'Sum',
214
+ * label: 'HTTPCode_ELB_500_Count',
215
+ * }),
216
+ * m2: metrics.custom('HTTPCode_ELB_502_Count', {
217
+ * period: Duration.minutes(1), // <- This period will be ignored
218
+ * statistic: 'Sum',
219
+ * label: 'HTTPCode_ELB_502_Count',
220
+ * }),
221
+ * },
222
+ * period: Duration.minutes(3), // <- This overrides the period of each metric in `usingMetrics`
223
+ * // (Even if not specified, it is overridden by the default value)
224
+ * });
225
+ * ```
226
+ *
227
+ * @default - Empty map.
228
+ */
229
+ readonly usingMetrics?: Record<string, IMetric>;
230
+ }
231
+ /**
232
+ * A metric emitted by a service
233
+ *
234
+ * The metric is a combination of a metric identifier (namespace, name and dimensions)
235
+ * and an aggregation function (statistic, period and unit).
236
+ *
237
+ * It also contains metadata which is used only in graphs, such as color and label.
238
+ * It makes sense to embed this in here, so that compound constructs can attach
239
+ * that metadata to metrics they expose.
240
+ *
241
+ * This class does not represent a resource, so hence is not a construct. Instead,
242
+ * Metric is an abstraction that makes it easy to specify metrics for use in both
243
+ * alarms and graphs.
244
+ */
245
+ export declare class Metric implements IMetric {
246
+ /**
247
+ * Grant permissions to the given identity to write metrics.
248
+ *
249
+ * @param grantee The IAM identity to give permissions to.
250
+ */
251
+ static grantPutMetricData(grantee: iam.IGrantable): iam.Grant;
252
+ /** Dimensions of this metric */
253
+ readonly dimensions?: DimensionsMap;
254
+ /** Namespace of this metric */
255
+ readonly namespace: string;
256
+ /** Name of this metric */
257
+ readonly metricName: string;
258
+ /** Period of this metric */
259
+ readonly period: Duration;
260
+ /** Statistic of this metric */
261
+ readonly statistic: string;
262
+ /** Label for this metric when added to a Graph in a Dashboard */
263
+ readonly label?: string;
264
+ /** The hex color code used when this metric is rendered on a graph. */
265
+ readonly color?: string;
266
+ /** Unit of the metric. */
267
+ readonly unit?: Unit;
268
+ /** Account which this metric comes from */
269
+ readonly account?: string;
270
+ /** Region which this metric comes from. */
271
+ readonly region?: string;
272
+ /**
273
+ * Warnings attached to this metric.
274
+ * @deprecated - use warningsV2
275
+ **/
276
+ readonly warnings?: string[];
277
+ /** Warnings attached to this metric. */
278
+ readonly warningsV2?: {
279
+ [id: string]: string;
280
+ };
281
+ constructor(props: MetricProps);
282
+ /**
283
+ * Return a copy of Metric `with` properties changed.
284
+ *
285
+ * All properties except namespace and metricName can be changed.
286
+ *
287
+ * @param props The set of properties to change.
288
+ */
289
+ with(props: MetricOptions): Metric;
290
+ /**
291
+ * Attach the metric object to the given construct scope
292
+ *
293
+ * Returns a Metric object that uses the account and region from the Stack
294
+ * the given construct is defined in. If the metric is subsequently used
295
+ * in a Dashboard or Alarm in a different Stack defined in a different
296
+ * account or region, the appropriate 'region' and 'account' fields
297
+ * will be added to it.
298
+ *
299
+ * If the scope we attach to is in an environment-agnostic stack,
300
+ * nothing is done and the same Metric object is returned.
301
+ */
302
+ attachTo(scope: IConstruct): Metric;
303
+ toMetricConfig(): MetricConfig;
304
+ /** @deprecated use toMetricConfig() */
305
+ toAlarmConfig(): MetricAlarmConfig;
306
+ /**
307
+ * @deprecated use toMetricConfig()
308
+ */
309
+ toGraphConfig(): MetricGraphConfig;
310
+ /**
311
+ * Make a new Alarm for this metric
312
+ *
313
+ * Combines both properties that may adjust the metric (aggregation) as well
314
+ * as alarm properties.
315
+ */
316
+ createAlarm(scope: Construct, id: string, props: CreateAlarmOptions): Alarm;
317
+ toString(): string;
318
+ private validateDimensions;
319
+ }
320
+ /**
321
+ * A math expression built with metric(s) emitted by a service
322
+ *
323
+ * The math expression is a combination of an expression (x+y) and metrics to apply expression on.
324
+ * It also contains metadata which is used only in graphs, such as color and label.
325
+ * It makes sense to embed this in here, so that compound constructs can attach
326
+ * that metadata to metrics they expose.
327
+ *
328
+ * MathExpression can also be used for search expressions. In this case,
329
+ * it also optionally accepts a searchRegion and searchAccount property for cross-environment
330
+ * search expressions.
331
+ *
332
+ * This class does not represent a resource, so hence is not a construct. Instead,
333
+ * MathExpression is an abstraction that makes it easy to specify metrics for use in both
334
+ * alarms and graphs.
335
+ */
336
+ export declare class MathExpression implements IMetric {
337
+ /**
338
+ * The expression defining the metric.
339
+ */
340
+ readonly expression: string;
341
+ /**
342
+ * The metrics used in the expression as KeyValuePair <id, metric>.
343
+ */
344
+ readonly usingMetrics: Record<string, IMetric>;
345
+ /**
346
+ * Label for this metric when added to a Graph.
347
+ */
348
+ readonly label?: string;
349
+ /**
350
+ * The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph.
351
+ * The `Color` class has a set of standard colors that can be used here.
352
+ */
353
+ readonly color?: string;
354
+ /**
355
+ * Aggregation period of this metric
356
+ */
357
+ readonly period: Duration;
358
+ /**
359
+ * Account to evaluate search expressions within.
360
+ */
361
+ readonly searchAccount?: string;
362
+ /**
363
+ * Region to evaluate search expressions within.
364
+ */
365
+ readonly searchRegion?: string;
366
+ /**
367
+ * Warnings generated by this math expression
368
+ * @deprecated - use warningsV2
369
+ */
370
+ readonly warnings?: string[];
371
+ /**
372
+ * Warnings generated by this math expression
373
+ */
374
+ readonly warningsV2?: {
375
+ [id: string]: string;
376
+ };
377
+ constructor(props: MathExpressionProps);
378
+ /**
379
+ * Return a copy of Metric with properties changed.
380
+ *
381
+ * All properties except namespace and metricName can be changed.
382
+ *
383
+ * @param props The set of properties to change.
384
+ */
385
+ with(props: MathExpressionOptions): MathExpression;
386
+ /**
387
+ * @deprecated use toMetricConfig()
388
+ */
389
+ toAlarmConfig(): MetricAlarmConfig;
390
+ /**
391
+ * @deprecated use toMetricConfig()
392
+ */
393
+ toGraphConfig(): MetricGraphConfig;
394
+ toMetricConfig(): MetricConfig;
395
+ /**
396
+ * Make a new Alarm for this metric
397
+ *
398
+ * Combines both properties that may adjust the metric (aggregation) as well
399
+ * as alarm properties.
400
+ */
401
+ createAlarm(scope: Construct, id: string, props: CreateAlarmOptions): Alarm;
402
+ toString(): string;
403
+ private validateNoIdConflicts;
404
+ }
405
+ /**
406
+ * Properties needed to make an alarm from a metric
407
+ */
408
+ export interface CreateAlarmOptions {
409
+ /**
410
+ * The period over which the specified statistic is applied.
411
+ *
412
+ * Cannot be used with `MathExpression` objects.
413
+ *
414
+ * @default - The period from the metric
415
+ * @deprecated Use `metric.with({ period: ... })` to encode the period into the Metric object
416
+ */
417
+ readonly period?: Duration;
418
+ /**
419
+ * What function to use for aggregating.
420
+ *
421
+ * Can be one of the following:
422
+ *
423
+ * - "Minimum" | "min"
424
+ * - "Maximum" | "max"
425
+ * - "Average" | "avg"
426
+ * - "Sum" | "sum"
427
+ * - "SampleCount | "n"
428
+ * - "pNN.NN"
429
+ *
430
+ * Cannot be used with `MathExpression` objects.
431
+ *
432
+ * @default - The statistic from the metric
433
+ * @deprecated Use `metric.with({ statistic: ... })` to encode the period into the Metric object
434
+ */
435
+ readonly statistic?: string;
436
+ /**
437
+ * Name of the alarm
438
+ *
439
+ * @default Automatically generated name
440
+ */
441
+ readonly alarmName?: string;
442
+ /**
443
+ * Description for the alarm
444
+ *
445
+ * @default No description
446
+ */
447
+ readonly alarmDescription?: string;
448
+ /**
449
+ * Comparison to use to check if metric is breaching
450
+ *
451
+ * @default GreaterThanOrEqualToThreshold
452
+ */
453
+ readonly comparisonOperator?: ComparisonOperator;
454
+ /**
455
+ * The value against which the specified statistic is compared.
456
+ */
457
+ readonly threshold: number;
458
+ /**
459
+ * The number of periods over which data is compared to the specified threshold.
460
+ */
461
+ readonly evaluationPeriods: number;
462
+ /**
463
+ * Specifies whether to evaluate the data and potentially change the alarm state if there are too few data points to be statistically significant.
464
+ *
465
+ * Used only for alarms that are based on percentiles.
466
+ *
467
+ * @default - Not configured.
468
+ */
469
+ readonly evaluateLowSampleCountPercentile?: string;
470
+ /**
471
+ * Sets how this alarm is to handle missing data points.
472
+ *
473
+ * @default TreatMissingData.Missing
474
+ */
475
+ readonly treatMissingData?: TreatMissingData;
476
+ /**
477
+ * Whether the actions for this alarm are enabled
478
+ *
479
+ * @default true
480
+ */
481
+ readonly actionsEnabled?: boolean;
482
+ /**
483
+ * The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an "M
484
+ * out of N" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon
485
+ * CloudWatch User Guide.
486
+ *
487
+ * @default ``evaluationPeriods``
488
+ *
489
+ * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation
490
+ */
491
+ readonly datapointsToAlarm?: number;
492
+ }