@cdklabs/multi-az-observability 0.0.1-alpha.4 → 0.0.1-alpha.41

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 (180) hide show
  1. package/.jsii +2237 -769
  2. package/API.md +5141 -1591
  3. package/README.md +63 -54
  4. package/cdk.json +1 -1
  5. package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +14 -12
  6. package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +50 -49
  7. package/lib/alarmsandrules/BaseOperationRegionalAlarmsAndRules.js +2 -2
  8. package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.d.ts +6 -15
  9. package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.js +2 -10
  10. package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.d.ts +11 -3
  11. package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.js +24 -13
  12. package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.d.ts +0 -8
  13. package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.js +1 -1
  14. package/lib/alarmsandrules/IOperationAlarmsAndRules.d.ts +20 -27
  15. package/lib/alarmsandrules/IOperationAlarmsAndRules.js +1 -1
  16. package/lib/alarmsandrules/IServerSideOperationRegionalAlarmsAndRules.js +1 -1
  17. package/lib/alarmsandrules/IServiceAlarmsAndRules.d.ts +19 -15
  18. package/lib/alarmsandrules/IServiceAlarmsAndRules.js +1 -1
  19. package/lib/alarmsandrules/OperationAlarmsAndRules.d.ts +15 -22
  20. package/lib/alarmsandrules/OperationAlarmsAndRules.js +52 -72
  21. package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.d.ts +5 -5
  22. package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.js +2 -3
  23. package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.d.ts +21 -13
  24. package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.js +43 -29
  25. package/lib/alarmsandrules/ServiceAlarmsAndRules.d.ts +19 -15
  26. package/lib/alarmsandrules/ServiceAlarmsAndRules.js +34 -136
  27. package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.d.ts +4 -3
  28. package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.js +1 -1
  29. package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.d.ts +6 -44
  30. package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.js +1 -1
  31. package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.d.ts +28 -7
  32. package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.js +1 -1
  33. package/lib/azmapper/AvailabilityZoneMapper.js +8 -9
  34. package/lib/basic_observability/BasicServiceDashboard.d.ts +0 -3
  35. package/lib/basic_observability/BasicServiceDashboard.js +24 -112
  36. package/lib/basic_observability/BasicServiceMultiAZObservability.d.ts +8 -9
  37. package/lib/basic_observability/BasicServiceMultiAZObservability.js +98 -312
  38. package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.d.ts +51 -0
  39. package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.js +3 -0
  40. package/lib/basic_observability/props/BasicServiceDashboardProps.d.ts +27 -13
  41. package/lib/basic_observability/props/BasicServiceDashboardProps.js +1 -1
  42. package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.d.ts +10 -38
  43. package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.js +1 -1
  44. package/lib/basic_observability/props/NatGatewayDetectionProps.d.ts +31 -0
  45. package/lib/basic_observability/props/NatGatewayDetectionProps.js +3 -0
  46. package/lib/canaries/CanaryFunction.js +14 -13
  47. package/lib/canaries/CanaryTest.js +4 -4
  48. package/lib/canaries/src/canary.zip +0 -0
  49. package/lib/dashboards/ContributorInsightsWidget.d.ts +1 -1
  50. package/lib/dashboards/ContributorInsightsWidget.js +13 -17
  51. package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.d.ts +2 -6
  52. package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +445 -507
  53. package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.d.ts +2 -10
  54. package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +350 -437
  55. package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.d.ts +3 -66
  56. package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.js +1 -1
  57. package/lib/dashboards/props/OperationAvailabilityWidgetProps.d.ts +7 -2
  58. package/lib/dashboards/props/OperationAvailabilityWidgetProps.js +1 -1
  59. package/lib/dashboards/props/OperationLatencyWidgetProps.d.ts +7 -2
  60. package/lib/dashboards/props/OperationLatencyWidgetProps.js +1 -1
  61. package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.d.ts +8 -8
  62. package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.js +1 -1
  63. package/lib/index.d.ts +54 -24
  64. package/lib/index.js +36 -17
  65. package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +77 -3
  66. package/lib/metrics/ApplicationLoadBalancerMetrics.js +813 -32
  67. package/lib/metrics/AvailabilityAndLatencyMetrics.d.ts +23 -0
  68. package/lib/metrics/AvailabilityAndLatencyMetrics.js +120 -26
  69. package/lib/metrics/NatGatewayMetrics.d.ts +113 -0
  70. package/lib/metrics/NatGatewayMetrics.js +357 -0
  71. package/lib/metrics/RegionalAvailabilityMetrics.js +4 -5
  72. package/lib/metrics/RegionalLatencyMetrics.d.ts +1 -1
  73. package/lib/metrics/RegionalLatencyMetrics.js +27 -20
  74. package/lib/metrics/ZonalAvailabilityMetrics.d.ts +2 -8
  75. package/lib/metrics/ZonalAvailabilityMetrics.js +10 -25
  76. package/lib/metrics/ZonalLatencyMetrics.d.ts +2 -1
  77. package/lib/metrics/ZonalLatencyMetrics.js +33 -23
  78. package/lib/metrics/props/AvailabilityAndLatencyMetricProps.d.ts +4 -0
  79. package/lib/metrics/props/AvailabilityAndLatencyMetricProps.js +1 -1
  80. package/lib/metrics/props/LatencyMetricProps.d.ts +6 -0
  81. package/lib/metrics/props/LatencyMetricProps.js +1 -1
  82. package/lib/metrics/props/ZonalAvailabilityMetricProps.d.ts +4 -0
  83. package/lib/metrics/props/ZonalAvailabilityMetricProps.js +1 -1
  84. package/lib/metrics/props/ZonalLatencyMetricProps.d.ts +4 -0
  85. package/lib/metrics/props/ZonalLatencyMetricProps.js +1 -1
  86. package/lib/monitoring/src/monitoring-layer.zip +0 -0
  87. package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.d.ts +10 -0
  88. package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.js +15 -0
  89. package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.d.ts +18 -0
  90. package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.js +23 -0
  91. package/lib/outlier-detection/OutlierDetectionFunction.js +7 -6
  92. package/lib/outlier-detection/PacketLossOutlierAlgorithm.d.ts +10 -0
  93. package/lib/outlier-detection/PacketLossOutlierAlgorithm.js +15 -0
  94. package/lib/outlier-detection/src/outlier-detection.zip +0 -0
  95. package/lib/outlier-detection/src/scipy-layer.zip +0 -0
  96. package/lib/services/CanaryMetrics.d.ts +4 -3
  97. package/lib/services/CanaryMetrics.js +3 -4
  98. package/lib/services/CanaryTestAvailabilityMetricsOverride.d.ts +21 -0
  99. package/lib/services/CanaryTestAvailabilityMetricsOverride.js +23 -0
  100. package/lib/services/CanaryTestLatencyMetricsOverride.d.ts +15 -0
  101. package/lib/services/CanaryTestLatencyMetricsOverride.js +20 -0
  102. package/lib/services/CanaryTestMetricsOverride.d.ts +1 -13
  103. package/lib/services/CanaryTestMetricsOverride.js +2 -4
  104. package/lib/services/ContributorInsightRuleDetails.js +1 -1
  105. package/lib/services/ICanaryMetrics.d.ts +4 -3
  106. package/lib/services/ICanaryMetrics.js +1 -1
  107. package/lib/services/ICanaryTestAvailabilityMetricsOverride.d.ts +23 -0
  108. package/lib/services/ICanaryTestAvailabilityMetricsOverride.js +3 -0
  109. package/lib/services/ICanaryTestLatencyMetricsOverride.d.ts +13 -0
  110. package/lib/services/ICanaryTestLatencyMetricsOverride.js +3 -0
  111. package/lib/services/ICanaryTestMetricsOverride.d.ts +0 -12
  112. package/lib/services/ICanaryTestMetricsOverride.js +1 -1
  113. package/lib/services/IInstrumentedServiceMultiAZObservability.d.ts +13 -3
  114. package/lib/services/IInstrumentedServiceMultiAZObservability.js +1 -1
  115. package/lib/services/IOperation.d.ts +8 -6
  116. package/lib/services/IOperation.js +1 -1
  117. package/lib/services/IOperationAvailabilityMetricDetails.d.ts +18 -0
  118. package/lib/services/IOperationAvailabilityMetricDetails.js +3 -0
  119. package/lib/services/IOperationLatencyMetricDetails.d.ts +12 -0
  120. package/lib/services/IOperationLatencyMetricDetails.js +3 -0
  121. package/lib/services/IOperationMetricDetails.d.ts +0 -12
  122. package/lib/services/IOperationMetricDetails.js +1 -1
  123. package/lib/services/IService.d.ts +4 -3
  124. package/lib/services/IService.js +1 -1
  125. package/lib/services/IServiceAvailabilityMetricDetails.d.ts +18 -0
  126. package/lib/services/IServiceAvailabilityMetricDetails.js +3 -0
  127. package/lib/services/IServiceLatencyMetricDetails.d.ts +12 -0
  128. package/lib/services/IServiceLatencyMetricDetails.js +3 -0
  129. package/lib/services/IServiceMetricDetails.d.ts +0 -12
  130. package/lib/services/IServiceMetricDetails.js +1 -1
  131. package/lib/services/InstrumentedServiceMultiAZObservability.d.ts +15 -3
  132. package/lib/services/InstrumentedServiceMultiAZObservability.js +197 -208
  133. package/lib/services/Operation.d.ts +8 -6
  134. package/lib/services/Operation.js +2 -2
  135. package/lib/services/OperationAvailabilityMetricDetails.d.ts +22 -0
  136. package/lib/services/OperationAvailabilityMetricDetails.js +24 -0
  137. package/lib/services/OperationLatencyMetricDetails.d.ts +16 -0
  138. package/lib/services/OperationLatencyMetricDetails.js +21 -0
  139. package/lib/services/OperationMetricDetails.d.ts +1 -13
  140. package/lib/services/OperationMetricDetails.js +2 -8
  141. package/lib/services/Service.d.ts +4 -3
  142. package/lib/services/Service.js +2 -2
  143. package/lib/services/ServiceAvailabilityMetricDetails.d.ts +21 -0
  144. package/lib/services/ServiceAvailabilityMetricDetails.js +20 -0
  145. package/lib/services/ServiceLatencyMetricDetails.d.ts +15 -0
  146. package/lib/services/ServiceLatencyMetricDetails.js +19 -0
  147. package/lib/services/ServiceMetricDetails.d.ts +1 -13
  148. package/lib/services/ServiceMetricDetails.js +2 -4
  149. package/lib/services/props/CanaryMetricProps.d.ts +4 -3
  150. package/lib/services/props/CanaryMetricProps.js +1 -1
  151. package/lib/services/props/CanaryTestAvailabilityMetricsOverrideProps.d.ts +22 -0
  152. package/lib/services/props/CanaryTestAvailabilityMetricsOverrideProps.js +3 -0
  153. package/lib/services/props/CanaryTestLatencyMetricsOverrideProps.d.ts +14 -0
  154. package/lib/services/props/CanaryTestLatencyMetricsOverrideProps.js +3 -0
  155. package/lib/services/props/CanaryTestMetricsOverrideProps.d.ts +0 -16
  156. package/lib/services/props/CanaryTestMetricsOverrideProps.js +1 -1
  157. package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.d.ts +1 -1
  158. package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.js +1 -1
  159. package/lib/services/props/MetricDimensions.js +1 -1
  160. package/lib/services/props/OperationAvailabilityMetricDetailsProps.d.ts +22 -0
  161. package/lib/services/props/OperationAvailabilityMetricDetailsProps.js +3 -0
  162. package/lib/services/props/OperationLatencyMetricDetailsProps.d.ts +14 -0
  163. package/lib/services/props/OperationLatencyMetricDetailsProps.js +3 -0
  164. package/lib/services/props/OperationMetricDetailsProps.d.ts +0 -16
  165. package/lib/services/props/OperationMetricDetailsProps.js +1 -1
  166. package/lib/services/props/OperationProps.d.ts +4 -3
  167. package/lib/services/props/OperationProps.js +1 -1
  168. package/lib/services/props/ServiceAvailabilityMetricDetailsProps.d.ts +18 -0
  169. package/lib/services/props/ServiceAvailabilityMetricDetailsProps.js +3 -0
  170. package/lib/services/props/ServiceLatencyMetricDetailsProps.d.ts +12 -0
  171. package/lib/services/props/ServiceLatencyMetricDetailsProps.js +3 -0
  172. package/lib/services/props/ServiceMetricDetailsProps.d.ts +0 -12
  173. package/lib/services/props/ServiceMetricDetailsProps.js +1 -1
  174. package/lib/services/props/ServiceProps.d.ts +4 -3
  175. package/lib/services/props/ServiceProps.js +1 -1
  176. package/lib/utilities/MetricsHelper.d.ts +17 -9
  177. package/lib/utilities/MetricsHelper.js +34 -10
  178. package/package.json +10 -10
  179. package/lib/services/IBasicServiceMultiAZObservability.d.ts +0 -45
  180. 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,35 +1,65 @@
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 } from './basic_observability/props/ApplicationLoadBalancerDetectionProps';
24
+ export { OutlierDetectionAlgorithm } from './utilities/OutlierDetectionAlgorithm';
25
+ export { ApplicationLoadBalancerLatencyOutlierAlgorithm } from './outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm';
26
+ export { ApplicationLoadBalancerAvailabilityOutlierAlgorithm } from './outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm';
27
+ export { PacketLossOutlierAlgorithm } from './outlier-detection/PacketLossOutlierAlgorithm';
28
+ export { IOperationAvailabilityMetricDetails } from './services/IOperationAvailabilityMetricDetails';
29
+ export { IOperationLatencyMetricDetails } from './services/IOperationLatencyMetricDetails';
30
+ export { IOperationMetricDetails } from './services/IOperationMetricDetails';
31
+ export { IServiceAvailabilityMetricDetails } from './services/IServiceAvailabilityMetricDetails';
32
+ export { IServiceLatencyMetricDetails } from './services/IServiceLatencyMetricDetails';
33
+ export { IServiceMetricDetails } from './services/IServiceMetricDetails';
34
+ export { OperationAvailabilityMetricDetails } from './services/OperationAvailabilityMetricDetails';
35
+ export { OperationLatencyMetricDetails } from './services/OperationLatencyMetricDetails';
36
+ export { OperationMetricDetails } from './services/OperationMetricDetails';
37
+ export { ServiceAvailabilityMetricDetails } from './services/ServiceAvailabilityMetricDetails';
38
+ export { ServiceLatencyMetricDetails } from './services/ServiceLatencyMetricDetails';
39
+ export { ServiceMetricDetails } from './services/ServiceMetricDetails';
40
+ export { ServiceAvailabilityMetricDetailsProps } from './services/props/ServiceAvailabilityMetricDetailsProps';
41
+ export { ServiceLatencyMetricDetailsProps } from './services/props/ServiceLatencyMetricDetailsProps';
42
+ export { ServiceMetricDetailsProps } from './services/props/ServiceMetricDetailsProps';
43
+ export { OperationAvailabilityMetricDetailsProps } from './services/props/OperationAvailabilityMetricDetailsProps';
44
+ export { OperationLatencyMetricDetailsProps } from './services/props/OperationLatencyMetricDetailsProps';
45
+ export { OperationMetricDetailsProps } from './services/props/OperationMetricDetailsProps';
32
46
  export { IServiceAlarmsAndRules } from './alarmsandrules/IServiceAlarmsAndRules';
