@cdklabs/multi-az-observability 0.0.1-alpha.3 → 0.0.1-alpha.31

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 (100) hide show
  1. package/.jsii +374 -147
  2. package/API.md +292 -100
  3. package/README.md +21 -14
  4. package/cdk.json +1 -1
  5. package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +7 -7
  6. package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +35 -35
  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 +19 -27
  15. package/lib/alarmsandrules/IOperationAlarmsAndRules.js +1 -1
  16. package/lib/alarmsandrules/IServerSideOperationRegionalAlarmsAndRules.js +1 -1
  17. package/lib/alarmsandrules/IServiceAlarmsAndRules.d.ts +0 -8
  18. package/lib/alarmsandrules/IServiceAlarmsAndRules.js +1 -1
  19. package/lib/alarmsandrules/OperationAlarmsAndRules.d.ts +14 -22
  20. package/lib/alarmsandrules/OperationAlarmsAndRules.js +51 -71
  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 +0 -2
  26. package/lib/alarmsandrules/ServiceAlarmsAndRules.js +61 -39
  27. package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.d.ts +6 -44
  28. package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.js +1 -1
  29. package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.d.ts +28 -7
  30. package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.js +1 -1
  31. package/lib/azmapper/AvailabilityZoneMapper.js +4 -3
  32. package/lib/basic_observability/BasicServiceDashboard.d.ts +0 -3
  33. package/lib/basic_observability/BasicServiceDashboard.js +24 -112
  34. package/lib/basic_observability/BasicServiceMultiAZObservability.d.ts +8 -9
  35. package/lib/basic_observability/BasicServiceMultiAZObservability.js +100 -312
  36. package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.d.ts +50 -0
  37. package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.js +3 -0
  38. package/lib/basic_observability/props/BasicServiceDashboardProps.d.ts +27 -13
  39. package/lib/basic_observability/props/BasicServiceDashboardProps.js +1 -1
  40. package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.d.ts +10 -38
  41. package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.js +1 -1
  42. package/lib/basic_observability/props/NatGatewayDetectionProps.d.ts +31 -0
  43. package/lib/basic_observability/props/NatGatewayDetectionProps.js +3 -0
  44. package/lib/canaries/CanaryFunction.js +7 -6
  45. package/lib/canaries/src/canary.zip +0 -0
  46. package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.d.ts +2 -6
  47. package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +440 -506
  48. package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.d.ts +0 -1
  49. package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +56 -113
  50. package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.d.ts +3 -66
  51. package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.js +1 -1
  52. package/lib/dashboards/props/OperationAvailabilityWidgetProps.d.ts +7 -2
  53. package/lib/dashboards/props/OperationAvailabilityWidgetProps.js +1 -1
  54. package/lib/dashboards/props/OperationLatencyWidgetProps.d.ts +7 -2
  55. package/lib/dashboards/props/OperationLatencyWidgetProps.js +1 -1
  56. package/lib/index.d.ts +5 -0
  57. package/lib/index.js +8 -2
  58. package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +72 -4
  59. package/lib/metrics/ApplicationLoadBalancerMetrics.js +671 -33
  60. package/lib/metrics/AvailabilityAndLatencyMetrics.d.ts +23 -0
  61. package/lib/metrics/AvailabilityAndLatencyMetrics.js +117 -24
  62. package/lib/metrics/NatGatewayMetrics.d.ts +113 -0
  63. package/lib/metrics/NatGatewayMetrics.js +357 -0
  64. package/lib/metrics/RegionalLatencyMetrics.d.ts +1 -1
  65. package/lib/metrics/RegionalLatencyMetrics.js +27 -20
  66. package/lib/metrics/ZonalAvailabilityMetrics.d.ts +2 -8
  67. package/lib/metrics/ZonalAvailabilityMetrics.js +10 -25
  68. package/lib/metrics/ZonalLatencyMetrics.d.ts +2 -1
  69. package/lib/metrics/ZonalLatencyMetrics.js +33 -23
  70. package/lib/metrics/props/AvailabilityAndLatencyMetricProps.d.ts +4 -0
  71. package/lib/metrics/props/AvailabilityAndLatencyMetricProps.js +1 -1
  72. package/lib/metrics/props/LatencyMetricProps.d.ts +6 -0
  73. package/lib/metrics/props/LatencyMetricProps.js +1 -1
  74. package/lib/metrics/props/ZonalAvailabilityMetricProps.d.ts +4 -0
  75. package/lib/metrics/props/ZonalAvailabilityMetricProps.js +1 -1
  76. package/lib/metrics/props/ZonalLatencyMetricProps.d.ts +4 -0
  77. package/lib/metrics/props/ZonalLatencyMetricProps.js +1 -1
  78. package/lib/monitoring/src/monitoring-layer.zip +0 -0
  79. package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.d.ts +10 -0
  80. package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.js +15 -0
  81. package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.d.ts +18 -0
  82. package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.js +23 -0
  83. package/lib/outlier-detection/OutlierDetectionFunction.js +6 -5
  84. package/lib/outlier-detection/PacketLossOutlierAlgorithm.d.ts +10 -0
  85. package/lib/outlier-detection/PacketLossOutlierAlgorithm.js +15 -0
  86. package/lib/outlier-detection/src/outlier-detection.zip +0 -0
  87. package/lib/outlier-detection/src/scipy-layer.zip +0 -0
  88. package/lib/services/CanaryMetrics.js +1 -1
  89. package/lib/services/CanaryTestMetricsOverride.js +1 -1
  90. package/lib/services/ContributorInsightRuleDetails.js +1 -1
  91. package/lib/services/InstrumentedServiceMultiAZObservability.d.ts +10 -0
  92. package/lib/services/InstrumentedServiceMultiAZObservability.js +188 -194
  93. package/lib/services/Operation.js +1 -1
  94. package/lib/services/OperationMetricDetails.js +1 -1
  95. package/lib/services/Service.js +1 -1
  96. package/lib/services/ServiceMetricDetails.js +1 -1
  97. package/lib/services/props/MetricDimensions.js +1 -1
  98. package/lib/utilities/MetricsHelper.d.ts +15 -10
  99. package/lib/utilities/MetricsHelper.js +19 -11
  100. package/package.json +8 -8
