@cdklabs/multi-az-observability 0.0.0-alpha.0
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 +10177 -0
- package/API.md +5119 -0
- package/LICENSE +202 -0
- package/README.md +175 -0
- package/cdk.json +68 -0
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +214 -0
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +763 -0
- package/lib/alarmsandrules/BaseOperationRegionalAlarmsAndRules.d.ts +22 -0
- package/lib/alarmsandrules/BaseOperationRegionalAlarmsAndRules.js +21 -0
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.d.ts +34 -0
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.js +39 -0
- package/lib/alarmsandrules/CanaryOperationRegionalAlarmsAndRules.d.ts +7 -0
- package/lib/alarmsandrules/CanaryOperationRegionalAlarmsAndRules.js +11 -0
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.d.ts +16 -0
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.js +17 -0
- package/lib/alarmsandrules/IBaseOperationRegionalAlarmsAndRules.d.ts +18 -0
- package/lib/alarmsandrules/IBaseOperationRegionalAlarmsAndRules.js +3 -0
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.d.ts +30 -0
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.js +3 -0
- package/lib/alarmsandrules/ICanaryOperationRegionalAlarmsAndRules.d.ts +6 -0
- package/lib/alarmsandrules/ICanaryOperationRegionalAlarmsAndRules.js +3 -0
- package/lib/alarmsandrules/ICanaryOperationZonalAlarmsAndRules.d.ts +12 -0
- package/lib/alarmsandrules/ICanaryOperationZonalAlarmsAndRules.js +3 -0
- package/lib/alarmsandrules/IOperationAlarmsAndRules.d.ts +55 -0
- package/lib/alarmsandrules/IOperationAlarmsAndRules.js +3 -0
- package/lib/alarmsandrules/IServerSideOperationRegionalAlarmsAndRules.d.ts +15 -0
- package/lib/alarmsandrules/IServerSideOperationRegionalAlarmsAndRules.js +3 -0
- package/lib/alarmsandrules/IServerSideOperationZonalAlarmsAndRules.d.ts +36 -0
- package/lib/alarmsandrules/IServerSideOperationZonalAlarmsAndRules.js +3 -0
- package/lib/alarmsandrules/IServiceAlarmsAndRules.d.ts +44 -0
- package/lib/alarmsandrules/IServiceAlarmsAndRules.js +3 -0
- package/lib/alarmsandrules/InsightRuleBody.d.ts +67 -0
- package/lib/alarmsandrules/InsightRuleBody.js +46 -0
- package/lib/alarmsandrules/OperationAlarmsAndRules.d.ts +59 -0
- package/lib/alarmsandrules/OperationAlarmsAndRules.js +135 -0
- package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.d.ts +19 -0
- package/lib/alarmsandrules/ServerSideOperationRegionalAlarmsAndRules.js +22 -0
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.d.ts +40 -0
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.js +46 -0
- package/lib/alarmsandrules/ServiceAlarmsAndRules.d.ts +48 -0
- package/lib/alarmsandrules/ServiceAlarmsAndRules.js +166 -0
- package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.d.ts +24 -0
- package/lib/alarmsandrules/props/BaseOperationRegionalAlarmsAndRulesProps.js +3 -0
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.d.ts +62 -0
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.js +3 -0
- package/lib/alarmsandrules/props/CanaryOperationRegionalAlarmsAndRulesProps.d.ts +6 -0
- package/lib/alarmsandrules/props/CanaryOperationRegionalAlarmsAndRulesProps.js +3 -0
- package/lib/alarmsandrules/props/CanaryOperationZonalAlarmsAndRulesProps.d.ts +6 -0
- package/lib/alarmsandrules/props/CanaryOperationZonalAlarmsAndRulesProps.js +3 -0
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.d.ts +45 -0
- package/lib/alarmsandrules/props/OperationAlarmsAndRulesProps.js +3 -0
- package/lib/alarmsandrules/props/ServerSideOperationRegionalAlarmsAndRulesProps.d.ts +6 -0
- package/lib/alarmsandrules/props/ServerSideOperationRegionalAlarmsAndRulesProps.js +3 -0
- package/lib/alarmsandrules/props/ServerSideOperationZonalAlarmsAndRulesProps.d.ts +6 -0
- package/lib/alarmsandrules/props/ServerSideOperationZonalAlarmsAndRulesProps.js +3 -0
- package/lib/alarmsandrules/props/ServiceAlarmsAndRulesProps.d.ts +13 -0
- package/lib/alarmsandrules/props/ServiceAlarmsAndRulesProps.js +3 -0
- package/lib/azmapper/AvailabilityZoneMapper.d.ts +86 -0
- package/lib/azmapper/AvailabilityZoneMapper.js +200 -0
- package/lib/azmapper/IAvailabilityZoneMapper.d.ts +86 -0
- package/lib/azmapper/IAvailabilityZoneMapper.js +3 -0
- package/lib/azmapper/props/AvailabilityZoneMapperProps.d.ts +13 -0
- package/lib/azmapper/props/AvailabilityZoneMapperProps.js +3 -0
- package/lib/azmapper/src/index.py +107 -0
- package/lib/canaries/CanaryFunction.d.ts +16 -0
- package/lib/canaries/CanaryFunction.js +152 -0
- package/lib/canaries/CanaryTest.d.ts +10 -0
- package/lib/canaries/CanaryTest.js +84 -0
- package/lib/canaries/ICanaryFunction.d.ts +6 -0
- package/lib/canaries/ICanaryFunction.js +3 -0
- package/lib/canaries/props/AddCanaryTestProps.d.ts +66 -0
- package/lib/canaries/props/AddCanaryTestProps.js +3 -0
- package/lib/canaries/props/CanaryFunctionProps.d.ts +29 -0
- package/lib/canaries/props/CanaryFunctionProps.js +3 -0
- package/lib/canaries/props/CanaryTestProps.d.ts +21 -0
- package/lib/canaries/props/CanaryTestProps.js +3 -0
- package/lib/canaries/props/NetworkConfigurationProps.d.ts +16 -0
- package/lib/canaries/props/NetworkConfigurationProps.js +3 -0
- package/lib/canaries/src/canary.zip +0 -0
- package/lib/dashboards/BasicServiceDashboard.d.ts +10 -0
- package/lib/dashboards/BasicServiceDashboard.js +130 -0
- package/lib/dashboards/ContributorInsightsWidget.d.ts +22 -0
- package/lib/dashboards/ContributorInsightsWidget.js +55 -0
- package/lib/dashboards/IOperationAvailabilityAndLatencyDashboard.d.ts +10 -0
- package/lib/dashboards/IOperationAvailabilityAndLatencyDashboard.js +3 -0
- package/lib/dashboards/IServiceAvailabilityAndLatencyDashboard.d.ts +10 -0
- package/lib/dashboards/IServiceAvailabilityAndLatencyDashboard.js +3 -0
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.d.ts +20 -0
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +588 -0
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.d.ts +24 -0
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +475 -0
- package/lib/dashboards/props/BasicServiceDashboardProps.d.ts +23 -0
- package/lib/dashboards/props/BasicServiceDashboardProps.js +3 -0
- package/lib/dashboards/props/ContributorInsightWidgetProps.d.ts +31 -0
- package/lib/dashboards/props/ContributorInsightWidgetProps.js +3 -0
- package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.d.ts +84 -0
- package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.js +3 -0
- package/lib/dashboards/props/OperationAvailabilityWidgetProps.d.ts +37 -0
- package/lib/dashboards/props/OperationAvailabilityWidgetProps.js +3 -0
- package/lib/dashboards/props/OperationLatencyWidgetProps.d.ts +37 -0
- package/lib/dashboards/props/OperationLatencyWidgetProps.js +3 -0
- package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.d.ts +30 -0
- package/lib/dashboards/props/ServiceAvailabilityAndLatencyDashboardProps.js +3 -0
- package/lib/index.d.ts +35 -0
- package/lib/index.js +30 -0
- package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +36 -0
- package/lib/metrics/ApplicationLoadBalancerMetrics.js +150 -0
- package/lib/metrics/AvailabilityAndLatencyMetrics.d.ts +61 -0
- package/lib/metrics/AvailabilityAndLatencyMetrics.js +212 -0
- package/lib/metrics/NetworkLoadBalancerMetrics.d.ts +19 -0
- package/lib/metrics/NetworkLoadBalancerMetrics.js +48 -0
- package/lib/metrics/RegionalAvailabilityMetrics.d.ts +19 -0
- package/lib/metrics/RegionalAvailabilityMetrics.js +71 -0
- package/lib/metrics/RegionalLatencyMetrics.d.ts +33 -0
- package/lib/metrics/RegionalLatencyMetrics.js +69 -0
- package/lib/metrics/ZonalAvailabilityMetrics.d.ts +19 -0
- package/lib/metrics/ZonalAvailabilityMetrics.js +71 -0
- package/lib/metrics/ZonalLatencyMetrics.d.ts +29 -0
- package/lib/metrics/ZonalLatencyMetrics.js +65 -0
- package/lib/metrics/props/AvailabilityAndLatencyMetricProps.d.ts +23 -0
- package/lib/metrics/props/AvailabilityAndLatencyMetricProps.js +3 -0
- package/lib/metrics/props/AvailabilityMetricProps.d.ts +11 -0
- package/lib/metrics/props/AvailabilityMetricProps.js +3 -0
- package/lib/metrics/props/LatencyMetricProps.d.ts +15 -0
- package/lib/metrics/props/LatencyMetricProps.js +3 -0
- package/lib/metrics/props/RegionalAvailabilityMetricProps.d.ts +6 -0
- package/lib/metrics/props/RegionalAvailabilityMetricProps.js +3 -0
- package/lib/metrics/props/RegionalLatencyMetricProps.d.ts +6 -0
- package/lib/metrics/props/RegionalLatencyMetricProps.js +3 -0
- package/lib/metrics/props/ServiceAvailabilityMetricProps.d.ts +23 -0
- package/lib/metrics/props/ServiceAvailabilityMetricProps.js +3 -0
- package/lib/metrics/props/ServiceLatencyMericProps.d.ts +23 -0
- package/lib/metrics/props/ServiceLatencyMericProps.js +3 -0
- package/lib/metrics/props/ZonalAvailabilityMetricProps.d.ts +10 -0
- package/lib/metrics/props/ZonalAvailabilityMetricProps.js +3 -0
- package/lib/metrics/props/ZonalLatencyMetricProps.d.ts +10 -0
- package/lib/metrics/props/ZonalLatencyMetricProps.js +3 -0
- package/lib/monitoring/src/monitoring-layer.zip +0 -0
- package/lib/outlier-detection/IOutlierDetectionFunction.d.ts +12 -0
- package/lib/outlier-detection/IOutlierDetectionFunction.js +3 -0
- package/lib/outlier-detection/OutlierDetectionFunction.d.ts +16 -0
- package/lib/outlier-detection/OutlierDetectionFunction.js +126 -0
- package/lib/outlier-detection/props/OutlierDetectionFunctionProps.d.ts +12 -0
- package/lib/outlier-detection/props/OutlierDetectionFunctionProps.js +3 -0
- package/lib/outlier-detection/src/outlier-detection.zip +0 -0
- package/lib/outlier-detection/src/scipy-layer.zip +0 -0
- package/lib/services/BasicServiceMultiAZObservability.d.ts +64 -0
- package/lib/services/BasicServiceMultiAZObservability.js +504 -0
- package/lib/services/CanaryMetrics.d.ts +17 -0
- package/lib/services/CanaryMetrics.js +19 -0
- package/lib/services/CanaryTestMetricsOverride.d.ts +39 -0
- package/lib/services/CanaryTestMetricsOverride.js +23 -0
- package/lib/services/ContributorInsightRuleDetails.d.ts +42 -0
- package/lib/services/ContributorInsightRuleDetails.js +23 -0
- package/lib/services/IBasicServiceMultiAZObservability.d.ts +45 -0
- package/lib/services/IBasicServiceMultiAZObservability.js +3 -0
- package/lib/services/ICanaryMetrics.d.ts +14 -0
- package/lib/services/ICanaryMetrics.js +3 -0
- package/lib/services/ICanaryTestMetricsOverride.d.ts +36 -0
- package/lib/services/ICanaryTestMetricsOverride.js +3 -0
- package/lib/services/IContributorInsightRuleDetails.d.ts +38 -0
- package/lib/services/IContributorInsightRuleDetails.js +3 -0
- package/lib/services/IInstrumentedServiceMultiAZObservability.d.ts +39 -0
- package/lib/services/IInstrumentedServiceMultiAZObservability.js +3 -0
- package/lib/services/IOperation.d.ts +75 -0
- package/lib/services/IOperation.js +3 -0
- package/lib/services/IOperationMetricDetails.d.ts +78 -0
- package/lib/services/IOperationMetricDetails.js +3 -0
- package/lib/services/IService.d.ts +76 -0
- package/lib/services/IService.js +3 -0
- package/lib/services/IServiceMetricDetails.d.ts +68 -0
- package/lib/services/IServiceMetricDetails.js +3 -0
- package/lib/services/InstrumentedServiceMultiAZObservability.d.ts +55 -0
- package/lib/services/InstrumentedServiceMultiAZObservability.js +310 -0
- package/lib/services/Operation.d.ts +78 -0
- package/lib/services/Operation.js +34 -0
- package/lib/services/OperationMetricDetails.d.ts +82 -0
- package/lib/services/OperationMetricDetails.js +50 -0
- package/lib/services/Service.d.ts +80 -0
- package/lib/services/Service.js +36 -0
- package/lib/services/ServiceMetricDetails.d.ts +71 -0
- package/lib/services/ServiceMetricDetails.js +28 -0
- package/lib/services/props/BasicServiceMultiAZObservabilityProps.d.ts +126 -0
- package/lib/services/props/BasicServiceMultiAZObservabilityProps.js +3 -0
- package/lib/services/props/CanaryMetricProps.d.ts +14 -0
- package/lib/services/props/CanaryMetricProps.js +3 -0
- package/lib/services/props/CanaryTestMetricsOverrideProps.d.ts +47 -0
- package/lib/services/props/CanaryTestMetricsOverrideProps.js +3 -0
- package/lib/services/props/ContributorInsightRuleDetailsProps.d.ts +38 -0
- package/lib/services/props/ContributorInsightRuleDetailsProps.js +3 -0
- package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.d.ts +88 -0
- package/lib/services/props/InstrumentedServiceMultiAZObservabilityProps.js +3 -0
- package/lib/services/props/MetricDimensions.d.ts +61 -0
- package/lib/services/props/MetricDimensions.js +63 -0
- package/lib/services/props/OperationMetricDetailsProps.d.ts +97 -0
- package/lib/services/props/OperationMetricDetailsProps.js +3 -0
- package/lib/services/props/OperationProps.d.ts +93 -0
- package/lib/services/props/OperationProps.js +3 -0
- package/lib/services/props/ServiceMetricDetailsProps.d.ts +68 -0
- package/lib/services/props/ServiceMetricDetailsProps.js +3 -0
- package/lib/services/props/ServiceProps.d.ts +69 -0
- package/lib/services/props/ServiceProps.js +3 -0
- package/lib/utilities/AvailabilityMetricType.d.ts +26 -0
- package/lib/utilities/AvailabilityMetricType.js +33 -0
- package/lib/utilities/LatencyMetricType.d.ts +13 -0
- package/lib/utilities/LatencyMetricType.js +20 -0
- package/lib/utilities/OutlierDetectionAlgorithm.d.ts +42 -0
- package/lib/utilities/OutlierDetectionAlgorithm.js +49 -0
- package/lib/utilities/StackWithDynamicSource.d.ts +14 -0
- package/lib/utilities/StackWithDynamicSource.js +82 -0
- package/package.json +176 -0
- package/rosetta/default.ts-fixture +13 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Duration } from 'aws-cdk-lib';
|
|
2
|
+
import { Unit } from 'aws-cdk-lib/aws-cloudwatch';
|
|
3
|
+
/**
|
|
4
|
+
* The properties for default service metric details
|
|
5
|
+
*/
|
|
6
|
+
export interface ServiceMetricDetailsProps {
|
|
7
|
+
/**
|
|
8
|
+
* The CloudWatch metric namespace for these metrics
|
|
9
|
+
*/
|
|
10
|
+
readonly metricNamespace: string;
|
|
11
|
+
/**
|
|
12
|
+
* The names of success indicating metrics
|
|
13
|
+
*/
|
|
14
|
+
readonly successMetricNames: string[];
|
|
15
|
+
/**
|
|
16
|
+
* The names of fault indicating metrics
|
|
17
|
+
*/
|
|
18
|
+
readonly faultMetricNames: string[];
|
|
19
|
+
/**
|
|
20
|
+
* The statistic used for alarms, for availability metrics this should
|
|
21
|
+
* be "Sum", for latency metrics it could something like "p99" or "p99.9"
|
|
22
|
+
*/
|
|
23
|
+
readonly alarmStatistic: string;
|
|
24
|
+
/**
|
|
25
|
+
* The statistics for successes you want to appear on dashboards, for example, with
|
|
26
|
+
* latency metrics, you might want p50, p99, and tm99. For availability
|
|
27
|
+
* metrics this will typically just be "Sum".
|
|
28
|
+
*
|
|
29
|
+
* @default - For availability metrics, this will be "Sum", for latency metrics it will be just "p99"
|
|
30
|
+
*/
|
|
31
|
+
readonly graphedSuccessStatistics?: string[];
|
|
32
|
+
/**
|
|
33
|
+
* The statistics for faults you want to appear on dashboards, for example, with
|
|
34
|
+
* latency metrics, you might want p50, p99, and tm99. For availability
|
|
35
|
+
* metrics this will typically just be "Sum".
|
|
36
|
+
*
|
|
37
|
+
* @default - For availability metrics, this will be "Sum", for latency metrics it will be just "p99"
|
|
38
|
+
*/
|
|
39
|
+
readonly graphedFaultStatistics?: string[];
|
|
40
|
+
/**
|
|
41
|
+
* The unit used for these metrics
|
|
42
|
+
*/
|
|
43
|
+
readonly unit: Unit;
|
|
44
|
+
/**
|
|
45
|
+
* The period for the metrics
|
|
46
|
+
*/
|
|
47
|
+
readonly period: Duration;
|
|
48
|
+
/**
|
|
49
|
+
* The number of evaluation periods for latency and availabiltiy alarms
|
|
50
|
+
*/
|
|
51
|
+
readonly evaluationPeriods: number;
|
|
52
|
+
/**
|
|
53
|
+
* The number of datapoints to alarm on for latency and availability alarms
|
|
54
|
+
*/
|
|
55
|
+
readonly datapointsToAlarm: number;
|
|
56
|
+
/**
|
|
57
|
+
* The threshold for alarms associated with success metrics, for example if measuring
|
|
58
|
+
* success rate, the threshold may be 99, meaning you would want an alarm that triggers
|
|
59
|
+
* if success drops below 99%.
|
|
60
|
+
*/
|
|
61
|
+
readonly successAlarmThreshold: number;
|
|
62
|
+
/**
|
|
63
|
+
* The threshold for alarms associated with fault metrics, for example if measuring
|
|
64
|
+
* fault rate, the threshold may be 1, meaning you would want an alarm that triggers
|
|
65
|
+
* if the fault rate goes above 1%.
|
|
66
|
+
*/
|
|
67
|
+
readonly faultAlarmThreshold: number;
|
|
68
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9wcm9wcy9TZXJ2aWNlTWV0cmljRGV0YWlsc1Byb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFVuaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgZm9yIGRlZmF1bHQgc2VydmljZSBtZXRyaWMgZGV0YWlsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VNZXRyaWNEZXRhaWxzUHJvcHMge1xuICAvKipcbiAgICogVGhlIENsb3VkV2F0Y2ggbWV0cmljIG5hbWVzcGFjZSBmb3IgdGhlc2UgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljTmFtZXNwYWNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lcyBvZiBzdWNjZXNzIGluZGljYXRpbmcgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgc3VjY2Vzc01ldHJpY05hbWVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIG5hbWVzIG9mIGZhdWx0IGluZGljYXRpbmcgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgZmF1bHRNZXRyaWNOYW1lczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0aXN0aWMgdXNlZCBmb3IgYWxhcm1zLCBmb3IgYXZhaWxhYmlsaXR5IG1ldHJpY3MgdGhpcyBzaG91bGRcbiAgICogYmUgXCJTdW1cIiwgZm9yIGxhdGVuY3kgbWV0cmljcyBpdCBjb3VsZCBzb21ldGhpbmcgbGlrZSBcInA5OVwiIG9yIFwicDk5LjlcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWxhcm1TdGF0aXN0aWM6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXRpc3RpY3MgZm9yIHN1Y2Nlc3NlcyB5b3Ugd2FudCB0byBhcHBlYXIgb24gZGFzaGJvYXJkcywgZm9yIGV4YW1wbGUsIHdpdGhcbiAgICogbGF0ZW5jeSBtZXRyaWNzLCB5b3UgbWlnaHQgd2FudCBwNTAsIHA5OSwgYW5kIHRtOTkuIEZvciBhdmFpbGFiaWxpdHlcbiAgICogbWV0cmljcyB0aGlzIHdpbGwgdHlwaWNhbGx5IGp1c3QgYmUgXCJTdW1cIi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBGb3IgYXZhaWxhYmlsaXR5IG1ldHJpY3MsIHRoaXMgd2lsbCBiZSBcIlN1bVwiLCBmb3IgbGF0ZW5jeSBtZXRyaWNzIGl0IHdpbGwgYmUganVzdCBcInA5OVwiXG4gICAqL1xuICByZWFkb25seSBncmFwaGVkU3VjY2Vzc1N0YXRpc3RpY3M/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHN0YXRpc3RpY3MgZm9yIGZhdWx0cyB5b3Ugd2FudCB0byBhcHBlYXIgb24gZGFzaGJvYXJkcywgZm9yIGV4YW1wbGUsIHdpdGhcbiAgICogbGF0ZW5jeSBtZXRyaWNzLCB5b3UgbWlnaHQgd2FudCBwNTAsIHA5OSwgYW5kIHRtOTkuIEZvciBhdmFpbGFiaWxpdHlcbiAgICogbWV0cmljcyB0aGlzIHdpbGwgdHlwaWNhbGx5IGp1c3QgYmUgXCJTdW1cIi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBGb3IgYXZhaWxhYmlsaXR5IG1ldHJpY3MsIHRoaXMgd2lsbCBiZSBcIlN1bVwiLCBmb3IgbGF0ZW5jeSBtZXRyaWNzIGl0IHdpbGwgYmUganVzdCBcInA5OVwiXG4gICAqL1xuICByZWFkb25seSBncmFwaGVkRmF1bHRTdGF0aXN0aWNzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSB1bml0IHVzZWQgZm9yIHRoZXNlIG1ldHJpY3NcbiAgICovXG4gIHJlYWRvbmx5IHVuaXQ6IFVuaXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJpb2QgZm9yIHRoZSBtZXRyaWNzXG4gICAqL1xuICByZWFkb25seSBwZXJpb2Q6IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGV2YWx1YXRpb24gcGVyaW9kcyBmb3IgbGF0ZW5jeSBhbmQgYXZhaWxhYmlsdGl5IGFsYXJtc1xuICAgKi9cbiAgcmVhZG9ubHkgZXZhbHVhdGlvblBlcmlvZHM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBkYXRhcG9pbnRzIHRvIGFsYXJtIG9uIGZvciBsYXRlbmN5IGFuZCBhdmFpbGFiaWxpdHkgYWxhcm1zXG4gICAqL1xuICByZWFkb25seSBkYXRhcG9pbnRzVG9BbGFybTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdGhyZXNob2xkIGZvciBhbGFybXMgYXNzb2NpYXRlZCB3aXRoIHN1Y2Nlc3MgbWV0cmljcywgZm9yIGV4YW1wbGUgaWYgbWVhc3VyaW5nXG4gICAqIHN1Y2Nlc3MgcmF0ZSwgdGhlIHRocmVzaG9sZCBtYXkgYmUgOTksIG1lYW5pbmcgeW91IHdvdWxkIHdhbnQgYW4gYWxhcm0gdGhhdCB0cmlnZ2Vyc1xuICAgKiBpZiBzdWNjZXNzIGRyb3BzIGJlbG93IDk5JS5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NBbGFybVRocmVzaG9sZDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdGhyZXNob2xkIGZvciBhbGFybXMgYXNzb2NpYXRlZCB3aXRoIGZhdWx0IG1ldHJpY3MsIGZvciBleGFtcGxlIGlmIG1lYXN1cmluZ1xuICAgKiBmYXVsdCByYXRlLCB0aGUgdGhyZXNob2xkIG1heSBiZSAxLCBtZWFuaW5nIHlvdSB3b3VsZCB3YW50IGFuIGFsYXJtIHRoYXQgdHJpZ2dlcnNcbiAgICogaWYgdGhlIGZhdWx0IHJhdGUgZ29lcyBhYm92ZSAxJS5cbiAgICovXG4gIHJlYWRvbmx5IGZhdWx0QWxhcm1UaHJlc2hvbGQ6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Duration } from 'aws-cdk-lib';
|
|
2
|
+
import { ILoadBalancerV2 } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
|
|
3
|
+
import { AddCanaryTestProps } from '../../canaries/props/AddCanaryTestProps';
|
|
4
|
+
import { IContributorInsightRuleDetails } from '../IContributorInsightRuleDetails';
|
|
5
|
+
import { IServiceMetricDetails } from '../IServiceMetricDetails';
|
|
6
|
+
/**
|
|
7
|
+
* Properties to initialize a service
|
|
8
|
+
*/
|
|
9
|
+
export interface ServiceProps {
|
|
10
|
+
/**
|
|
11
|
+
* The name of your service
|
|
12
|
+
*/
|
|
13
|
+
readonly serviceName: string;
|
|
14
|
+
/**
|
|
15
|
+
* The base endpoint for this service, like "https://www.example.com". Operation
|
|
16
|
+
* paths will be appended to this endpoint for canary testing the service.
|
|
17
|
+
*/
|
|
18
|
+
readonly baseUrl: string;
|
|
19
|
+
/**
|
|
20
|
+
* The fault count threshold that indicates the service is unhealthy. This is an absolute value of faults
|
|
21
|
+
* being produced by all critical operations in aggregate.
|
|
22
|
+
*/
|
|
23
|
+
readonly faultCountThreshold: number;
|
|
24
|
+
/**
|
|
25
|
+
* A list of the Availability Zone names used by this application
|
|
26
|
+
*/
|
|
27
|
+
readonly availabilityZoneNames: string[];
|
|
28
|
+
/**
|
|
29
|
+
* The period for which metrics for the service should be aggregated
|
|
30
|
+
*/
|
|
31
|
+
readonly period: Duration;
|
|
32
|
+
/**
|
|
33
|
+
* The load balancer this service sits behind
|
|
34
|
+
*
|
|
35
|
+
* @default - Load balancer metrics won't be shown on dashboards
|
|
36
|
+
* and its ARN won't be included in top level alarm descriptions
|
|
37
|
+
* that automation can use to implement a zonal shift.
|
|
38
|
+
*/
|
|
39
|
+
readonly loadBalancer?: ILoadBalancerV2;
|
|
40
|
+
/**
|
|
41
|
+
* Define these settings if you want to automatically add canary
|
|
42
|
+
* tests to your operations. Operations can individually opt out
|
|
43
|
+
* of canary test creation if you define this setting.
|
|
44
|
+
*
|
|
45
|
+
* @default - Automatic canary tests will not be created for
|
|
46
|
+
* operations in this service.
|
|
47
|
+
*/
|
|
48
|
+
readonly canaryTestProps?: AddCanaryTestProps;
|
|
49
|
+
/**
|
|
50
|
+
* The default settings that are used for availability metrics
|
|
51
|
+
* for all operations unless specifically overridden in an
|
|
52
|
+
* operation definition.
|
|
53
|
+
*/
|
|
54
|
+
readonly defaultAvailabilityMetricDetails: IServiceMetricDetails;
|
|
55
|
+
/**
|
|
56
|
+
* The default settings that are used for availability metrics
|
|
57
|
+
* for all operations unless specifically overridden in an
|
|
58
|
+
* operation definition.
|
|
59
|
+
*/
|
|
60
|
+
readonly defaultLatencyMetricDetails: IServiceMetricDetails;
|
|
61
|
+
/**
|
|
62
|
+
* The default settings that are used for contributor insight
|
|
63
|
+
* rules.
|
|
64
|
+
*
|
|
65
|
+
* @default - No defaults are provided and must be specified per operation
|
|
66
|
+
* if the operation has logs that can be queried by contributor insights
|
|
67
|
+
*/
|
|
68
|
+
readonly defaultContributorInsightRuleDetails?: IContributorInsightRuleDetails;
|
|
69
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZVByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3Byb3BzL1NlcnZpY2VQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBJTG9hZEJhbGFuY2VyVjIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mic7XG5pbXBvcnQgeyBBZGRDYW5hcnlUZXN0UHJvcHMgfSBmcm9tICcuLi8uLi9jYW5hcmllcy9wcm9wcy9BZGRDYW5hcnlUZXN0UHJvcHMnO1xuaW1wb3J0IHsgSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzIH0gZnJvbSAnLi4vSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmltcG9ydCB7IElTZXJ2aWNlTWV0cmljRGV0YWlscyB9IGZyb20gJy4uL0lTZXJ2aWNlTWV0cmljRGV0YWlscyc7XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBpbml0aWFsaXplIGEgc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB5b3VyIHNlcnZpY2VcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGVuZHBvaW50IGZvciB0aGlzIHNlcnZpY2UsIGxpa2UgXCJodHRwczovL3d3dy5leGFtcGxlLmNvbVwiLiBPcGVyYXRpb25cbiAgICogcGF0aHMgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGlzIGVuZHBvaW50IGZvciBjYW5hcnkgdGVzdGluZyB0aGUgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZhdWx0IGNvdW50IHRocmVzaG9sZCB0aGF0IGluZGljYXRlcyB0aGUgc2VydmljZSBpcyB1bmhlYWx0aHkuIFRoaXMgaXMgYW4gYWJzb2x1dGUgdmFsdWUgb2YgZmF1bHRzXG4gICAqIGJlaW5nIHByb2R1Y2VkIGJ5IGFsbCBjcml0aWNhbCBvcGVyYXRpb25zIGluIGFnZ3JlZ2F0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGZhdWx0Q291bnRUaHJlc2hvbGQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSBuYW1lcyB1c2VkIGJ5IHRoaXMgYXBwbGljYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVOYW1lczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJpb2QgZm9yIHdoaWNoIG1ldHJpY3MgZm9yIHRoZSBzZXJ2aWNlIHNob3VsZCBiZSBhZ2dyZWdhdGVkXG4gICAqL1xuICByZWFkb25seSBwZXJpb2Q6IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9hZCBiYWxhbmNlciB0aGlzIHNlcnZpY2Ugc2l0cyBiZWhpbmRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBMb2FkIGJhbGFuY2VyIG1ldHJpY3Mgd29uJ3QgYmUgc2hvd24gb24gZGFzaGJvYXJkc1xuICAgKiBhbmQgaXRzIEFSTiB3b24ndCBiZSBpbmNsdWRlZCBpbiB0b3AgbGV2ZWwgYWxhcm0gZGVzY3JpcHRpb25zXG4gICAqIHRoYXQgYXV0b21hdGlvbiBjYW4gdXNlIHRvIGltcGxlbWVudCBhIHpvbmFsIHNoaWZ0LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyPzogSUxvYWRCYWxhbmNlclYyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlc2Ugc2V0dGluZ3MgaWYgeW91IHdhbnQgdG8gYXV0b21hdGljYWxseSBhZGQgY2FuYXJ5XG4gICAqIHRlc3RzIHRvIHlvdXIgb3BlcmF0aW9ucy4gT3BlcmF0aW9ucyBjYW4gaW5kaXZpZHVhbGx5IG9wdCBvdXRcbiAgICogb2YgY2FuYXJ5IHRlc3QgY3JlYXRpb24gaWYgeW91IGRlZmluZSB0aGlzIHNldHRpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXV0b21hdGljIGNhbmFyeSB0ZXN0cyB3aWxsIG5vdCBiZSBjcmVhdGVkIGZvclxuICAgKiBvcGVyYXRpb25zIGluIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGNhbmFyeVRlc3RQcm9wcz86IEFkZENhbmFyeVRlc3RQcm9wcztcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhhdCBhcmUgdXNlZCBmb3IgYXZhaWxhYmlsaXR5IG1ldHJpY3NcbiAgICogZm9yIGFsbCBvcGVyYXRpb25zIHVubGVzcyBzcGVjaWZpY2FsbHkgb3ZlcnJpZGRlbiBpbiBhblxuICAgKiBvcGVyYXRpb24gZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzOiBJU2VydmljZU1ldHJpY0RldGFpbHM7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHNldHRpbmdzIHRoYXQgYXJlIHVzZWQgZm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzXG4gICAqIGZvciBhbGwgb3BlcmF0aW9ucyB1bmxlc3Mgc3BlY2lmaWNhbGx5IG92ZXJyaWRkZW4gaW4gYW5cbiAgICogb3BlcmF0aW9uIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0TGF0ZW5jeU1ldHJpY0RldGFpbHM6IElTZXJ2aWNlTWV0cmljRGV0YWlscztcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhhdCBhcmUgdXNlZCBmb3IgY29udHJpYnV0b3IgaW5zaWdodFxuICAgKiBydWxlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBkZWZhdWx0cyBhcmUgcHJvdmlkZWQgYW5kIG11c3QgYmUgc3BlY2lmaWVkIHBlciBvcGVyYXRpb25cbiAgICogaWYgdGhlIG9wZXJhdGlvbiBoYXMgbG9ncyB0aGF0IGNhbiBiZSBxdWVyaWVkIGJ5IGNvbnRyaWJ1dG9yIGluc2lnaHRzXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0Q29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHM/OiBJQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHM7XG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Different availability metric types
|
|
3
|
+
*/
|
|
4
|
+
export declare enum AvailabilityMetricType {
|
|
5
|
+
/**
|
|
6
|
+
* The success rate, i.e. (successful responses) / (successful + fault responses) * 100
|
|
7
|
+
*/
|
|
8
|
+
SUCCESS_RATE = "Success_Rate",
|
|
9
|
+
/**
|
|
10
|
+
* The number of success responses as an absolute value
|
|
11
|
+
*/
|
|
12
|
+
SUCCESS_COUNT = "Success_Count",
|
|
13
|
+
/**
|
|
14
|
+
* The fault rate, i.e. (fault responses) / (successful + fault responses) * 100
|
|
15
|
+
*/
|
|
16
|
+
FAULT_RATE = "Fault_Rate",
|
|
17
|
+
/**
|
|
18
|
+
* The number of fault responses as an absolute value
|
|
19
|
+
*/
|
|
20
|
+
FAULT_COUNT = "Fault_Count",
|
|
21
|
+
/**
|
|
22
|
+
* The number of requests received that resulted in either a fault or success. This
|
|
23
|
+
* does not include "error" responses that would be equivalent to 4xx responses.
|
|
24
|
+
*/
|
|
25
|
+
REQUEST_COUNT = "Request_Count"
|
|
26
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.AvailabilityMetricType = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* Different availability metric types
|
|
8
|
+
*/
|
|
9
|
+
var AvailabilityMetricType;
|
|
10
|
+
(function (AvailabilityMetricType) {
|
|
11
|
+
/**
|
|
12
|
+
* The success rate, i.e. (successful responses) / (successful + fault responses) * 100
|
|
13
|
+
*/
|
|
14
|
+
AvailabilityMetricType["SUCCESS_RATE"] = "Success_Rate";
|
|
15
|
+
/**
|
|
16
|
+
* The number of success responses as an absolute value
|
|
17
|
+
*/
|
|
18
|
+
AvailabilityMetricType["SUCCESS_COUNT"] = "Success_Count";
|
|
19
|
+
/**
|
|
20
|
+
* The fault rate, i.e. (fault responses) / (successful + fault responses) * 100
|
|
21
|
+
*/
|
|
22
|
+
AvailabilityMetricType["FAULT_RATE"] = "Fault_Rate";
|
|
23
|
+
/**
|
|
24
|
+
* The number of fault responses as an absolute value
|
|
25
|
+
*/
|
|
26
|
+
AvailabilityMetricType["FAULT_COUNT"] = "Fault_Count";
|
|
27
|
+
/**
|
|
28
|
+
* The number of requests received that resulted in either a fault or success. This
|
|
29
|
+
* does not include "error" responses that would be equivalent to 4xx responses.
|
|
30
|
+
*/
|
|
31
|
+
AvailabilityMetricType["REQUEST_COUNT"] = "Request_Count";
|
|
32
|
+
})(AvailabilityMetricType || (exports.AvailabilityMetricType = AvailabilityMetricType = {}));
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXZhaWxhYmlsaXR5TWV0cmljVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvQXZhaWxhYmlsaXR5TWV0cmljVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQzs7O0FBRXRDOztHQUVHO0FBQ0gsSUFBWSxzQkEwQlg7QUExQkQsV0FBWSxzQkFBc0I7SUFDaEM7O09BRUc7SUFDSCx1REFBNkIsQ0FBQTtJQUU3Qjs7T0FFRztJQUNILHlEQUErQixDQUFBO0lBRS9COztPQUVHO0lBQ0gsbURBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCxxREFBMkIsQ0FBQTtJQUUzQjs7O09BR0c7SUFDSCx5REFBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBMUJXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBMEJqQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBEaWZmZXJlbnQgYXZhaWxhYmlsaXR5IG1ldHJpYyB0eXBlc1xuICovXG5leHBvcnQgZW51bSBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlIHtcbiAgLyoqXG4gICAqIFRoZSBzdWNjZXNzIHJhdGUsIGkuZS4gKHN1Y2Nlc3NmdWwgcmVzcG9uc2VzKSAvIChzdWNjZXNzZnVsICsgZmF1bHQgcmVzcG9uc2VzKSAqIDEwMFxuICAgKi9cbiAgU1VDQ0VTU19SQVRFID0gJ1N1Y2Nlc3NfUmF0ZScsXG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc3VjY2VzcyByZXNwb25zZXMgYXMgYW4gYWJzb2x1dGUgdmFsdWVcbiAgICovXG4gIFNVQ0NFU1NfQ09VTlQgPSAnU3VjY2Vzc19Db3VudCcsXG5cbiAgLyoqXG4gICAqIFRoZSBmYXVsdCByYXRlLCBpLmUuIChmYXVsdCByZXNwb25zZXMpIC8gKHN1Y2Nlc3NmdWwgKyBmYXVsdCByZXNwb25zZXMpICogMTAwXG4gICAqL1xuICBGQVVMVF9SQVRFID0gJ0ZhdWx0X1JhdGUnLFxuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZhdWx0IHJlc3BvbnNlcyBhcyBhbiBhYnNvbHV0ZSB2YWx1ZVxuICAgKi9cbiAgRkFVTFRfQ09VTlQgPSAnRmF1bHRfQ291bnQnLFxuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHJlcXVlc3RzIHJlY2VpdmVkIHRoYXQgcmVzdWx0ZWQgaW4gZWl0aGVyIGEgZmF1bHQgb3Igc3VjY2Vzcy4gVGhpc1xuICAgKiBkb2VzIG5vdCBpbmNsdWRlIFwiZXJyb3JcIiByZXNwb25zZXMgdGhhdCB3b3VsZCBiZSBlcXVpdmFsZW50IHRvIDR4eCByZXNwb25zZXMuXG4gICAqL1xuICBSRVFVRVNUX0NPVU5UID0gJ1JlcXVlc3RfQ291bnQnLFxufVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.LatencyMetricType = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* The type of latency metric
|
|
8
|
+
*/
|
|
9
|
+
var LatencyMetricType;
|
|
10
|
+
(function (LatencyMetricType) {
|
|
11
|
+
/**
|
|
12
|
+
* Successful response latency
|
|
13
|
+
*/
|
|
14
|
+
LatencyMetricType["SUCCESS_LATENCY"] = "Success_Latency";
|
|
15
|
+
/**
|
|
16
|
+
* Fault response latency
|
|
17
|
+
*/
|
|
18
|
+
LatencyMetricType["FAULT_LATENCY"] = "Fault_Latency";
|
|
19
|
+
})(LatencyMetricType || (exports.LatencyMetricType = LatencyMetricType = {}));
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF0ZW5jeU1ldHJpY1R5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbGl0aWVzL0xhdGVuY3lNZXRyaWNUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDOzs7QUFFdEM7O0dBRUc7QUFDSCxJQUFZLGlCQVVYO0FBVkQsV0FBWSxpQkFBaUI7SUFDM0I7O09BRUc7SUFDSCx3REFBbUMsQ0FBQTtJQUVuQzs7T0FFRztJQUNILG9EQUErQixDQUFBO0FBQ2pDLENBQUMsRUFWVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQVU1QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBUaGUgdHlwZSBvZiBsYXRlbmN5IG1ldHJpY1xuICovXG5leHBvcnQgZW51bSBMYXRlbmN5TWV0cmljVHlwZSB7XG4gIC8qKlxuICAgKiBTdWNjZXNzZnVsIHJlc3BvbnNlIGxhdGVuY3lcbiAgICovXG4gIFNVQ0NFU1NfTEFURU5DWSA9ICdTdWNjZXNzX0xhdGVuY3knLFxuXG4gIC8qKlxuICAgKiBGYXVsdCByZXNwb25zZSBsYXRlbmN5XG4gICAqL1xuICBGQVVMVF9MQVRFTkNZID0gJ0ZhdWx0X0xhdGVuY3knLFxufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Available algorithms for performing outlier detection
|
|
3
|
+
*/
|
|
4
|
+
export declare enum OutlierDetectionAlgorithm {
|
|
5
|
+
/**
|
|
6
|
+
* Defines using a static value to compare skew in faults or
|
|
7
|
+
* high latency responses.
|
|
8
|
+
*
|
|
9
|
+
* A good default threshold for this is .7 meaning one AZ
|
|
10
|
+
* is responsible for 70% of the total errors or high latency responses
|
|
11
|
+
*/
|
|
12
|
+
STATIC = "STATIC",
|
|
13
|
+
/**
|
|
14
|
+
* Uses the chi squared statistic to determine if there is a statistically
|
|
15
|
+
* significant skew in fault rate or high latency distribution
|
|
16
|
+
*
|
|
17
|
+
* A normal default threshold for this is 0.05, which means there is a 5% or
|
|
18
|
+
* less chance of the skew in errors or high latency responses occuring
|
|
19
|
+
*/
|
|
20
|
+
CHI_SQUARED = "CHI_SQUARED",
|
|
21
|
+
/**
|
|
22
|
+
* Uses z-score to determine if the skew in faults or high latency respones
|
|
23
|
+
* exceeds a defined number of standard devations
|
|
24
|
+
*
|
|
25
|
+
* A good default threshold value for this is 2, meaning the outlier value is outside
|
|
26
|
+
* 95% of the normal distribution. Using 3 means the outlier is outside 99.7% of
|
|
27
|
+
* the normal distribution.
|
|
28
|
+
*/
|
|
29
|
+
Z_SCORE = "Z_SCORE",
|
|
30
|
+
/**
|
|
31
|
+
* Uses Interquartile Range Method to determine an outlier for faults or latency
|
|
32
|
+
*
|
|
33
|
+
* No threshold is required for this method and will be ignored
|
|
34
|
+
*/
|
|
35
|
+
IQR = "IQR",
|
|
36
|
+
/**
|
|
37
|
+
* Median Absolute Deviation (MAD) to determine an outlier for faults or latency
|
|
38
|
+
*
|
|
39
|
+
* A common default value threshold 3
|
|
40
|
+
*/
|
|
41
|
+
MAD = "MAD"
|
|
42
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.OutlierDetectionAlgorithm = void 0;
|
|
6
|
+
/**
|
|
7
|
+
* Available algorithms for performing outlier detection
|
|
8
|
+
*/
|
|
9
|
+
var OutlierDetectionAlgorithm;
|
|
10
|
+
(function (OutlierDetectionAlgorithm) {
|
|
11
|
+
/**
|
|
12
|
+
* Defines using a static value to compare skew in faults or
|
|
13
|
+
* high latency responses.
|
|
14
|
+
*
|
|
15
|
+
* A good default threshold for this is .7 meaning one AZ
|
|
16
|
+
* is responsible for 70% of the total errors or high latency responses
|
|
17
|
+
*/
|
|
18
|
+
OutlierDetectionAlgorithm["STATIC"] = "STATIC";
|
|
19
|
+
/**
|
|
20
|
+
* Uses the chi squared statistic to determine if there is a statistically
|
|
21
|
+
* significant skew in fault rate or high latency distribution
|
|
22
|
+
*
|
|
23
|
+
* A normal default threshold for this is 0.05, which means there is a 5% or
|
|
24
|
+
* less chance of the skew in errors or high latency responses occuring
|
|
25
|
+
*/
|
|
26
|
+
OutlierDetectionAlgorithm["CHI_SQUARED"] = "CHI_SQUARED";
|
|
27
|
+
/**
|
|
28
|
+
* Uses z-score to determine if the skew in faults or high latency respones
|
|
29
|
+
* exceeds a defined number of standard devations
|
|
30
|
+
*
|
|
31
|
+
* A good default threshold value for this is 2, meaning the outlier value is outside
|
|
32
|
+
* 95% of the normal distribution. Using 3 means the outlier is outside 99.7% of
|
|
33
|
+
* the normal distribution.
|
|
34
|
+
*/
|
|
35
|
+
OutlierDetectionAlgorithm["Z_SCORE"] = "Z_SCORE";
|
|
36
|
+
/**
|
|
37
|
+
* Uses Interquartile Range Method to determine an outlier for faults or latency
|
|
38
|
+
*
|
|
39
|
+
* No threshold is required for this method and will be ignored
|
|
40
|
+
*/
|
|
41
|
+
OutlierDetectionAlgorithm["IQR"] = "IQR";
|
|
42
|
+
/**
|
|
43
|
+
* Median Absolute Deviation (MAD) to determine an outlier for faults or latency
|
|
44
|
+
*
|
|
45
|
+
* A common default value threshold 3
|
|
46
|
+
*/
|
|
47
|
+
OutlierDetectionAlgorithm["MAD"] = "MAD";
|
|
48
|
+
})(OutlierDetectionAlgorithm || (exports.OutlierDetectionAlgorithm = OutlierDetectionAlgorithm = {}));
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3V0bGllckRldGVjdGlvbkFsZ29yaXRobS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvT3V0bGllckRldGVjdGlvbkFsZ29yaXRobS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQzs7O0FBRXRDOztHQUVHO0FBQ0gsSUFBWSx5QkEwQ1g7QUExQ0QsV0FBWSx5QkFBeUI7SUFDbkM7Ozs7OztPQU1HO0lBQ0gsOENBQWlCLENBQUE7SUFFakI7Ozs7OztPQU1HO0lBQ0gsd0RBQTJCLENBQUE7SUFFM0I7Ozs7Ozs7T0FPRztJQUNILGdEQUFtQixDQUFBO0lBRW5COzs7O09BSUc7SUFDSCx3Q0FBVyxDQUFBO0lBRVg7Ozs7T0FJRztJQUNILHdDQUFXLENBQUE7QUFDYixDQUFDLEVBMUNXLHlCQUF5Qix5Q0FBekIseUJBQXlCLFFBMENwQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBBdmFpbGFibGUgYWxnb3JpdGhtcyBmb3IgcGVyZm9ybWluZyBvdXRsaWVyIGRldGVjdGlvblxuICovXG5leHBvcnQgZW51bSBPdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtIHtcbiAgLyoqXG4gICAqIERlZmluZXMgdXNpbmcgYSBzdGF0aWMgdmFsdWUgdG8gY29tcGFyZSBza2V3IGluIGZhdWx0cyBvclxuICAgKiBoaWdoIGxhdGVuY3kgcmVzcG9uc2VzLlxuICAgKlxuICAgKiBBIGdvb2QgZGVmYXVsdCB0aHJlc2hvbGQgZm9yIHRoaXMgaXMgLjcgbWVhbmluZyBvbmUgQVpcbiAgICogaXMgcmVzcG9uc2libGUgZm9yIDcwJSBvZiB0aGUgdG90YWwgZXJyb3JzIG9yIGhpZ2ggbGF0ZW5jeSByZXNwb25zZXNcbiAgICovXG4gIFNUQVRJQyA9ICdTVEFUSUMnLFxuXG4gIC8qKlxuICAgKiBVc2VzIHRoZSBjaGkgc3F1YXJlZCBzdGF0aXN0aWMgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGEgc3RhdGlzdGljYWxseVxuICAgKiBzaWduaWZpY2FudCBza2V3IGluIGZhdWx0IHJhdGUgb3IgaGlnaCBsYXRlbmN5IGRpc3RyaWJ1dGlvblxuICAgKlxuICAgKiBBIG5vcm1hbCBkZWZhdWx0IHRocmVzaG9sZCBmb3IgdGhpcyBpcyAwLjA1LCB3aGljaCBtZWFucyB0aGVyZSBpcyBhIDUlIG9yXG4gICAqIGxlc3MgY2hhbmNlIG9mIHRoZSBza2V3IGluIGVycm9ycyBvciBoaWdoIGxhdGVuY3kgcmVzcG9uc2VzIG9jY3VyaW5nXG4gICAqL1xuICBDSElfU1FVQVJFRCA9ICdDSElfU1FVQVJFRCcsXG5cbiAgLyoqXG4gICAqIFVzZXMgei1zY29yZSB0byBkZXRlcm1pbmUgaWYgdGhlIHNrZXcgaW4gZmF1bHRzIG9yIGhpZ2ggbGF0ZW5jeSByZXNwb25lc1xuICAgKiBleGNlZWRzIGEgZGVmaW5lZCBudW1iZXIgb2Ygc3RhbmRhcmQgZGV2YXRpb25zXG4gICAqXG4gICAqIEEgZ29vZCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZSBmb3IgdGhpcyBpcyAyLCBtZWFuaW5nIHRoZSBvdXRsaWVyIHZhbHVlIGlzIG91dHNpZGVcbiAgICogOTUlIG9mIHRoZSBub3JtYWwgZGlzdHJpYnV0aW9uLiBVc2luZyAzIG1lYW5zIHRoZSBvdXRsaWVyIGlzIG91dHNpZGUgOTkuNyUgb2ZcbiAgICogdGhlIG5vcm1hbCBkaXN0cmlidXRpb24uXG4gICAqL1xuICBaX1NDT1JFID0gJ1pfU0NPUkUnLFxuXG4gIC8qKlxuICAgKiBVc2VzIEludGVycXVhcnRpbGUgUmFuZ2UgTWV0aG9kIHRvIGRldGVybWluZSBhbiBvdXRsaWVyIGZvciBmYXVsdHMgb3IgbGF0ZW5jeVxuICAgKlxuICAgKiBObyB0aHJlc2hvbGQgaXMgcmVxdWlyZWQgZm9yIHRoaXMgbWV0aG9kIGFuZCB3aWxsIGJlIGlnbm9yZWRcbiAgICovXG4gIElRUiA9ICdJUVInLFxuXG4gIC8qKlxuICAgKiBNZWRpYW4gQWJzb2x1dGUgRGV2aWF0aW9uIChNQUQpIHRvIGRldGVybWluZSBhbiBvdXRsaWVyIGZvciBmYXVsdHMgb3IgbGF0ZW5jeVxuICAgKlxuICAgKiBBIGNvbW1vbiBkZWZhdWx0IHZhbHVlIHRocmVzaG9sZCAzXG4gICAqL1xuICBNQUQgPSAnTUFEJyxcbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NestedStack, NestedStackProps } from 'aws-cdk-lib';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
|
+
export interface NestedStackWithDynamicSourceProps extends NestedStackProps {
|
|
4
|
+
assetsBucketsParameterName?: string;
|
|
5
|
+
assetsBucketPrefixParameterName?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* If you are using a dynamic location for assets and pass those as a variable
|
|
9
|
+
* in your top stack, this allows you to continue passing those down
|
|
10
|
+
*/
|
|
11
|
+
export declare class StackWithDynamicSource extends NestedStack {
|
|
12
|
+
private static updateBaseParams;
|
|
13
|
+
constructor(scope: Construct, id: string, props: NestedStackWithDynamicSourceProps);
|
|
14
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StackWithDynamicSource = void 0;
|
|
4
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
|
+
/**
|
|
8
|
+
* If you are using a dynamic location for assets and pass those as a variable
|
|
9
|
+
* in your top stack, this allows you to continue passing those down
|
|
10
|
+
*/
|
|
11
|
+
class StackWithDynamicSource extends aws_cdk_lib_1.NestedStack {
|
|
12
|
+
static updateBaseParams(scope, props) {
|
|
13
|
+
if (props.assetsBucketsParameterName !== undefined) {
|
|
14
|
+
let currentNode = scope;
|
|
15
|
+
while (currentNode !== undefined && !(currentNode instanceof aws_cdk_lib_1.Stack)) {
|
|
16
|
+
currentNode = currentNode.node.scope;
|
|
17
|
+
}
|
|
18
|
+
if (currentNode !== undefined) {
|
|
19
|
+
let assetsBucket = currentNode.node.tryFindChild(props.assetsBucketsParameterName);
|
|
20
|
+
if (assetsBucket !== undefined &&
|
|
21
|
+
assetsBucket instanceof aws_cdk_lib_1.CfnParameter) {
|
|
22
|
+
if (props.parameters === undefined) {
|
|
23
|
+
let tmp = {
|
|
24
|
+
parameters: {},
|
|
25
|
+
timeout: props.timeout,
|
|
26
|
+
notificationArns: props.notificationArns,
|
|
27
|
+
removalPolicy: props.removalPolicy,
|
|
28
|
+
description: props.description,
|
|
29
|
+
};
|
|
30
|
+
if (tmp.parameters !== undefined) {
|
|
31
|
+
tmp.parameters[props.assetsBucketsParameterName] =
|
|
32
|
+
assetsBucket.valueAsString;
|
|
33
|
+
if (props.assetsBucketPrefixParameterName !== undefined) {
|
|
34
|
+
let assetsBucketPrefix = currentNode.node.tryFindChild(props.assetsBucketPrefixParameterName);
|
|
35
|
+
if (assetsBucketPrefix !== undefined &&
|
|
36
|
+
assetsBucketPrefix instanceof aws_cdk_lib_1.CfnParameter) {
|
|
37
|
+
tmp.parameters[props.assetsBucketPrefixParameterName] =
|
|
38
|
+
assetsBucketPrefix.valueAsString;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return tmp;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
props.parameters[props.assetsBucketsParameterName] =
|
|
46
|
+
assetsBucket.valueAsString;
|
|
47
|
+
if (props.assetsBucketPrefixParameterName !== undefined) {
|
|
48
|
+
let assetsBucketPrefix = currentNode.node.tryFindChild(props.assetsBucketPrefixParameterName);
|
|
49
|
+
if (assetsBucketPrefix !== undefined &&
|
|
50
|
+
assetsBucketPrefix instanceof aws_cdk_lib_1.CfnParameter) {
|
|
51
|
+
props.parameters[props.assetsBucketPrefixParameterName] =
|
|
52
|
+
assetsBucketPrefix.valueAsString;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return props;
|
|
60
|
+
}
|
|
61
|
+
constructor(scope, id, props) {
|
|
62
|
+
super(scope, id, StackWithDynamicSource.updateBaseParams(scope, props));
|
|
63
|
+
let currentNode = this;
|
|
64
|
+
while (currentNode !== undefined && !(currentNode instanceof aws_cdk_lib_1.Stack)) {
|
|
65
|
+
currentNode = currentNode.node.scope;
|
|
66
|
+
}
|
|
67
|
+
if (currentNode !== undefined) {
|
|
68
|
+
if (props.assetsBucketsParameterName !== undefined) {
|
|
69
|
+
new aws_cdk_lib_1.CfnParameter(currentNode, props.assetsBucketsParameterName, {
|
|
70
|
+
type: 'String',
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (props.assetsBucketPrefixParameterName !== undefined) {
|
|
74
|
+
new aws_cdk_lib_1.CfnParameter(currentNode, props.assetsBucketPrefixParameterName, {
|
|
75
|
+
type: 'String',
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.StackWithDynamicSource = StackWithDynamicSource;
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tXaXRoRHluYW1pY1NvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvU3RhY2tXaXRoRHluYW1pY1NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDO0FBQ3RDLDZDQUtxQjtBQVFyQjs7O0dBR0c7QUFDSCxNQUFhLHNCQUF1QixTQUFRLHlCQUFXO0lBQzdDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDN0IsS0FBaUIsRUFDakIsS0FBd0M7UUFFeEMsSUFBSSxLQUFLLENBQUMsMEJBQTBCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbkQsSUFBSSxXQUFXLEdBQTJCLEtBQUssQ0FBQztZQUVoRCxPQUFPLFdBQVcsS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLFdBQVcsWUFBWSxtQkFBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEUsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3ZDLENBQUM7WUFFRCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxZQUFZLEdBQ2QsV0FDRCxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7Z0JBRXRELElBQ0UsWUFBWSxLQUFLLFNBQVM7b0JBQzFCLFlBQVksWUFBWSwwQkFBWSxFQUNwQyxDQUFDO29CQUNELElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDbkMsSUFBSSxHQUFHLEdBQXFCOzRCQUMxQixVQUFVLEVBQUUsRUFBRTs0QkFDZCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87NEJBQ3RCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7NEJBQ3hDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTs0QkFDbEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO3lCQUMvQixDQUFDO3dCQUVGLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQzs0QkFDakMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUM7Z0NBQzlDLFlBQVksQ0FBQyxhQUFhLENBQUM7NEJBRTdCLElBQUksS0FBSyxDQUFDLCtCQUErQixLQUFLLFNBQVMsRUFBRSxDQUFDO2dDQUN4RCxJQUFJLGtCQUFrQixHQUNwQixXQUNELENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztnQ0FDM0QsSUFDRSxrQkFBa0IsS0FBSyxTQUFTO29DQUNoQyxrQkFBa0IsWUFBWSwwQkFBWSxFQUMxQyxDQUFDO29DQUNELEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDO3dDQUNuRCxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7Z0NBQ3JDLENBQUM7NEJBQ0gsQ0FBQzt3QkFDSCxDQUFDO3dCQUVELE9BQU8sR0FBRyxDQUFDO29CQUNiLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQzs0QkFDaEQsWUFBWSxDQUFDLGFBQWEsQ0FBQzt3QkFFN0IsSUFBSSxLQUFLLENBQUMsK0JBQStCLEtBQUssU0FBUyxFQUFFLENBQUM7NEJBQ3hELElBQUksa0JBQWtCLEdBQ3BCLFdBQ0QsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDOzRCQUUzRCxJQUNFLGtCQUFrQixLQUFLLFNBQVM7Z0NBQ2hDLGtCQUFrQixZQUFZLDBCQUFZLEVBQzFDLENBQUM7Z0NBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUM7b0NBQ3JELGtCQUFrQixDQUFDLGFBQWEsQ0FBQzs0QkFDckMsQ0FBQzt3QkFDSCxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxLQUF5QixDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUF3QztRQUV4QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV4RSxJQUFJLFdBQVcsR0FBMkIsSUFBSSxDQUFDO1FBRS9DLE9BQU8sV0FBVyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsV0FBVyxZQUFZLG1CQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BFLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN2QyxDQUFDO1FBRUQsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxLQUFLLENBQUMsMEJBQTBCLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ25ELElBQUksMEJBQVksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLDBCQUEwQixFQUFFO29CQUM5RCxJQUFJLEVBQUUsUUFBUTtpQkFDZixDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxLQUFLLENBQUMsK0JBQStCLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3hELElBQUksMEJBQVksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLCtCQUErQixFQUFFO29CQUNuRSxJQUFJLEVBQUUsUUFBUTtpQkFDZixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXJHRCx3REFxR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQge1xuICBDZm5QYXJhbWV0ZXIsXG4gIE5lc3RlZFN0YWNrLFxuICBOZXN0ZWRTdGFja1Byb3BzLFxuICBTdGFjayxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmVzdGVkU3RhY2tXaXRoRHluYW1pY1NvdXJjZVByb3BzIGV4dGVuZHMgTmVzdGVkU3RhY2tQcm9wcyB7XG4gIGFzc2V0c0J1Y2tldHNQYXJhbWV0ZXJOYW1lPzogc3RyaW5nO1xuICBhc3NldHNCdWNrZXRQcmVmaXhQYXJhbWV0ZXJOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIElmIHlvdSBhcmUgdXNpbmcgYSBkeW5hbWljIGxvY2F0aW9uIGZvciBhc3NldHMgYW5kIHBhc3MgdGhvc2UgYXMgYSB2YXJpYWJsZVxuICogaW4geW91ciB0b3Agc3RhY2ssIHRoaXMgYWxsb3dzIHlvdSB0byBjb250aW51ZSBwYXNzaW5nIHRob3NlIGRvd25cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWNrV2l0aER5bmFtaWNTb3VyY2UgZXh0ZW5kcyBOZXN0ZWRTdGFjayB7XG4gIHByaXZhdGUgc3RhdGljIHVwZGF0ZUJhc2VQYXJhbXMoXG4gICAgc2NvcGU6IElDb25zdHJ1Y3QsXG4gICAgcHJvcHM6IE5lc3RlZFN0YWNrV2l0aER5bmFtaWNTb3VyY2VQcm9wcyxcbiAgKTogTmVzdGVkU3RhY2tQcm9wcyB7XG4gICAgaWYgKHByb3BzLmFzc2V0c0J1Y2tldHNQYXJhbWV0ZXJOYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBjdXJyZW50Tm9kZTogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZCA9IHNjb3BlO1xuXG4gICAgICB3aGlsZSAoY3VycmVudE5vZGUgIT09IHVuZGVmaW5lZCAmJiAhKGN1cnJlbnROb2RlIGluc3RhbmNlb2YgU3RhY2spKSB7XG4gICAgICAgIGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUubm9kZS5zY29wZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGN1cnJlbnROb2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGV0IGFzc2V0c0J1Y2tldDogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZCA9IChcbiAgICAgICAgICBjdXJyZW50Tm9kZSBhcyBTdGFja1xuICAgICAgICApLm5vZGUudHJ5RmluZENoaWxkKHByb3BzLmFzc2V0c0J1Y2tldHNQYXJhbWV0ZXJOYW1lKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgYXNzZXRzQnVja2V0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBhc3NldHNCdWNrZXQgaW5zdGFuY2VvZiBDZm5QYXJhbWV0ZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKHByb3BzLnBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgbGV0IHRtcDogTmVzdGVkU3RhY2tQcm9wcyA9IHtcbiAgICAgICAgICAgICAgcGFyYW1ldGVyczoge30sXG4gICAgICAgICAgICAgIHRpbWVvdXQ6IHByb3BzLnRpbWVvdXQsXG4gICAgICAgICAgICAgIG5vdGlmaWNhdGlvbkFybnM6IHByb3BzLm5vdGlmaWNhdGlvbkFybnMsXG4gICAgICAgICAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLnJlbW92YWxQb2xpY3ksXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmICh0bXAucGFyYW1ldGVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHRtcC5wYXJhbWV0ZXJzW3Byb3BzLmFzc2V0c0J1Y2tldHNQYXJhbWV0ZXJOYW1lXSA9XG4gICAgICAgICAgICAgICAgYXNzZXRzQnVja2V0LnZhbHVlQXNTdHJpbmc7XG5cbiAgICAgICAgICAgICAgaWYgKHByb3BzLmFzc2V0c0J1Y2tldFByZWZpeFBhcmFtZXRlck5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGxldCBhc3NldHNCdWNrZXRQcmVmaXg6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSAoXG4gICAgICAgICAgICAgICAgICBjdXJyZW50Tm9kZSBhcyBTdGFja1xuICAgICAgICAgICAgICAgICkubm9kZS50cnlGaW5kQ2hpbGQocHJvcHMuYXNzZXRzQnVja2V0UHJlZml4UGFyYW1ldGVyTmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgYXNzZXRzQnVja2V0UHJlZml4ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgIGFzc2V0c0J1Y2tldFByZWZpeCBpbnN0YW5jZW9mIENmblBhcmFtZXRlclxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgdG1wLnBhcmFtZXRlcnNbcHJvcHMuYXNzZXRzQnVja2V0UHJlZml4UGFyYW1ldGVyTmFtZV0gPVxuICAgICAgICAgICAgICAgICAgICBhc3NldHNCdWNrZXRQcmVmaXgudmFsdWVBc1N0cmluZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRtcDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJvcHMucGFyYW1ldGVyc1twcm9wcy5hc3NldHNCdWNrZXRzUGFyYW1ldGVyTmFtZV0gPVxuICAgICAgICAgICAgICBhc3NldHNCdWNrZXQudmFsdWVBc1N0cmluZztcblxuICAgICAgICAgICAgaWYgKHByb3BzLmFzc2V0c0J1Y2tldFByZWZpeFBhcmFtZXRlck5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBsZXQgYXNzZXRzQnVja2V0UHJlZml4OiBJQ29uc3RydWN0IHwgdW5kZWZpbmVkID0gKFxuICAgICAgICAgICAgICAgIGN1cnJlbnROb2RlIGFzIFN0YWNrXG4gICAgICAgICAgICAgICkubm9kZS50cnlGaW5kQ2hpbGQocHJvcHMuYXNzZXRzQnVja2V0UHJlZml4UGFyYW1ldGVyTmFtZSk7XG5cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGFzc2V0c0J1Y2tldFByZWZpeCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgYXNzZXRzQnVja2V0UHJlZml4IGluc3RhbmNlb2YgQ2ZuUGFyYW1ldGVyXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHByb3BzLnBhcmFtZXRlcnNbcHJvcHMuYXNzZXRzQnVja2V0UHJlZml4UGFyYW1ldGVyTmFtZV0gPVxuICAgICAgICAgICAgICAgICAgYXNzZXRzQnVja2V0UHJlZml4LnZhbHVlQXNTdHJpbmc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcHMgYXMgTmVzdGVkU3RhY2tQcm9wcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogTmVzdGVkU3RhY2tXaXRoRHluYW1pY1NvdXJjZVByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIFN0YWNrV2l0aER5bmFtaWNTb3VyY2UudXBkYXRlQmFzZVBhcmFtcyhzY29wZSwgcHJvcHMpKTtcblxuICAgIGxldCBjdXJyZW50Tm9kZTogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZCA9IHRoaXM7XG5cbiAgICB3aGlsZSAoY3VycmVudE5vZGUgIT09IHVuZGVmaW5lZCAmJiAhKGN1cnJlbnROb2RlIGluc3RhbmNlb2YgU3RhY2spKSB7XG4gICAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLm5vZGUuc2NvcGU7XG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnROb2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChwcm9wcy5hc3NldHNCdWNrZXRzUGFyYW1ldGVyTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5ldyBDZm5QYXJhbWV0ZXIoY3VycmVudE5vZGUsIHByb3BzLmFzc2V0c0J1Y2tldHNQYXJhbWV0ZXJOYW1lLCB7XG4gICAgICAgICAgdHlwZTogJ1N0cmluZycsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMuYXNzZXRzQnVja2V0UHJlZml4UGFyYW1ldGVyTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5ldyBDZm5QYXJhbWV0ZXIoY3VycmVudE5vZGUsIHByb3BzLmFzc2V0c0J1Y2tldFByZWZpeFBhcmFtZXRlck5hbWUsIHtcbiAgICAgICAgICB0eXBlOiAnU3RyaW5nJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/package.json
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cdklabs/multi-az-observability",
|
|
3
|
+
"description": "A CDK construct for implementing multi-AZ observability to detect single AZ impairments",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "https://github.com/cdklabs/cdk-multi-az-observability/"
|
|
7
|
+
},
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "npx projen build",
|
|
10
|
+
"build-assets": "npx projen build-assets",
|
|
11
|
+
"build-canary-function": "npx projen build-canary-function",
|
|
12
|
+
"build-monitoring-layer": "npx projen build-monitoring-layer",
|
|
13
|
+
"build-outlier-detection-function": "npx projen build-outlier-detection-function",
|
|
14
|
+
"build-scipy-layer": "npx projen build-scipy-layer",
|
|
15
|
+
"bump": "npx projen bump",
|
|
16
|
+
"clobber": "npx projen clobber",
|
|
17
|
+
"compat": "npx projen compat",
|
|
18
|
+
"compile": "npx projen compile",
|
|
19
|
+
"default": "npx projen default",
|
|
20
|
+
"docgen": "npx projen docgen",
|
|
21
|
+
"eject": "npx projen eject",
|
|
22
|
+
"integ": "npx projen integ",
|
|
23
|
+
"integ:update": "npx projen integ:update",
|
|
24
|
+
"package": "npx projen package",
|
|
25
|
+
"package-all": "npx projen package-all",
|
|
26
|
+
"package:dotnet": "npx projen package:dotnet",
|
|
27
|
+
"package:go": "npx projen package:go",
|
|
28
|
+
"package:java": "npx projen package:java",
|
|
29
|
+
"package:js": "npx projen package:js",
|
|
30
|
+
"package:python": "npx projen package:python",
|
|
31
|
+
"post-compile": "npx projen post-compile",
|
|
32
|
+
"post-upgrade": "npx projen post-upgrade",
|
|
33
|
+
"pre-compile": "npx projen pre-compile",
|
|
34
|
+
"release": "npx projen release",
|
|
35
|
+
"rosetta:extract": "npx projen rosetta:extract",
|
|
36
|
+
"test": "npx projen test",
|
|
37
|
+
"test:watch": "npx projen test:watch",
|
|
38
|
+
"unbump": "npx projen unbump",
|
|
39
|
+
"upgrade": "npx projen upgrade",
|
|
40
|
+
"upgrade-cdklabs-projen-project-types": "npx projen upgrade-cdklabs-projen-project-types",
|
|
41
|
+
"upgrade-dev-deps": "npx projen upgrade-dev-deps",
|
|
42
|
+
"watch": "npx projen watch",
|
|
43
|
+
"projen": "npx projen"
|
|
44
|
+
},
|
|
45
|
+
"author": {
|
|
46
|
+
"name": "Amazon Web Services",
|
|
47
|
+
"email": "aws-cdk-dev@amazon.com",
|
|
48
|
+
"organization": true
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@aws-cdk/integ-runner": "latest",
|
|
52
|
+
"@aws-cdk/integ-tests-alpha": "latest",
|
|
53
|
+
"@types/jest": "^29.5.14",
|
|
54
|
+
"@types/node": "^18",
|
|
55
|
+
"aws-cdk-lib": "2.173.1",
|
|
56
|
+
"cdk-nag": "^2.34.23",
|
|
57
|
+
"cdklabs-projen-project-types": "^0.1.211",
|
|
58
|
+
"commit-and-tag-version": "^12",
|
|
59
|
+
"constructs": "10.0.5",
|
|
60
|
+
"jest": "^29.7.0",
|
|
61
|
+
"jest-junit": "^15",
|
|
62
|
+
"jsii": "~5.5.0",
|
|
63
|
+
"jsii-diff": "^1.105.0",
|
|
64
|
+
"jsii-docgen": "^10.5.0",
|
|
65
|
+
"jsii-pacmak": "^1.105.0",
|
|
66
|
+
"jsii-rosetta": "~5.5.0",
|
|
67
|
+
"prettier": "^3.3.3",
|
|
68
|
+
"projen": "^0.90.5",
|
|
69
|
+
"ts-jest": "^29.2.5",
|
|
70
|
+
"ts-node": "^10.9.2",
|
|
71
|
+
"typescript": "^5.6.3"
|
|
72
|
+
},
|
|
73
|
+
"peerDependencies": {
|
|
74
|
+
"aws-cdk-lib": "^2.173.1",
|
|
75
|
+
"constructs": "^10.0.5"
|
|
76
|
+
},
|
|
77
|
+
"keywords": [
|
|
78
|
+
"aws-cdk",
|
|
79
|
+
"cdk",
|
|
80
|
+
"cloudwatch",
|
|
81
|
+
"monitoring",
|
|
82
|
+
"multi-az",
|
|
83
|
+
"observability",
|
|
84
|
+
"resilience"
|
|
85
|
+
],
|
|
86
|
+
"engines": {
|
|
87
|
+
"node": ">= 18.12.0"
|
|
88
|
+
},
|
|
89
|
+
"main": "lib/index.js",
|
|
90
|
+
"license": "Apache-2.0",
|
|
91
|
+
"homepage": "https://github.com/cdklabs/cdk-multi-az-observability",
|
|
92
|
+
"publishConfig": {
|
|
93
|
+
"access": "public"
|
|
94
|
+
},
|
|
95
|
+
"version": "0.0.0-alpha.0",
|
|
96
|
+
"jest": {
|
|
97
|
+
"coverageProvider": "v8",
|
|
98
|
+
"roots": [
|
|
99
|
+
"<rootDir>/test"
|
|
100
|
+
],
|
|
101
|
+
"testMatch": [
|
|
102
|
+
"**/*.test.ts",
|
|
103
|
+
"<rootDir>/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
|
|
104
|
+
"<rootDir>/@(src|test)/**/__tests__/**/*.ts?(x)",
|
|
105
|
+
"<rootDir>/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
|
|
106
|
+
"<rootDir>/@(projenrc)/**/__tests__/**/*.ts?(x)"
|
|
107
|
+
],
|
|
108
|
+
"clearMocks": true,
|
|
109
|
+
"collectCoverage": true,
|
|
110
|
+
"coverageReporters": [
|
|
111
|
+
"json",
|
|
112
|
+
"lcov",
|
|
113
|
+
"clover",
|
|
114
|
+
"cobertura",
|
|
115
|
+
"text"
|
|
116
|
+
],
|
|
117
|
+
"coverageDirectory": "coverage",
|
|
118
|
+
"coveragePathIgnorePatterns": [
|
|
119
|
+
"/node_modules/"
|
|
120
|
+
],
|
|
121
|
+
"testPathIgnorePatterns": [
|
|
122
|
+
"/node_modules/"
|
|
123
|
+
],
|
|
124
|
+
"watchPathIgnorePatterns": [
|
|
125
|
+
"/node_modules/"
|
|
126
|
+
],
|
|
127
|
+
"reporters": [
|
|
128
|
+
"default",
|
|
129
|
+
[
|
|
130
|
+
"jest-junit",
|
|
131
|
+
{
|
|
132
|
+
"outputDirectory": "test-reports"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
],
|
|
136
|
+
"transform": {
|
|
137
|
+
"^.+\\.[t]sx?$": [
|
|
138
|
+
"ts-jest",
|
|
139
|
+
{
|
|
140
|
+
"tsconfig": "tsconfig.dev.json"
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"types": "lib/index.d.ts",
|
|
146
|
+
"stability": "experimental",
|
|
147
|
+
"jsii": {
|
|
148
|
+
"outdir": "dist",
|
|
149
|
+
"targets": {
|
|
150
|
+
"java": {
|
|
151
|
+
"package": "io.github.cdklabs.multiazobservability",
|
|
152
|
+
"maven": {
|
|
153
|
+
"groupId": "io.github.cdklabs",
|
|
154
|
+
"artifactId": "cdk-multi-az-observability"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"python": {
|
|
158
|
+
"distName": "cdklabs.multi-az-observability",
|
|
159
|
+
"module": "cdklabs.multi_az_observability"
|
|
160
|
+
},
|
|
161
|
+
"dotnet": {
|
|
162
|
+
"namespace": "Cdklabs.MultiAZObservability",
|
|
163
|
+
"packageId": "Cdklabs.MultiAZObservability"
|
|
164
|
+
},
|
|
165
|
+
"go": {
|
|
166
|
+
"moduleName": "github.com/cdklabs/cdk-multi-az-observability-go",
|
|
167
|
+
"packageName": "multi-az-observability"
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"tsc": {
|
|
171
|
+
"outDir": "lib",
|
|
172
|
+
"rootDir": "src"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
|
176
|
+
}
|