47
+ export { IOperationAlarmsAndRules } from './alarmsandrules/IOperationAlarmsAndRules';
48
+ export { IServerSideOperationRegionalAlarmsAndRules } from './alarmsandrules/IServerSideOperationRegionalAlarmsAndRules';
49
+ export { ICanaryOperationRegionalAlarmsAndRules } from './alarmsandrules/ICanaryOperationRegionalAlarmsAndRules';
50
+ export { ICanaryOperationZonalAlarmsAndRules } from './alarmsandrules/ICanaryOperationZonalAlarmsAndRules';
51
+ export { IServerSideOperationZonalAlarmsAndRules } from './alarmsandrules/IServerSideOperationZonalAlarmsAndRules';
52
+ export { IBaseOperationRegionalAlarmsAndRules } from './alarmsandrules/IBaseOperationRegionalAlarmsAndRules';
53
+ export { IBaseOperationZonalAlarmsAndRules } from './alarmsandrules/IBaseOperationZonalAlarmsAndRules';
33
54
  export { ICanaryTestMetricsOverride } from './services/ICanaryTestMetricsOverride';
55
+ export { ICanaryTestAvailabilityMetricsOverride } from './services/ICanaryTestAvailabilityMetricsOverride';
56
+ export { ICanaryTestLatencyMetricsOverride } from './services/ICanaryTestLatencyMetricsOverride';
34
57
  export { CanaryTestMetricsOverride } from './services/CanaryTestMetricsOverride';