@@ -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=
package/lib/index.d.ts CHANGED
@@ -33,3 +33,8 @@ export { IServiceAlarmsAndRules } from './alarmsandrules/IServiceAlarmsAndRules'
33
33
  export { ICanaryTestMetricsOverride } from './services/ICanaryTestMetricsOverride';
34
34
  export { CanaryTestMetricsOverride } from './services/CanaryTestMetricsOverride';
35
35
  export { CanaryTestMetricsOverrideProps } from './services/props/CanaryTestMetricsOverrideProps';
36
+ export { ApplicationLoadBalancerLatencyOutlierAlgorithm } from './outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm';
37
+ export { ApplicationLoadBalancerAvailabilityOutlierAlgorithm } from './outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm';
38
+ export { NatGatewayDetectionProps } from './basic_observability/props/NatGatewayDetectionProps';
39
+ export { ApplicationLoadBalancerDetectionProps } from './basic_observability/props/ApplicationLoadBalancerDetectionProps';
40
+ export { PacketLossOutlierAlgorithm } from './outlier-detection/PacketLossOutlierAlgorithm';
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
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;
3
+ exports.PacketLossOutlierAlgorithm = exports.ApplicationLoadBalancerAvailabilityOutlierAlgorithm = exports.ApplicationLoadBalancerLatencyOutlierAlgorithm = 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
4
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5
5
  // SPDX-License-Identifier: Apache-2.0
6
6
  var OutlierDetectionAlgorithm_1 = require("./utilities/OutlierDetectionAlgorithm");
