@cdklabs/multi-az-observability 0.0.1-alpha.6 → 0.0.1-alpha.60

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 (188) hide show
  1. package/.jsii +2826 -1008
  2. package/.jsii.tabl.json +1 -0
  3. package/API.md +5406 -1585
  4. package/README.md +176 -152
  5. package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +18 -14
  6. package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +98 -60
  7. package/lib/alarmsandrules/BaseOperationRegionalAlarmsAndRules.d.ts +3 -3
  8. package/lib/alarmsandrules/BaseOperationRegionalAlarmsAndRules.js +2 -2
  9. package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.d.ts +6 -15
  10. package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.js +2 -10
  11. package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.d.ts +11 -3
  12. package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.js +29 -13
  13. package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.d.ts +0 -8
  14. package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.js +1 -1
  15. package/lib/alarmsandrules/IOperationAlarmsAndRules.d.ts +26 -23
  16. package/lib/alarmsandrules/IOperationAlarmsAndRules.js +1 -1
  17. package/lib/alarmsandrules/IServerSideOperationRegionalAlarmsAndRules.js +1 -1
  18. package/lib/alarmsandrules/IServiceAlarmsAndRules.d.ts +19 -15
  19. package/lib/alarmsandrules/IServiceAlarmsAndRules.js +1 -1
  20. package/lib/alarmsandrules/OperationAlarmsAndRules.d.ts +21 -18
  21. package/lib/alarmsandrules/OperationAlarmsAndRules.js +60 -72
  22. package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.d.ts +5 -5
  23. package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.js +2 -3
  24. package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.d.ts +21 -13
  25. package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.js +48 -29
  26. package/lib/alarmsandrules/ServiceAlarmsAndRules.d.ts +19 -15
  27. package/lib/alarmsandrules/ServiceAlarmsAndRules.js +34 -136
  28. package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.d.ts +4 -3
  29. package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.js +1 -1
  30. package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.d.ts +6 -44
  31. package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.js +1 -1
  32. package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.d.ts +39 -7
  33. package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.js +1 -1
  34. package/lib/azmapper/AvailabilityZoneMapper.js +8 -9
  35. package/lib/basic_observability/BasicServiceDashboard.d.ts +0 -3
  36. package/lib/basic_observability/BasicServiceDashboard.js +24 -112
  37. package/lib/basic_observability/BasicServiceMultiAZObservability.d.ts +8 -9
  38. package/lib/basic_observability/BasicServiceMultiAZObservability.js +97 -349
  39. package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.d.ts +66 -0
  40. package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.js +3 -0
  41. package/lib/basic_observability/props/BasicServiceDashboardProps.d.ts +27 -13
  42. package/lib/basic_observability/props/BasicServiceDashboardProps.js +1 -1
  43. package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.d.ts +10 -44
  44. package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.js +1 -1
  45. package/lib/basic_observability/props/NatGatewayDetectionProps.d.ts +31 -0
  46. package/lib/basic_observability/props/NatGatewayDetectionProps.js +3 -0
  47. package/lib/canaries/CanaryFunction.js +14 -13
  48. package/lib/canaries/CanaryTest.js +4 -4
  49. package/lib/canaries/src/canary.zip +0 -0
  50. package/lib/dashboards/ContributorInsightsWidget.d.ts +1 -1
  51. package/lib/dashboards/ContributorInsightsWidget.js +13 -17
  52. package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.d.ts +2 -6
  53. package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +436 -510
  54. package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.d.ts +2 -10
  55. package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +420 -416
  56. package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.d.ts +3 -66
  57. package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.js +1 -1
  58. package/lib/dashboards/props/OperationAvailabilityWidgetProps.d.ts +7 -2
  59. package/lib/dashboards/props/OperationAvailabilityWidgetProps.js +1 -1
  60. package/lib/dashboards/props/OperationLatencyWidgetProps.d.ts +7 -2
  61. package/lib/dashboards/props/OperationLatencyWidgetProps.js +1 -1
  62. package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.d.ts +8 -8
  63. package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.js +1 -1
  64. package/lib/index.d.ts +56 -25
  65. package/lib/index.js +37 -19
  66. package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +79 -2
  67. package/lib/metrics/ApplicationLoadBalancerMetrics.js +883 -26
  68. package/lib/metrics/AvailabilityAndLatencyMetrics.d.ts +23 -0
  69. package/lib/metrics/AvailabilityAndLatencyMetrics.js +125 -31
  70. package/lib/metrics/NatGatewayMetrics.d.ts +113 -0
  71. package/lib/metrics/NatGatewayMetrics.js +357 -0
  72. package/lib/metrics/RegionalAvailabilityMetrics.js +9 -10
  73. package/lib/metrics/RegionalLatencyMetrics.d.ts +1 -1
  74. package/lib/metrics/RegionalLatencyMetrics.js +27 -20
  75. package/lib/metrics/ZonalAvailabilityMetrics.d.ts +2 -8
  76. package/lib/metrics/ZonalAvailabilityMetrics.js +13 -28
  77. package/lib/metrics/ZonalLatencyMetrics.d.ts +2 -1
  78. package/lib/metrics/ZonalLatencyMetrics.js +33 -23
  79. package/lib/metrics/props/AvailabilityAndLatencyMetricProps.d.ts +4 -0
  80. package/lib/metrics/props/AvailabilityAndLatencyMetricProps.js +1 -1
  81. package/lib/metrics/props/LatencyMetricProps.d.ts +6 -0
  82. package/lib/metrics/props/LatencyMetricProps.js +1 -1
  83. package/lib/metrics/props/ZonalAvailabilityMetricProps.d.ts +4 -0
  84. package/lib/metrics/props/ZonalAvailabilityMetricProps.js +1 -1
  85. package/lib/metrics/props/ZonalLatencyMetricProps.d.ts +4 -0
  86. package/lib/metrics/props/ZonalLatencyMetricProps.js +1 -1
  87. package/lib/monitoring/src/monitoring-layer.zip +0 -0
  88. package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.d.ts +10 -0
  89. package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.js +15 -0
  90. package/lib/{basic_observability/props/ApplicationLoadBalancerLatencyOutlierCalculation.d.ts → outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.d.ts} +1 -1
  91. package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.js +23 -0
  92. package/lib/outlier-detection/LatencyOutlierMetricAggregation.d.ts +22 -0
  93. package/lib/outlier-detection/LatencyOutlierMetricAggregation.js +27 -0
  94. package/lib/outlier-detection/OutlierDetectionFunction.js +7 -6
  95. package/lib/outlier-detection/PacketLossOutlierAlgorithm.d.ts +10 -0
  96. package/lib/outlier-detection/PacketLossOutlierAlgorithm.js +15 -0
  97. package/lib/outlier-detection/src/outlier-detection.zip +0 -0
  98. package/lib/outlier-detection/src/scipy-layer.zip +0 -0
  99. package/lib/services/CanaryMetrics.d.ts +4 -3
  100. package/lib/services/CanaryMetrics.js +3 -4
  101. package/lib/services/CanaryTestAvailabilityMetricsOverride.d.ts +21 -0
  102. package/lib/services/CanaryTestAvailabilityMetricsOverride.js +23 -0
  103. package/lib/services/CanaryTestLatencyMetricsOverride.d.ts +15 -0
  104. package/lib/services/CanaryTestLatencyMetricsOverride.js +20 -0
  105. package/lib/services/CanaryTestMetricsOverride.d.ts +1 -13
  106. package/lib/services/CanaryTestMetricsOverride.js +2 -4
  107. package/lib/services/ContributorInsightRuleDetails.js +1 -1
  108. package/lib/services/ICanaryMetrics.d.ts +4 -3
  109. package/lib/services/ICanaryMetrics.js +1 -1
  110. package/lib/services/ICanaryTestAvailabilityMetricsOverride.d.ts +23 -0
  111. package/lib/services/ICanaryTestAvailabilityMetricsOverride.js +3 -0
  112. package/lib/services/ICanaryTestLatencyMetricsOverride.d.ts +13 -0
  113. package/lib/services/ICanaryTestLatencyMetricsOverride.js +3 -0
  114. package/lib/services/ICanaryTestMetricsOverride.d.ts +0 -12
  115. package/lib/services/ICanaryTestMetricsOverride.js +1 -1
  116. package/lib/services/IInstrumentedServiceMultiAZObservability.d.ts +13 -3
  117. package/lib/services/IInstrumentedServiceMultiAZObservability.js +1 -1
  118. package/lib/services/IOperation.d.ts +8 -6
  119. package/lib/services/IOperation.js +1 -1
  120. package/lib/services/IOperationAvailabilityMetricDetails.d.ts +18 -0
  121. package/lib/services/IOperationAvailabilityMetricDetails.js +3 -0
  122. package/lib/services/IOperationLatencyMetricDetails.d.ts +12 -0
  123. package/lib/services/IOperationLatencyMetricDetails.js +3 -0
  124. package/lib/services/IOperationMetricDetails.d.ts +0 -12
  125. package/lib/services/IOperationMetricDetails.js +1 -1
  126. package/lib/services/IService.d.ts +18 -4
  127. package/lib/services/IService.js +1 -1
  128. package/lib/services/IServiceAvailabilityMetricDetails.d.ts +18 -0
  129. package/lib/services/IServiceAvailabilityMetricDetails.js +3 -0
  130. package/lib/services/IServiceLatencyMetricDetails.d.ts +12 -0
  131. package/lib/services/IServiceLatencyMetricDetails.js +3 -0
  132. package/lib/services/IServiceMetricDetails.d.ts +0 -12
  133. package/lib/services/IServiceMetricDetails.js +1 -1
  134. package/lib/services/InstrumentedServiceMultiAZObservability.d.ts +15 -3
  135. package/lib/services/InstrumentedServiceMultiAZObservability.js +252 -228
  136. package/lib/services/Operation.d.ts +8 -6
  137. package/lib/services/Operation.js +4 -3
  138. package/lib/services/OperationAvailabilityMetricDetails.d.ts +22 -0
  139. package/lib/services/OperationAvailabilityMetricDetails.js +24 -0
  140. package/lib/services/OperationLatencyMetricDetails.d.ts +16 -0
  141. package/lib/services/OperationLatencyMetricDetails.js +21 -0
  142. package/lib/services/OperationMetricDetails.d.ts +1 -13
  143. package/lib/services/OperationMetricDetails.js +2 -8
  144. package/lib/services/Service.d.ts +18 -4
  145. package/lib/services/Service.js +4 -2
  146. package/lib/services/ServiceAvailabilityMetricDetails.d.ts +21 -0
  147. package/lib/services/ServiceAvailabilityMetricDetails.js +20 -0
  148. package/lib/services/ServiceLatencyMetricDetails.d.ts +15 -0
  149. package/lib/services/ServiceLatencyMetricDetails.js +19 -0
  150. package/lib/services/ServiceMetricDetails.d.ts +1 -13
  151. package/lib/services/ServiceMetricDetails.js +2 -4
  152. package/lib/services/props/CanaryMetricProps.d.ts +4 -3
  153. package/lib/services/props/CanaryMetricProps.js +1 -1
  154. package/lib/services/props/CanaryTestAvailabilityMetricsOverrideProps.d.ts +22 -0
  155. package/lib/services/props/CanaryTestAvailabilityMetricsOverrideProps.js +3 -0
  156. package/lib/services/props/CanaryTestLatencyMetricsOverrideProps.d.ts +14 -0
  157. package/lib/services/props/CanaryTestLatencyMetricsOverrideProps.js +3 -0
  158. package/lib/services/props/CanaryTestMetricsOverrideProps.d.ts +0 -16
  159. package/lib/services/props/CanaryTestMetricsOverrideProps.js +1 -1
  160. package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.d.ts +50 -5
  161. package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.js +1 -1
  162. package/lib/services/props/MetricDimensions.js +1 -1
  163. package/lib/services/props/OperationAvailabilityMetricDetailsProps.d.ts +22 -0
  164. package/lib/services/props/OperationAvailabilityMetricDetailsProps.js +3 -0
  165. package/lib/services/props/OperationLatencyMetricDetailsProps.d.ts +14 -0
  166. package/lib/services/props/OperationLatencyMetricDetailsProps.js +3 -0
  167. package/lib/services/props/OperationMetricDetailsProps.d.ts +0 -16
  168. package/lib/services/props/OperationMetricDetailsProps.js +1 -1
  169. package/lib/services/props/OperationProps.d.ts +4 -3
  170. package/lib/services/props/OperationProps.js +1 -1
  171. package/lib/services/props/ServiceAvailabilityMetricDetailsProps.d.ts +18 -0
  172. package/lib/services/props/ServiceAvailabilityMetricDetailsProps.js +3 -0
  173. package/lib/services/props/ServiceLatencyMetricDetailsProps.d.ts +12 -0
  174. package/lib/services/props/ServiceLatencyMetricDetailsProps.js +3 -0
  175. package/lib/services/props/ServiceMetricDetailsProps.d.ts +0 -12
  176. package/lib/services/props/ServiceMetricDetailsProps.js +1 -1
  177. package/lib/services/props/ServiceProps.d.ts +18 -4
  178. package/lib/services/props/ServiceProps.js +1 -1
  179. package/lib/utilities/MetricsHelper.d.ts +17 -9
  180. package/lib/utilities/MetricsHelper.js +34 -10
  181. package/lib/utilities/MinimumUnhealthyTargets.d.ts +25 -0
  182. package/lib/utilities/MinimumUnhealthyTargets.js +3 -0
  183. package/package.json +14 -14
  184. package/rosetta/default.ts-fixture +72 -0
  185. package/rosetta/service.ts-fixture +144 -0
  186. package/lib/basic_observability/props/ApplicationLoadBalancerLatencyOutlierCalculation.js +0 -23
  187. package/lib/services/IBasicServiceMultiAZObservability.d.ts +0 -45
  188. package/lib/services/IBasicServiceMultiAZObservability.js +0 -3
