@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.
- package/.jsii +2237 -769
- package/API.md +5141 -1591
- package/README.md +63 -54
- package/cdk.json +1 -1
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +14 -12
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +50 -49
- package/lib/alarmsandrules/BaseOperationRegionalAlarmsAndRules.js +2 -2
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.d.ts +6 -15
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.js +2 -10
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.d.ts +11 -3
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.js +24 -13
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.d.ts +0 -8
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/IOperationAlarmsAndRules.d.ts +20 -27
- package/lib/alarmsandrules/IOperationAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/IServerSideOperationRegionalAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/IServiceAlarmsAndRules.d.ts +19 -15
- package/lib/alarmsandrules/IServiceAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/OperationAlarmsAndRules.d.ts +15 -22
- package/lib/alarmsandrules/OperationAlarmsAndRules.js +52 -72
- package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.d.ts +5 -5
- package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.js +2 -3
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.d.ts +21 -13
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.js +43 -29
- package/lib/alarmsandrules/ServiceAlarmsAndRules.d.ts +19 -15
- package/lib/alarmsandrules/ServiceAlarmsAndRules.js +34 -136
- package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.d.ts +4 -3
- package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.js +1 -1
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.d.ts +6 -44
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.js +1 -1
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.d.ts +28 -7
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.js +1 -1
- package/lib/azmapper/AvailabilityZoneMapper.js +8 -9
- package/lib/basic_observability/BasicServiceDashboard.d.ts +0 -3
- package/lib/basic_observability/BasicServiceDashboard.js +24 -112
- package/lib/basic_observability/BasicServiceMultiAZObservability.d.ts +8 -9
- package/lib/basic_observability/BasicServiceMultiAZObservability.js +98 -312
- package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.d.ts +51 -0
- package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.js +3 -0
- package/lib/basic_observability/props/BasicServiceDashboardProps.d.ts +27 -13
- package/lib/basic_observability/props/BasicServiceDashboardProps.js +1 -1
- package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.d.ts +10 -38
- package/lib/basic_observability/props/BasicServiceMultiAZObservabilityProps.js +1 -1
- package/lib/basic_observability/props/NatGatewayDetectionProps.d.ts +31 -0
- package/lib/basic_observability/props/NatGatewayDetectionProps.js +3 -0
- package/lib/canaries/CanaryFunction.js +14 -13
- package/lib/canaries/CanaryTest.js +4 -4
- package/lib/canaries/src/canary.zip +0 -0
- package/lib/dashboards/ContributorInsightsWidget.d.ts +1 -1
- package/lib/dashboards/ContributorInsightsWidget.js +13 -17
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.d.ts +2 -6
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +445 -507
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.d.ts +2 -10
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +350 -437
- package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.d.ts +3 -66
- package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.js +1 -1
- package/lib/dashboards/props/OperationAvailabilityWidgetProps.d.ts +7 -2
- package/lib/dashboards/props/OperationAvailabilityWidgetProps.js +1 -1
- package/lib/dashboards/props/OperationLatencyWidgetProps.d.ts +7 -2
- package/lib/dashboards/props/OperationLatencyWidgetProps.js +1 -1
- package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.d.ts +8 -8
- package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.js +1 -1
- package/lib/index.d.ts +54 -24
- package/lib/index.js +36 -17
- package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +77 -3
- package/lib/metrics/ApplicationLoadBalancerMetrics.js +813 -32
- package/lib/metrics/AvailabilityAndLatencyMetrics.d.ts +23 -0
- package/lib/metrics/AvailabilityAndLatencyMetrics.js +120 -26
- package/lib/metrics/NatGatewayMetrics.d.ts +113 -0
- package/lib/metrics/NatGatewayMetrics.js +357 -0
- package/lib/metrics/RegionalAvailabilityMetrics.js +4 -5
- package/lib/metrics/RegionalLatencyMetrics.d.ts +1 -1
- package/lib/metrics/RegionalLatencyMetrics.js +27 -20
- package/lib/metrics/ZonalAvailabilityMetrics.d.ts +2 -8
- package/lib/metrics/ZonalAvailabilityMetrics.js +10 -25
- package/lib/metrics/ZonalLatencyMetrics.d.ts +2 -1
- package/lib/metrics/ZonalLatencyMetrics.js +33 -23
- package/lib/metrics/props/AvailabilityAndLatencyMetricProps.d.ts +4 -0
- package/lib/metrics/props/AvailabilityAndLatencyMetricProps.js +1 -1
- package/lib/metrics/props/LatencyMetricProps.d.ts +6 -0
- package/lib/metrics/props/LatencyMetricProps.js +1 -1
- package/lib/metrics/props/ZonalAvailabilityMetricProps.d.ts +4 -0
- package/lib/metrics/props/ZonalAvailabilityMetricProps.js +1 -1
- package/lib/metrics/props/ZonalLatencyMetricProps.d.ts +4 -0
- package/lib/metrics/props/ZonalLatencyMetricProps.js +1 -1
- package/lib/monitoring/src/monitoring-layer.zip +0 -0
- package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.d.ts +10 -0
- package/lib/outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm.js +15 -0
- package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.d.ts +18 -0
- package/lib/outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm.js +23 -0
- package/lib/outlier-detection/OutlierDetectionFunction.js +7 -6
- package/lib/outlier-detection/PacketLossOutlierAlgorithm.d.ts +10 -0
- package/lib/outlier-detection/PacketLossOutlierAlgorithm.js +15 -0
- package/lib/outlier-detection/src/outlier-detection.zip +0 -0
- package/lib/outlier-detection/src/scipy-layer.zip +0 -0
- package/lib/services/CanaryMetrics.d.ts +4 -3
- package/lib/services/CanaryMetrics.js +3 -4
- package/lib/services/CanaryTestAvailabilityMetricsOverride.d.ts +21 -0
- package/lib/services/CanaryTestAvailabilityMetricsOverride.js +23 -0
- package/lib/services/CanaryTestLatencyMetricsOverride.d.ts +15 -0
- package/lib/services/CanaryTestLatencyMetricsOverride.js +20 -0
- package/lib/services/CanaryTestMetricsOverride.d.ts +1 -13
- package/lib/services/CanaryTestMetricsOverride.js +2 -4
- package/lib/services/ContributorInsightRuleDetails.js +1 -1
- package/lib/services/ICanaryMetrics.d.ts +4 -3
- package/lib/services/ICanaryMetrics.js +1 -1
- package/lib/services/ICanaryTestAvailabilityMetricsOverride.d.ts +23 -0
- package/lib/services/ICanaryTestAvailabilityMetricsOverride.js +3 -0
- package/lib/services/ICanaryTestLatencyMetricsOverride.d.ts +13 -0
- package/lib/services/ICanaryTestLatencyMetricsOverride.js +3 -0
- package/lib/services/ICanaryTestMetricsOverride.d.ts +0 -12
- package/lib/services/ICanaryTestMetricsOverride.js +1 -1
- package/lib/services/IInstrumentedServiceMultiAZObservability.d.ts +13 -3
- package/lib/services/IInstrumentedServiceMultiAZObservability.js +1 -1
- package/lib/services/IOperation.d.ts +8 -6
- package/lib/services/IOperation.js +1 -1
- package/lib/services/IOperationAvailabilityMetricDetails.d.ts +18 -0
- package/lib/services/IOperationAvailabilityMetricDetails.js +3 -0
- package/lib/services/IOperationLatencyMetricDetails.d.ts +12 -0
- package/lib/services/IOperationLatencyMetricDetails.js +3 -0
- package/lib/services/IOperationMetricDetails.d.ts +0 -12
- package/lib/services/IOperationMetricDetails.js +1 -1
- package/lib/services/IService.d.ts +4 -3
- package/lib/services/IService.js +1 -1
- package/lib/services/IServiceAvailabilityMetricDetails.d.ts +18 -0
- package/lib/services/IServiceAvailabilityMetricDetails.js +3 -0
- package/lib/services/IServiceLatencyMetricDetails.d.ts +12 -0
- package/lib/services/IServiceLatencyMetricDetails.js +3 -0
- package/lib/services/IServiceMetricDetails.d.ts +0 -12
- package/lib/services/IServiceMetricDetails.js +1 -1
- package/lib/services/InstrumentedServiceMultiAZObservability.d.ts +15 -3
- package/lib/services/InstrumentedServiceMultiAZObservability.js +197 -208
- package/lib/services/Operation.d.ts +8 -6
- package/lib/services/Operation.js +2 -2
- package/lib/services/OperationAvailabilityMetricDetails.d.ts +22 -0
- package/lib/services/OperationAvailabilityMetricDetails.js +24 -0
- package/lib/services/OperationLatencyMetricDetails.d.ts +16 -0
- package/lib/services/OperationLatencyMetricDetails.js +21 -0
- package/lib/services/OperationMetricDetails.d.ts +1 -13
- package/lib/services/OperationMetricDetails.js +2 -8
- package/lib/services/Service.d.ts +4 -3
- package/lib/services/Service.js +2 -2
- package/lib/services/ServiceAvailabilityMetricDetails.d.ts +21 -0
- package/lib/services/ServiceAvailabilityMetricDetails.js +20 -0
- package/lib/services/ServiceLatencyMetricDetails.d.ts +15 -0
- package/lib/services/ServiceLatencyMetricDetails.js +19 -0
- package/lib/services/ServiceMetricDetails.d.ts +1 -13
- package/lib/services/ServiceMetricDetails.js +2 -4
- package/lib/services/props/CanaryMetricProps.d.ts +4 -3
- package/lib/services/props/CanaryMetricProps.js +1 -1
- package/lib/services/props/CanaryTestAvailabilityMetricsOverrideProps.d.ts +22 -0
- package/lib/services/props/CanaryTestAvailabilityMetricsOverrideProps.js +3 -0
- package/lib/services/props/CanaryTestLatencyMetricsOverrideProps.d.ts +14 -0
- package/lib/services/props/CanaryTestLatencyMetricsOverrideProps.js +3 -0
- package/lib/services/props/CanaryTestMetricsOverrideProps.d.ts +0 -16
- package/lib/services/props/CanaryTestMetricsOverrideProps.js +1 -1
- package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.d.ts +1 -1
- package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.js +1 -1
- package/lib/services/props/MetricDimensions.js +1 -1
- package/lib/services/props/OperationAvailabilityMetricDetailsProps.d.ts +22 -0
- package/lib/services/props/OperationAvailabilityMetricDetailsProps.js +3 -0
- package/lib/services/props/OperationLatencyMetricDetailsProps.d.ts +14 -0
- package/lib/services/props/OperationLatencyMetricDetailsProps.js +3 -0
- package/lib/services/props/OperationMetricDetailsProps.d.ts +0 -16
- package/lib/services/props/OperationMetricDetailsProps.js +1 -1
- package/lib/services/props/OperationProps.d.ts +4 -3
- package/lib/services/props/OperationProps.js +1 -1
- package/lib/services/props/ServiceAvailabilityMetricDetailsProps.d.ts +18 -0
- package/lib/services/props/ServiceAvailabilityMetricDetailsProps.js +3 -0
- package/lib/services/props/ServiceLatencyMetricDetailsProps.d.ts +12 -0
- package/lib/services/props/ServiceLatencyMetricDetailsProps.js +3 -0
- package/lib/services/props/ServiceMetricDetailsProps.d.ts +0 -12
- package/lib/services/props/ServiceMetricDetailsProps.js +1 -1
- package/lib/services/props/ServiceProps.d.ts +4 -3
- package/lib/services/props/ServiceProps.js +1 -1
- package/lib/utilities/MetricsHelper.d.ts +17 -9
- package/lib/utilities/MetricsHelper.js +34 -10
- package/package.json +10 -10
- package/lib/services/IBasicServiceMultiAZObservability.d.ts +0 -45
- package/lib/services/IBasicServiceMultiAZObservability.js +0 -3
|
@@ -14,8 +14,8 @@ class BaseOperationRegionalAlarmsAndRules extends constructs_1.Construct {
|
|
|
14
14
|
this.latencyAlarm =
|
|
15
15
|
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createRegionalLatencyAlarm(this, props.latencyMetricDetails, props.nameSuffix);
|
|
16
16
|
this.availabilityOrLatencyAlarm =
|
|
17
|
-
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.
|
|
17
|
+
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createRegionalAvailabilityOrLatencyImpactAlarm(this, props.availabilityMetricDetails.operationName, props.nameSuffix, this.availabilityAlarm, this.latencyAlarm);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.BaseOperationRegionalAlarmsAndRules = BaseOperationRegionalAlarmsAndRules;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZU9wZXJhdGlvblJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWxhcm1zYW5kcnVsZXMvQmFzZU9wZXJhdGlvblJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsMkNBQXVDO0FBQ3ZDLGlHQUE4RjtBQUk5Rjs7R0FFRztBQUNILE1BQXNCLG1DQUNwQixTQUFRLHNCQUFTO0lBaUJqQixZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUErQztRQUUvQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsMkVBQW9DLENBQUMsK0JBQStCLENBQ2xFLElBQUksRUFDSixLQUFLLENBQUMseUJBQXlCLEVBQy9CLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFDSixJQUFJLENBQUMsWUFBWTtZQUNmLDJFQUFvQyxDQUFDLDBCQUEwQixDQUM3RCxJQUFJLEVBQ0osS0FBSyxDQUFDLG9CQUFvQixFQUMxQixLQUFLLENBQUMsVUFBVSxDQUNqQixDQUFDO1FBQ0osSUFBSSxDQUFDLDBCQUEwQjtZQUM3QiwyRUFBb0MsQ0FBQyw4Q0FBOEMsQ0FDakYsSUFBSSxFQUNKLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLEVBQzdDLEtBQUssQ0FBQyxVQUFVLEVBQ2hCLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQTlDRCxrRkE4Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBJQWxhcm0gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEF2YWlsYWJpbGl0eUFuZExhdGVuY3lBbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeUFsYXJtc0FuZFJ1bGVzJztcbmltcG9ydCB7IElCYXNlT3BlcmF0aW9uUmVnaW9uYWxBbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vSUJhc2VPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzJztcbmltcG9ydCB7IEJhc2VPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzUHJvcHMgfSBmcm9tICcuL3Byb3BzL0Jhc2VPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzUHJvcHMnO1xuXG4vKipcbiAqIEJhc2Ugb3BlcmF0aW9uIHJlZ2lvbmFsIGFsYXJtcyBhbmQgcnVsZXNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgSUJhc2VPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzIHtcbiAgLyoqXG4gICAqIEF2YWlsYWJpbGl0eSBhbGFybSBmb3IgdGhpcyBvcGVyYXRpb25cbiAgICovXG4gIGF2YWlsYWJpbGl0eUFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIExhdGVuY3kgYWxhcm0gZm9yIHRoaXMgb3BlcmF0aW9uXG4gICAqL1xuICBsYXRlbmN5QWxhcm06IElBbGFybTtcblxuICAvKipcbiAgICogQ29tcG9zaXRlIGFsYXJtIGZvciBlaXRoZXIgYXZhaWxhYmlsdGl5IG9yIGxhdGVuY3kgaW1wYWN0IHRvIHRoaXMgb3BlcmF0aW9uXG4gICAqL1xuICBhdmFpbGFiaWxpdHlPckxhdGVuY3lBbGFybTogSUFsYXJtO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQmFzZU9wZXJhdGlvblJlZ2lvbmFsQWxhcm1zQW5kUnVsZXNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuYXZhaWxhYmlsaXR5QWxhcm0gPVxuICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeUFsYXJtc0FuZFJ1bGVzLmNyZWF0ZVJlZ2lvbmFsQXZhaWxhYmlsaXR5QWxhcm0oXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHByb3BzLmF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgIHByb3BzLm5hbWVTdWZmaXgsXG4gICAgICApO1xuICAgIHRoaXMubGF0ZW5jeUFsYXJtID1cbiAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lBbGFybXNBbmRSdWxlcy5jcmVhdGVSZWdpb25hbExhdGVuY3lBbGFybShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgcHJvcHMubGF0ZW5jeU1ldHJpY0RldGFpbHMsXG4gICAgICAgIHByb3BzLm5hbWVTdWZmaXgsXG4gICAgICApO1xuICAgIHRoaXMuYXZhaWxhYmlsaXR5T3JMYXRlbmN5QWxhcm0gPVxuICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeUFsYXJtc0FuZFJ1bGVzLmNyZWF0ZVJlZ2lvbmFsQXZhaWxhYmlsaXR5T3JMYXRlbmN5SW1wYWN0QWxhcm0oXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHByb3BzLmF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMub3BlcmF0aW9uTmFtZSxcbiAgICAgICAgcHJvcHMubmFtZVN1ZmZpeCxcbiAgICAgICAgdGhpcy5hdmFpbGFiaWxpdHlBbGFybSxcbiAgICAgICAgdGhpcy5sYXRlbmN5QWxhcm0sXG4gICAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
import { IAlarm } from
|
|
2
|
-
import { Construct } from
|
|
3
|
-
import { IBaseOperationZonalAlarmsAndRules } from
|
|
4
|
-
import { BaseOperationZonalAlarmsAndRulesProps } from './props/BaseOperationZonalAlarmsAndRulesProps';
|
|
1
|
+
import { IAlarm } from "aws-cdk-lib/aws-cloudwatch";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { IBaseOperationZonalAlarmsAndRules } from "./IBaseOperationZonalAlarmsAndRules";
|
|
5
4
|
/**
|
|
6
5
|
* The base operation regional alarms and rules
|
|
7
6
|
*/
|
|
8
7
|
export declare abstract class BaseOperationZonalAlarmsAndRules extends Construct implements IBaseOperationZonalAlarmsAndRules {
|
|
9
|
-
/**
|
|
10
|
-
* Composite alarm for either availabiltiy or latency impact to this operation
|
|
11
|
-
*/
|
|
12
|
-
availabilityOrLatencyAlarm: IAlarm;
|
|
13
8
|
/**
|
|
14
9
|
* Availability alarm for this operation
|
|
15
10
|
*/
|
|
16
|
-
availabilityAlarm: IAlarm;
|
|
11
|
+
abstract availabilityAlarm: IAlarm;
|
|
17
12
|
/**
|
|
18
13
|
* Latency alarm for this operation
|
|
19
14
|
*/
|
|
20
|
-
latencyAlarm: IAlarm;
|
|
15
|
+
abstract latencyAlarm: IAlarm;
|
|
21
16
|
/**
|
|
22
17
|
* Alarm that indicates that this AZ is an outlier for fault rate
|
|
23
18
|
*/
|
|
@@ -26,9 +21,5 @@ export declare abstract class BaseOperationZonalAlarmsAndRules extends Construct
|
|
|
26
21
|
* Alarm that indicates this AZ is an outlier for high latency
|
|
27
22
|
*/
|
|
28
23
|
abstract availabilityZoneIsOutlierForLatency: IAlarm;
|
|
29
|
-
|
|
30
|
-
* The Availability Zone Id for the alarms and rules
|
|
31
|
-
*/
|
|
32
|
-
availabilityZoneId: string;
|
|
33
|
-
constructor(scope: Construct, id: string, props: BaseOperationZonalAlarmsAndRulesProps);
|
|
24
|
+
constructor(scope: Construct, id: string);
|
|
34
25
|
}
|
|
@@ -2,21 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseOperationZonalAlarmsAndRules = void 0;
|
|
4
4
|
const constructs_1 = require("constructs");
|
|
5
|
-
const AvailabilityAndLatencyAlarmsAndRules_1 = require("./AvailabilityAndLatencyAlarmsAndRules");
|
|
6
5
|
/**
|
|
7
6
|
* The base operation regional alarms and rules
|
|
8
7
|
*/
|
|
9
8
|
class BaseOperationZonalAlarmsAndRules extends constructs_1.Construct {
|
|
10
|
-
constructor(scope, id
|
|
9
|
+
constructor(scope, id) {
|
|
11
10
|
super(scope, id);
|
|
12
|
-
this.availabilityZoneId = props.availabilityZoneId;
|
|
13
|
-
this.availabilityAlarm =
|
|
14
|
-
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalAvailabilityAlarm(this, props.availabilityMetricDetails, props.availabilityZoneId, props.counter, props.nameSuffix);
|
|
15
|
-
this.latencyAlarm =
|
|
16
|
-
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalLatencyAlarm(this, props.latencyMetricDetails, props.availabilityZoneId, props.counter, props.nameSuffix);
|
|
17
|
-
this.availabilityOrLatencyAlarm =
|
|
18
|
-
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalAvailabilityOrLatencyCompositeAlarm(this, props.availabilityMetricDetails.operationName, props.availabilityZoneId, props.counter, this.availabilityAlarm, this.latencyAlarm, props.nameSuffix);
|
|
19
11
|
}
|
|
20
12
|
}
|
|
21
13
|
exports.BaseOperationZonalAlarmsAndRules = BaseOperationZonalAlarmsAndRules;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWxhcm1zYW5kcnVsZXMvQmFzZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsMkNBQXVDO0FBR3ZDOztHQUVHO0FBQ0gsTUFBc0IsZ0NBQ3BCLFNBQVEsc0JBQVM7SUF1QmpCLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVTtRQUVWLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBOUJELDRFQThCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IElBbGFybSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElCYXNlT3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcyB9IGZyb20gXCIuL0lCYXNlT3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlc1wiO1xuXG4vKipcbiAqIFRoZSBiYXNlIG9wZXJhdGlvbiByZWdpb25hbCBhbGFybXMgYW5kIHJ1bGVzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlT3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlc1xuICBleHRlbmRzIENvbnN0cnVjdFxuICBpbXBsZW1lbnRzIElCYXNlT3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlc1xue1xuICAvKipcbiAgICogQXZhaWxhYmlsaXR5IGFsYXJtIGZvciB0aGlzIG9wZXJhdGlvblxuICAgKi9cbiAgYWJzdHJhY3QgYXZhaWxhYmlsaXR5QWxhcm06IElBbGFybTtcblxuICAvKipcbiAgICogTGF0ZW5jeSBhbGFybSBmb3IgdGhpcyBvcGVyYXRpb25cbiAgICovXG4gIGFic3RyYWN0IGxhdGVuY3lBbGFybTogSUFsYXJtO1xuXG4gIC8qKlxuICAgKiBBbGFybSB0aGF0IGluZGljYXRlcyB0aGF0IHRoaXMgQVogaXMgYW4gb3V0bGllciBmb3IgZmF1bHQgcmF0ZVxuICAgKi9cbiAgYWJzdHJhY3QgYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckZhdWx0czogSUFsYXJtO1xuXG4gIC8qKlxuICAgKiBBbGFybSB0aGF0IGluZGljYXRlcyB0aGlzIEFaIGlzIGFuIG91dGxpZXIgZm9yIGhpZ2ggbGF0ZW5jeVxuICAgKi9cbiAgYWJzdHJhY3QgYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckxhdGVuY3k6IElBbGFybTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgfVxufVxuIl19
|
|
@@ -7,18 +7,26 @@ import { CanaryOperationZonalAlarmsAndRulesProps } from './props/CanaryOperation
|
|
|
7
7
|
* Creates the alarms and rules for a particular operation as measured by the canary
|
|
8
8
|
*/
|
|
9
9
|
export declare class CanaryOperationZonalAlarmsAndRules extends BaseOperationZonalAlarmsAndRules implements ICanaryOperationZonalAlarmsAndRules {
|
|
10
|
+
/**
|
|
11
|
+
* Availability alarm for this operation
|
|
12
|
+
*/
|
|
13
|
+
readonly availabilityAlarm: IAlarm;
|
|
14
|
+
/**
|
|
15
|
+
* Latency alarm for this operation
|
|
16
|
+
*/
|
|
17
|
+
readonly latencyAlarm: IAlarm;
|
|
10
18
|
/**
|
|
11
19
|
* Alarm that triggers if either latency or availability breach the specified
|
|
12
20
|
* threshold in this AZ and the AZ is an outlier for faults or latency
|
|
13
21
|
*/
|
|
14
|
-
isolatedImpactAlarm: IAlarm;
|
|
22
|
+
readonly isolatedImpactAlarm: IAlarm;
|
|
15
23
|
/**
|
|
16
24
|
* Alarm that indicates that this AZ is an outlier for fault rate
|
|
17
25
|
*/
|
|
18
|
-
availabilityZoneIsOutlierForFaults: IAlarm;
|
|
26
|
+
readonly availabilityZoneIsOutlierForFaults: IAlarm;
|
|
19
27
|
/**
|
|
20
28
|
* Alarm that indicates this AZ is an outlier for high latency
|
|
21
29
|
*/
|
|
22
|
-
availabilityZoneIsOutlierForLatency: IAlarm;
|
|
30
|
+
readonly availabilityZoneIsOutlierForLatency: IAlarm;
|
|
23
31
|
constructor(scope: Construct, id: string, props: CanaryOperationZonalAlarmsAndRulesProps);
|
|
24
32
|
}
|
|
@@ -9,26 +9,37 @@ const OutlierDetectionAlgorithm_1 = require("../utilities/OutlierDetectionAlgori
|
|
|
9
9
|
*/
|
|
10
10
|
class CanaryOperationZonalAlarmsAndRules extends BaseOperationZonalAlarmsAndRules_1.BaseOperationZonalAlarmsAndRules {
|
|
11
11
|
constructor(scope, id, props) {
|
|
12
|
-
super(scope, id
|
|
13
|
-
|
|
12
|
+
super(scope, id);
|
|
13
|
+
let azLetter = props.availabilityZone.substring(props.availabilityZone.length - 1);
|
|
14
|
+
let availabilityZoneId = props.operationAlarmsAndRulesProps.azMapper.availabilityZoneIdFromAvailabilityZoneLetter(azLetter);
|
|
15
|
+
let operation = props.operationAlarmsAndRulesProps.operation;
|
|
16
|
+
this.availabilityAlarm =
|
|
17
|
+
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalAvailabilityAlarm(this, operation.canaryMetricDetails.canaryAvailabilityMetricDetails, props.availabilityZone, availabilityZoneId, props.counter, props.nameSuffix);
|
|
18
|
+
this.latencyAlarm =
|
|
19
|
+
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalLatencyAlarm(this, operation.canaryMetricDetails.canaryLatencyMetricDetails, props.availabilityZone, availabilityZoneId, props.counter, props.nameSuffix);
|
|
20
|
+
if (props.operationAlarmsAndRulesProps.availabilityOutlierDetectionAlgorithm == OutlierDetectionAlgorithm_1.OutlierDetectionAlgorithm.STATIC) {
|
|
14
21
|
this.availabilityZoneIsOutlierForFaults =
|
|
15
|
-
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalFaultRateStaticOutlierAlarmForCanaries(this,
|
|
16
|
-
this.availabilityZoneIsOutlierForLatency =
|
|
17
|
-
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalHighLatencyStaticOutlierAlarmForCanaries(this, props.latencyMetricDetails, props.availabilityZoneId, props.operation.service.availabilityZoneNames, props.counter, props.outlierThreshold, props.nameSuffix);
|
|
22
|
+
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalFaultRateStaticOutlierAlarmForCanaries(this, operation.canaryMetricDetails.canaryAvailabilityMetricDetails, props.availabilityZone, availabilityZoneId, operation.service.availabilityZoneNames, props.counter, props.operationAlarmsAndRulesProps.availabilityOutlierThreshold, props.nameSuffix);
|
|
18
23
|
}
|
|
19
24
|
else {
|
|
20
25
|
this.availabilityZoneIsOutlierForFaults =
|
|
21
|
-
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalFaultRateOutlierAlarm(this,
|
|
22
|
-
return props.azMapper.availabilityZoneIdFromAvailabilityZoneLetter(az.substring(az.length - 1));
|
|
23
|
-
}), props.
|
|
26
|
+
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalFaultRateOutlierAlarm(this, operation.canaryMetricDetails.canaryAvailabilityMetricDetails, availabilityZoneId, operation.service.availabilityZoneNames.map((az) => {
|
|
27
|
+
return props.operationAlarmsAndRulesProps.azMapper.availabilityZoneIdFromAvailabilityZoneLetter(az.substring(az.length - 1));
|
|
28
|
+
}), props.operationAlarmsAndRulesProps.availabilityOutlierThreshold, props.operationAlarmsAndRulesProps.outlierDetectionFunction, props.operationAlarmsAndRulesProps.availabilityOutlierDetectionAlgorithm, props.counter, props.nameSuffix);
|
|
29
|
+
}
|
|
30
|
+
if (props.operationAlarmsAndRulesProps.latencyOutlierDetectionAlgorithm == OutlierDetectionAlgorithm_1.OutlierDetectionAlgorithm.STATIC) {
|
|
31
|
+
this.availabilityZoneIsOutlierForLatency =
|
|
32
|
+
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalHighLatencyStaticOutlierAlarmForCanaries(this, operation.canaryMetricDetails.canaryLatencyMetricDetails, props.availabilityZone, availabilityZoneId, operation.service.availabilityZoneNames, props.counter, props.operationAlarmsAndRulesProps.latencyOutlierThreshold, props.nameSuffix);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
24
35
|
this.availabilityZoneIsOutlierForLatency =
|
|
25
|
-
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalHighLatencyOutlierAlarm(this,
|
|
26
|
-
return props.azMapper.availabilityZoneIdFromAvailabilityZoneLetter(az.substring(az.length - 1));
|
|
27
|
-
}), props.
|
|
36
|
+
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createZonalHighLatencyOutlierAlarm(this, operation.canaryMetricDetails.canaryLatencyMetricDetails, availabilityZoneId, operation.service.availabilityZoneNames.map((az) => {
|
|
37
|
+
return props.operationAlarmsAndRulesProps.azMapper.availabilityZoneIdFromAvailabilityZoneLetter(az.substring(az.length - 1));
|
|
38
|
+
}), props.operationAlarmsAndRulesProps.latencyOutlierThreshold, props.operationAlarmsAndRulesProps.outlierDetectionFunction, props.operationAlarmsAndRulesProps.latencyOutlierDetectionAlgorithm, props.counter, props.nameSuffix);
|
|
28
39
|
}
|
|
29
40
|
this.isolatedImpactAlarm =
|
|
30
|
-
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createCanaryIsolatedAZImpactAlarm(this,
|
|
41
|
+
AvailabilityAndLatencyAlarmsAndRules_1.AvailabilityAndLatencyAlarmsAndRules.createCanaryIsolatedAZImpactAlarm(this, operation.operationName, availabilityZoneId, props.counter, this.availabilityZoneIsOutlierForFaults, this.availabilityAlarm, this.availabilityZoneIsOutlierForLatency, this.latencyAlarm, props.nameSuffix);
|
|
31
42
|
}
|
|
32
43
|
}
|
|
33
44
|
exports.CanaryOperationZonalAlarmsAndRules = CanaryOperationZonalAlarmsAndRules;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbGFybXNhbmRydWxlcy9DYW5hcnlPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLGlHQUE4RjtBQUM5Rix5RkFBc0Y7QUFHdEYsc0ZBQW1GO0FBRW5GOztHQUVHO0FBQ0gsTUFBYSxrQ0FDWCxTQUFRLG1FQUFnQztJQWtCeEMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBOEM7UUFFOUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUkscURBQXlCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLGtDQUFrQztnQkFDckMsMkVBQW9DLENBQUMsaURBQWlELENBQ3BGLElBQUksRUFDSixLQUFLLENBQUMseUJBQXlCLEVBQy9CLEtBQUssQ0FBQyxrQkFBa0IsRUFDeEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQzdDLEtBQUssQ0FBQyxPQUFPLEVBQ2IsS0FBSyxDQUFDLGdCQUFnQixFQUN0QixLQUFLLENBQUMsVUFBVSxDQUNqQixDQUFDO1lBQ0osSUFBSSxDQUFDLG1DQUFtQztnQkFDdEMsMkVBQW9DLENBQUMsbURBQW1ELENBQ3RGLElBQUksRUFDSixLQUFLLENBQUMsb0JBQW9CLEVBQzFCLEtBQUssQ0FBQyxrQkFBa0IsRUFDeEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQzdDLEtBQUssQ0FBQyxPQUFPLEVBQ2IsS0FBSyxDQUFDLGdCQUFnQixFQUN0QixLQUFLLENBQUMsVUFBVSxDQUNqQixDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsa0NBQWtDO2dCQUNyQywyRUFBb0MsQ0FBQyxnQ0FBZ0MsQ0FDbkUsSUFBSSxFQUNKLEtBQUssQ0FBQyx5QkFBeUIsRUFDL0IsS0FBSyxDQUFDLGtCQUFrQixFQUN4QixLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDdkQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUNoRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQzVCLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLEVBQ0YsS0FBSyxDQUFDLGdCQUFnQixFQUN0QixLQUFLLENBQUMsd0JBQXlCLEVBQy9CLEtBQUssQ0FBQyx5QkFBeUIsRUFDL0IsS0FBSyxDQUFDLE9BQU8sRUFDYixLQUFLLENBQUMsVUFBVSxDQUNqQixDQUFDO1lBQ0osSUFBSSxDQUFDLG1DQUFtQztnQkFDdEMsMkVBQW9DLENBQUMsa0NBQWtDLENBQ3JFLElBQUksRUFDSixLQUFLLENBQUMsb0JBQW9CLEVBQzFCLEtBQUssQ0FBQyxrQkFBa0IsRUFDeEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7b0JBQ3ZELE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyw0Q0FBNEMsQ0FDaEUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUM1QixDQUFDO2dCQUNKLENBQUMsQ0FBQyxFQUNGLEtBQUssQ0FBQyxnQkFBZ0IsRUFDdEIsS0FBSyxDQUFDLHdCQUF5QixFQUMvQixLQUFLLENBQUMseUJBQXlCLEVBQy9CLEtBQUssQ0FBQyxPQUFPLEVBQ2IsS0FBSyxDQUFDLFVBQVUsQ0FDakIsQ0FBQztRQUNOLENBQUM7UUFFRCxJQUFJLENBQUMsbUJBQW1CO1lBQ3RCLDJFQUFvQyxDQUFDLGlDQUFpQyxDQUNwRSxJQUFJLEVBQ0osS0FBSyxDQUFDLHlCQUF5QixDQUFDLGFBQWEsRUFDN0MsS0FBSyxDQUFDLGtCQUFrQixFQUN4QixLQUFLLENBQUMsT0FBTyxFQUNiLElBQUksQ0FBQyxrQ0FBa0MsRUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUN0QixJQUFJLENBQUMsbUNBQW1DLEVBQ3hDLElBQUksQ0FBQyxZQUFZLEVBQ2pCLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUEvRkQsZ0ZBK0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgSUFsYXJtIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5QWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL0F2YWlsYWJpbGl0eUFuZExhdGVuY3lBbGFybXNBbmRSdWxlcyc7XG5pbXBvcnQgeyBCYXNlT3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vQmFzZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMnO1xuaW1wb3J0IHsgSUNhbmFyeU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL0lDYW5hcnlPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzJztcbmltcG9ydCB7IENhbmFyeU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXNQcm9wcyB9IGZyb20gJy4vcHJvcHMvQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlc1Byb3BzJztcbmltcG9ydCB7IE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gfSBmcm9tICcuLi91dGlsaXRpZXMvT3V0bGllckRldGVjdGlvbkFsZ29yaXRobSc7XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgYWxhcm1zIGFuZCBydWxlcyBmb3IgYSBwYXJ0aWN1bGFyIG9wZXJhdGlvbiBhcyBtZWFzdXJlZCBieSB0aGUgY2FuYXJ5XG4gKi9cbmV4cG9ydCBjbGFzcyBDYW5hcnlPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzXG4gIGV4dGVuZHMgQmFzZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXNcbiAgaW1wbGVtZW50cyBJQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcyB7XG4gIC8qKlxuICAgKiBBbGFybSB0aGF0IHRyaWdnZXJzIGlmIGVpdGhlciBsYXRlbmN5IG9yIGF2YWlsYWJpbGl0eSBicmVhY2ggdGhlIHNwZWNpZmllZFxuICAgKiB0aHJlc2hvbGQgaW4gdGhpcyBBWiBhbmQgdGhlIEFaIGlzIGFuIG91dGxpZXIgZm9yIGZhdWx0cyBvciBsYXRlbmN5XG4gICAqL1xuICBpc29sYXRlZEltcGFjdEFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIEFsYXJtIHRoYXQgaW5kaWNhdGVzIHRoYXQgdGhpcyBBWiBpcyBhbiBvdXRsaWVyIGZvciBmYXVsdCByYXRlXG4gICAqL1xuICBhdmFpbGFiaWxpdHlab25lSXNPdXRsaWVyRm9yRmF1bHRzOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIEFsYXJtIHRoYXQgaW5kaWNhdGVzIHRoaXMgQVogaXMgYW4gb3V0bGllciBmb3IgaGlnaCBsYXRlbmN5XG4gICAqL1xuICBhdmFpbGFiaWxpdHlab25lSXNPdXRsaWVyRm9yTGF0ZW5jeTogSUFsYXJtO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlc1Byb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5vdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtID09IE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0uU1RBVElDKSB7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eVpvbmVJc091dGxpZXJGb3JGYXVsdHMgPVxuICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5QWxhcm1zQW5kUnVsZXMuY3JlYXRlWm9uYWxGYXVsdFJhdGVTdGF0aWNPdXRsaWVyQWxhcm1Gb3JDYW5hcmllcyhcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHByb3BzLmF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgcHJvcHMuYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIHByb3BzLm9wZXJhdGlvbi5zZXJ2aWNlLmF2YWlsYWJpbGl0eVpvbmVOYW1lcyxcbiAgICAgICAgICBwcm9wcy5jb3VudGVyLFxuICAgICAgICAgIHByb3BzLm91dGxpZXJUaHJlc2hvbGQsXG4gICAgICAgICAgcHJvcHMubmFtZVN1ZmZpeCxcbiAgICAgICAgKTtcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckxhdGVuY3kgPVxuICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5QWxhcm1zQW5kUnVsZXMuY3JlYXRlWm9uYWxIaWdoTGF0ZW5jeVN0YXRpY091dGxpZXJBbGFybUZvckNhbmFyaWVzKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgcHJvcHMubGF0ZW5jeU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgcHJvcHMuYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIHByb3BzLm9wZXJhdGlvbi5zZXJ2aWNlLmF2YWlsYWJpbGl0eVpvbmVOYW1lcyxcbiAgICAgICAgICBwcm9wcy5jb3VudGVyLFxuICAgICAgICAgIHByb3BzLm91dGxpZXJUaHJlc2hvbGQsXG4gICAgICAgICAgcHJvcHMubmFtZVN1ZmZpeCxcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdmFpbGFiaWxpdHlab25lSXNPdXRsaWVyRm9yRmF1bHRzID1cbiAgICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeUFsYXJtc0FuZFJ1bGVzLmNyZWF0ZVpvbmFsRmF1bHRSYXRlT3V0bGllckFsYXJtKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgcHJvcHMuYXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBwcm9wcy5hdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgcHJvcHMub3BlcmF0aW9uLnNlcnZpY2UuYXZhaWxhYmlsaXR5Wm9uZU5hbWVzLm1hcCgoYXopID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihcbiAgICAgICAgICAgICAgYXouc3Vic3RyaW5nKGF6Lmxlbmd0aCAtIDEpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBwcm9wcy5vdXRsaWVyVGhyZXNob2xkLFxuICAgICAgICAgIHByb3BzLm91dGxpZXJEZXRlY3Rpb25GdW5jdGlvbiEsXG4gICAgICAgICAgcHJvcHMub3V0bGllckRldGVjdGlvbkFsZ29yaXRobSxcbiAgICAgICAgICBwcm9wcy5jb3VudGVyLFxuICAgICAgICAgIHByb3BzLm5hbWVTdWZmaXgsXG4gICAgICAgICk7XG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eVpvbmVJc091dGxpZXJGb3JMYXRlbmN5ID1cbiAgICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeUFsYXJtc0FuZFJ1bGVzLmNyZWF0ZVpvbmFsSGlnaExhdGVuY3lPdXRsaWVyQWxhcm0oXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBwcm9wcy5sYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBwcm9wcy5hdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgcHJvcHMub3BlcmF0aW9uLnNlcnZpY2UuYXZhaWxhYmlsaXR5Wm9uZU5hbWVzLm1hcCgoYXopID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihcbiAgICAgICAgICAgICAgYXouc3Vic3RyaW5nKGF6Lmxlbmd0aCAtIDEpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBwcm9wcy5vdXRsaWVyVGhyZXNob2xkLFxuICAgICAgICAgIHByb3BzLm91dGxpZXJEZXRlY3Rpb25GdW5jdGlvbiEsXG4gICAgICAgICAgcHJvcHMub3V0bGllckRldGVjdGlvbkFsZ29yaXRobSxcbiAgICAgICAgICBwcm9wcy5jb3VudGVyLFxuICAgICAgICAgIHByb3BzLm5hbWVTdWZmaXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5pc29sYXRlZEltcGFjdEFsYXJtID1cbiAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lBbGFybXNBbmRSdWxlcy5jcmVhdGVDYW5hcnlJc29sYXRlZEFaSW1wYWN0QWxhcm0oXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHByb3BzLmF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMub3BlcmF0aW9uTmFtZSxcbiAgICAgICAgcHJvcHMuYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICBwcm9wcy5jb3VudGVyLFxuICAgICAgICB0aGlzLmF2YWlsYWJpbGl0eVpvbmVJc091dGxpZXJGb3JGYXVsdHMsXG4gICAgICAgIHRoaXMuYXZhaWxhYmlsaXR5QWxhcm0sXG4gICAgICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckxhdGVuY3ksXG4gICAgICAgIHRoaXMubGF0ZW5jeUFsYXJtLFxuICAgICAgICBwcm9wcy5uYW1lU3VmZml4LFxuICAgICAgKTtcbiAgfVxufVxuIl19
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbGFybXNhbmRydWxlcy9DYW5hcnlPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLGlHQUE4RjtBQUM5Rix5RkFBc0Y7QUFHdEYsc0ZBQW1GO0FBR25GOztHQUVHO0FBQ0gsTUFBYSxrQ0FDWCxTQUFRLG1FQUFnQztJQTZCeEMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBOEM7UUFFOUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLFFBQVEsR0FBVyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUNuRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDcEMsQ0FBQztRQUNGLElBQUksa0JBQWtCLEdBQ3BCLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsNENBQTRDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckcsSUFBSSxTQUFTLEdBQWUsS0FBSyxDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FBQztRQUV6RSxJQUFJLENBQUMsaUJBQWlCO1lBQ3RCLDJFQUFvQyxDQUFDLDRCQUE0QixDQUMvRCxJQUFJLEVBQ0osU0FBUyxDQUFDLG1CQUFvQixDQUFDLCtCQUErQixFQUM5RCxLQUFLLENBQUMsZ0JBQWdCLEVBQ3RCLGtCQUFrQixFQUNsQixLQUFLLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFDSixJQUFJLENBQUMsWUFBWTtZQUNmLDJFQUFvQyxDQUFDLHVCQUF1QixDQUMxRCxJQUFJLEVBQ0osU0FBUyxDQUFDLG1CQUFvQixDQUFDLDBCQUEwQixFQUN6RCxLQUFLLENBQUMsZ0JBQWdCLEVBQ3RCLGtCQUFrQixFQUNsQixLQUFLLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFFRixJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxxQ0FBcUMsSUFBSSxxREFBeUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqSCxJQUFJLENBQUMsa0NBQWtDO2dCQUNyQywyRUFBb0MsQ0FBQyxpREFBaUQsQ0FDcEYsSUFBSSxFQUNKLFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywrQkFBK0IsRUFDOUQsS0FBSyxDQUFDLGdCQUFnQixFQUN0QixrQkFBa0IsRUFDbEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFDdkMsS0FBSyxDQUFDLE9BQU8sRUFDYixLQUFLLENBQUMsNEJBQTRCLENBQUMsNEJBQTRCLEVBQy9ELEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFDTixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxrQ0FBa0M7Z0JBQ3JDLDJFQUFvQyxDQUFDLGdDQUFnQyxDQUNuRSxJQUFJLEVBQ0osU0FBUyxDQUFDLG1CQUFvQixDQUFDLCtCQUErQixFQUM5RCxrQkFBa0IsRUFDbEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDakQsT0FBTyxLQUFLLENBQUMsNEJBQTRCLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUM3RixFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQzVCLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLEVBQ0YsS0FBSyxDQUFDLDRCQUE0QixDQUFDLDRCQUE0QixFQUMvRCxLQUFLLENBQUMsNEJBQTRCLENBQUMsd0JBQXlCLEVBQzVELEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxxQ0FBcUMsRUFDeEUsS0FBSyxDQUFDLE9BQU8sRUFDYixLQUFLLENBQUMsVUFBVSxDQUNqQixDQUFDO1FBQ04sQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLGdDQUFnQyxJQUFJLHFEQUF5QixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVHLElBQUksQ0FBQyxtQ0FBbUM7Z0JBQ3RDLDJFQUFvQyxDQUFDLG1EQUFtRCxDQUN0RixJQUFJLEVBQ0osU0FBUyxDQUFDLG1CQUFvQixDQUFDLDBCQUEwQixFQUN6RCxLQUFLLENBQUMsZ0JBQWdCLEVBQ3RCLGtCQUFrQixFQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUN2QyxLQUFLLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyx1QkFBdUIsRUFDMUQsS0FBSyxDQUFDLFVBQVUsQ0FDakIsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG1DQUFtQztnQkFDdEMsMkVBQW9DLENBQUMsa0NBQWtDLENBQ3JFLElBQUksRUFDSixTQUFTLENBQUMsbUJBQW9CLENBQUMsMEJBQTBCLEVBQ3pELGtCQUFrQixFQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO29CQUNqRCxPQUFPLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsNENBQTRDLENBQzdGLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FDNUIsQ0FBQztnQkFDSixDQUFDLENBQUMsRUFDRixLQUFLLENBQUMsNEJBQTRCLENBQUMsdUJBQXVCLEVBQzFELEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyx3QkFBeUIsRUFDNUQsS0FBSyxDQUFDLDRCQUE0QixDQUFDLGdDQUFnQyxFQUNuRSxLQUFLLENBQUMsT0FBTyxFQUNiLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBSSxDQUFDLG1CQUFtQjtZQUN0QiwyRUFBb0MsQ0FBQyxpQ0FBaUMsQ0FDcEUsSUFBSSxFQUNKLFNBQVMsQ0FBQyxhQUFhLEVBQ3ZCLGtCQUFrQixFQUNsQixLQUFLLENBQUMsT0FBTyxFQUNiLElBQUksQ0FBQyxrQ0FBa0MsRUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUN0QixJQUFJLENBQUMsbUNBQW1DLEVBQ3hDLElBQUksQ0FBQyxZQUFZLEVBQ2pCLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUEzSUQsZ0ZBMklDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgSUFsYXJtIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5QWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL0F2YWlsYWJpbGl0eUFuZExhdGVuY3lBbGFybXNBbmRSdWxlcyc7XG5pbXBvcnQgeyBCYXNlT3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcyB9IGZyb20gJy4vQmFzZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMnO1xuaW1wb3J0IHsgSUNhbmFyeU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL0lDYW5hcnlPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzJztcbmltcG9ydCB7IENhbmFyeU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXNQcm9wcyB9IGZyb20gJy4vcHJvcHMvQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlc1Byb3BzJztcbmltcG9ydCB7IE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gfSBmcm9tICcuLi91dGlsaXRpZXMvT3V0bGllckRldGVjdGlvbkFsZ29yaXRobSc7XG5pbXBvcnQgeyBJT3BlcmF0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvSU9wZXJhdGlvbic7XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgYWxhcm1zIGFuZCBydWxlcyBmb3IgYSBwYXJ0aWN1bGFyIG9wZXJhdGlvbiBhcyBtZWFzdXJlZCBieSB0aGUgY2FuYXJ5XG4gKi9cbmV4cG9ydCBjbGFzcyBDYW5hcnlPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzXG4gIGV4dGVuZHMgQmFzZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXNcbiAgaW1wbGVtZW50cyBJQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcyB7XG5cbiAgLyoqXG4gICAqIEF2YWlsYWJpbGl0eSBhbGFybSBmb3IgdGhpcyBvcGVyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eUFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIExhdGVuY3kgYWxhcm0gZm9yIHRoaXMgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBsYXRlbmN5QWxhcm06IElBbGFybTtcblxuICAvKipcbiAgICogQWxhcm0gdGhhdCB0cmlnZ2VycyBpZiBlaXRoZXIgbGF0ZW5jeSBvciBhdmFpbGFiaWxpdHkgYnJlYWNoIHRoZSBzcGVjaWZpZWRcbiAgICogdGhyZXNob2xkIGluIHRoaXMgQVogYW5kIHRoZSBBWiBpcyBhbiBvdXRsaWVyIGZvciBmYXVsdHMgb3IgbGF0ZW5jeVxuICAgKi9cbiAgcmVhZG9ubHkgaXNvbGF0ZWRJbXBhY3RBbGFybTogSUFsYXJtO1xuXG4gIC8qKlxuICAgKiBBbGFybSB0aGF0IGluZGljYXRlcyB0aGF0IHRoaXMgQVogaXMgYW4gb3V0bGllciBmb3IgZmF1bHQgcmF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckZhdWx0czogSUFsYXJtO1xuXG4gIC8qKlxuICAgKiBBbGFybSB0aGF0IGluZGljYXRlcyB0aGlzIEFaIGlzIGFuIG91dGxpZXIgZm9yIGhpZ2ggbGF0ZW5jeVxuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckxhdGVuY3k6IElBbGFybTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IENhbmFyeU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gcHJvcHMuYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoXG4gICAgICAgIHByb3BzLmF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSxcbiAgICApO1xuICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9XG4gICAgICBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlc1Byb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcbiAgICBcbiAgICBsZXQgb3BlcmF0aW9uOiBJT3BlcmF0aW9uID0gcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXNQcm9wcy5vcGVyYXRpb247XG5cbiAgICB0aGlzLmF2YWlsYWJpbGl0eUFsYXJtID1cbiAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5QWxhcm1zQW5kUnVsZXMuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlBbGFybShcbiAgICAgIHRoaXMsXG4gICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgIHByb3BzLmF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICBwcm9wcy5jb3VudGVyLFxuICAgICAgcHJvcHMubmFtZVN1ZmZpeCxcbiAgICApO1xuICB0aGlzLmxhdGVuY3lBbGFybSA9XG4gICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeUFsYXJtc0FuZFJ1bGVzLmNyZWF0ZVpvbmFsTGF0ZW5jeUFsYXJtKFxuICAgICAgdGhpcyxcbiAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgIHByb3BzLmF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICBwcm9wcy5jb3VudGVyLFxuICAgICAgcHJvcHMubmFtZVN1ZmZpeCxcbiAgICApO1xuICAgIFxuICAgIGlmIChwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlc1Byb3BzLmF2YWlsYWJpbGl0eU91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gPT0gT3V0bGllckRldGVjdGlvbkFsZ29yaXRobS5TVEFUSUMpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckZhdWx0cyA9XG4gICAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lBbGFybXNBbmRSdWxlcy5jcmVhdGVab25hbEZhdWx0UmF0ZVN0YXRpY091dGxpZXJBbGFybUZvckNhbmFyaWVzKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgcHJvcHMuYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgb3BlcmF0aW9uLnNlcnZpY2UuYXZhaWxhYmlsaXR5Wm9uZU5hbWVzLFxuICAgICAgICAgIHByb3BzLmNvdW50ZXIsXG4gICAgICAgICAgcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXNQcm9wcy5hdmFpbGFiaWxpdHlPdXRsaWVyVGhyZXNob2xkLFxuICAgICAgICAgIHByb3BzLm5hbWVTdWZmaXgsXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckZhdWx0cyA9XG4gICAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lBbGFybXNBbmRSdWxlcy5jcmVhdGVab25hbEZhdWx0UmF0ZU91dGxpZXJBbGFybShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBvcGVyYXRpb24uc2VydmljZS5hdmFpbGFiaWxpdHlab25lTmFtZXMubWFwKChheikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzUHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoXG4gICAgICAgICAgICAgIGF6LnN1YnN0cmluZyhhei5sZW5ndGggLSAxKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXNQcm9wcy5hdmFpbGFiaWxpdHlPdXRsaWVyVGhyZXNob2xkLFxuICAgICAgICAgIHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzUHJvcHMub3V0bGllckRldGVjdGlvbkZ1bmN0aW9uISxcbiAgICAgICAgICBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlc1Byb3BzLmF2YWlsYWJpbGl0eU91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0sXG4gICAgICAgICAgcHJvcHMuY291bnRlcixcbiAgICAgICAgICBwcm9wcy5uYW1lU3VmZml4LFxuICAgICAgICApOyAgXG4gICAgfVxuXG4gICAgaWYgKHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzUHJvcHMubGF0ZW5jeU91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gPT0gT3V0bGllckRldGVjdGlvbkFsZ29yaXRobS5TVEFUSUMpIHtcbiAgICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckxhdGVuY3kgPVxuICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5QWxhcm1zQW5kUnVsZXMuY3JlYXRlWm9uYWxIaWdoTGF0ZW5jeVN0YXRpY091dGxpZXJBbGFybUZvckNhbmFyaWVzKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgIHByb3BzLmF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIG9wZXJhdGlvbi5zZXJ2aWNlLmF2YWlsYWJpbGl0eVpvbmVOYW1lcyxcbiAgICAgICAgICBwcm9wcy5jb3VudGVyLFxuICAgICAgICAgIHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzUHJvcHMubGF0ZW5jeU91dGxpZXJUaHJlc2hvbGQsXG4gICAgICAgICAgcHJvcHMubmFtZVN1ZmZpeCxcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdmFpbGFiaWxpdHlab25lSXNPdXRsaWVyRm9yTGF0ZW5jeSA9XG4gICAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lBbGFybXNBbmRSdWxlcy5jcmVhdGVab25hbEhpZ2hMYXRlbmN5T3V0bGllckFsYXJtKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBvcGVyYXRpb24uc2VydmljZS5hdmFpbGFiaWxpdHlab25lTmFtZXMubWFwKChheikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzUHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoXG4gICAgICAgICAgICAgIGF6LnN1YnN0cmluZyhhei5sZW5ndGggLSAxKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXNQcm9wcy5sYXRlbmN5T3V0bGllclRocmVzaG9sZCxcbiAgICAgICAgICBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlc1Byb3BzLm91dGxpZXJEZXRlY3Rpb25GdW5jdGlvbiEsXG4gICAgICAgICAgcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXNQcm9wcy5sYXRlbmN5T3V0bGllckRldGVjdGlvbkFsZ29yaXRobSxcbiAgICAgICAgICBwcm9wcy5jb3VudGVyLFxuICAgICAgICAgIHByb3BzLm5hbWVTdWZmaXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5pc29sYXRlZEltcGFjdEFsYXJtID1cbiAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lBbGFybXNBbmRSdWxlcy5jcmVhdGVDYW5hcnlJc29sYXRlZEFaSW1wYWN0QWxhcm0oXG4gICAgICAgIHRoaXMsXG4gICAgICAgIG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lLFxuICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgIHByb3BzLmNvdW50ZXIsXG4gICAgICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZUlzT3V0bGllckZvckZhdWx0cyxcbiAgICAgICAgdGhpcy5hdmFpbGFiaWxpdHlBbGFybSxcbiAgICAgICAgdGhpcy5hdmFpbGFiaWxpdHlab25lSXNPdXRsaWVyRm9yTGF0ZW5jeSxcbiAgICAgICAgdGhpcy5sYXRlbmN5QWxhcm0sXG4gICAgICAgIHByb3BzLm5hbWVTdWZmaXgsXG4gICAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -3,10 +3,6 @@ import { IAlarm } from 'aws-cdk-lib/aws-cloudwatch';
|
|
|
3
3
|
* The base operation zonal alarms and rules
|
|
4
4
|
*/
|
|
5
5
|
export interface IBaseOperationZonalAlarmsAndRules {
|
|
6
|
-
/**
|
|
7
|
-
* Composite alarm for either availabiltiy or latency impact to this operation
|
|
8
|
-
*/
|
|
9
|
-
availabilityOrLatencyAlarm: IAlarm;
|
|
10
6
|
/**
|
|
11
7
|
* Availability alarm for this operation
|
|
12
8
|
*/
|
|
@@ -23,8 +19,4 @@ export interface IBaseOperationZonalAlarmsAndRules {
|
|
|
23
19
|
* Alarm that indicates this AZ is an outlier for high latency
|
|
24
20
|
*/
|
|
25
21
|
availabilityZoneIsOutlierForLatency: IAlarm;
|
|
26
|
-
/**
|
|
27
|
-
* The Availability Zone Id for the alarms and rules
|
|
28
|
-
*/
|
|
29
|
-
availabilityZoneId: string;
|
|
30
22
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJhc2VPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FsYXJtc2FuZHJ1bGVzL0lCYXNlT3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgSUFsYXJtIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuXG4vKipcbiAqIFRoZSBiYXNlIG9wZXJhdGlvbiB6b25hbCBhbGFybXMgYW5kIHJ1bGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJhc2VPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzIHtcbiAgLyoqXG4gICAqIEF2YWlsYWJpbGl0eSBhbGFybSBmb3IgdGhpcyBvcGVyYXRpb25cbiAgICovXG4gIGF2YWlsYWJpbGl0eUFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIExhdGVuY3kgYWxhcm0gZm9yIHRoaXMgb3BlcmF0aW9uXG4gICAqL1xuICBsYXRlbmN5QWxhcm06IElBbGFybTtcblxuICAvKipcbiAgICogQWxhcm0gdGhhdCBpbmRpY2F0ZXMgdGhhdCB0aGlzIEFaIGlzIGFuIG91dGxpZXIgZm9yIGZhdWx0IHJhdGVcbiAgICovXG4gIGF2YWlsYWJpbGl0eVpvbmVJc091dGxpZXJGb3JGYXVsdHM6IElBbGFybTtcblxuICAvKipcbiAgICogQWxhcm0gdGhhdCBpbmRpY2F0ZXMgdGhpcyBBWiBpcyBhbiBvdXRsaWVyIGZvciBoaWdoIGxhdGVuY3lcbiAgICovXG4gIGF2YWlsYWJpbGl0eVpvbmVJc091dGxpZXJGb3JMYXRlbmN5OiBJQWxhcm07XG59XG4iXX0=
|
|
@@ -11,45 +11,38 @@ export interface IOperationAlarmsAndRules {
|
|
|
11
11
|
/**
|
|
12
12
|
* The operation the alarms and rules are created for
|
|
13
13
|
*/
|
|
14
|
-
operation: IOperation;
|
|
14
|
+
readonly operation: IOperation;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
|
|
18
|
-
serverSideRegionalAlarmsAndRules: IServerSideOperationRegionalAlarmsAndRules;
|
|
19
|
-
/**
|
|
20
|
-
* The canary regional alarms and rules
|
|
21
|
-
*/
|
|
22
|
-
canaryRegionalAlarmsAndRules?: ICanaryOperationRegionalAlarmsAndRules;
|
|
23
|
-
/**
|
|
24
|
-
* The aggregate regional alarm that looks at both canary and server
|
|
25
|
-
* side impact alarms for latency and availability
|
|
16
|
+
* An alarm indicating availability or latency impact has been detected by the server-side
|
|
17
|
+
* and/or canary (if present) and the impact is regionally scoped, not zonal
|
|
26
18
|
*/
|
|
27
|
-
|
|
19
|
+
readonly regionalImpactAlarm: IAlarm;
|
|
28
20
|
/**
|
|
29
|
-
* The server side
|
|
21
|
+
* The server side regional alarms and rules
|
|
30
22
|
*/
|
|
31
|
-
|
|
23
|
+
readonly serverSideRegionalAlarmsAndRules: IServerSideOperationRegionalAlarmsAndRules;
|
|
32
24
|
/**
|
|
33
|
-
* The canary
|
|
25
|
+
* The canary regional alarms and rules
|
|
34
26
|
*/
|
|
35
|
-
|
|
27
|
+
readonly canaryRegionalAlarmsAndRules?: ICanaryOperationRegionalAlarmsAndRules;
|
|
36
28
|
/**
|
|
37
|
-
* The aggregate
|
|
38
|
-
* latency or availability impact in that AZ, and the AZ is an outlier for
|
|
39
|
-
* availability or latency impact. Both server side and canary metrics are
|
|
40
|
-
* evaluated
|
|
29
|
+
* The aggregate, server-side and canary combined, zonal alarm indexed by Availability Zone name.
|
|
41
30
|
*/
|
|
42
|
-
aggregateZonalAlarms:
|
|
31
|
+
readonly aggregateZonalAlarms: {
|
|
32
|
+
[key: string]: IAlarm;
|
|
33
|
+
};
|
|
43
34
|
/**
|
|
44
|
-
* The
|
|
35
|
+
* The server side zonal alarms and rules, indexed by Availability Zone name.
|
|
45
36
|
*/
|
|
46
|
-
|
|
47
|
-
[key: string]:
|
|
37
|
+
readonly serverSideZonalAlarmsAndRules: {
|
|
38
|
+
[key: string]: IServerSideOperationZonalAlarmsAndRules;
|
|
48
39
|
};
|
|
49
40
|
/**
|
|
50
|
-
*
|
|
41
|
+
* The canary zonal alarms and rules, indexed by Availability Zone name.
|
|
42
|
+
*
|
|
43
|
+
* @default - This is an empty dictionary if canary metric details are not provided
|
|
51
44
|
*/
|
|
52
|
-
|
|
53
|
-
[key: string]:
|
|
45
|
+
readonly canaryZonalAlarmsAndRules?: {
|
|
46
|
+
[key: string]: ICanaryOperationZonalAlarmsAndRules;
|
|
54
47
|
};
|
|
55
48
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FsYXJtc2FuZHJ1bGVzL0lPcGVyYXRpb25BbGFybXNBbmRSdWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgSUFsYXJtIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgSUNhbmFyeU9wZXJhdGlvblJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL0lDYW5hcnlPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzJztcbmltcG9ydCB7IElDYW5hcnlPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi9JQ2FuYXJ5T3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcyc7XG5pbXBvcnQgeyBJU2VydmVyU2lkZU9wZXJhdGlvblJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL0lTZXJ2ZXJTaWRlT3BlcmF0aW9uUmVnaW9uYWxBbGFybXNBbmRSdWxlcyc7XG5pbXBvcnQgeyBJU2VydmVyU2lkZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL0lTZXJ2ZXJTaWRlT3BlcmF0aW9uWm9uYWxBbGFybXNBbmRSdWxlcyc7XG5pbXBvcnQgeyBJT3BlcmF0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvSU9wZXJhdGlvbic7XG5cbi8qKlxuICogQ3JlYXRlcyBhbGFybXMgYW5kIHJ1bGVzIGZvciBhbiBvcGVyYXRpb24gZm9yIGJvdGggcmVnaW9uYWwgYW5kIHpvbmFsIG1ldHJpY3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMge1xuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiB0aGUgYWxhcm1zIGFuZCBydWxlcyBhcmUgY3JlYXRlZCBmb3JcbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbjogSU9wZXJhdGlvbjtcblxuICAvKipcbiAgICogQW4gYWxhcm0gaW5kaWNhdGluZyBhdmFpbGFiaWxpdHkgb3IgbGF0ZW5jeSBpbXBhY3QgaGFzIGJlZW4gZGV0ZWN0ZWQgYnkgdGhlIHNlcnZlci1zaWRlIFxuICAgKiBhbmQvb3IgY2FuYXJ5IChpZiBwcmVzZW50KSBhbmQgdGhlIGltcGFjdCBpcyByZWdpb25hbGx5IHNjb3BlZCwgbm90IHpvbmFsXG4gICAqL1xuICByZWFkb25seSByZWdpb25hbEltcGFjdEFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIFRoZSBzZXJ2ZXIgc2lkZSByZWdpb25hbCBhbGFybXMgYW5kIHJ1bGVzXG4gICAqL1xuICByZWFkb25seSBzZXJ2ZXJTaWRlUmVnaW9uYWxBbGFybXNBbmRSdWxlczogSVNlcnZlclNpZGVPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzO1xuXG4gIC8qKlxuICAgKiBUaGUgY2FuYXJ5IHJlZ2lvbmFsIGFsYXJtcyBhbmQgcnVsZXNcbiAgICovXG4gIHJlYWRvbmx5IGNhbmFyeVJlZ2lvbmFsQWxhcm1zQW5kUnVsZXM/OiBJQ2FuYXJ5T3BlcmF0aW9uUmVnaW9uYWxBbGFybXNBbmRSdWxlcztcblxuICAvKipcbiAgICogVGhlIGFnZ3JlZ2F0ZSwgc2VydmVyLXNpZGUgYW5kIGNhbmFyeSBjb21iaW5lZCwgem9uYWwgYWxhcm0gaW5kZXhlZCBieSBBdmFpbGFiaWxpdHkgWm9uZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYWdncmVnYXRlWm9uYWxBbGFybXM6IHtba2V5OiBzdHJpbmddOiBJQWxhcm19O1xuXG4gIC8qKlxuICAgKiBUaGUgc2VydmVyIHNpZGUgem9uYWwgYWxhcm1zIGFuZCBydWxlcywgaW5kZXhlZCBieSBBdmFpbGFiaWxpdHkgWm9uZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmVyU2lkZVpvbmFsQWxhcm1zQW5kUnVsZXM6IHtba2V5OiBzdHJpbmddOiBJU2VydmVyU2lkZU9wZXJhdGlvblpvbmFsQWxhcm1zQW5kUnVsZXN9O1xuXG4gIC8qKlxuICAgKiBUaGUgY2FuYXJ5IHpvbmFsIGFsYXJtcyBhbmQgcnVsZXMsIGluZGV4ZWQgYnkgQXZhaWxhYmlsaXR5IFpvbmUgbmFtZS5cbiAgICogXG4gICAqIEBkZWZhdWx0IC0gVGhpcyBpcyBhbiBlbXB0eSBkaWN0aW9uYXJ5IGlmIGNhbmFyeSBtZXRyaWMgZGV0YWlscyBhcmUgbm90IHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBjYW5hcnlab25hbEFsYXJtc0FuZFJ1bGVzPzoge1trZXk6IHN0cmluZ106IElDYW5hcnlPcGVyYXRpb25ab25hbEFsYXJtc0FuZFJ1bGVzfTtcbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVNlcnZlclNpZGVPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FsYXJtc2FuZHJ1bGVzL0lTZXJ2ZXJTaWRlT3BlcmF0aW9uUmVnaW9uYWxBbGFybXNBbmRSdWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgQ2ZuSW5zaWdodFJ1bGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBJQmFzZU9wZXJhdGlvblJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuL0lCYXNlT3BlcmF0aW9uUmVnaW9uYWxBbGFybXNBbmRSdWxlcyc7XG5cbi8qKlxuICogVGhlIHNlcnZlciBzaWRlIG9wZXJhdGlvbiByZWdpb25hbCBhbGFybXMgYW5kIHJ1bGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNlcnZlclNpZGVPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzIGV4dGVuZHMgSUJhc2VPcGVyYXRpb25SZWdpb25hbEFsYXJtc0FuZFJ1bGVzIHtcbiAgLyoqXG4gICAqIEEgcnVsZSB0aGF0IHNob3dzIHdoaWNoIGluc3RhbmNlcyBhcmUgY29udHJpYnV0aW5nIHRvIGhpZ2ggbGF0ZW5jeSByZXNwb25zZXNcbiAgICovXG4gIGluc3RhbmNlQ29udHJpYnV0b3JzVG9SZWdpb25hbEhpZ2hMYXRlbmN5PzogQ2ZuSW5zaWdodFJ1bGU7XG5cbiAgLyoqXG4gICAqIEEgcnVsZSB0aGF0IHNob3dzIHdoaWNoIGluc3RhbmNlcyBhcmUgY29udHJpYnV0aW5nIHRvIGZhdWx0c1xuICAgKi9cbiAgaW5zdGFuY2VDb250cmlidXRvcnNUb1JlZ2lvbmFsRmF1bHRzPzogQ2ZuSW5zaWdodFJ1bGU7XG59XG4iXX0=
|
|
@@ -13,32 +13,36 @@ export interface IServiceAlarmsAndRules {
|
|
|
13
13
|
* triggers for availability or latency impact to any critical operation in that AZ
|
|
14
14
|
* that indicates it has isolated impact as measured by canaries or server-side.
|
|
15
15
|
*/
|
|
16
|
-
zonalAggregateIsolatedImpactAlarms:
|
|
16
|
+
zonalAggregateIsolatedImpactAlarms: {
|
|
17
|
+
[key: string]: IAlarm;
|
|
18
|
+
};
|
|
17
19
|
/**
|
|
18
20
|
* The zonal server-side isolated impact alarms. There is 1 alarm per AZ that triggers
|
|
19
|
-
* on availability or
|
|
21
|
+
* on availability or latency impact to any critical operation in that AZ. These are useful
|
|
20
22
|
* for deployment monitoring to not inadvertently fail when a canary can't contact an AZ
|
|
21
23
|
* during a deployment.
|
|
22
24
|
*/
|
|
23
|
-
zonalServerSideIsolatedImpactAlarms:
|
|
25
|
+
zonalServerSideIsolatedImpactAlarms: {
|
|
26
|
+
[key: string]: IAlarm;
|
|
27
|
+
};
|
|
24
28
|
/**
|
|
25
|
-
* An alarm
|
|
29
|
+
* An alarm indicating the canary has discovered an availability or latency impact on a critical
|
|
30
|
+
* operation while testing the regional endpoint.
|
|
26
31
|
*/
|
|
27
|
-
|
|
32
|
+
regionalCanaryAlarm?: IAlarm;
|
|
28
33
|
/**
|
|
29
|
-
* An alarm
|
|
34
|
+
* An alarm indicating there is availability or latency impact on a critical operation
|
|
35
|
+
* that is not scoped to a single availability zone as measured by the server-side and/or canary (if present)
|
|
30
36
|
*/
|
|
31
|
-
|
|
37
|
+
regionalImpactAlarm: IAlarm;
|
|
32
38
|
/**
|
|
33
|
-
* An alarm
|
|
39
|
+
* An alarm indicating there is availability or latency impact on a critical operation
|
|
40
|
+
* that is not scoped to a single availability zone as measured by the server-side
|
|
34
41
|
*/
|
|
35
|
-
|
|
42
|
+
regionalServerSideImpactAlarm: IAlarm;
|
|
36
43
|
/**
|
|
37
|
-
*
|
|
44
|
+
* This is the top level alarm you should tie notifications/paging/alerting to. It triggers
|
|
45
|
+
* on any impact to a critical operation either zonally scoped or regionally scoped.
|
|
38
46
|
*/
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* An alarm for fault count exceeding a regional threshold for all critical operations.
|
|
42
|
-
*/
|
|
43
|
-
regionalFaultCountServerSideAlarm: IAlarm;
|
|
47
|
+
serviceImpactAlarm: IAlarm;
|
|
44
48
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVNlcnZpY2VBbGFybXNBbmRSdWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hbGFybXNhbmRydWxlcy9JU2VydmljZUFsYXJtc0FuZFJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBJQWxhcm0gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBJU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL0lTZXJ2aWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIGxldmVsIGFsYXJtcyBhbmQgcnVsZXMgdXNpbmcgY3JpdGljYWwgb3BlcmF0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElTZXJ2aWNlQWxhcm1zQW5kUnVsZXMge1xuICAvKipcbiAgICogVGhlIHNlcnZpY2UgdGhlc2UgYWxhcm1zIGFuZCBydWxlcyBhcmUgZm9yXG4gICAqL1xuICBzZXJ2aWNlOiBJU2VydmljZTtcblxuICAvKipcbiAgICogVGhlIHpvbmFsIGFnZ3JlZ2F0ZSBpc29sYXRlZCBpbXBhY3QgYWxhcm1zLiBUaGVyZSBpcyAxIGFsYXJtIHBlciBBWiB0aGF0XG4gICAqIHRyaWdnZXJzIGZvciBhdmFpbGFiaWxpdHkgb3IgbGF0ZW5jeSBpbXBhY3QgdG8gYW55IGNyaXRpY2FsIG9wZXJhdGlvbiBpbiB0aGF0IEFaXG4gICAqIHRoYXQgaW5kaWNhdGVzIGl0IGhhcyBpc29sYXRlZCBpbXBhY3QgYXMgbWVhc3VyZWQgYnkgY2FuYXJpZXMgb3Igc2VydmVyLXNpZGUuXG4gICAqL1xuICB6b25hbEFnZ3JlZ2F0ZUlzb2xhdGVkSW1wYWN0QWxhcm1zOiB7W2tleTogc3RyaW5nXTogSUFsYXJtfTtcblxuICAvKipcbiAgICogVGhlIHpvbmFsIHNlcnZlci1zaWRlIGlzb2xhdGVkIGltcGFjdCBhbGFybXMuIFRoZXJlIGlzIDEgYWxhcm0gcGVyIEFaIHRoYXQgdHJpZ2dlcnNcbiAgICogb24gYXZhaWxhYmlsaXR5IG9yIGxhdGVuY3kgaW1wYWN0IHRvIGFueSBjcml0aWNhbCBvcGVyYXRpb24gaW4gdGhhdCBBWi4gVGhlc2UgYXJlIHVzZWZ1bFxuICAgKiBmb3IgZGVwbG95bWVudCBtb25pdG9yaW5nIHRvIG5vdCBpbmFkdmVydGVudGx5IGZhaWwgd2hlbiBhIGNhbmFyeSBjYW4ndCBjb250YWN0IGFuIEFaXG4gICAqIGR1cmluZyBhIGRlcGxveW1lbnQuXG4gICAqL1xuICB6b25hbFNlcnZlclNpZGVJc29sYXRlZEltcGFjdEFsYXJtczoge1trZXk6IHN0cmluZ106IElBbGFybX07XG5cbiAgLyoqXG4gICAqIEFuIGFsYXJtIGluZGljYXRpbmcgdGhlIGNhbmFyeSBoYXMgZGlzY292ZXJlZCBhbiBhdmFpbGFiaWxpdHkgb3IgbGF0ZW5jeSBpbXBhY3Qgb24gYSBjcml0aWNhbFxuICAgKiBvcGVyYXRpb24gd2hpbGUgdGVzdGluZyB0aGUgcmVnaW9uYWwgZW5kcG9pbnQuXG4gICAqL1xuICByZWdpb25hbENhbmFyeUFsYXJtPzogSUFsYXJtO1xuXG4gIC8qKlxuICAgKiBBbiBhbGFybSBpbmRpY2F0aW5nIHRoZXJlIGlzIGF2YWlsYWJpbGl0eSBvciBsYXRlbmN5IGltcGFjdCBvbiBhIGNyaXRpY2FsIG9wZXJhdGlvblxuICAgKiB0aGF0IGlzIG5vdCBzY29wZWQgdG8gYSBzaW5nbGUgYXZhaWxhYmlsaXR5IHpvbmUgYXMgbWVhc3VyZWQgYnkgdGhlIHNlcnZlci1zaWRlIGFuZC9vciBjYW5hcnkgKGlmIHByZXNlbnQpXG4gICAqL1xuICByZWdpb25hbEltcGFjdEFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIEFuIGFsYXJtIGluZGljYXRpbmcgdGhlcmUgaXMgYXZhaWxhYmlsaXR5IG9yIGxhdGVuY3kgaW1wYWN0IG9uIGEgY3JpdGljYWwgb3BlcmF0aW9uXG4gICAqIHRoYXQgaXMgbm90IHNjb3BlZCB0byBhIHNpbmdsZSBhdmFpbGFiaWxpdHkgem9uZSBhcyBtZWFzdXJlZCBieSB0aGUgc2VydmVyLXNpZGVcbiAgICovXG4gIHJlZ2lvbmFsU2VydmVyU2lkZUltcGFjdEFsYXJtOiBJQWxhcm07XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIHRvcCBsZXZlbCBhbGFybSB5b3Ugc2hvdWxkIHRpZSBub3RpZmljYXRpb25zL3BhZ2luZy9hbGVydGluZyB0by4gSXQgdHJpZ2dlcnNcbiAgICogb24gYW55IGltcGFjdCB0byBhIGNyaXRpY2FsIG9wZXJhdGlvbiBlaXRoZXIgem9uYWxseSBzY29wZWQgb3IgcmVnaW9uYWxseSBzY29wZWQuXG4gICAqL1xuICBzZXJ2aWNlSW1wYWN0QWxhcm06IElBbGFybTtcbn1cbiJdfQ==
|
|
@@ -24,36 +24,29 @@ export declare class OperationAlarmsAndRules extends Construct implements IOpera
|
|
|
24
24
|
*/
|
|
25
25
|
readonly canaryRegionalAlarmsAndRules?: ICanaryOperationRegionalAlarmsAndRules;
|
|
26
26
|
/**
|
|
27
|
-
* The aggregate
|
|
28
|
-
* side impact alarms for latency and availability
|
|
29
|
-
*/
|
|
30
|
-
readonly aggregateRegionalAlarm: IAlarm;
|
|
31
|
-
/**
|
|
32
|
-
* The server side zonal alarms and rules
|
|
33
|
-
*/
|
|
34
|
-
readonly serverSideZonalAlarmsAndRules: IServerSideOperationZonalAlarmsAndRules[];
|
|
35
|
-
/**
|
|
36
|
-
* The canary zonal alarms and rules
|
|
27
|
+
* The aggregate zonal alarm indexed by Availability Zone Id.
|
|
37
28
|
*/
|
|
38
|
-
readonly
|
|
29
|
+
readonly aggregateZonalAlarms: {
|
|
30
|
+
[key: string]: IAlarm;
|
|
31
|
+
};
|
|
39
32
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* availability or latency impact. Both server side and canary metrics are
|
|
43
|
-
* evaluated
|
|
33
|
+
* An alarm indicating availability or latency impact has been detected by the server-side
|
|
34
|
+
* and/or canary (if present) and the impact is regionally scoped, not zonal
|
|
44
35
|
*/
|
|
45
|
-
readonly
|
|
36
|
+
readonly regionalImpactAlarm: IAlarm;
|
|
46
37
|
/**
|
|
47
|
-
* The
|
|
38
|
+
* The server side zonal alarms and rules, indexed by Availability Zone name.
|
|
48
39
|
*/
|
|
49
|
-
readonly
|
|
50
|
-
[key: string]:
|
|
40
|
+
readonly serverSideZonalAlarmsAndRules: {
|
|
41
|
+
[key: string]: IServerSideOperationZonalAlarmsAndRules;
|
|
51
42
|
};
|
|
52
43
|
/**
|
|
53
|
-
*
|
|
44
|
+
* The canary zonal alarms and rules, indexed by Availability Zone name.
|
|
45
|
+
*
|
|
46
|
+
* @default - This is an empty dictionary if canary metric details are not provided
|
|
54
47
|
*/
|
|
55
|
-
readonly
|
|
56
|
-
[key: string]:
|
|
48
|
+
readonly canaryZonalAlarmsAndRules?: {
|
|
49
|
+
[key: string]: ICanaryOperationZonalAlarmsAndRules;
|
|
57
50
|
};
|
|
58
51
|
constructor(scope: Construct, id: string, props: OperationAlarmsAndRulesProps);
|
|
59
52
|
}
|