@@ -27,4 +27,10 @@ var BasicServiceMultiAZObservability_1 = require("./basic_observability/BasicSer
27
27
  Object.defineProperty(exports, "BasicServiceMultiAZObservability", { enumerable: true, get: function () { return BasicServiceMultiAZObservability_1.BasicServiceMultiAZObservability; } });
28
28
  var CanaryTestMetricsOverride_1 = require("./services/CanaryTestMetricsOverride");
29
29
  Object.defineProperty(exports, "CanaryTestMetricsOverride", { enumerable: true, get: function () { return CanaryTestMetricsOverride_1.CanaryTestMetricsOverride; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QyxtRkFBa0Y7QUFBekUsc0lBQUEseUJBQXlCLE9BQUE7QUFJbEMsOENBQTZDO0FBQXBDLGtHQUFBLE9BQU8sT0FBQTtBQUVoQixrREFBaUQ7QUFBeEMsc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLDRFQUEyRTtBQUFsRSxnSUFBQSxzQkFBc0IsT0FBQTtBQUUvQix3RUFBdUU7QUFBOUQsNEhBQUEsb0JBQW9CLE9BQUE7QUFNN0IsNEVBQTJFO0FBQWxFLGdJQUFBLHNCQUFzQixPQUFBO0FBRy9CLDBEQUF5RDtBQUFoRCw4R0FBQSxhQUFhLE9BQUE7QUFJdEIsMEZBQXlGO0FBQWhGLDhJQUFBLDZCQUE2QixPQUFBO0FBRXRDLHNFQUFxRTtBQUE1RCxvSEFBQSxnQkFBZ0IsT0FBQTtBQUd6Qiw4R0FBNkc7QUFBcEcsa0tBQUEsdUNBQXVDLE9BQUE7QUFDaEQsMkdBQTBHO0FBQWpHLG9KQUFBLGdDQUFnQyxPQUFBO0FBS3pDLGtGQUFpRjtBQUF4RSxzSUFBQSx5QkFBeUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmV4cG9ydCB7IE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gfSBmcm9tICcuL3V0aWxpdGllcy9PdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtJztcbmV4cG9ydCB7IEJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyc7XG5leHBvcnQgeyBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMnO1xuZXhwb3J0IHsgSVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL0lTZXJ2aWNlJztcbmV4cG9ydCB7IFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL1NlcnZpY2UnO1xuZXhwb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4vc2VydmljZXMvSU9wZXJhdGlvbic7XG5leHBvcnQgeyBPcGVyYXRpb24gfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbic7XG5leHBvcnQgeyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9PcGVyYXRpb25NZXRyaWNEZXRhaWxzJztcbmV4cG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5leHBvcnQgeyBTZXJ2aWNlTWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvU2VydmljZU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSVNlcnZpY2VNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JU2VydmljZU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgQWRkQ2FuYXJ5VGVzdFByb3BzIH0gZnJvbSAnLi9jYW5hcmllcy9wcm9wcy9BZGRDYW5hcnlUZXN0UHJvcHMnO1xuZXhwb3J0IHsgSUNhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlNZXRyaWNzJztcbmV4cG9ydCB7IElDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmV4cG9ydCB7IElBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi9hem1hcHBlci9JQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5leHBvcnQgeyBBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi9hem1hcHBlci9BdmFpbGFiaWxpdHlab25lTWFwcGVyJztcbmV4cG9ydCB7IEF2YWlsYWJpbGl0eVpvbmVNYXBwZXJQcm9wcyB9IGZyb20gJy4vYXptYXBwZXIvcHJvcHMvQXZhaWxhYmlsaXR5Wm9uZU1hcHBlclByb3BzJztcbmV4cG9ydCB7IFNlcnZpY2VQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZVByb3BzJztcbmV4cG9ydCB7IENhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0NhbmFyeU1ldHJpY3MnO1xuZXhwb3J0IHsgQ2FuYXJ5TWV0cmljUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0NhbmFyeU1ldHJpY1Byb3BzJztcbmV4cG9ydCB7IE9wZXJhdGlvblByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9PcGVyYXRpb25Qcm9wcyc7XG5leHBvcnQgeyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL09wZXJhdGlvbk1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMnO1xuZXhwb3J0IHsgQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBNZXRyaWNEaW1lbnNpb25zIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9NZXRyaWNEaW1lbnNpb25zJztcbmV4cG9ydCB7IE5ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMgfSBmcm9tICcuL2NhbmFyaWVzL3Byb3BzL05ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMnO1xuZXhwb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0luc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSB9IGZyb20gJy4vYmFzaWNfb2JzZXJ2YWJpbGl0eS9CYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBJQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0lCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBJSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9zZXJ2aWNlcy9JSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5JztcbmV4cG9ydCB7IElTZXJ2aWNlQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL2FsYXJtc2FuZHJ1bGVzL0lTZXJ2aWNlQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlJztcbmV4cG9ydCB7IENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0NhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUnO1xuZXhwb3J0IHsgQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9DYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlUHJvcHMnO1xuIl19
30
+ var ApplicationLoadBalancerLatencyOutlierAlgorithm_1 = require("./outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm");
31
+ Object.defineProperty(exports, "ApplicationLoadBalancerLatencyOutlierAlgorithm", { enumerable: true, get: function () { return ApplicationLoadBalancerLatencyOutlierAlgorithm_1.ApplicationLoadBalancerLatencyOutlierAlgorithm; } });
32
+ var ApplicationLoadBalancerAvailabilityOutlierAlgorithm_1 = require("./outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm");
33
+ Object.defineProperty(exports, "ApplicationLoadBalancerAvailabilityOutlierAlgorithm", { enumerable: true, get: function () { return ApplicationLoadBalancerAvailabilityOutlierAlgorithm_1.ApplicationLoadBalancerAvailabilityOutlierAlgorithm; } });
34
+ var PacketLossOutlierAlgorithm_1 = require("./outlier-detection/PacketLossOutlierAlgorithm");
35
+ Object.defineProperty(exports, "PacketLossOutlierAlgorithm", { enumerable: true, get: function () { return PacketLossOutlierAlgorithm_1.PacketLossOutlierAlgorithm; } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0QyxtRkFBa0Y7QUFBekUsc0lBQUEseUJBQXlCLE9BQUE7QUFJbEMsOENBQTZDO0FBQXBDLGtHQUFBLE9BQU8sT0FBQTtBQUVoQixrREFBaUQ7QUFBeEMsc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLDRFQUEyRTtBQUFsRSxnSUFBQSxzQkFBc0IsT0FBQTtBQUUvQix3RUFBdUU7QUFBOUQsNEhBQUEsb0JBQW9CLE9BQUE7QUFNN0IsNEVBQTJFO0FBQWxFLGdJQUFBLHNCQUFzQixPQUFBO0FBRy9CLDBEQUF5RDtBQUFoRCw4R0FBQSxhQUFhLE9BQUE7QUFJdEIsMEZBQXlGO0FBQWhGLDhJQUFBLDZCQUE2QixPQUFBO0FBRXRDLHNFQUFxRTtBQUE1RCxvSEFBQSxnQkFBZ0IsT0FBQTtBQUd6Qiw4R0FBNkc7QUFBcEcsa0tBQUEsdUNBQXVDLE9BQUE7QUFDaEQsMkdBQTBHO0FBQWpHLG9KQUFBLGdDQUFnQyxPQUFBO0FBS3pDLGtGQUFpRjtBQUF4RSxzSUFBQSx5QkFBeUIsT0FBQTtBQUVsQyxxSUFBb0k7QUFBM0gsZ0xBQUEsOENBQThDLE9BQUE7QUFDdkQsK0lBQThJO0FBQXJJLDBMQUFBLG1EQUFtRCxPQUFBO0FBRzVELDZGQUE0RjtBQUFuRix3SUFBQSwwQkFBMEIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmV4cG9ydCB7IE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gfSBmcm9tICcuL3V0aWxpdGllcy9PdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtJztcbmV4cG9ydCB7IEJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyc7XG5leHBvcnQgeyBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMnO1xuZXhwb3J0IHsgSVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL0lTZXJ2aWNlJztcbmV4cG9ydCB7IFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL1NlcnZpY2UnO1xuZXhwb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4vc2VydmljZXMvSU9wZXJhdGlvbic7XG5leHBvcnQgeyBPcGVyYXRpb24gfSBmcm9tICcuL3NlcnZpY2VzL09wZXJhdGlvbic7XG5leHBvcnQgeyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9PcGVyYXRpb25NZXRyaWNEZXRhaWxzJztcbmV4cG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5leHBvcnQgeyBTZXJ2aWNlTWV0cmljRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvU2VydmljZU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgSVNlcnZpY2VNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9JU2VydmljZU1ldHJpY0RldGFpbHMnO1xuZXhwb3J0IHsgQWRkQ2FuYXJ5VGVzdFByb3BzIH0gZnJvbSAnLi9jYW5hcmllcy9wcm9wcy9BZGRDYW5hcnlUZXN0UHJvcHMnO1xuZXhwb3J0IHsgSUNhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlNZXRyaWNzJztcbmV4cG9ydCB7IElDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmV4cG9ydCB7IElBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi9hem1hcHBlci9JQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5leHBvcnQgeyBBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi9hem1hcHBlci9BdmFpbGFiaWxpdHlab25lTWFwcGVyJztcbmV4cG9ydCB7IEF2YWlsYWJpbGl0eVpvbmVNYXBwZXJQcm9wcyB9IGZyb20gJy4vYXptYXBwZXIvcHJvcHMvQXZhaWxhYmlsaXR5Wm9uZU1hcHBlclByb3BzJztcbmV4cG9ydCB7IFNlcnZpY2VQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZVByb3BzJztcbmV4cG9ydCB7IENhbmFyeU1ldHJpY3MgfSBmcm9tICcuL3NlcnZpY2VzL0NhbmFyeU1ldHJpY3MnO1xuZXhwb3J0IHsgQ2FuYXJ5TWV0cmljUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL0NhbmFyeU1ldHJpY1Byb3BzJztcbmV4cG9ydCB7IE9wZXJhdGlvblByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9PcGVyYXRpb25Qcm9wcyc7XG5leHBvcnQgeyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3NlcnZpY2VzL3Byb3BzL09wZXJhdGlvbk1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vc2VydmljZXMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMnO1xuZXhwb3J0IHsgQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBNZXRyaWNEaW1lbnNpb25zIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9NZXRyaWNEaW1lbnNpb25zJztcbmV4cG9ydCB7IE5ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMgfSBmcm9tICcuL2NhbmFyaWVzL3Byb3BzL05ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMnO1xuZXhwb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vc2VydmljZXMvcHJvcHMvU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyc7XG5leHBvcnQgeyBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0luc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSB9IGZyb20gJy4vYmFzaWNfb2JzZXJ2YWJpbGl0eS9CYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBJQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkgfSBmcm9tICcuL3NlcnZpY2VzL0lCYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eSc7XG5leHBvcnQgeyBJSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9zZXJ2aWNlcy9JSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5JztcbmV4cG9ydCB7IElTZXJ2aWNlQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL2FsYXJtc2FuZHJ1bGVzL0lTZXJ2aWNlQWxhcm1zQW5kUnVsZXMnO1xuZXhwb3J0IHsgSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0lDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlJztcbmV4cG9ydCB7IENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL3NlcnZpY2VzL0NhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUnO1xuZXhwb3J0IHsgQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcm9wcy9DYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlUHJvcHMnO1xuZXhwb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSB9IGZyb20gJy4vb3V0bGllci1kZXRlY3Rpb24vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSc7XG5leHBvcnQgeyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlckF2YWlsYWJpbGl0eU91dGxpZXJBbGdvcml0aG0gfSBmcm9tICcuL291dGxpZXItZGV0ZWN0aW9uL0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyQXZhaWxhYmlsaXR5T3V0bGllckFsZ29yaXRobSc7XG5leHBvcnQgeyBOYXRHYXRld2F5RGV0ZWN0aW9uUHJvcHMgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvTmF0R2F0ZXdheURldGVjdGlvblByb3BzJztcbmV4cG9ydCB7IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyRGV0ZWN0aW9uUHJvcHMgfSBmcm9tICcuL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJEZXRlY3Rpb25Qcm9wcyc7XG5leHBvcnQgeyBQYWNrZXRMb3NzT3V0bGllckFsZ29yaXRobSB9IGZyb20gJy4vb3V0bGllci1kZXRlY3Rpb24vUGFja2V0TG9zc091dGxpZXJBbGdvcml0aG0nOyJdfQ==
@@ -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
@@ -52,7 +56,66 @@ export declare class ApplicationLoadBalancerMetrics {
52
56
  * @param azMapper The AZ mapper function so the metrics are correctly labeled with their AZ ID
53
57
  * @returns
54
58
  */
55
- static getTotalAlbFaultCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
59
+ static getTotalAlbFaultCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper, prefix?: string): {
60
+ [key: string]: IMetric;
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, prefix?: string): {
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
+ /**
93
+ * Calculates a weighted approximation of the latency at the provided statistic for all ALBs
94
+ * in each zone.
95
+ * @param albs
96
+ * @param statistic
97
+ * @param period
98
+ * @param azMapper
99
+ * @returns
100
+ */
101
+ static getTotalAlbLatencyPerZone(albs: IApplicationLoadBalancer[], statistic: string, period: Duration, azMapper: AvailabilityZoneMapper): {
102
+ [key: string]: IMetric;
103
+ };
104
+ static getWeightedLatencyZScorePerZone(albs: IApplicationLoadBalancer[], statistic: string, period: Duration, azMapper: IAvailabilityZoneMapper): {
105
+ [key: string]: IMetric;
106
+ };
107
+ /**
108
+ * Calculates the fault rate per AZ
109
+ * @param requestsPerZone
110
+ * @param faultsPerZone
111
+ * @param period
112
+ * @param azMapper
113
+ * @returns The fault rate per AZ using the AZ name letter as the key for each metric
114
+ */
115
+ static getTotalAlbFaultRatePerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: AvailabilityZoneMapper): {
116
+ [key: string]: IMetric;
117
+ };
118
+ static getTotalAlb5xxCountPerZone(albs: IApplicationLoadBalancer[], period: Duration, azMapper: IAvailabilityZoneMapper): {
56
119
  [key: string]: IMetric;
57
120
  };
58
121
  /**
@@ -62,7 +125,7 @@ export declare class ApplicationLoadBalancerMetrics {
62
125
  * @param period
63
126
  * @returns IMetric
64
127
  */
65
- static getPerAZProcessedBytesMetric(alb: IApplicationLoadBalancer, availabilityZone: string, availabilityZoneId: string, period: Duration): IMetric;
128
+ static getPerAZProcessedBytesMetric(alb: IApplicationLoadBalancer, availabilityZone: string, availabilityZoneId: string, period: Duration, addLoadBalancerArnToLabel?: boolean): IMetric;
66
129
  /**
67
130
  * Creates a zonal processed bytes metric for the specified load balancer
68
131
  * @param loadBalancerFullName
@@ -70,5 +133,10 @@ export declare class ApplicationLoadBalancerMetrics {
70
133
  * @param period
71
134
  * @returns IMetric
72
135
  */
73
- static getRegionalProcessedBytesMetric(alb: IApplicationLoadBalancer, period: Duration): IMetric;
136
+ static getRegionalProcessedBytesMetric(alb: IApplicationLoadBalancer, period: Duration, addLoadBalancerArn?: boolean): IMetric;
137
+ static createAZAvailabilityImpactAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, availabilityZoneId: string, availabilityZone: string, threshold: number, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
138
+ static createAZLatencyImpactAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, availabilityZoneId: string, availabilityZone: string, threshold: number, statistic: string, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
139
+ static createAZAvailabilityOutlierAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, algorithm: ApplicationLoadBalancerAvailabilityOutlierAlgorithm, availabilityZoneId: string, availabilityZone: string, threshold: number, keyprefix: string, period: Duration, evaluationPeriods: number, datapointsToAlarm: number): IAlarm;
140
+ static createAZLatencyOutlierAlarm(scope: IConstruct, alb: IApplicationLoadBalancer, algorithm: ApplicationLoadBalancerLatencyOutlierAlgorithm, availabilityZone: string, statistic: string, latencyThresold: number, outlierThreshold: number, period: Duration, evaluationPeriods: number, datapointsToAlarm: number, azMapper: IAvailabilityZoneMapper): IAlarm;
141
+ static generateLoadBalancerWidgets(albs: IApplicationLoadBalancer[], azMapper: AvailabilityZoneMapper, period: Duration, latencyStatistic: string, latencyThreshold: number, faultRateThreshold: number): IWidget[];
74
142
  }