@@ -1,82 +1,19 @@
1
1
  import { Duration } from 'aws-cdk-lib';
2
- import { IAlarm, CfnInsightRule } from 'aws-cdk-lib/aws-cloudwatch';
3
- import { ILoadBalancerV2 } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
4
2
  import { IAvailabilityZoneMapper } from '../../azmapper/IAvailabilityZoneMapper';
5
- import { IOperation } from '../../services/IOperation';
3
+ import { IOperationAlarmsAndRules } from '../../alarmsandrules/IOperationAlarmsAndRules';
6
4
  /**
7
5
  * Properties for creating an availability and latency dashboard for
8
6
  * a single operation
9
7
  */
10
8
  export interface OperationAvailabilityAndLatencyDashboardProps {
11
- /**
12
- * The operation for this dashboard
13
- */
14
- readonly operation: IOperation;
15
9
  /**
16
10
  * The interval of the dashboard
17
11
  */
18
12
  readonly interval: Duration;
19
13
  /**
20
- * The load balancer supporting this operation, if this is not
21
- * provided, no load balancer metrics will be shown
22
- *
23
- * @default - No load balancer metrics will be shown on the dashboard
24
- */
25
- readonly loadBalancer?: ILoadBalancerV2;
26
- /**
27
- * Per AZ server-side availability alarms
28
- */
29
- readonly zonalEndpointServerAvailabilityAlarms: IAlarm[];
30
- /**
31
- * Per AZ server-side latency alarms
32
- */
33
- readonly zonalEndpointServerLatencyAlarms: IAlarm[];
34
- /**
35
- * Per AZ canary availability alarms
36
- */
37
- readonly zonalEndpointCanaryAvailabilityAlarms?: IAlarm[];
38
- /**
39
- * Per AZ canary latency alarms
40
- */
41
- readonly zonalEndpointCanaryLatencyAlarms?: IAlarm[];
42
- /**
43
- * Regional server-side availability alarm
44
- */
45
- readonly regionalEndpointServerAvailabilityAlarm: IAlarm;
46
- /**
47
- * Regional server-side latency alarm
48
- */
49
- readonly regionalEndpointServerLatencyAlarm: IAlarm;
50
- /**
51
- * Regional canary availability alarm
52
- */
53
- readonly regionalEndpointCanaryAvailabilityAlarm?: IAlarm;
54
- /**
55
- * Regional canary latency alarm
56
- */
57
- readonly regionalEndpointCanaryLatencyAlarm?: IAlarm;
58
- /**
59
- * Per AZ alarms that indicate isolated single AZ impact
60
- */
61
- readonly isolatedAZImpactAlarms: IAlarm[];
62
- /**
63
- * Alarm that indicates regional impact
64
- */
65
- readonly regionalImpactAlarm: IAlarm;
66
- /**
67
- * Insight rule that shows instance contributors to
68
- * high latency for this operation
69
- *
70
- * @default - Insight rule will not be shown on the dashboard
71
- */
72
- readonly instanceContributorsToHighLatency?: CfnInsightRule;
73
- /**
74
- * Insight rule that shows instance contributors to
75
- * faults for this operation
76
- *
77
- * @default - Insight rule will not be shown on the dashboard
14
+ * The per-operation alarms and rules for this dashboard
78
15
  */
79
- readonly instanceContributorsToFaults?: CfnInsightRule;
16
+ readonly operationAlarmsAndRules: IOperationAlarmsAndRules;
80
17
  /**
81
18
  * The AZ Mapper
82
19
  */
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rhc2hib2FyZHMvcHJvcHMvT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElBbGFybSwgQ2ZuSW5zaWdodFJ1bGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBJTG9hZEJhbGFuY2VyVjIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mic7XG5pbXBvcnQgeyBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4uLy4uL2F6bWFwcGVyL0lBdmFpbGFiaWxpdHlab25lTWFwcGVyJztcbmltcG9ydCB7IElPcGVyYXRpb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9JT3BlcmF0aW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBhdmFpbGFiaWxpdHkgYW5kIGxhdGVuY3kgZGFzaGJvYXJkIGZvclxuICogYSBzaW5nbGUgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBvcGVyYXRpb24gZm9yIHRoaXMgZGFzaGJvYXJkXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpb246IElPcGVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlcnZhbCBvZiB0aGUgZGFzaGJvYXJkXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBsb2FkIGJhbGFuY2VyIHN1cHBvcnRpbmcgdGhpcyBvcGVyYXRpb24sIGlmIHRoaXMgaXMgbm90XG4gICAqIHByb3ZpZGVkLCBubyBsb2FkIGJhbGFuY2VyIG1ldHJpY3Mgd2lsbCBiZSBzaG93blxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGxvYWQgYmFsYW5jZXIgbWV0cmljcyB3aWxsIGJlIHNob3duIG9uIHRoZSBkYXNoYm9hcmRcbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlcj86IElMb2FkQmFsYW5jZXJWMjtcblxuICAvKipcbiAgICogUGVyIEFaIHNlcnZlci1zaWRlIGF2YWlsYWJpbGl0eSBhbGFybXNcbiAgICovXG4gIHJlYWRvbmx5IHpvbmFsRW5kcG9pbnRTZXJ2ZXJBdmFpbGFiaWxpdHlBbGFybXM6IElBbGFybVtdO1xuXG4gIC8qKlxuICAgKiBQZXIgQVogc2VydmVyLXNpZGUgbGF0ZW5jeSBhbGFybXNcbiAgICovXG4gIHJlYWRvbmx5IHpvbmFsRW5kcG9pbnRTZXJ2ZXJMYXRlbmN5QWxhcm1zOiBJQWxhcm1bXTtcblxuICAvKipcbiAgICogUGVyIEFaIGNhbmFyeSBhdmFpbGFiaWxpdHkgYWxhcm1zXG4gICAqL1xuICByZWFkb25seSB6b25hbEVuZHBvaW50Q2FuYXJ5QXZhaWxhYmlsaXR5QWxhcm1zPzogSUFsYXJtW107XG5cbiAgLyoqXG4gICAqIFBlciBBWiBjYW5hcnkgbGF0ZW5jeSBhbGFybXNcbiAgICovXG4gIHJlYWRvbmx5IHpvbmFsRW5kcG9pbnRDYW5hcnlMYXRlbmN5QWxhcm1zPzogSUFsYXJtW107XG5cbiAgLyoqXG4gICAqIFJlZ2lvbmFsIHNlcnZlci1zaWRlIGF2YWlsYWJpbGl0eSBhbGFybVxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uYWxFbmRwb2ludFNlcnZlckF2YWlsYWJpbGl0eUFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIFJlZ2lvbmFsIHNlcnZlci1zaWRlIGxhdGVuY3kgYWxhcm1cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbmFsRW5kcG9pbnRTZXJ2ZXJMYXRlbmN5QWxhcm06IElBbGFybTtcblxuICAvKipcbiAgICogUmVnaW9uYWwgY2FuYXJ5IGF2YWlsYWJpbGl0eSBhbGFybVxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uYWxFbmRwb2ludENhbmFyeUF2YWlsYWJpbGl0eUFsYXJtPzogSUFsYXJtO1xuXG4gIC8qKlxuICAgKiBSZWdpb25hbCBjYW5hcnkgbGF0ZW5jeSBhbGFybVxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uYWxFbmRwb2ludENhbmFyeUxhdGVuY3lBbGFybT86IElBbGFybTtcblxuICAvKipcbiAgICogUGVyIEFaIGFsYXJtcyB0aGF0IGluZGljYXRlIGlzb2xhdGVkIHNpbmdsZSBBWiBpbXBhY3RcbiAgICovXG4gIHJlYWRvbmx5IGlzb2xhdGVkQVpJbXBhY3RBbGFybXM6IElBbGFybVtdO1xuXG4gIC8qKlxuICAgKiBBbGFybSB0aGF0IGluZGljYXRlcyByZWdpb25hbCBpbXBhY3RcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbmFsSW1wYWN0QWxhcm06IElBbGFybTtcblxuICAvKipcbiAgICogSW5zaWdodCBydWxlIHRoYXQgc2hvd3MgaW5zdGFuY2UgY29udHJpYnV0b3JzIHRvXG4gICAqIGhpZ2ggbGF0ZW5jeSBmb3IgdGhpcyBvcGVyYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBJbnNpZ2h0IHJ1bGUgd2lsbCBub3QgYmUgc2hvd24gb24gdGhlIGRhc2hib2FyZFxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VDb250cmlidXRvcnNUb0hpZ2hMYXRlbmN5PzogQ2ZuSW5zaWdodFJ1bGU7XG5cbiAgLyoqXG4gICAqIEluc2lnaHQgcnVsZSB0aGF0IHNob3dzIGluc3RhbmNlIGNvbnRyaWJ1dG9ycyB0b1xuICAgKiBmYXVsdHMgZm9yIHRoaXMgb3BlcmF0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gSW5zaWdodCBydWxlIHdpbGwgbm90IGJlIHNob3duIG9uIHRoZSBkYXNoYm9hcmRcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlQ29udHJpYnV0b3JzVG9GYXVsdHM/OiBDZm5JbnNpZ2h0UnVsZTtcblxuICAvKipcbiAgICogVGhlIEFaIE1hcHBlclxuICAgKi9cbiAgcmVhZG9ubHkgYXpNYXBwZXI6IElBdmFpbGFiaWxpdHlab25lTWFwcGVyO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rhc2hib2FyZHMvcHJvcHMvT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi4vLi4vYXptYXBwZXIvSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXInO1xuaW1wb3J0IHsgSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi4vLi4vYWxhcm1zYW5kcnVsZXMvSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBhdmFpbGFiaWxpdHkgYW5kIGxhdGVuY3kgZGFzaGJvYXJkIGZvclxuICogYSBzaW5nbGUgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpbnRlcnZhbCBvZiB0aGUgZGFzaGJvYXJkXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBwZXItb3BlcmF0aW9uIGFsYXJtcyBhbmQgcnVsZXMgZm9yIHRoaXMgZGFzaGJvYXJkXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpb25BbGFybXNBbmRSdWxlczogSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzO1xuXG4gIC8qKlxuICAgKiBUaGUgQVogTWFwcGVyXG4gICAqL1xuICByZWFkb25seSBhek1hcHBlcjogSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXI7XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { IAlarm, CfnInsightRule } from 'aws-cdk-lib/aws-cloudwatch';
2
2
  import { IOperation } from '../../services/IOperation';
3
3
  import { IOperationMetricDetails } from '../../services/IOperationMetricDetails';
4
+ import { IAvailabilityZoneMapper } from '../../azmapper/IAvailabilityZoneMapper';
4
5
  /**
5
6
  * Props for creating operation dashboard availability and latency widgets
6
7
  */
@@ -14,9 +15,9 @@ export interface OperationAvailabilityWidgetProps {
14
15
  */
15
16
  readonly availabilityMetricDetails: IOperationMetricDetails;
16
17
  /**
17
- * The number of AZs being used
18
+ * The Availability Zone names being used
18
19
  */
19
- readonly availabilityZoneIds: string[];
20
+ readonly availabilityZones: string[];
20
21
  /**
21
22
  * An alarm per AZ for availability
22
23
  */
@@ -34,4 +35,8 @@ export interface OperationAvailabilityWidgetProps {
34
35
  * Is this widget for the canary metrics
35
36
  */
36
37
  readonly isCanary: boolean;
38
+ /**
39
+ * The AZ Mapper
40
+ */
41
+ readonly azMapper: IAvailabilityZoneMapper;
37
42
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uQXZhaWxhYmlsaXR5V2lkZ2V0UHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGFzaGJvYXJkcy9wcm9wcy9PcGVyYXRpb25BdmFpbGFiaWxpdHlXaWRnZXRQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgSUFsYXJtLCBDZm5JbnNpZ2h0UnVsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IElPcGVyYXRpb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9JT3BlcmF0aW9uJztcbmltcG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMnO1xuXG4vKipcbiAqIFByb3BzIGZvciBjcmVhdGluZyBvcGVyYXRpb24gZGFzaGJvYXJkIGF2YWlsYWJpbGl0eSBhbmQgbGF0ZW5jeSB3aWRnZXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3BlcmF0aW9uQXZhaWxhYmlsaXR5V2lkZ2V0UHJvcHMge1xuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiBmb3IgdGhpcyB3aWRnZXRcbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbjogSU9wZXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJpbGl0eSBtZXRyaWMgZGV0YWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsczogSU9wZXJhdGlvbk1ldHJpY0RldGFpbHM7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgQVpzIGJlaW5nIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVJZHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbiBhbGFybSBwZXIgQVogZm9yIGF2YWlsYWJpbGl0eVxuICAgKi9cbiAgcmVhZG9ubHkgem9uYWxFbmRwb2ludEF2YWlsYWJpbGl0eUFsYXJtczogSUFsYXJtW107XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb25hbCBlbmRwb2ludCBhdmFpbGFiaWxpdHkgYWxhcm1cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbmFsRW5kcG9pbnRBdmFpbGFiaWxpdHlBbGFybTogSUFsYXJtO1xuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBjb250cmlidXRvcnMgdG8gZmF1bHRzLCBvbmx5IHNldCBmb3JcbiAgICogc2VydmVyLXNpZGUgd2lkZ2V0c1xuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VDb250cmlidXRvcnNUb0ZhdWx0cz86IENmbkluc2lnaHRSdWxlO1xuXG4gIC8qKlxuICAgKiBJcyB0aGlzIHdpZGdldCBmb3IgdGhlIGNhbmFyeSBtZXRyaWNzXG4gICAqL1xuICByZWFkb25seSBpc0NhbmFyeTogYm9vbGVhbjtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uQXZhaWxhYmlsaXR5V2lkZ2V0UHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGFzaGJvYXJkcy9wcm9wcy9PcGVyYXRpb25BdmFpbGFiaWxpdHlXaWRnZXRQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgSUFsYXJtLCBDZm5JbnNpZ2h0UnVsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IElPcGVyYXRpb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9JT3BlcmF0aW9uJztcbmltcG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXIgfSBmcm9tICcuLi8uLi9hem1hcHBlci9JQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5cbi8qKlxuICogUHJvcHMgZm9yIGNyZWF0aW5nIG9wZXJhdGlvbiBkYXNoYm9hcmQgYXZhaWxhYmlsaXR5IGFuZCBsYXRlbmN5IHdpZGdldHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25BdmFpbGFiaWxpdHlXaWRnZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW9uIGZvciB0aGlzIHdpZGdldFxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uOiBJT3BlcmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgYXZhaWxhYmlsaXR5IG1ldHJpYyBkZXRhaWxzXG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzOiBJT3BlcmF0aW9uTWV0cmljRGV0YWlscztcblxuICAvKipcbiAgICogVGhlIEF2YWlsYWJpbGl0eSBab25lIG5hbWVzIGJlaW5nIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gYWxhcm0gcGVyIEFaIGZvciBhdmFpbGFiaWxpdHlcbiAgICovXG4gIHJlYWRvbmx5IHpvbmFsRW5kcG9pbnRBdmFpbGFiaWxpdHlBbGFybXM6IElBbGFybVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uYWwgZW5kcG9pbnQgYXZhaWxhYmlsaXR5IGFsYXJtXG4gICAqL1xuICByZWFkb25seSByZWdpb25hbEVuZHBvaW50QXZhaWxhYmlsaXR5QWxhcm06IElBbGFybTtcblxuICAvKipcbiAgICogSW5zdGFuY2UgY29udHJpYnV0b3JzIHRvIGZhdWx0cywgb25seSBzZXQgZm9yXG4gICAqIHNlcnZlci1zaWRlIHdpZGdldHNcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlQ29udHJpYnV0b3JzVG9GYXVsdHM/OiBDZm5JbnNpZ2h0UnVsZTtcblxuICAvKipcbiAgICogSXMgdGhpcyB3aWRnZXQgZm9yIHRoZSBjYW5hcnkgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgaXNDYW5hcnk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBBWiBNYXBwZXJcbiAgICovXG4gIHJlYWRvbmx5IGF6TWFwcGVyOiBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcjtcbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { IAlarm, CfnInsightRule } from 'aws-cdk-lib/aws-cloudwatch';
2
2
  import { IOperation } from '../../services/IOperation';
3
3
  import { IOperationMetricDetails } from '../../services/IOperationMetricDetails';
4
+ import { IAvailabilityZoneMapper } from '../../azmapper/IAvailabilityZoneMapper';
4
5
  /**
5
6
  * Props for creating operation dashboard availability and latency widgets
6
7
  */
@@ -14,9 +15,9 @@ export interface OperationLatencyWidgetProps {
14
15
  */
15
16
  readonly latencyMetricDetails: IOperationMetricDetails;
16
17
  /**
17
- * The number of AZs being used
18
+ * The Availability Zones being used
18
19
  */
19
- readonly availabilityZoneIds: string[];
20
+ readonly availabilityZones: string[];
20
21
  /**
21
22
  * An alarm per AZ for latency
22
23
  */
@@ -34,4 +35,8 @@ export interface OperationLatencyWidgetProps {
34
35
  * Is this widget for the canary metrics
35
36
  */
36
37
  readonly isCanary: boolean;
38
+ /**
39
+ * The AZ Mapper to use
40
+ */
41
+ readonly azMapper: IAvailabilityZoneMapper;
37
42
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uTGF0ZW5jeVdpZGdldFByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rhc2hib2FyZHMvcHJvcHMvT3BlcmF0aW9uTGF0ZW5jeVdpZGdldFByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBJQWxhcm0sIENmbkluc2lnaHRSdWxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL0lPcGVyYXRpb24nO1xuaW1wb3J0IHsgSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIGNyZWF0aW5nIG9wZXJhdGlvbiBkYXNoYm9hcmQgYXZhaWxhYmlsaXR5IGFuZCBsYXRlbmN5IHdpZGdldHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcGVyYXRpb25MYXRlbmN5V2lkZ2V0UHJvcHMge1xuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiBmb3IgdGhpcyB3aWRnZXRcbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbjogSU9wZXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGxhdGVuY3kgbWV0cmljIGRldGFpbHNcbiAgICovXG4gIHJlYWRvbmx5IGxhdGVuY3lNZXRyaWNEZXRhaWxzOiBJT3BlcmF0aW9uTWV0cmljRGV0YWlscztcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBBWnMgYmVpbmcgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZUlkczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFuIGFsYXJtIHBlciBBWiBmb3IgbGF0ZW5jeVxuICAgKi9cbiAgcmVhZG9ubHkgem9uYWxFbmRwb2ludExhdGVuY3lBbGFybXM6IElBbGFybVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uYWwgZW5kcG9pbnQgbGF0ZW5jeSBhbGFybVxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uYWxFbmRwb2ludExhdGVuY3lBbGFybTogSUFsYXJtO1xuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBjb250cmlidXRvcnMgdG8gaGlnaCBsYXRlbmN5LCBvbmx5IHNldCBmb3JcbiAgICogc2VydmVyLXNpZGUgd2lkZ2V0c1xuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VDb250cmlidXRvcnNUb0hpZ2hMYXRlbmN5PzogQ2ZuSW5zaWdodFJ1bGU7XG5cbiAgLyoqXG4gICAqIElzIHRoaXMgd2lkZ2V0IGZvciB0aGUgY2FuYXJ5IG1ldHJpY3NcbiAgICovXG4gIHJlYWRvbmx5IGlzQ2FuYXJ5OiBib29sZWFuO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uTGF0ZW5jeVdpZGdldFByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rhc2hib2FyZHMvcHJvcHMvT3BlcmF0aW9uTGF0ZW5jeVdpZGdldFByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBJQWxhcm0sIENmbkluc2lnaHRSdWxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL0lPcGVyYXRpb24nO1xuaW1wb3J0IHsgSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5pbXBvcnQgeyBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4uLy4uL2F6bWFwcGVyL0lBdmFpbGFiaWxpdHlab25lTWFwcGVyJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgY3JlYXRpbmcgb3BlcmF0aW9uIGRhc2hib2FyZCBhdmFpbGFiaWxpdHkgYW5kIGxhdGVuY3kgd2lkZ2V0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhdGlvbkxhdGVuY3lXaWRnZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW9uIGZvciB0aGlzIHdpZGdldFxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uOiBJT3BlcmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbGF0ZW5jeSBtZXRyaWMgZGV0YWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgbGF0ZW5jeU1ldHJpY0RldGFpbHM6IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgQXZhaWxhYmlsaXR5IFpvbmVzIGJlaW5nIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gYWxhcm0gcGVyIEFaIGZvciBsYXRlbmN5XG4gICAqL1xuICByZWFkb25seSB6b25hbEVuZHBvaW50TGF0ZW5jeUFsYXJtczogSUFsYXJtW107XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb25hbCBlbmRwb2ludCBsYXRlbmN5IGFsYXJtXG4gICAqL1xuICByZWFkb25seSByZWdpb25hbEVuZHBvaW50TGF0ZW5jeUFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIGNvbnRyaWJ1dG9ycyB0byBoaWdoIGxhdGVuY3ksIG9ubHkgc2V0IGZvclxuICAgKiBzZXJ2ZXItc2lkZSB3aWRnZXRzXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZUNvbnRyaWJ1dG9yc1RvSGlnaExhdGVuY3k/OiBDZm5JbnNpZ2h0UnVsZTtcblxuICAvKipcbiAgICogSXMgdGhpcyB3aWRnZXQgZm9yIHRoZSBjYW5hcnkgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgaXNDYW5hcnk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBBWiBNYXBwZXIgdG8gdXNlXG4gICAqL1xuICByZWFkb25seSBhek1hcHBlcjogSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXI7XG59XG4iXX0=
@@ -1,7 +1,8 @@
1
1
  import { Duration } from 'aws-cdk-lib';
2
- import { IAlarm } from 'aws-cdk-lib/aws-cloudwatch';
2
+ import { Dashboard } from 'aws-cdk-lib/aws-cloudwatch';
3
3
  import { IAvailabilityZoneMapper } from '../../azmapper/IAvailabilityZoneMapper';
4
4
  import { IService } from '../../services/IService';
5
+ import { IServiceAlarmsAndRules } from '../../alarmsandrules/IServiceAlarmsAndRules';
5
6
  /**
6
7
  * Properties for creating a service level dashboard
7
8
  */
@@ -11,14 +12,9 @@ export interface ServiceAvailabilityAndLatencyDashboardProps {
11
12
  */
12
13
  readonly service: IService;
13
14
  /**
14
- * The AZ isolated impact alarms, one for each AZ
15
+ * The service alarms and rules
15
16
  */
16
- readonly zonalAggregateAlarms: IAlarm[];
17
- /**
18
- * The aggregate regional impact alarm, typically a fault
19
- * count across all critical operations
20
- */
21
- readonly aggregateRegionalAlarm: IAlarm;
17
+ readonly serviceAlarmsAndRules: IServiceAlarmsAndRules;
22
18
  /**
23
19
  * The interval for the dashboard
24
20
  */
@@ -27,4 +23,8 @@ export interface ServiceAvailabilityAndLatencyDashboardProps {
27
23
  * The AZ Mapper
28
24
  */
29
25
  readonly azMapper: IAvailabilityZoneMapper;
26
+ /**
27
+ * The per operation dashboards
28
+ */
29
+ readonly operationsDashboard: Dashboard[];
30
30
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXNoYm9hcmRzL3Byb3BzL1NlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUFsYXJtIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXIgfSBmcm9tICcuLi8uLi9hem1hcHBlci9JQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5pbXBvcnQgeyBJU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL0lTZXJ2aWNlJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIHNlcnZpY2UgbGV2ZWwgZGFzaGJvYXJkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc2VydmljZSBmb3IgdGhlIGRhc2hib2FyZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZTogSVNlcnZpY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBBWiBpc29sYXRlZCBpbXBhY3QgYWxhcm1zLCBvbmUgZm9yIGVhY2ggQVpcbiAgICovXG4gIHJlYWRvbmx5IHpvbmFsQWdncmVnYXRlQWxhcm1zOiBJQWxhcm1bXTtcblxuICAvKipcbiAgICogVGhlIGFnZ3JlZ2F0ZSByZWdpb25hbCBpbXBhY3QgYWxhcm0sIHR5cGljYWxseSBhIGZhdWx0XG4gICAqIGNvdW50IGFjcm9zcyBhbGwgY3JpdGljYWwgb3BlcmF0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgYWdncmVnYXRlUmVnaW9uYWxBbGFybTogSUFsYXJtO1xuXG4gIC8qKlxuICAgKiBUaGUgaW50ZXJ2YWwgZm9yIHRoZSBkYXNoYm9hcmRcbiAgICovXG4gIHJlYWRvbmx5IGludGVydmFsOiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIEFaIE1hcHBlclxuICAgKi9cbiAgcmVhZG9ubHkgYXpNYXBwZXI6IElBdmFpbGFiaWxpdHlab25lTWFwcGVyO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXNoYm9hcmRzL3Byb3BzL1NlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgRGFzaGJvYXJkIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXIgfSBmcm9tICcuLi8uLi9hem1hcHBlci9JQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5pbXBvcnQgeyBJU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL0lTZXJ2aWNlJztcbmltcG9ydCB7IElTZXJ2aWNlQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuLi8uLi9hbGFybXNhbmRydWxlcy9JU2VydmljZUFsYXJtc0FuZFJ1bGVzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhIHNlcnZpY2UgbGV2ZWwgZGFzaGJvYXJkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc2VydmljZSBmb3IgdGhlIGRhc2hib2FyZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZTogSVNlcnZpY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlIGFsYXJtcyBhbmQgcnVsZXNcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VBbGFybXNBbmRSdWxlczogSVNlcnZpY2VBbGFybXNBbmRSdWxlcztcblxuICAvKipcbiAgICogVGhlIGludGVydmFsIGZvciB0aGUgZGFzaGJvYXJkXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBBWiBNYXBwZXJcbiAgICovXG4gIHJlYWRvbmx5IGF6TWFwcGVyOiBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcjtcblxuICAvKipcbiAgICogVGhlIHBlciBvcGVyYXRpb24gZGFzaGJvYXJkc1xuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uc0Rhc2hib2FyZDogRGFzaGJvYXJkW107XG59XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -1,36 +1,67 @@
1
- export { OutlierDetectionAlgorithm } from './utilities/OutlierDetectionAlgorithm';
2
- export { BasicServiceMultiAZObservabilityProps } from './basic_observability/props/BasicServiceMultiAZObservabilityProps';
3
- export { InstrumentedServiceMultiAZObservabilityProps } from './services/props/InstrumentedServiceMultiAZObservabilityProps';
4
- export { IService } from './services/IService';
5
- export { Service } from './services/Service';
6
- export { IOperation } from './services/IOperation';
7
- export { Operation } from './services/Operation';
8
- export { OperationMetricDetails } from './services/OperationMetricDetails';
9
- export { IOperationMetricDetails } from './services/IOperationMetricDetails';
10
- export { ServiceMetricDetails } from './services/ServiceMetricDetails';
11
- export { IServiceMetricDetails } from './services/IServiceMetricDetails';
12
- export { AddCanaryTestProps } from './canaries/props/AddCanaryTestProps';
13
- export { ICanaryMetrics } from './services/ICanaryMetrics';
14
- export { IContributorInsightRuleDetails } from './services/IContributorInsightRuleDetails';
15
1
  export { IAvailabilityZoneMapper } from './azmapper/IAvailabilityZoneMapper';
16
2
  export { AvailabilityZoneMapper } from './azmapper/AvailabilityZoneMapper';
17
3
  export { AvailabilityZoneMapperProps } from './azmapper/props/AvailabilityZoneMapperProps';
18
- export { ServiceProps } from './services/props/ServiceProps';
19
- export { CanaryMetrics } from './services/CanaryMetrics';
20
- export { CanaryMetricProps } from './services/props/CanaryMetricProps';
21
- export { OperationProps } from './services/props/OperationProps';
22
- export { OperationMetricDetailsProps } from './services/props/OperationMetricDetailsProps';
23
- export { ContributorInsightRuleDetails } from './services/ContributorInsightRuleDetails';
24
- export { ContributorInsightRuleDetailsProps } from './services/props/ContributorInsightRuleDetailsProps';
25
4
  export { MetricDimensions } from './services/props/MetricDimensions';
26
5
  export { NetworkConfigurationProps } from './canaries/props/NetworkConfigurationProps';
27
- export { ServiceMetricDetailsProps } from './services/props/ServiceMetricDetailsProps';
6
+ export { AddCanaryTestProps } from './canaries/props/AddCanaryTestProps';
7
+ export { ContributorInsightRuleDetails } from './services/ContributorInsightRuleDetails';
8
+ export { ContributorInsightRuleDetailsProps } from './services/props/ContributorInsightRuleDetailsProps';
9
+ export { IContributorInsightRuleDetails } from './services/IContributorInsightRuleDetails';
10
+ export { ServiceProps } from './services/props/ServiceProps';
11
+ export { IService } from './services/IService';
12
+ export { Service } from './services/Service';
13
+ export { OperationProps } from './services/props/OperationProps';
14
+ export { IOperation } from './services/IOperation';
15
+ export { Operation } from './services/Operation';
16
+ export { InstrumentedServiceMultiAZObservabilityProps } from './services/props/InstrumentedServiceMultiAZObservabilityProps';
28
17
  export { InstrumentedServiceMultiAZObservability } from './services/InstrumentedServiceMultiAZObservability';
29
- export { BasicServiceMultiAZObservability } from './basic_observability/BasicServiceMultiAZObservability';
30
- export { IBasicServiceMultiAZObservability } from './services/IBasicServiceMultiAZObservability';
31
18
  export { IInstrumentedServiceMultiAZObservability } from './services/IInstrumentedServiceMultiAZObservability';
19
+ export { BasicServiceMultiAZObservabilityProps } from './basic_observability/props/BasicServiceMultiAZObservabilityProps';
20
+ export { BasicServiceMultiAZObservability } from './basic_observability/BasicServiceMultiAZObservability';
21
+ export { IBasicServiceMultiAZObservability } from './basic_observability/IBasicServiceMultiAZObservability';
22
+ export { NatGatewayDetectionProps } from './basic_observability/props/NatGatewayDetectionProps';
23
+ export { ApplicationLoadBalancerDetectionProps, AlbTargetGroupMap } from './basic_observability/props/ApplicationLoadBalancerDetectionProps';
24
+ export { OutlierDetectionAlgorithm } from './utilities/OutlierDetectionAlgorithm';
25
+ export { LatencyOutlierMetricAggregation } from './outlier-detection/LatencyOutlierMetricAggregation';
26
+ export { ApplicationLoadBalancerLatencyOutlierAlgorithm } from './outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm';
27
+ export { ApplicationLoadBalancerAvailabilityOutlierAlgorithm } from './outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm';
28
+ export { PacketLossOutlierAlgorithm } from './outlier-detection/PacketLossOutlierAlgorithm';
29
+ export { IOperationAvailabilityMetricDetails } from './services/IOperationAvailabilityMetricDetails';
30
+ export { IOperationLatencyMetricDetails } from './services/IOperationLatencyMetricDetails';
31
+ export { IOperationMetricDetails } from './services/IOperationMetricDetails';
32
+ export { IServiceAvailabilityMetricDetails } from './services/IServiceAvailabilityMetricDetails';
33
+ export { IServiceLatencyMetricDetails } from './services/IServiceLatencyMetricDetails';
34
+ export { IServiceMetricDetails } from './services/IServiceMetricDetails';
35
+ export { OperationAvailabilityMetricDetails } from './services/OperationAvailabilityMetricDetails';
36
+ export { OperationLatencyMetricDetails } from './services/OperationLatencyMetricDetails';
37
+ export { OperationMetricDetails } from './services/OperationMetricDetails';
38
+ export { ServiceAvailabilityMetricDetails } from './services/ServiceAvailabilityMetricDetails';
39
+ export { ServiceLatencyMetricDetails } from './services/ServiceLatencyMetricDetails';
40
+ export { ServiceMetricDetails } from './services/ServiceMetricDetails';
41
+ export { ServiceAvailabilityMetricDetailsProps } from './services/props/ServiceAvailabilityMetricDetailsProps';
42
+ export { ServiceLatencyMetricDetailsProps } from './services/props/ServiceLatencyMetricDetailsProps';
43
+ export { ServiceMetricDetailsProps } from './services/props/ServiceMetricDetailsProps';
44
+ export { OperationAvailabilityMetricDetailsProps } from './services/props/OperationAvailabilityMetricDetailsProps';
45
+ export { OperationLatencyMetricDetailsProps } from './services/props/OperationLatencyMetricDetailsProps';
46
+ export { OperationMetricDetailsProps } from './services/props/OperationMetricDetailsProps';
32
47
  export { IServiceAlarmsAndRules } from './alarmsandrules/IServiceAlarmsAndRules';
48
+ export { IOperationAlarmsAndRules } from './alarmsandrules/IOperationAlarmsAndRules';
49
+ export { IServerSideOperationRegionalAlarmsAndRules } from './alarmsandrules/IServerSideOperationRegionalAlarmsAndRules';
50
+ export { ICanaryOperationRegionalAlarmsAndRules } from './alarmsandrules/ICanaryOperationRegionalAlarmsAndRules';
51
+ export { ICanaryOperationZonalAlarmsAndRules } from './alarmsandrules/ICanaryOperationZonalAlarmsAndRules';
52
+ export { IServerSideOperationZonalAlarmsAndRules } from './alarmsandrules/IServerSideOperationZonalAlarmsAndRules';
53
+ export { IBaseOperationRegionalAlarmsAndRules } from './alarmsandrules/IBaseOperationRegionalAlarmsAndRules';
54
+ export { IBaseOperationZonalAlarmsAndRules } from './alarmsandrules/IBaseOperationZonalAlarmsAndRules';
33
55
  export { ICanaryTestMetricsOverride } from './services/ICanaryTestMetricsOverride';
56
+ export { ICanaryTestAvailabilityMetricsOverride } from './services/ICanaryTestAvailabilityMetricsOverride';
57
+ export { ICanaryTestLatencyMetricsOverride } from './services/ICanaryTestLatencyMetricsOverride';
34
58
  export { CanaryTestMetricsOverride } from './services/CanaryTestMetricsOverride';
59
+ export { CanaryTestAvailabilityMetricsOverride } from './services/CanaryTestAvailabilityMetricsOverride';
60
+ export { CanaryTestLatencyMetricsOverride } from './services/CanaryTestLatencyMetricsOverride';
61
+ export { CanaryTestLatencyMetricsOverrideProps } from './services/props/CanaryTestLatencyMetricsOverrideProps';
62
+ export { CanaryTestAvailabilityMetricsOverrideProps } from './services/props/CanaryTestAvailabilityMetricsOverrideProps';
35
63
  export { CanaryTestMetricsOverrideProps } from './services/props/CanaryTestMetricsOverrideProps';
36
- export { ApplicationLoadBalancerLatencyOutlierCalculation } from './basic_observability/props/ApplicationLoadBalancerLatencyOutlierCalculation';
64
+ export { ICanaryMetrics } from './services/ICanaryMetrics';
65
+ export { CanaryMetrics } from './services/CanaryMetrics';
66
+ export { CanaryMetricProps } from './services/props/CanaryMetricProps';
67
+ export { MinimumUnhealthyTargets } from './utilities/MinimumUnhealthyTargets';
package/lib/index.js CHANGED
@@ -1,32 +1,50 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApplicationLoadBalancerLatencyOutlierCalculation = exports.CanaryTestMetricsOverride = exports.BasicServiceMultiAZObservability = exports.InstrumentedServiceMultiAZObservability = exports.MetricDimensions = exports.ContributorInsightRuleDetails = exports.CanaryMetrics = exports.AvailabilityZoneMapper = exports.ServiceMetricDetails = exports.OperationMetricDetails = exports.Operation = exports.Service = exports.OutlierDetectionAlgorithm = void 0;
4
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
3
  // SPDX-License-Identifier: Apache-2.0
6
- var OutlierDetectionAlgorithm_1 = require("./utilities/OutlierDetectionAlgorithm");
7
- Object.defineProperty(exports, "OutlierDetectionAlgorithm", { enumerable: true, get: function () { return OutlierDetectionAlgorithm_1.OutlierDetectionAlgorithm; } });
8
- var Service_1 = require("./services/Service");
9
- Object.defineProperty(exports, "Service", { enumerable: true, get: function () { return Service_1.Service; } });
10
- var Operation_1 = require("./services/Operation");
11
- Object.defineProperty(exports, "Operation", { enumerable: true, get: function () { return Operation_1.Operation; } });
12
- var OperationMetricDetails_1 = require("./services/OperationMetricDetails");
13
- Object.defineProperty(exports, "OperationMetricDetails", { enumerable: true, get: function () { return OperationMetricDetails_1.OperationMetricDetails; } });
14
- var ServiceMetricDetails_1 = require("./services/ServiceMetricDetails");
15
- Object.defineProperty(exports, "ServiceMetricDetails", { enumerable: true, get: function () { return ServiceMetricDetails_1.ServiceMetricDetails; } });
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.CanaryMetrics = exports.CanaryTestLatencyMetricsOverride = exports.CanaryTestAvailabilityMetricsOverride = exports.CanaryTestMetricsOverride = exports.ServiceMetricDetails = exports.ServiceLatencyMetricDetails = exports.ServiceAvailabilityMetricDetails = exports.OperationMetricDetails = exports.OperationLatencyMetricDetails = exports.OperationAvailabilityMetricDetails = exports.PacketLossOutlierAlgorithm = exports.ApplicationLoadBalancerAvailabilityOutlierAlgorithm = exports.ApplicationLoadBalancerLatencyOutlierAlgorithm = exports.LatencyOutlierMetricAggregation = exports.OutlierDetectionAlgorithm = exports.BasicServiceMultiAZObservability = exports.InstrumentedServiceMultiAZObservability = exports.Operation = exports.Service = exports.ContributorInsightRuleDetails = exports.MetricDimensions = exports.AvailabilityZoneMapper = void 0;
16
6
  var AvailabilityZoneMapper_1 = require("./azmapper/AvailabilityZoneMapper");
17
7
  Object.defineProperty(exports, "AvailabilityZoneMapper", { enumerable: true, get: function () { return AvailabilityZoneMapper_1.AvailabilityZoneMapper; } });
18
- var CanaryMetrics_1 = require("./services/CanaryMetrics");
19
- Object.defineProperty(exports, "CanaryMetrics", { enumerable: true, get: function () { return CanaryMetrics_1.CanaryMetrics; } });
20
- var ContributorInsightRuleDetails_1 = require("./services/ContributorInsightRuleDetails");
21
- Object.defineProperty(exports, "ContributorInsightRuleDetails", { enumerable: true, get: function () { return ContributorInsightRuleDetails_1.ContributorInsightRuleDetails; } });
22
8
  var MetricDimensions_1 = require("./services/props/MetricDimensions");
23
9
  Object.defineProperty(exports, "MetricDimensions", { enumerable: true, get: function () { return MetricDimensions_1.MetricDimensions; } });
10
+ var ContributorInsightRuleDetails_1 = require("./services/ContributorInsightRuleDetails");
11
+ Object.defineProperty(exports, "ContributorInsightRuleDetails", { enumerable: true, get: function () { return ContributorInsightRuleDetails_1.ContributorInsightRuleDetails; } });
12
+ var Service_1 = require("./services/Service");
13
+ Object.defineProperty(exports, "Service", { enumerable: true, get: function () { return Service_1.Service; } });
14
+ var Operation_1 = require("./services/Operation");
15
+ Object.defineProperty(exports, "Operation", { enumerable: true, get: function () { return Operation_1.Operation; } });
24
16
  var InstrumentedServiceMultiAZObservability_1 = require("./services/InstrumentedServiceMultiAZObservability");
25
17
  Object.defineProperty(exports, "InstrumentedServiceMultiAZObservability", { enumerable: true, get: function () { return InstrumentedServiceMultiAZObservability_1.InstrumentedServiceMultiAZObservability; } });
26
18
  var BasicServiceMultiAZObservability_1 = require("./basic_observability/BasicServiceMultiAZObservability");
27
19
  Object.defineProperty(exports, "BasicServiceMultiAZObservability", { enumerable: true, get: function () { return BasicServiceMultiAZObservability_1.BasicServiceMultiAZObservability; } });
20
+ var OutlierDetectionAlgorithm_1 = require("./utilities/OutlierDetectionAlgorithm");
21
+ Object.defineProperty(exports, "OutlierDetectionAlgorithm", { enumerable: true, get: function () { return OutlierDetectionAlgorithm_1.OutlierDetectionAlgorithm; } });
22
+ var LatencyOutlierMetricAggregation_1 = require("./outlier-detection/LatencyOutlierMetricAggregation");
23
+ Object.defineProperty(exports, "LatencyOutlierMetricAggregation", { enumerable: true, get: function () { return LatencyOutlierMetricAggregation_1.LatencyOutlierMetricAggregation; } });
24
+ var ApplicationLoadBalancerLatencyOutlierAlgorithm_1 = require("./outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm");
25
+ Object.defineProperty(exports, "ApplicationLoadBalancerLatencyOutlierAlgorithm", { enumerable: true, get: function () { return ApplicationLoadBalancerLatencyOutlierAlgorithm_1.ApplicationLoadBalancerLatencyOutlierAlgorithm; } });
26
+ var ApplicationLoadBalancerAvailabilityOutlierAlgorithm_1 = require("./outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm");
27
+ Object.defineProperty(exports, "ApplicationLoadBalancerAvailabilityOutlierAlgorithm", { enumerable: true, get: function () { return ApplicationLoadBalancerAvailabilityOutlierAlgorithm_1.ApplicationLoadBalancerAvailabilityOutlierAlgorithm; } });
28
+ var PacketLossOutlierAlgorithm_1 = require("./outlier-detection/PacketLossOutlierAlgorithm");
29
+ Object.defineProperty(exports, "PacketLossOutlierAlgorithm", { enumerable: true, get: function () { return PacketLossOutlierAlgorithm_1.PacketLossOutlierAlgorithm; } });
30
+ var OperationAvailabilityMetricDetails_1 = require("./services/OperationAvailabilityMetricDetails");
31
+ Object.defineProperty(exports, "OperationAvailabilityMetricDetails", { enumerable: true, get: function () { return OperationAvailabilityMetricDetails_1.OperationAvailabilityMetricDetails; } });
32
+ var OperationLatencyMetricDetails_1 = require("./services/OperationLatencyMetricDetails");
33
+ Object.defineProperty(exports, "OperationLatencyMetricDetails", { enumerable: true, get: function () { return OperationLatencyMetricDetails_1.OperationLatencyMetricDetails; } });
34
+ var OperationMetricDetails_1 = require("./services/OperationMetricDetails");
35
+ Object.defineProperty(exports, "OperationMetricDetails", { enumerable: true, get: function () { return OperationMetricDetails_1.OperationMetricDetails; } });
36
+ var ServiceAvailabilityMetricDetails_1 = require("./services/ServiceAvailabilityMetricDetails");
37
+ Object.defineProperty(exports, "ServiceAvailabilityMetricDetails", { enumerable: true, get: function () { return ServiceAvailabilityMetricDetails_1.ServiceAvailabilityMetricDetails; } });
38
+ var ServiceLatencyMetricDetails_1 = require("./services/ServiceLatencyMetricDetails");
39
+ Object.defineProperty(exports, "ServiceLatencyMetricDetails", { enumerable: true, get: function () { return ServiceLatencyMetricDetails_1.ServiceLatencyMetricDetails; } });
40
+ var ServiceMetricDetails_1 = require("./services/ServiceMetricDetails");
41
+ Object.defineProperty(exports, "ServiceMetricDetails", { enumerable: true, get: function () { return ServiceMetricDetails_1.ServiceMetricDetails; } });
28
42
  var CanaryTestMetricsOverride_1 = require("./services/CanaryTestMetricsOverride");
29
43
  Object.defineProperty(exports, "CanaryTestMetricsOverride", { enumerable: true, get: function () { return CanaryTestMetricsOverride_1.CanaryTestMetricsOverride; } });
30
- var ApplicationLoadBalancerLatencyOutlierCalculation_1 = require("./basic_observability/props/ApplicationLoadBalancerLatencyOutlierCalculation");
31
- Object.defineProperty(exports, "ApplicationLoadBalancerLatencyOutlierCalculation", { enumerable: true, get: function () { return ApplicationLoadBalancerLatencyOutlierCalculation_1.ApplicationLoadBalancerLatencyOutlierCalculation; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QyxtRkFBa0Y7QUFBekUsc0lBQUEseUJBQXlCLE9BQUE7QUFJbEMsOENBQTZDO0FBQXBDLGtHQUFBLE9BQU8sT0FBQTtBQUVoQixrREFBaUQ7QUFBeEMsc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLDRFQUEyRTtBQUFsRSxnSUFBQSxzQkFBc0IsT0FBQTtBQUUvQix3RUFBdUU7QUFBOUQsNEhBQUEsb0JBQW9CLE9BQUE7QUFNN0IsNEVBQTJFO0FBQWxFLGdJQUFBLHNCQUFzQixPQUFBO0FBRy9CLDBEQUF5RDtBQUFoRCw4R0FBQSxhQUFhLE9BQUE7QUFJdEIsMEZBQXlGO0FBQWhGLDhJQUFBLDZCQUE2QixPQUFBO0FBRXRDLHNFQUFxRTtBQUE1RCxvSEFBQSxnQkFBZ0IsT0FBQTtBQUd6Qiw4R0FBNkc7QUFBcEcsa0tBQUEsdUNBQXVDLE9BQUE7QUFDaEQsMkdBQTBHO0FBQWpHLG9KQUFBLGdDQUFnQyxPQUFBO0FBS3pDLGtGQUFpRjtBQUF4RSxzSUFBQSx5QkFBeUIsT0FBQTtBQUVsQyxpSkFBZ0o7QUFBdkksb0xBQUEsZ0RBQWdELE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5leHBvcnQgeyBPdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtIH0gZnJvbSAnLi91dGlsaXRpZXMvT3V0bGllckRldGVjdGlvbkFsZ29yaXRobSc7XG5leHBvcnQgeyBCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eVByb3BzIH0gZnJvbSAnLi9iYXNpY19vYnNlcnZhYmlsaXR5L3Byb3BzL0Jhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMnO1xuZXhwb3J0IHsgSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0luc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eVByb3BzJztcbmV4cG9ydCB7IElTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9JU2VydmljZSc7XG5leHBvcnQgeyBTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9TZXJ2aWNlJztcbmV4cG9ydCB7IElPcGVyYXRpb24gfSBmcm9tICcuL3NlcnZpY2VzL0lPcGVyYXRpb24nO1xuZXhwb3J0IHsgT3BlcmF0aW9uIH0gZnJvbSAnLi9zZXJ2aWNlcy9PcGVyYXRpb24nO1xuZXhwb3J0IHsgT3BlcmF0aW9uTWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5leHBvcnQgeyBJT3BlcmF0aW9uTWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL1NlcnZpY2VNZXRyaWNEZXRhaWxzJztcbmV4cG9ydCB7IElTZXJ2aWNlTWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSVNlcnZpY2VNZXRyaWNEZXRhaWxzJztcbmV4cG9ydCB7IEFkZENhbmFyeVRlc3RQcm9wcyB9IGZyb20gJy4vY2FuYXJpZXMvcHJvcHMvQWRkQ2FuYXJ5VGVzdFByb3BzJztcbmV4cG9ydCB7IElDYW5hcnlNZXRyaWNzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JQ2FuYXJ5TWV0cmljcyc7XG5leHBvcnQgeyBJQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL0lDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyc7XG5leHBvcnQgeyBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4vYXptYXBwZXIvSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXInO1xuZXhwb3J0IHsgQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4vYXptYXBwZXIvQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5leHBvcnQgeyBBdmFpbGFiaWxpdHlab25lTWFwcGVyUHJvcHMgfSBmcm9tICcuL2F6bWFwcGVyL3Byb3BzL0F2YWlsYWJpbGl0eVpvbmVNYXBwZXJQcm9wcyc7XG5leHBvcnQgeyBTZXJ2aWNlUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL1NlcnZpY2VQcm9wcyc7XG5leHBvcnQgeyBDYW5hcnlNZXRyaWNzIH0gZnJvbSAnLi9zZXJ2aWNlcy9DYW5hcnlNZXRyaWNzJztcbmV4cG9ydCB7IENhbmFyeU1ldHJpY1Byb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9DYW5hcnlNZXRyaWNQcm9wcyc7XG5leHBvcnQgeyBPcGVyYXRpb25Qcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvT3BlcmF0aW9uUHJvcHMnO1xuZXhwb3J0IHsgT3BlcmF0aW9uTWV0cmljRGV0YWlsc1Byb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9PcGVyYXRpb25NZXRyaWNEZXRhaWxzUHJvcHMnO1xuZXhwb3J0IHsgQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL0NvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmV4cG9ydCB7IENvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0NvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMnO1xuZXhwb3J0IHsgTWV0cmljRGltZW5zaW9ucyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvTWV0cmljRGltZW5zaW9ucyc7XG5leHBvcnQgeyBOZXR3b3JrQ29uZmlndXJhdGlvblByb3BzIH0gZnJvbSAnLi9jYW5hcmllcy9wcm9wcy9OZXR3b3JrQ29uZmlndXJhdGlvblByb3BzJztcbmV4cG9ydCB7IFNlcnZpY2VNZXRyaWNEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL1NlcnZpY2VNZXRyaWNEZXRhaWxzUHJvcHMnO1xuZXhwb3J0IHsgSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9zZXJ2aWNlcy9JbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHknO1xuZXhwb3J0IHsgQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHknO1xuZXhwb3J0IHsgSUJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9zZXJ2aWNlcy9JQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHknO1xuZXhwb3J0IHsgSUluc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSB9IGZyb20gJy4vc2VydmljZXMvSUluc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBJU2VydmljZUFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JU2VydmljZUFsYXJtc0FuZFJ1bGVzJztcbmV4cG9ydCB7IElDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlIH0gZnJvbSAnLi9zZXJ2aWNlcy9JQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSc7XG5leHBvcnQgeyBDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlIH0gZnJvbSAnLi9zZXJ2aWNlcy9DYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlJztcbmV4cG9ydCB7IENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGVQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzJztcbmV4cG9ydCB7IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyTGF0ZW5jeU91dGxpZXJDYWxjdWxhdGlvbiB9IGZyb20gJy4vYmFzaWNfb2JzZXJ2YWJpbGl0eS9wcm9wcy9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlckxhdGVuY3lPdXRsaWVyQ2FsY3VsYXRpb24nO1xuIl19
44
+ var CanaryTestAvailabilityMetricsOverride_1 = require("./services/CanaryTestAvailabilityMetricsOverride");
45
+ Object.defineProperty(exports, "CanaryTestAvailabilityMetricsOverride", { enumerable: true, get: function () { return CanaryTestAvailabilityMetricsOverride_1.CanaryTestAvailabilityMetricsOverride; } });
46
+ var CanaryTestLatencyMetricsOverride_1 = require("./services/CanaryTestLatencyMetricsOverride");
47
+ Object.defineProperty(exports, "CanaryTestLatencyMetricsOverride", { enumerable: true, get: function () { return CanaryTestLatencyMetricsOverride_1.CanaryTestLatencyMetricsOverride; } });
48
+ var CanaryMetrics_1 = require("./services/CanaryMetrics");
49
+ Object.defineProperty(exports, "CanaryMetrics", { enumerable: true, get: function () { return CanaryMetrics_1.CanaryMetrics; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0M7OztBQUd0Qyw0RUFBMkU7QUFBbEUsZ0lBQUEsc0JBQXNCLE9BQUE7QUFHL0Isc0VBQXFFO0FBQTVELG9IQUFBLGdCQUFnQixPQUFBO0FBS3pCLDBGQUF5RjtBQUFoRiw4SUFBQSw2QkFBNkIsT0FBQTtBQU10Qyw4Q0FBNkM7QUFBcEMsa0dBQUEsT0FBTyxPQUFBO0FBSWhCLGtEQUFpRDtBQUF4QyxzR0FBQSxTQUFTLE9BQUE7QUFHbEIsOEdBQTZHO0FBQXBHLGtLQUFBLHVDQUF1QyxPQUFBO0FBSWhELDJHQUEwRztBQUFqRyxvSkFBQSxnQ0FBZ0MsT0FBQTtBQU16QyxtRkFBa0Y7QUFBekUsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMsdUdBQXNHO0FBQTdGLGtKQUFBLCtCQUErQixPQUFBO0FBQ3hDLHFJQUFvSTtBQUEzSCxnTEFBQSw4Q0FBOEMsT0FBQTtBQUN2RCwrSUFBOEk7QUFBckksMExBQUEsbURBQW1ELE9BQUE7QUFDNUQsNkZBQTRGO0FBQW5GLHdJQUFBLDBCQUEwQixPQUFBO0FBVW5DLG9HQUFtRztBQUExRix3SkFBQSxrQ0FBa0MsT0FBQTtBQUMzQywwRkFBeUY7QUFBaEYsOElBQUEsNkJBQTZCLE9BQUE7QUFDdEMsNEVBQTJFO0FBQWxFLGdJQUFBLHNCQUFzQixPQUFBO0FBRS9CLGdHQUErRjtBQUF0RixvSkFBQSxnQ0FBZ0MsT0FBQTtBQUN6QyxzRkFBcUY7QUFBNUUsMElBQUEsMkJBQTJCLE9BQUE7QUFDcEMsd0VBQXVFO0FBQTlELDRIQUFBLG9CQUFvQixPQUFBO0FBdUI3QixrRkFBaUY7QUFBeEUsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMsMEdBQXlHO0FBQWhHLDhKQUFBLHFDQUFxQyxPQUFBO0FBQzlDLGdHQUErRjtBQUF0RixvSkFBQSxnQ0FBZ0MsT0FBQTtBQU16QywwREFBeUQ7QUFBaEQsOEdBQUEsYUFBYSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5leHBvcnQgeyBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4vYXptYXBwZXIvSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXInO1xuZXhwb3J0IHsgQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4vYXptYXBwZXIvQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5leHBvcnQgeyBBdmFpbGFiaWxpdHlab25lTWFwcGVyUHJvcHMgfSBmcm9tICcuL2F6bWFwcGVyL3Byb3BzL0F2YWlsYWJpbGl0eVpvbmVNYXBwZXJQcm9wcyc7XG5cbmV4cG9ydCB7IE1ldHJpY0RpbWVuc2lvbnMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL01ldHJpY0RpbWVuc2lvbnMnO1xuXG5leHBvcnQgeyBOZXR3b3JrQ29uZmlndXJhdGlvblByb3BzIH0gZnJvbSAnLi9jYW5hcmllcy9wcm9wcy9OZXR3b3JrQ29uZmlndXJhdGlvblByb3BzJztcbmV4cG9ydCB7IEFkZENhbmFyeVRlc3RQcm9wcyB9IGZyb20gJy4vY2FuYXJpZXMvcHJvcHMvQWRkQ2FuYXJ5VGVzdFByb3BzJztcblxuZXhwb3J0IHsgQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL0NvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmV4cG9ydCB7IENvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0NvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMnO1xuZXhwb3J0IHsgSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMnO1xuXG5leHBvcnQgeyBTZXJ2aWNlUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL1NlcnZpY2VQcm9wcyc7XG5leHBvcnQgeyBJU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvSVNlcnZpY2UnO1xuZXhwb3J0IHsgU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvU2VydmljZSc7XG5cbmV4cG9ydCB7IE9wZXJhdGlvblByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9PcGVyYXRpb25Qcm9wcyc7XG5leHBvcnQgeyBJT3BlcmF0aW9uIH0gZnJvbSAnLi9zZXJ2aWNlcy9JT3BlcmF0aW9uJztcbmV4cG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gJy4vc2VydmljZXMvT3BlcmF0aW9uJztcblxuZXhwb3J0IHsgSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0luc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eVByb3BzJztcbmV4cG9ydCB7IEluc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSB9IGZyb20gJy4vc2VydmljZXMvSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5JztcbmV4cG9ydCB7IElJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0lJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHknO1xuXG5leHBvcnQgeyBCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eVByb3BzIH0gZnJvbSAnLi9iYXNpY19vYnNlcnZhYmlsaXR5L3Byb3BzL0Jhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMnO1xuZXhwb3J0IHsgQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHknO1xuZXhwb3J0IHsgSUJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9iYXNpY19vYnNlcnZhYmlsaXR5L0lCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5cbmV4cG9ydCB7IE5hdEdhdGV3YXlEZXRlY3Rpb25Qcm9wcyB9IGZyb20gJy4vYmFzaWNfb2JzZXJ2YWJpbGl0eS9wcm9wcy9OYXRHYXRld2F5RGV0ZWN0aW9uUHJvcHMnO1xuZXhwb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJEZXRlY3Rpb25Qcm9wcywgQWxiVGFyZ2V0R3JvdXBNYXAgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJEZXRlY3Rpb25Qcm9wcyc7XG5cbmV4cG9ydCB7IE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gfSBmcm9tICcuL3V0aWxpdGllcy9PdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtJztcbmV4cG9ydCB7IExhdGVuY3lPdXRsaWVyTWV0cmljQWdncmVnYXRpb24gfSBmcm9tICcuL291dGxpZXItZGV0ZWN0aW9uL0xhdGVuY3lPdXRsaWVyTWV0cmljQWdncmVnYXRpb24nO1xuZXhwb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSB9IGZyb20gJy4vb3V0bGllci1kZXRlY3Rpb24vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSc7XG5leHBvcnQgeyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlckF2YWlsYWJpbGl0eU91dGxpZXJBbGdvcml0aG0gfSBmcm9tICcuL291dGxpZXItZGV0ZWN0aW9uL0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyQXZhaWxhYmlsaXR5T3V0bGllckFsZ29yaXRobSc7XG5leHBvcnQgeyBQYWNrZXRMb3NzT3V0bGllckFsZ29yaXRobSB9IGZyb20gJy4vb3V0bGllci1kZXRlY3Rpb24vUGFja2V0TG9zc091dGxpZXJBbGdvcml0aG0nO1xuXG5leHBvcnQgeyBJT3BlcmF0aW9uQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSU9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSU9wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JT3BlcmF0aW9uTGF0ZW5jeU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL0lPcGVyYXRpb25NZXRyaWNEZXRhaWxzJztcblxuZXhwb3J0IHsgSVNlcnZpY2VBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JU2VydmljZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSVNlcnZpY2VMYXRlbmN5TWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSVNlcnZpY2VMYXRlbmN5TWV0cmljRGV0YWlscyc7XG5leHBvcnQgeyBJU2VydmljZU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL0lTZXJ2aWNlTWV0cmljRGV0YWlscyc7XG5cbmV4cG9ydCB7IE9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgT3BlcmF0aW9uTGF0ZW5jeU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzJztcbmV4cG9ydCB7IE9wZXJhdGlvbk1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbk1ldHJpY0RldGFpbHMnO1xuXG5leHBvcnQgeyBTZXJ2aWNlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvU2VydmljZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgU2VydmljZUxhdGVuY3lNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9TZXJ2aWNlTGF0ZW5jeU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL1NlcnZpY2VNZXRyaWNEZXRhaWxzJztcblxuZXhwb3J0IHsgU2VydmljZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBTZXJ2aWNlTGF0ZW5jeU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZUxhdGVuY3lNZXRyaWNEZXRhaWxzUHJvcHMnO1xuZXhwb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyc7XG5cbmV4cG9ydCB7IE9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvT3BlcmF0aW9uQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsc1Byb3BzJztcbmV4cG9ydCB7IE9wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL09wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzUHJvcHMnO1xuZXhwb3J0IHsgT3BlcmF0aW9uTWV0cmljRGV0YWlsc1Byb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9PcGVyYXRpb25NZXRyaWNEZXRhaWxzUHJvcHMnO1xuXG5leHBvcnQgeyBJU2VydmljZUFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JU2VydmljZUFsYXJtc0FuZFJ1bGVzJztcbmV4cG9ydCB7IElPcGVyYXRpb25BbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vYWxhcm1zYW5kcnVsZXMvSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzJztcbmV4cG9ydCB7IElTZXJ2ZXJTaWRlT3BlcmF0aW9uUmVnaW9uYWxBbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vYWxhcm1zYW5kcnVsZXMvSVNlcnZlclNpZGVPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzJztcbmV4cG9ydCB7IElDYW5hcnlPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JQ2FuYXJ5T3BlcmF0aW9uUmVnaW9uYWxBbGFybXNBbmRSdWxlcyc7XG5leHBvcnQgeyBJQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vYWxhcm1zYW5kcnVsZXMvSUNhbmFyeU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSVNlcnZlclNpZGVPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JU2VydmVyU2lkZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSUJhc2VPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JQmFzZU9wZXJhdGlvblJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSUJhc2VPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JQmFzZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMnO1xuXG5leHBvcnQgeyBJQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSB9IGZyb20gJy4vc2VydmljZXMvSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUnO1xuZXhwb3J0IHsgSUNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlJztcbmV4cG9ydCB7IElDYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZSB9IGZyb20gJy4vc2VydmljZXMvSUNhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlJztcblxuZXhwb3J0IHsgQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSB9IGZyb20gJy4vc2VydmljZXMvQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSc7XG5leHBvcnQgeyBDYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlIH0gZnJvbSAnLi9zZXJ2aWNlcy9DYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlJztcbmV4cG9ydCB7IENhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlIH0gZnJvbSAnLi9zZXJ2aWNlcy9DYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZSc7XG5leHBvcnQgeyBDYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZVByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9DYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZVByb3BzJztcbmV4cG9ydCB7IENhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGVQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ2FuYXJ5VGVzdEF2YWlsYWJpbGl0eU1ldHJpY3NPdmVycmlkZVByb3BzJztcbmV4cG9ydCB7IENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGVQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzJztcblxuZXhwb3J0IHsgSUNhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlNZXRyaWNzJztcbmV4cG9ydCB7IENhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0NhbmFyeU1ldHJpY3MnO1xuZXhwb3J0IHsgQ2FuYXJ5TWV0cmljUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0NhbmFyeU1ldHJpY1Byb3BzJztcblxuZXhwb3J0IHsgTWluaW11bVVuaGVhbHRoeVRhcmdldHMgfSBmcm9tICcuL3V0aWxpdGllcy9NaW5pbXVtVW5oZWFsdGh5VGFyZ2V0cyc7Il19
@@ -1,11 +1,15 @@
1
- import { IMetric } from "aws-cdk-lib/aws-cloudwatch";
2
- import { IApplicationLoadBalancer } from "aws-cdk-lib/aws-elasticloadbalancingv2";
1
+ import { IAlarm, IMetric, IWidget } from "aws-cdk-lib/aws-cloudwatch";
2
+ import { IApplicationLoadBalancer, ITargetGroup } from "aws-cdk-lib/aws-elasticloadbalancingv2";
3
3
  import { ZonalApplicationLoadBalancerLatencyMetricProps } from "../basic_observability/props/ZonalApplicationLoadBalancerLatencyMetricProps";
4
4
  import { ZonalApplicationLoadBalancerAvailabilityMetricProps } from "../basic_observability/props/ZonalApplicationLoadBalancerAvailabilityMetricProps";
5
5
  import { Duration } from "aws-cdk-lib";
6
6
  import { RegionalApplicationLoadBalancerAvailabilityMetricProps } from "../basic_observability/props/RegionalApplicationLoadBalancerAvailabilityMetricProps";
7
7
  import { RegionalApplicationLoadBalancerLatencyMetricProps } from "../basic_observability/props/RegionalApplicationLoadBalancerLatencyMetricProps";
8
8
  import { AvailabilityZoneMapper } from "../azmapper/AvailabilityZoneMapper";
9
+ import { IConstruct } from "constructs";
10
+ import { ApplicationLoadBalancerAvailabilityOutlierAlgorithm } from "../outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm";
11
+ import { ApplicationLoadBalancerLatencyOutlierAlgorithm } from "../outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm";
12
+ import { IAvailabilityZoneMapper } from "../azmapper/IAvailabilityZoneMapper";
9
13
  export declare class ApplicationLoadBalancerMetrics {
10
14
  /**
11
15
  * Gets the TargetResponseTime latency for the ALB
@@ -55,6 +59,74 @@ export declare class ApplicationLoadBalancerMetrics {
55
59
  static getTotalAlbFaultCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
56
60
  [key: string]: IMetric;
57
61
  };
62
+ /**
63
+ * Calculates the total number of faults for all ALBs combined per AZ
64
+ * @param albs The ALBs to aggregate
65
+ * @param period The period of time to calculate the metrics
66
+ * @param azMapper The AZ mapper function so the metrics are correctly labeled with their AZ ID
67
+ * @returns
68
+ */
69
+ static getTotalAlbSuccessCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
70
+ [key: string]: IMetric;
71
+ };
72
+ /**
73
+ * Calculates the total number of processed bytes for all ALBs in each zone
74
+ * @param albs
75
+ * @param period
76
+ * @param azMapper
77
+ * @returns
78
+ */
79
+ static getTotalAlbRequestsPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
80
+ [key: string]: IMetric;
81
+ };
82
+ /**
83
+ * Calculates the total number of processed bytes for all ALBs in each zone
84
+ * @param albs
85
+ * @param period
86
+ * @param azMapper
87
+ * @returns
88
+ */
89
+ static getTotalAlbProcessedBytesPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
90
+ [key: string]: IMetric;
91
+ };
92
+ static getTotalAnomalousHostCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
93
+ [key: string]: IMetric;
94
+ };
95
+ static getTotalMitigatedHostCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
96
+ [key: string]: IMetric;
97
+ };
98
+ static getAggregatePerZoneAlbMetric(albTargetGroupMap: Map<IApplicationLoadBalancer, ITargetGroup[]>, metricName: string, period: Duration, azMapper: AvailabilityZoneMapper): {
99
+ [key: string]: IMetric;
100
+ };
101
+ /**
102
+ * Calculates a weighted approximation of the latency at the provided statistic for all ALBs
103
+ * in each zone.
104
+ * @param albs
105
+ * @param statistic
106
+ * @param period
107
+ * @param azMapper
108
+ * @returns
109
+ */
110
+ static getTotalAlbLatencyPerZone(albs: IApplicationLoadBalancer[], statistic: string, period: Duration, azMapper: AvailabilityZoneMapper): {
111
+ [key: string]: IMetric;
112
+ };
113
+ static getWeightedLatencyZScorePerZone(albs: IApplicationLoadBalancer[], statistic: string, period: Duration, azMapper: IAvailabilityZoneMapper): {
114
+ [key: string]: IMetric;
115
+ };
116
+ /**
117
+ * Calculates the fault rate per AZ
118
+ * @param requestsPerZone
119
+ * @param faultsPerZone
120
+ * @param period
121
+ * @param azMapper
122
+ * @returns The fault rate per AZ using the AZ name letter as the key for each metric
123
+ */
124
+ static getTotalAlbFaultRatePerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
125
+ [key: string]: IMetric;
126
+ };
127
+ static getTotalAlb5xxCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: IAvailabilityZoneMapper): {
128
+ [key: string]: IMetric;
129
+ };
58
130
  /**
59
131
  * Creates a zonal processed bytes metric for the specified load balancer
60
132
  * @param loadBalancerFullName
@@ -71,4 +143,9 @@ export declare class ApplicationLoadBalancerMetrics {
71
143
  * @returns IMetric
72
144
  */
73
145
  static getRegionalProcessedBytesMetric(alb: IApplicationLoadBalancer, period: Duration, addLoadBalancerArn?: boolean): IMetric;
146
+ static createAZAvailabilityImpactAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, availabilityZoneId: string, availabilityZone: string, threshold: number, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
147
+ static createAZLatencyImpactAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, availabilityZoneId: string, availabilityZone: string, threshold: Duration, statistic: string, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
148
+ static createAZAvailabilityOutlierAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, algorithm: ApplicationLoadBalancerAvailabilityOutlierAlgorithm, availabilityZoneId: string, availabilityZone: string, threshold: number, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
149
+ static createAZLatencyOutlierAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, algorithm: ApplicationLoadBalancerLatencyOutlierAlgorithm, availabilityZone: string, statistic: string, latencyThresold: Duration, outlierThreshold: number, period: Duration, evaluationPeriods: number, datapointsToAlarm: number, azMapper: IAvailabilityZoneMapper): IAlarm;
150
+ static generateLoadBalancerWidgets(albTargetGroupMap: Map<IApplicationLoadBalancer, ITargetGroup[]>, azMapper: AvailabilityZoneMapper, period: Duration, latencyStatistic: string, latencyThreshold: Duration, faultRateThreshold: number): IWidget[];
74
151
  }