58
+ export { CanaryTestAvailabilityMetricsOverride } from './services/CanaryTestAvailabilityMetricsOverride';
59
+ export { CanaryTestLatencyMetricsOverride } from './services/CanaryTestLatencyMetricsOverride';
60
+ export { CanaryTestLatencyMetricsOverrideProps } from './services/props/CanaryTestLatencyMetricsOverrideProps';
61
+ export { CanaryTestAvailabilityMetricsOverrideProps } from './services/props/CanaryTestAvailabilityMetricsOverrideProps';
35
62
  export { CanaryTestMetricsOverrideProps } from './services/props/CanaryTestMetricsOverrideProps';
63
+ export { ICanaryMetrics } from './services/ICanaryMetrics';
64
+ export { CanaryMetrics } from './services/CanaryMetrics';
65
+ export { CanaryMetricProps } from './services/props/CanaryMetricProps';
package/lib/index.js CHANGED
@@ -1,30 +1,49 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.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 ApplicationLoadBalancerLatencyOutlierAlgorithm_1 = require("./outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm");
23
+ Object.defineProperty(exports, "ApplicationLoadBalancerLatencyOutlierAlgorithm", { enumerable: true, get: function () { return ApplicationLoadBalancerLatencyOutlierAlgorithm_1.ApplicationLoadBalancerLatencyOutlierAlgorithm; } });
24
+ var ApplicationLoadBalancerAvailabilityOutlierAlgorithm_1 = require("./outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm");
25
+ Object.defineProperty(exports, "ApplicationLoadBalancerAvailabilityOutlierAlgorithm", { enumerable: true, get: function () { return ApplicationLoadBalancerAvailabilityOutlierAlgorithm_1.ApplicationLoadBalancerAvailabilityOutlierAlgorithm; } });
26
+ var PacketLossOutlierAlgorithm_1 = require("./outlier-detection/PacketLossOutlierAlgorithm");
27
+ Object.defineProperty(exports, "PacketLossOutlierAlgorithm", { enumerable: true, get: function () { return PacketLossOutlierAlgorithm_1.PacketLossOutlierAlgorithm; } });
28
+ var OperationAvailabilityMetricDetails_1 = require("./services/OperationAvailabilityMetricDetails");
29
+ Object.defineProperty(exports, "OperationAvailabilityMetricDetails", { enumerable: true, get: function () { return OperationAvailabilityMetricDetails_1.OperationAvailabilityMetricDetails; } });
30
+ var OperationLatencyMetricDetails_1 = require("./services/OperationLatencyMetricDetails");
31
+ Object.defineProperty(exports, "OperationLatencyMetricDetails", { enumerable: true, get: function () { return OperationLatencyMetricDetails_1.OperationLatencyMetricDetails; } });
32
+ var OperationMetricDetails_1 = require("./services/OperationMetricDetails");
33
+ Object.defineProperty(exports, "OperationMetricDetails", { enumerable: true, get: function () { return OperationMetricDetails_1.OperationMetricDetails; } });
34
+ var ServiceAvailabilityMetricDetails_1 = require("./services/ServiceAvailabilityMetricDetails");
35
+ Object.defineProperty(exports, "ServiceAvailabilityMetricDetails", { enumerable: true, get: function () { return ServiceAvailabilityMetricDetails_1.ServiceAvailabilityMetricDetails; } });
36
+ var ServiceLatencyMetricDetails_1 = require("./services/ServiceLatencyMetricDetails");
37
+ Object.defineProperty(exports, "ServiceLatencyMetricDetails", { enumerable: true, get: function () { return ServiceLatencyMetricDetails_1.ServiceLatencyMetricDetails; } });
38
+ var ServiceMetricDetails_1 = require("./services/ServiceMetricDetails");
39
+ Object.defineProperty(exports, "ServiceMetricDetails", { enumerable: true, get: function () { return ServiceMetricDetails_1.ServiceMetricDetails; } });
28
40
  var CanaryTestMetricsOverride_1 = require("./services/CanaryTestMetricsOverride");
29
41
  Object.defineProperty(exports, "CanaryTestMetricsOverride", { enumerable: true, get: function () { return CanaryTestMetricsOverride_1.CanaryTestMetricsOverride; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QyxtRkFBa0Y7QUFBekUsc0lBQUEseUJBQXlCLE9BQUE7QUFJbEMsOENBQTZDO0FBQXBDLGtHQUFBLE9BQU8sT0FBQTtBQUVoQixrREFBaUQ7QUFBeEMsc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLDRFQUEyRTtBQUFsRSxnSUFBQSxzQkFBc0IsT0FBQTtBQUUvQix3RUFBdUU7QUFBOUQsNEhBQUEsb0JBQW9CLE9BQUE7QUFNN0IsNEVBQTJFO0FBQWxFLGdJQUFBLHNCQUFzQixPQUFBO0FBRy9CLDBEQUF5RDtBQUFoRCw4R0FBQSxhQUFhLE9BQUE7QUFJdEIsMEZBQXlGO0FBQWhGLDhJQUFBLDZCQUE2QixPQUFBO0FBRXRDLHNFQUFxRTtBQUE1RCxvSEFBQSxnQkFBZ0IsT0FBQTtBQUd6Qiw4R0FBNkc7QUFBcEcsa0tBQUEsdUNBQXVDLE9BQUE7QUFDaEQsMkdBQTBHO0FBQWpHLG9KQUFBLGdDQUFnQyxPQUFBO0FBS3pDLGtGQUFpRjtBQUF4RSxzSUFBQSx5QkFBeUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmV4cG9ydCB7IE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gfSBmcm9tICcuL3V0aWxpdGllcy9PdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtJztcbmV4cG9ydCB7IEJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyc7XG5leHBvcnQgeyBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMnO1xuZXhwb3J0IHsgSVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL0lTZXJ2aWNlJztcbmV4cG9ydCB7IFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL1NlcnZpY2UnO1xuZXhwb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4vc2VydmljZXMvSU9wZXJhdGlvbic7XG5leHBvcnQgeyBPcGVyYXRpb24gfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbic7XG5leHBvcnQgeyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9PcGVyYXRpb25NZXRyaWNEZXRhaWxzJztcbmV4cG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5leHBvcnQgeyBTZXJ2aWNlTWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvU2VydmljZU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSVNlcnZpY2VNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JU2VydmljZU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgQWRkQ2FuYXJ5VGVzdFByb3BzIH0gZnJvbSAnLi9jYW5hcmllcy9wcm9wcy9BZGRDYW5hcnlUZXN0UHJvcHMnO1xuZXhwb3J0IHsgSUNhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlNZXRyaWNzJztcbmV4cG9ydCB7IElDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmV4cG9ydCB7IElBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi9hem1hcHBlci9JQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5leHBvcnQgeyBBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi9hem1hcHBlci9BdmFpbGFiaWxpdHlab25lTWFwcGVyJztcbmV4cG9ydCB7IEF2YWlsYWJpbGl0eVpvbmVNYXBwZXJQcm9wcyB9IGZyb20gJy4vYXptYXBwZXIvcHJvcHMvQXZhaWxhYmlsaXR5Wm9uZU1hcHBlclByb3BzJztcbmV4cG9ydCB7IFNlcnZpY2VQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZVByb3BzJztcbmV4cG9ydCB7IENhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0NhbmFyeU1ldHJpY3MnO1xuZXhwb3J0IHsgQ2FuYXJ5TWV0cmljUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0NhbmFyeU1ldHJpY1Byb3BzJztcbmV4cG9ydCB7IE9wZXJhdGlvblByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9PcGVyYXRpb25Qcm9wcyc7XG5leHBvcnQgeyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL09wZXJhdGlvbk1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMnO1xuZXhwb3J0IHsgQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBNZXRyaWNEaW1lbnNpb25zIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9NZXRyaWNEaW1lbnNpb25zJztcbmV4cG9ydCB7IE5ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMgfSBmcm9tICcuL2NhbmFyaWVzL3Byb3BzL05ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMnO1xuZXhwb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0luc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSB9IGZyb20gJy4vYmFzaWNfb2JzZXJ2YWJpbGl0eS9CYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBJQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0lCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBJSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9zZXJ2aWNlcy9JSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5JztcbmV4cG9ydCB7IElTZXJ2aWNlQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL2FsYXJtc2FuZHJ1bGVzL0lTZXJ2aWNlQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlJztcbmV4cG9ydCB7IENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0NhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUnO1xuZXhwb3J0IHsgQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9DYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlUHJvcHMnO1xuIl19
42
+ var CanaryTestAvailabilityMetricsOverride_1 = require("./services/CanaryTestAvailabilityMetricsOverride");
43
+ Object.defineProperty(exports, "CanaryTestAvailabilityMetricsOverride", { enumerable: true, get: function () { return CanaryTestAvailabilityMetricsOverride_1.CanaryTestAvailabilityMetricsOverride; } });
44
+ var CanaryTestLatencyMetricsOverride_1 = require("./services/CanaryTestLatencyMetricsOverride");
45
+ Object.defineProperty(exports, "CanaryTestLatencyMetricsOverride", { enumerable: true, get: function () { return CanaryTestLatencyMetricsOverride_1.CanaryTestLatencyMetricsOverride; } });
46
+ ``;
47
+ var CanaryMetrics_1 = require("./services/CanaryMetrics");
48
+ Object.defineProperty(exports, "CanaryMetrics", { enumerable: true, get: function () { return CanaryMetrics_1.CanaryMetrics; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0M7OztBQUd0Qyw0RUFBMkU7QUFBbEUsZ0lBQUEsc0JBQXNCLE9BQUE7QUFHL0Isc0VBQXFFO0FBQTVELG9IQUFBLGdCQUFnQixPQUFBO0FBS3pCLDBGQUF5RjtBQUFoRiw4SUFBQSw2QkFBNkIsT0FBQTtBQU10Qyw4Q0FBNkM7QUFBcEMsa0dBQUEsT0FBTyxPQUFBO0FBSWhCLGtEQUFpRDtBQUF4QyxzR0FBQSxTQUFTLE9BQUE7QUFHbEIsOEdBQTZHO0FBQXBHLGtLQUFBLHVDQUF1QyxPQUFBO0FBSWhELDJHQUEwRztBQUFqRyxvSkFBQSxnQ0FBZ0MsT0FBQTtBQU16QyxtRkFBa0Y7QUFBekUsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMscUlBQW9JO0FBQTNILGdMQUFBLDhDQUE4QyxPQUFBO0FBQ3ZELCtJQUE4STtBQUFySSwwTEFBQSxtREFBbUQsT0FBQTtBQUM1RCw2RkFBNEY7QUFBbkYsd0lBQUEsMEJBQTBCLE9BQUE7QUFVbkMsb0dBQW1HO0FBQTFGLHdKQUFBLGtDQUFrQyxPQUFBO0FBQzNDLDBGQUF5RjtBQUFoRiw4SUFBQSw2QkFBNkIsT0FBQTtBQUN0Qyw0RUFBMkU7QUFBbEUsZ0lBQUEsc0JBQXNCLE9BQUE7QUFFL0IsZ0dBQStGO0FBQXRGLG9KQUFBLGdDQUFnQyxPQUFBO0FBQ3pDLHNGQUFxRjtBQUE1RSwwSUFBQSwyQkFBMkIsT0FBQTtBQUNwQyx3RUFBdUU7QUFBOUQsNEhBQUEsb0JBQW9CLE9BQUE7QUF1QjdCLGtGQUFpRjtBQUF4RSxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQywwR0FBeUc7QUFBaEcsOEpBQUEscUNBQXFDLE9BQUE7QUFDOUMsZ0dBQStGO0FBQXRGLG9KQUFBLGdDQUFnQyxPQUFBO0FBS2tCLEVBQUUsQ0FBQTtBQUM3RCwwREFBeUQ7QUFBaEQsOEdBQUEsYUFBYSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5leHBvcnQgeyBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4vYXptYXBwZXIvSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXInO1xuZXhwb3J0IHsgQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4vYXptYXBwZXIvQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5leHBvcnQgeyBBdmFpbGFiaWxpdHlab25lTWFwcGVyUHJvcHMgfSBmcm9tICcuL2F6bWFwcGVyL3Byb3BzL0F2YWlsYWJpbGl0eVpvbmVNYXBwZXJQcm9wcyc7XG5cbmV4cG9ydCB7IE1ldHJpY0RpbWVuc2lvbnMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL01ldHJpY0RpbWVuc2lvbnMnO1xuXG5leHBvcnQgeyBOZXR3b3JrQ29uZmlndXJhdGlvblByb3BzIH0gZnJvbSAnLi9jYW5hcmllcy9wcm9wcy9OZXR3b3JrQ29uZmlndXJhdGlvblByb3BzJztcbmV4cG9ydCB7IEFkZENhbmFyeVRlc3RQcm9wcyB9IGZyb20gJy4vY2FuYXJpZXMvcHJvcHMvQWRkQ2FuYXJ5VGVzdFByb3BzJztcblxuZXhwb3J0IHsgQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL0NvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmV4cG9ydCB7IENvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0NvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMnO1xuZXhwb3J0IHsgSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMnO1xuXG5leHBvcnQgeyBTZXJ2aWNlUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL1NlcnZpY2VQcm9wcyc7XG5leHBvcnQgeyBJU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvSVNlcnZpY2UnO1xuZXhwb3J0IHsgU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvU2VydmljZSc7XG5cbmV4cG9ydCB7IE9wZXJhdGlvblByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9PcGVyYXRpb25Qcm9wcyc7XG5leHBvcnQgeyBJT3BlcmF0aW9uIH0gZnJvbSAnLi9zZXJ2aWNlcy9JT3BlcmF0aW9uJztcbmV4cG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gJy4vc2VydmljZXMvT3BlcmF0aW9uJztcblxuZXhwb3J0IHsgSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0luc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eVByb3BzJztcbmV4cG9ydCB7IEluc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSB9IGZyb20gJy4vc2VydmljZXMvSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5JztcbmV4cG9ydCB7IElJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0lJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHknO1xuXG5leHBvcnQgeyBCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eVByb3BzIH0gZnJvbSAnLi9iYXNpY19vYnNlcnZhYmlsaXR5L3Byb3BzL0Jhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMnO1xuZXhwb3J0IHsgQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHknO1xuZXhwb3J0IHsgSUJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9iYXNpY19vYnNlcnZhYmlsaXR5L0lCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5cbmV4cG9ydCB7IE5hdEdhdGV3YXlEZXRlY3Rpb25Qcm9wcyB9IGZyb20gJy4vYmFzaWNfb2JzZXJ2YWJpbGl0eS9wcm9wcy9OYXRHYXRld2F5RGV0ZWN0aW9uUHJvcHMnO1xuZXhwb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJEZXRlY3Rpb25Qcm9wcyB9IGZyb20gJy4vYmFzaWNfb2JzZXJ2YWJpbGl0eS9wcm9wcy9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlckRldGVjdGlvblByb3BzJztcblxuZXhwb3J0IHsgT3V0bGllckRldGVjdGlvbkFsZ29yaXRobSB9IGZyb20gJy4vdXRpbGl0aWVzL091dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0nO1xuZXhwb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSB9IGZyb20gJy4vb3V0bGllci1kZXRlY3Rpb24vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSc7XG5leHBvcnQgeyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlckF2YWlsYWJpbGl0eU91dGxpZXJBbGdvcml0aG0gfSBmcm9tICcuL291dGxpZXItZGV0ZWN0aW9uL0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyQXZhaWxhYmlsaXR5T3V0bGllckFsZ29yaXRobSc7XG5leHBvcnQgeyBQYWNrZXRMb3NzT3V0bGllckFsZ29yaXRobSB9IGZyb20gJy4vb3V0bGllci1kZXRlY3Rpb24vUGFja2V0TG9zc091dGxpZXJBbGdvcml0aG0nO1xuXG5leHBvcnQgeyBJT3BlcmF0aW9uQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSU9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSU9wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JT3BlcmF0aW9uTGF0ZW5jeU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL0lPcGVyYXRpb25NZXRyaWNEZXRhaWxzJztcblxuZXhwb3J0IHsgSVNlcnZpY2VBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JU2VydmljZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSVNlcnZpY2VMYXRlbmN5TWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSVNlcnZpY2VMYXRlbmN5TWV0cmljRGV0YWlscyc7XG5leHBvcnQgeyBJU2VydmljZU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL0lTZXJ2aWNlTWV0cmljRGV0YWlscyc7XG5cbmV4cG9ydCB7IE9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgT3BlcmF0aW9uTGF0ZW5jeU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzJztcbmV4cG9ydCB7IE9wZXJhdGlvbk1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbk1ldHJpY0RldGFpbHMnO1xuXG5leHBvcnQgeyBTZXJ2aWNlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvU2VydmljZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgU2VydmljZUxhdGVuY3lNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9TZXJ2aWNlTGF0ZW5jeU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHMgfSBmcm9tICcuL3NlcnZpY2VzL1NlcnZpY2VNZXRyaWNEZXRhaWxzJztcblxuZXhwb3J0IHsgU2VydmljZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBTZXJ2aWNlTGF0ZW5jeU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZUxhdGVuY3lNZXRyaWNEZXRhaWxzUHJvcHMnO1xuZXhwb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyc7XG5cbmV4cG9ydCB7IE9wZXJhdGlvbkF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvT3BlcmF0aW9uQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsc1Byb3BzJztcbmV4cG9ydCB7IE9wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL09wZXJhdGlvbkxhdGVuY3lNZXRyaWNEZXRhaWxzUHJvcHMnO1xuZXhwb3J0IHsgT3BlcmF0aW9uTWV0cmljRGV0YWlsc1Byb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9PcGVyYXRpb25NZXRyaWNEZXRhaWxzUHJvcHMnO1xuXG5leHBvcnQgeyBJU2VydmljZUFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JU2VydmljZUFsYXJtc0FuZFJ1bGVzJztcbmV4cG9ydCB7IElPcGVyYXRpb25BbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vYWxhcm1zYW5kcnVsZXMvSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzJztcbmV4cG9ydCB7IElTZXJ2ZXJTaWRlT3BlcmF0aW9uUmVnaW9uYWxBbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vYWxhcm1zYW5kcnVsZXMvSVNlcnZlclNpZGVPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzJztcbmV4cG9ydCB7IElDYW5hcnlPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JQ2FuYXJ5T3BlcmF0aW9uUmVnaW9uYWxBbGFybXNBbmRSdWxlcyc7XG5leHBvcnQgeyBJQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vYWxhcm1zYW5kcnVsZXMvSUNhbmFyeU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSVNlcnZlclNpZGVPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JU2VydmVyU2lkZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSUJhc2VPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JQmFzZU9wZXJhdGlvblJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSUJhc2VPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9hbGFybXNhbmRydWxlcy9JQmFzZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMnO1xuXG5leHBvcnQgeyBJQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSB9IGZyb20gJy4vc2VydmljZXMvSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUnO1xuZXhwb3J0IHsgSUNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlJztcbmV4cG9ydCB7IElDYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZSB9IGZyb20gJy4vc2VydmljZXMvSUNhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlJztcblxuZXhwb3J0IHsgQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSB9IGZyb20gJy4vc2VydmljZXMvQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSc7XG5leHBvcnQgeyBDYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlIH0gZnJvbSAnLi9zZXJ2aWNlcy9DYW5hcnlUZXN0QXZhaWxhYmlsaXR5TWV0cmljc092ZXJyaWRlJztcbmV4cG9ydCB7IENhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlIH0gZnJvbSAnLi9zZXJ2aWNlcy9DYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZSc7XG5leHBvcnQgeyBDYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZVByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9DYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZVByb3BzJztcbmV4cG9ydCB7IENhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGVQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ2FuYXJ5VGVzdEF2YWlsYWJpbGl0eU1ldHJpY3NPdmVycmlkZVByb3BzJztcbmV4cG9ydCB7IENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGVQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzJztcblxuZXhwb3J0IHsgSUNhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlNZXRyaWNzJztgYFxuZXhwb3J0IHsgQ2FuYXJ5TWV0cmljcyB9IGZyb20gJy4vc2VydmljZXMvQ2FuYXJ5TWV0cmljcyc7XG5leHBvcnQgeyBDYW5hcnlNZXRyaWNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ2FuYXJ5TWV0cmljUHJvcHMnOyJdfQ==
@@ -1,4 +1,4 @@
1
- import { IMetric } from "aws-cdk-lib/aws-cloudwatch";
1
+ import { IAlarm, IMetric, IWidget } from "aws-cdk-lib/aws-cloudwatch";
2
2
  import { IApplicationLoadBalancer } from "aws-cdk-lib/aws-elasticloadbalancingv2";
3
3
  import { ZonalApplicationLoadBalancerLatencyMetricProps } from "../basic_observability/props/ZonalApplicationLoadBalancerLatencyMetricProps";
4
4
  import { ZonalApplicationLoadBalancerAvailabilityMetricProps } from "../basic_observability/props/ZonalApplicationLoadBalancerAvailabilityMetricProps";
@@ -6,6 +6,10 @@ 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,71 @@ 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
+ /**
99
+ * Calculates a weighted approximation of the latency at the provided statistic for all ALBs
100
+ * in each zone.
101
+ * @param albs
102
+ * @param statistic
103
+ * @param period
104
+ * @param azMapper
105
+ * @returns
106
+ */
107
+ static getTotalAlbLatencyPerZone(albs: IApplicationLoadBalancer[], statistic: string, period: Duration, azMapper: AvailabilityZoneMapper): {
108
+ [key: string]: IMetric;
109
+ };
110
+ static getWeightedLatencyZScorePerZone(albs: IApplicationLoadBalancer[], statistic: string, period: Duration, azMapper: IAvailabilityZoneMapper): {
111
+ [key: string]: IMetric;
112
+ };
113
+ /**
114
+ * Calculates the fault rate per AZ
115
+ * @param requestsPerZone
116
+ * @param faultsPerZone
117
+ * @param period
118
+ * @param azMapper
119
+ * @returns The fault rate per AZ using the AZ name letter as the key for each metric
120
+ */
121
+ static getTotalAlbFaultRatePerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
122
+ [key: string]: IMetric;
123
+ };
124
+ static getTotalAlb5xxCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: IAvailabilityZoneMapper): {
125
+ [key: string]: IMetric;
126
+ };
58
127
  /**
59
128
  * Creates a zonal processed bytes metric for the specified load balancer
60
129
  * @param loadBalancerFullName
@@ -62,7 +131,7 @@ export declare class ApplicationLoadBalancerMetrics {
62
131
  * @param period
63
132
  * @returns IMetric
64
133
  */
65
- static getPerAZProcessedBytesMetric(alb: IApplicationLoadBalancer, availabilityZone: string, availabilityZoneId: string, period: Duration): IMetric;
134
+ static getPerAZProcessedBytesMetric(alb: IApplicationLoadBalancer, availabilityZone: string, availabilityZoneId: string, period: Duration, addLoadBalancerArnToLabel?: boolean): IMetric;
66
135
  /**
67
136
  * Creates a zonal processed bytes metric for the specified load balancer
68
137
  * @param loadBalancerFullName
@@ -70,5 +139,10 @@ export declare class ApplicationLoadBalancerMetrics {
70
139
  * @param period
71
140
  * @returns IMetric
72
141
  */
73
- static getRegionalProcessedBytesMetric(alb: IApplicationLoadBalancer, period: Duration): IMetric;
142
+ static getRegionalProcessedBytesMetric(alb: IApplicationLoadBalancer, period: Duration, addLoadBalancerArn?: boolean): IMetric;
143
+ static createAZAvailabilityImpactAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, availabilityZoneId: string, availabilityZone: string, threshold: number, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
144
+ static createAZLatencyImpactAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, availabilityZoneId: string, availabilityZone: string, threshold: Duration, statistic: string, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
145
+ static createAZAvailabilityOutlierAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, algorithm: ApplicationLoadBalancerAvailabilityOutlierAlgorithm, availabilityZoneId: string, availabilityZone: string, threshold: number, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
146
+ 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;
147
+ static generateLoadBalancerWidgets(albs: IApplicationLoadBalancer[], azMapper: AvailabilityZoneMapper, period: Duration, latencyStatistic: string, latencyThreshold: Duration, faultRateThreshold: number): IWidget[];
74
148
  }