@cdklabs/multi-az-observability 0.0.1-alpha.2 → 0.0.1-alpha.21
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 +372 -115
- package/API.md +292 -74
- package/README.md +21 -14
- package/cdk.json +1 -1
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.d.ts +6 -6
- package/lib/alarmsandrules/AvailabilityAndLatencyAlarmsAndRules.js +31 -28
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.d.ts +0 -4
- package/lib/alarmsandrules/BaseOperationZonalAlarmsAndRules.js +6 -5
- package/lib/alarmsandrules/CanaryOperationZonalAlarmsAndRules.js +8 -6
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.d.ts +0 -4
- package/lib/alarmsandrules/IBaseOperationZonalAlarmsAndRules.js +1 -1
- package/lib/alarmsandrules/OperationAlarmsAndRules.js +10 -12
- package/lib/alarmsandrules/ServerSideOperationZonalAlarmsAndRules.js +14 -12
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.d.ts +2 -2
- package/lib/alarmsandrules/props/BaseOperationZonalAlarmsAndRulesProps.js +1 -1
- package/lib/azmapper/AvailabilityZoneMapper.js +4 -3
- package/lib/basic_observability/BasicServiceDashboard.d.ts +1 -2
- package/lib/basic_observability/BasicServiceDashboard.js +58 -78
- package/lib/basic_observability/BasicServiceMultiAZObservability.d.ts +8 -9
- package/lib/basic_observability/BasicServiceMultiAZObservability.js +100 -312
- package/lib/basic_observability/props/ApplicationLoadBalancerDetectionProps.d.ts +50 -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 +7 -6
- package/lib/canaries/src/canary.zip +0 -0
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.d.ts +3 -6
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +359 -498
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.d.ts +0 -1
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +56 -113
- package/lib/dashboards/props/OperationAvailabilityAndLatencyDashboardProps.d.ts +4 -8
- 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/index.d.ts +5 -0
- package/lib/index.js +8 -2
- package/lib/metrics/ApplicationLoadBalancerMetrics.d.ts +65 -4
- package/lib/metrics/ApplicationLoadBalancerMetrics.js +629 -40
- package/lib/metrics/AvailabilityAndLatencyMetrics.d.ts +23 -0
- package/lib/metrics/AvailabilityAndLatencyMetrics.js +115 -24
- package/lib/metrics/NatGatewayMetrics.d.ts +110 -0
- package/lib/metrics/NatGatewayMetrics.js +300 -0
- 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 +6 -5
- 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.js +1 -1
- package/lib/services/CanaryTestMetricsOverride.js +1 -1
- package/lib/services/ContributorInsightRuleDetails.js +1 -1
- package/lib/services/InstrumentedServiceMultiAZObservability.js +3 -3
- package/lib/services/Operation.js +1 -1
- package/lib/services/OperationMetricDetails.js +1 -1
- package/lib/services/Service.js +1 -1
- package/lib/services/ServiceMetricDetails.js +1 -1
- package/lib/services/props/MetricDimensions.js +1 -1
- package/lib/utilities/MetricsHelper.d.ts +14 -10
- package/lib/utilities/MetricsHelper.js +18 -11
- package/package.json +8 -8
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { IApplicationLoadBalancer } from "aws-cdk-lib/aws-elasticloadbalancingv2";
|
|
2
|
+
import { ApplicationLoadBalancerAvailabilityOutlierAlgorithm } from "../../outlier-detection/ApplicationLoadBalancerAvailabilityOutlierAlgorithm";
|
|
3
|
+
import { ApplicationLoadBalancerLatencyOutlierAlgorithm } from "../../outlier-detection/ApplicationLoadBalancerLatencyOutlierAlgorithm";
|
|
4
|
+
/**
|
|
5
|
+
* The properties for performing zonal impact detection with ALB(s).
|
|
6
|
+
*/
|
|
7
|
+
export interface ApplicationLoadBalancerDetectionProps {
|
|
8
|
+
/**
|
|
9
|
+
* The application load balancers to collect metrics from.
|
|
10
|
+
*/
|
|
11
|
+
readonly applicationLoadBalancers: IApplicationLoadBalancer[];
|
|
12
|
+
/**
|
|
13
|
+
* The percentage of faults for a single ALB to consider an AZ
|
|
14
|
+
* to be unhealthy, a number between 0 and 100. This should align with your availability goal. For example
|
|
15
|
+
* 1% or 5%, provided as 1 or 5.
|
|
16
|
+
*/
|
|
17
|
+
readonly faultCountPercentThreshold: number;
|
|
18
|
+
/**
|
|
19
|
+
* The threshold in milliseconds for ALB targets whose responses are slower than this
|
|
20
|
+
* value at the specified percentile statistic.
|
|
21
|
+
*/
|
|
22
|
+
readonly latencyThreshold: number;
|
|
23
|
+
/**
|
|
24
|
+
* The statistic used to measure target response latency, like p99,
|
|
25
|
+
* which can be specified using Stats.percentile(99) or "p99".
|
|
26
|
+
*/
|
|
27
|
+
readonly latencyStatistic: string;
|
|
28
|
+
/**
|
|
29
|
+
* The method used to determine if an AZ is an outlier for latency for Application Load Balancer metrics.
|
|
30
|
+
* @default Z_SCORE
|
|
31
|
+
*/
|
|
32
|
+
readonly latencyOutlierAlgorithm?: ApplicationLoadBalancerLatencyOutlierAlgorithm;
|
|
33
|
+
/**
|
|
34
|
+
* The method used to determine if an AZ is an outlier for availability for Application Load Balancer metrics.
|
|
35
|
+
* @default STATIC
|
|
36
|
+
*/
|
|
37
|
+
readonly availabilityOutlierAlgorithm?: ApplicationLoadBalancerAvailabilityOutlierAlgorithm;
|
|
38
|
+
/**
|
|
39
|
+
* The threshold for the outlier detection algorithm.
|
|
40
|
+
*
|
|
41
|
+
* @default "This depends on the algorithm used. STATIC: 66"
|
|
42
|
+
*/
|
|
43
|
+
readonly availabilityOutlierThreshold?: number;
|
|
44
|
+
/**
|
|
45
|
+
* The threshold for the outlier detection algorithm.
|
|
46
|
+
*
|
|
47
|
+
* @default "This depends on the algorithm used. STATIC: 66. Z_SCORE: 3."
|
|
48
|
+
*/
|
|
49
|
+
readonly latencyOutlierThreshold?: number;
|
|
50
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJEZXRlY3Rpb25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXNpY19vYnNlcnZhYmlsaXR5L3Byb3BzL0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyRGV0ZWN0aW9uUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2MlwiO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJBdmFpbGFiaWxpdHlPdXRsaWVyQWxnb3JpdGhtIH0gZnJvbSBcIi4uLy4uL291dGxpZXItZGV0ZWN0aW9uL0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyQXZhaWxhYmlsaXR5T3V0bGllckFsZ29yaXRobVwiO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSB9IGZyb20gXCIuLi8uLi9vdXRsaWVyLWRldGVjdGlvbi9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlckxhdGVuY3lPdXRsaWVyQWxnb3JpdGhtXCI7XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgZm9yIHBlcmZvcm1pbmcgem9uYWwgaW1wYWN0IGRldGVjdGlvbiB3aXRoIEFMQihzKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlckRldGVjdGlvblByb3BzIHtcblxuICAvKipcbiAgICogVGhlIGFwcGxpY2F0aW9uIGxvYWQgYmFsYW5jZXJzIHRvIGNvbGxlY3QgbWV0cmljcyBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb25Mb2FkQmFsYW5jZXJzOiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJbXTtcblxuICAvKipcbiAgICogVGhlIHBlcmNlbnRhZ2Ugb2YgZmF1bHRzIGZvciBhIHNpbmdsZSBBTEIgdG8gY29uc2lkZXIgYW4gQVpcbiAgICogdG8gYmUgdW5oZWFsdGh5LCBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwMC4gVGhpcyBzaG91bGQgYWxpZ24gd2l0aCB5b3VyIGF2YWlsYWJpbGl0eSBnb2FsLiBGb3IgZXhhbXBsZVxuICAgKiAxJSBvciA1JSwgcHJvdmlkZWQgYXMgMSBvciA1LlxuICAgKi9cbiAgcmVhZG9ubHkgZmF1bHRDb3VudFBlcmNlbnRUaHJlc2hvbGQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHRocmVzaG9sZCBpbiBtaWxsaXNlY29uZHMgZm9yIEFMQiB0YXJnZXRzIHdob3NlIHJlc3BvbnNlcyBhcmUgc2xvd2VyIHRoYW4gdGhpc1xuICAgKiB2YWx1ZSBhdCB0aGUgc3BlY2lmaWVkIHBlcmNlbnRpbGUgc3RhdGlzdGljLlxuICAgKi9cbiAgcmVhZG9ubHkgbGF0ZW5jeVRocmVzaG9sZDogbnVtYmVyO1xuICBcbiAgLyoqXG4gICAqIFRoZSBzdGF0aXN0aWMgdXNlZCB0byBtZWFzdXJlIHRhcmdldCByZXNwb25zZSBsYXRlbmN5LCBsaWtlIHA5OSwgXG4gICAqIHdoaWNoIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgU3RhdHMucGVyY2VudGlsZSg5OSkgb3IgXCJwOTlcIi5cbiAgICovXG4gIHJlYWRvbmx5IGxhdGVuY3lTdGF0aXN0aWM6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1ldGhvZCB1c2VkIHRvIGRldGVybWluZSBpZiBhbiBBWiBpcyBhbiBvdXRsaWVyIGZvciBsYXRlbmN5IGZvciBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyIG1ldHJpY3MuXG4gICAqIEBkZWZhdWx0IFpfU0NPUkVcbiAgICovXG4gIHJlYWRvbmx5IGxhdGVuY3lPdXRsaWVyQWxnb3JpdGhtPzogQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobTtcblxuICAvKipcbiAgICogVGhlIG1ldGhvZCB1c2VkIHRvIGRldGVybWluZSBpZiBhbiBBWiBpcyBhbiBvdXRsaWVyIGZvciBhdmFpbGFiaWxpdHkgZm9yIEFwcGxpY2F0aW9uIExvYWQgQmFsYW5jZXIgbWV0cmljcy5cbiAgICogQGRlZmF1bHQgU1RBVElDXG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlPdXRsaWVyQWxnb3JpdGhtPzogQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJBdmFpbGFiaWxpdHlPdXRsaWVyQWxnb3JpdGhtO1xuXG4gIC8qKlxuICAgKiBUaGUgdGhyZXNob2xkIGZvciB0aGUgb3V0bGllciBkZXRlY3Rpb24gYWxnb3JpdGhtLlxuICAgKiBcbiAgICogQGRlZmF1bHQgXCJUaGlzIGRlcGVuZHMgb24gdGhlIGFsZ29yaXRobSB1c2VkLiBTVEFUSUM6IDY2XCJcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eU91dGxpZXJUaHJlc2hvbGQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHJlc2hvbGQgZm9yIHRoZSBvdXRsaWVyIGRldGVjdGlvbiBhbGdvcml0aG0uXG4gICAqIFxuICAgKiBAZGVmYXVsdCBcIlRoaXMgZGVwZW5kcyBvbiB0aGUgYWxnb3JpdGhtIHVzZWQuIFNUQVRJQzogNjYuIFpfU0NPUkU6IDMuXCJcbiAgICovXG4gIHJlYWRvbmx5IGxhdGVuY3lPdXRsaWVyVGhyZXNob2xkPzogbnVtYmVyO1xuICBcbn0iXX0=
|
|
@@ -1,26 +1,40 @@
|
|
|
1
1
|
import { Duration } from 'aws-cdk-lib';
|
|
2
|
-
import { IAlarm
|
|
2
|
+
import { IAlarm } from 'aws-cdk-lib/aws-cloudwatch';
|
|
3
3
|
import { AvailabilityZoneMapper } from '../../azmapper/AvailabilityZoneMapper';
|
|
4
|
+
import { ApplicationLoadBalancerDetectionProps } from './ApplicationLoadBalancerDetectionProps';
|
|
5
|
+
import { NatGatewayDetectionProps } from './NatGatewayDetectionProps';
|
|
4
6
|
/**
|
|
5
7
|
* The properties for creating a dashboard with basic metrics
|
|
6
8
|
*/
|
|
7
9
|
export interface BasicServiceDashboardProps {
|
|
10
|
+
/**
|
|
11
|
+
* The service's name
|
|
12
|
+
*/
|
|
8
13
|
readonly serviceName: string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
readonly zonalNatGatewayIsolatedImpactAlarms?: {
|
|
13
|
-
[key: string]: IAlarm;
|
|
14
|
-
};
|
|
14
|
+
/**
|
|
15
|
+
* The alarms indicating a single AZ impact, one per AZ
|
|
16
|
+
*/
|
|
15
17
|
readonly zonalAggregateIsolatedImpactAlarms: {
|
|
16
18
|
[key: string]: IAlarm;
|
|
17
19
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
readonly zonalNatGatewayPacketDropMetrics?: {
|
|
22
|
-
[key: string]: IMetric;
|
|
23
|
-
};
|
|
20
|
+
/**
|
|
21
|
+
* The interval for the dashboard
|
|
22
|
+
*/
|
|
24
23
|
readonly interval?: Duration;
|
|
24
|
+
/**
|
|
25
|
+
* The AZ mapper to convert AZ name/letter to AZ ID
|
|
26
|
+
*/
|
|
25
27
|
readonly azMapper: AvailabilityZoneMapper;
|
|
28
|
+
/**
|
|
29
|
+
* The ALBs being used for the service
|
|
30
|
+
*/
|
|
31
|
+
readonly albs?: ApplicationLoadBalancerDetectionProps;
|
|
32
|
+
/**
|
|
33
|
+
* The NAT Gateways being used for the service, a list of gateways per Availability zone
|
|
34
|
+
*/
|
|
35
|
+
readonly natgws?: NatGatewayDetectionProps;
|
|
36
|
+
/**
|
|
37
|
+
* The period for metric measurement
|
|
38
|
+
*/
|
|
39
|
+
readonly period: Duration;
|
|
26
40
|
}
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzaWNTZXJ2aWNlRGFzaGJvYXJkUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzaWNfb2JzZXJ2YWJpbGl0eS9wcm9wcy9CYXNpY1NlcnZpY2VEYXNoYm9hcmRQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBJQWxhcm0gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi4vLi4vYXptYXBwZXIvQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlckRldGVjdGlvblByb3BzIH0gZnJvbSAnLi9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlckRldGVjdGlvblByb3BzJztcbmltcG9ydCB7IE5hdEdhdGV3YXlEZXRlY3Rpb25Qcm9wcyB9IGZyb20gJy4vTmF0R2F0ZXdheURldGVjdGlvblByb3BzJztcblxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBkYXNoYm9hcmQgd2l0aCBiYXNpYyBtZXRyaWNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzaWNTZXJ2aWNlRGFzaGJvYXJkUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgc2VydmljZSdzIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGFybXMgaW5kaWNhdGluZyBhIHNpbmdsZSBBWiBpbXBhY3QsIG9uZSBwZXIgQVpcbiAgICovXG4gIHJlYWRvbmx5IHpvbmFsQWdncmVnYXRlSXNvbGF0ZWRJbXBhY3RBbGFybXM6IHsgW2tleTogc3RyaW5nXTogSUFsYXJtIH07XG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlcnZhbCBmb3IgdGhlIGRhc2hib2FyZFxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJ2YWw/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIEFaIG1hcHBlciB0byBjb252ZXJ0IEFaIG5hbWUvbGV0dGVyIHRvIEFaIElEXG4gICAqL1xuICByZWFkb25seSBhek1hcHBlcjogQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcjtcblxuICAvKipcbiAgICogVGhlIEFMQnMgYmVpbmcgdXNlZCBmb3IgdGhlIHNlcnZpY2VcbiAgICovXG4gIHJlYWRvbmx5IGFsYnM/OiBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlckRldGVjdGlvblByb3BzO1xuXG4gIC8qKlxuICAgKiBUaGUgTkFUIEdhdGV3YXlzIGJlaW5nIHVzZWQgZm9yIHRoZSBzZXJ2aWNlLCBhIGxpc3Qgb2YgZ2F0ZXdheXMgcGVyIEF2YWlsYWJpbGl0eSB6b25lXG4gICAqL1xuICByZWFkb25seSBuYXRnd3M/OiBOYXRHYXRld2F5RGV0ZWN0aW9uUHJvcHM7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJpb2QgZm9yIG1ldHJpYyBtZWFzdXJlbWVudFxuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kOiBEdXJhdGlvbjtcbn1cbiJdfQ==
|
|
@@ -1,56 +1,28 @@
|
|
|
1
1
|
import { Duration } from 'aws-cdk-lib';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ApplicationLoadBalancerDetectionProps } from './ApplicationLoadBalancerDetectionProps';
|
|
3
|
+
import { NatGatewayDetectionProps } from './NatGatewayDetectionProps';
|
|
4
4
|
/**
|
|
5
5
|
* Properties for creating basic multi-AZ observability
|
|
6
6
|
*/
|
|
7
7
|
export interface BasicServiceMultiAZObservabilityProps {
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* are provided for a single AZ, those alarms will be aggregated into
|
|
12
|
-
* a composite alarm for the AZ. You must either specify an ALB or a NAT GW.
|
|
9
|
+
* Properties for NAT Gateways to detect single AZ impact. You must specify
|
|
10
|
+
* this and/or applicationLoadBalancerProps.
|
|
13
11
|
*
|
|
14
|
-
* @default "No
|
|
12
|
+
* @default "No NAT Gateways will be used to calculate impact."
|
|
15
13
|
*/
|
|
16
|
-
readonly
|
|
17
|
-
[key: string]: CfnNatGateway[];
|
|
18
|
-
};
|
|
14
|
+
readonly natGatewayProps?: NatGatewayDetectionProps;
|
|
19
15
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* of all ALBs. You must either specify an ALB or a NAT GW.
|
|
16
|
+
* Properties for ALBs to detect single AZ impact. You must specify this
|
|
17
|
+
* and/or natGatewayProps.
|
|
23
18
|
*
|
|
24
|
-
* @default "No
|
|
19
|
+
* @default "No ALBs will be used to calculate impact."
|
|
25
20
|
*/
|
|
26
|
-
readonly
|
|
21
|
+
readonly applicationLoadBalancerProps?: ApplicationLoadBalancerDetectionProps;
|
|
27
22
|
/**
|
|
28
23
|
* The service's name
|
|
29
24
|
*/
|
|
30
25
|
readonly serviceName: string;
|
|
31
|
-
/**
|
|
32
|
-
* The amount of packet loss in a NAT GW to determine if an AZ
|
|
33
|
-
* is actually impacted, recommendation is 0.01%
|
|
34
|
-
*
|
|
35
|
-
* @default "0.01 (as in 0.01%)"
|
|
36
|
-
*/
|
|
37
|
-
readonly packetLossImpactPercentageThreshold?: number;
|
|
38
|
-
/**
|
|
39
|
-
* The percentage of faults for a single ALB to consider an AZ
|
|
40
|
-
* to be unhealthy, this should align with your availability goal. For example
|
|
41
|
-
* 1% or 5%, specify as 1 or 5.
|
|
42
|
-
*/
|
|
43
|
-
readonly faultCountPercentageThreshold: number;
|
|
44
|
-
/**
|
|
45
|
-
* The threshold in seconds for ALB targets whose responses are slower than this
|
|
46
|
-
* value at the specified percentile statistic.
|
|
47
|
-
*/
|
|
48
|
-
readonly latencyThreshold: number;
|
|
49
|
-
/**
|
|
50
|
-
* The statistic used to measure target response latency, like p99,
|
|
51
|
-
* which can be specified using Stats.percentile(99) or "p99".
|
|
52
|
-
*/
|
|
53
|
-
readonly latencyStatistic: string;
|
|
54
26
|
/**
|
|
55
27
|
* The period to evaluate metrics
|
|
56
28
|
*
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXNpY19vYnNlcnZhYmlsaXR5L3Byb3BzL0Jhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJEZXRlY3Rpb25Qcm9wcyB9IGZyb20gJy4vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJEZXRlY3Rpb25Qcm9wcyc7XG5pbXBvcnQgeyBOYXRHYXRld2F5RGV0ZWN0aW9uUHJvcHMgfSBmcm9tICcuL05hdEdhdGV3YXlEZXRlY3Rpb25Qcm9wcyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYmFzaWMgbXVsdGktQVogb2JzZXJ2YWJpbGl0eVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMge1xuICAvKipcbiAgICogUHJvcGVydGllcyBmb3IgTkFUIEdhdGV3YXlzIHRvIGRldGVjdCBzaW5nbGUgQVogaW1wYWN0LiBZb3UgbXVzdCBzcGVjaWZ5XG4gICAqIHRoaXMgYW5kL29yIGFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyUHJvcHMuXG4gICAqIFxuICAgKiBAZGVmYXVsdCBcIk5vIE5BVCBHYXRld2F5cyB3aWxsIGJlIHVzZWQgdG8gY2FsY3VsYXRlIGltcGFjdC5cIlxuICAgKi9cbiAgcmVhZG9ubHkgbmF0R2F0ZXdheVByb3BzPzogTmF0R2F0ZXdheURldGVjdGlvblByb3BzO1xuXG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIGZvciBBTEJzIHRvIGRldGVjdCBzaW5nbGUgQVogaW1wYWN0LiBZb3UgbXVzdCBzcGVjaWZ5IHRoaXNcbiAgICogYW5kL29yIG5hdEdhdGV3YXlQcm9wcy5cbiAgICogXG4gICAqIEBkZWZhdWx0IFwiTm8gQUxCcyB3aWxsIGJlIHVzZWQgdG8gY2FsY3VsYXRlIGltcGFjdC5cIlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb25Mb2FkQmFsYW5jZXJQcm9wcz86IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyRGV0ZWN0aW9uUHJvcHM7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlJ3MgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBlcmlvZCB0byBldmFsdWF0ZSBtZXRyaWNzXG4gICAqIFxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5taW51dGVzKDEpXG4gICAqL1xuICByZWFkb25seSBwZXJpb2Q/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBjcmVhdGUgYSBkYXNoYm9hcmQgZGlzcGxheWluZyB0aGUgbWV0cmljcyBhbmQgYWxhcm1zXG4gICAqIFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlRGFzaGJvYXJkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGFzaGJvYXJkIGludGVydmFsXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLmhvdXJzKDEpXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiB5b3UgYXJlIG5vdCB1c2luZyBhIHN0YXRpYyBidWNrZXQgdG8gZGVwbG95IGFzc2V0cywgZm9yIGV4YW1wbGVcbiAgICogeW91IGFyZSBzeW50aGluZyB0aGlzIGFuZCBpdCBnZXRzIHVwbG9hZGVkIHRvIGEgYnVja2V0IHdob3NlIG5hbWVcbiAgICogaXMgdW5rbm93biB0byB5b3UgKG1heWJlIHVzZWQgYXMgcGFydCBvZiBhIGNlbnRyYWwgQ0kvQ0Qgc3lzdGVtKVxuICAgKiBhbmQgaXMgcHJvdmlkZWQgYXMgYSBwYXJhbWV0ZXIgdG8geW91ciBzdGFjaywgc3BlY2lmeSB0aGF0IHBhcmFtZXRlclxuICAgKiBuYW1lIGhlcmUuIEl0IHdpbGwgb3ZlcnJpZGUgdGhlIGJ1Y2tldCBsb2NhdGlvbiBDREsgcHJvdmlkZXMgYnlcbiAgICogZGVmYXVsdCBmb3IgYnVuZGxlZCBhc3NldHMuIFRoZSBzdGFjayBjb250YWluaW5nIHRoaXMgY29udHJ1Y3QgbmVlZHNcbiAgICogdG8gaGF2ZSBhIHBhcmFtZXRlciBkZWZpbmVkIHRoYXQgdXNlcyB0aGlzIG5hbWUuIFRoZSB1bmRlcmx5aW5nXG4gICAqIHN0YWNrcyBpbiB0aGlzIGNvbnN0cnVjdCB0aGF0IGRlcGxveSBhc3NldHMgd2lsbCBjb3B5IHRoZSBwYXJlbnQgc3RhY2snc1xuICAgKiB2YWx1ZSBmb3IgdGhpcyBwcm9wZXJ0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJUaGUgYXNzZXRzIHdpbGwgYmUgdXBsb2FkZWQgdG8gdGhlIGRlZmF1bHQgZGVmaW5lZCBhc3NldCBsb2NhdGlvbi5cIlxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXRzQnVja2V0UGFyYW1ldGVyTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgeW91IGFyZSBub3QgdXNpbmcgYSBzdGF0aWMgYnVja2V0IHRvIGRlcGxveSBhc3NldHMsIGZvciBleGFtcGxlXG4gICAqIHlvdSBhcmUgc3ludGhpbmcgdGhpcyBhbmQgaXQgZ2V0cyB1cGxvYWRlZCB0byBhIGJ1Y2tldCB0aGF0IHVzZXMgYSBwcmVmaXhcbiAgICogdGhhdCBpcyB1bmtub3duIHRvIHlvdSAobWF5YmUgdXNlZCBhcyBwYXJ0IG9mIGEgY2VudHJhbCBDSS9DRCBzeXN0ZW0pXG4gICAqIGFuZCBpcyBwcm92aWRlZCBhcyBhIHBhcmFtZXRlciB0byB5b3VyIHN0YWNrLCBzcGVjaWZ5IHRoYXQgcGFyYW1ldGVyXG4gICAqIG5hbWUgaGVyZS4gSXQgd2lsbCBvdmVycmlkZSB0aGUgYnVja2V0IHByZWZpeCBDREsgcHJvdmlkZXMgYnlcbiAgICogZGVmYXVsdCBmb3IgYnVuZGxlZCBhc3NldHMuIFRoaXMgcHJvcGVydHkgb25seSB0YWtlcyBlZmZlY3QgaWYgeW91XG4gICAqIGRlZmluZWQgdGhlIGFzc2V0c0J1Y2tldFBhcmFtZXRlck5hbWUuIFRoZSBzdGFjayBjb250YWluaW5nIHRoaXMgY29udHJ1Y3QgbmVlZHNcbiAgICogdG8gaGF2ZSBhIHBhcmFtZXRlciBkZWZpbmVkIHRoYXQgdXNlcyB0aGlzIG5hbWUuIFRoZSB1bmRlcmx5aW5nXG4gICAqIHN0YWNrcyBpbiB0aGlzIGNvbnN0cnVjdCB0aGF0IGRlcGxveSBhc3NldHMgd2lsbCBjb3B5IHRoZSBwYXJlbnQgc3RhY2snc1xuICAgKiB2YWx1ZSBmb3IgdGhpcyBwcm9wZXJ0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJObyBvYmplY3QgcHJlZml4IHdpbGwgYmUgYWRkZWQgdG8geW91ciBjdXN0b20gYXNzZXRzIGxvY2F0aW9uLiBIb3dldmVyLCBpZiB5b3UgaGF2ZSBvdmVycmlkZGVuIHNvbWV0aGluZyBsaWtlIHRoZSAnQnVja2V0UHJlZml4JyBwcm9wZXJ0eSBpbiB5b3VyIHN0YWNrIHN5bnRoZXNpemVyIHdpdGggYSB2YXJpYWJsZSBsaWtlICcke0Fzc2V0c0J1Y2tldFByZWZpeH0nLCB5b3Ugd2lsbCBuZWVkIHRvIGRlZmluZSB0aGlzIHByb3BlcnR5IHNvIGl0IGRvZXNuJ3QgY2F1c2UgYSByZWZlcmVuY2UgZXJyb3IgZXZlbiBpZiB0aGUgcHJlZml4IHZhbHVlIGlzIGJsYW5rLlwiXG4gICAqL1xuICByZWFkb25seSBhc3NldHNCdWNrZXRQcmVmaXhQYXJhbWV0ZXJOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGV2YWx1YXRpb24gcGVyaW9kcyBmb3IgbGF0ZW5jeSBhbmQgYXZhaWxhYmlsdGl5IGFsYXJtc1xuICAgKi9cbiAgcmVhZG9ubHkgZXZhbHVhdGlvblBlcmlvZHM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBkYXRhcG9pbnRzIHRvIGFsYXJtIG9uIGZvciBsYXRlbmN5IGFuZCBhdmFpbGFiaWxpdHkgYWxhcm1zXG4gICAqL1xuICByZWFkb25seSBkYXRhcG9pbnRzVG9BbGFybTogbnVtYmVyO1xufVxuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CfnNatGateway } from "aws-cdk-lib/aws-ec2";
|
|
2
|
+
import { PacketLossOutlierAlgorithm } from "../../outlier-detection/PacketLossOutlierAlgorithm";
|
|
3
|
+
/**
|
|
4
|
+
* The properties for performing zonal impact detection with NAT Gateway(s).
|
|
5
|
+
*/
|
|
6
|
+
export interface NatGatewayDetectionProps {
|
|
7
|
+
/**
|
|
8
|
+
* A list of NAT Gateways per Availability Zone (using the AZ name as the key)
|
|
9
|
+
*/
|
|
10
|
+
readonly natGateways: {
|
|
11
|
+
[key: string]: CfnNatGateway[];
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The percentage of packet loss at which you consider there to be impact.
|
|
15
|
+
*
|
|
16
|
+
* @default 0.01 (as in 0.01%)
|
|
17
|
+
*/
|
|
18
|
+
readonly packetLossPercentThreshold?: number;
|
|
19
|
+
/**
|
|
20
|
+
* The algorithm to use to calculate an AZ as an outlier for packet loss.
|
|
21
|
+
*
|
|
22
|
+
* @default PacketLossOutlierAlgorithm.STATIC
|
|
23
|
+
*/
|
|
24
|
+
readonly packetLossOutlierAlgorithm?: PacketLossOutlierAlgorithm;
|
|
25
|
+
/**
|
|
26
|
+
* The threshold used with the outlier calculation.
|
|
27
|
+
*
|
|
28
|
+
* @default "This depends on the outlier algorithm. STATIC: 66. Z-SCORE: 3."
|
|
29
|
+
*/
|
|
30
|
+
readonly packetLossOutlierThreshold?: number;
|
|
31
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmF0R2F0ZXdheURldGVjdGlvblByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2ljX29ic2VydmFiaWxpdHkvcHJvcHMvTmF0R2F0ZXdheURldGVjdGlvblByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5OYXRHYXRld2F5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IFBhY2tldExvc3NPdXRsaWVyQWxnb3JpdGhtIH0gZnJvbSBcIi4uLy4uL291dGxpZXItZGV0ZWN0aW9uL1BhY2tldExvc3NPdXRsaWVyQWxnb3JpdGhtXCI7XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgZm9yIHBlcmZvcm1pbmcgem9uYWwgaW1wYWN0IGRldGVjdGlvbiB3aXRoIE5BVCBHYXRld2F5KHMpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdEdhdGV3YXlEZXRlY3Rpb25Qcm9wcyB7XG5cbiAgICAvKipcbiAgICAgKiBBIGxpc3Qgb2YgTkFUIEdhdGV3YXlzIHBlciBBdmFpbGFiaWxpdHkgWm9uZSAodXNpbmcgdGhlIEFaIG5hbWUgYXMgdGhlIGtleSlcbiAgICAgKi9cbiAgICByZWFkb25seSBuYXRHYXRld2F5czoge1trZXk6IHN0cmluZ106IENmbk5hdEdhdGV3YXlbXX07XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGVyY2VudGFnZSBvZiBwYWNrZXQgbG9zcyBhdCB3aGljaCB5b3UgY29uc2lkZXIgdGhlcmUgdG8gYmUgaW1wYWN0LlxuICAgICAqIFxuICAgICAqIEBkZWZhdWx0IDAuMDEgKGFzIGluIDAuMDElKVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBhY2tldExvc3NQZXJjZW50VGhyZXNob2xkPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGFsZ29yaXRobSB0byB1c2UgdG8gY2FsY3VsYXRlIGFuIEFaIGFzIGFuIG91dGxpZXIgZm9yIHBhY2tldCBsb3NzLlxuICAgICAqIFxuICAgICAqIEBkZWZhdWx0IFBhY2tldExvc3NPdXRsaWVyQWxnb3JpdGhtLlNUQVRJQ1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHBhY2tldExvc3NPdXRsaWVyQWxnb3JpdGhtPzogUGFja2V0TG9zc091dGxpZXJBbGdvcml0aG07XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGhyZXNob2xkIHVzZWQgd2l0aCB0aGUgb3V0bGllciBjYWxjdWxhdGlvbi5cbiAgICAgKiBcbiAgICAgKiBAZGVmYXVsdCBcIlRoaXMgZGVwZW5kcyBvbiB0aGUgb3V0bGllciBhbGdvcml0aG0uIFNUQVRJQzogNjYuIFotU0NPUkU6IDMuXCJcbiAgICAgKi9cbiAgICByZWFkb25seSBwYWNrZXRMb3NzT3V0bGllclRocmVzaG9sZD86IG51bWJlcjtcbn0iXX0=
|
|
@@ -10,6 +10,7 @@ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
|
10
10
|
const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
|
|
11
11
|
const aws_logs_1 = require("aws-cdk-lib/aws-logs");
|
|
12
12
|
const constructs_1 = require("constructs");
|
|
13
|
+
const MetricsHelper_1 = require("../utilities/MetricsHelper");
|
|
13
14
|
class CanaryFunction extends constructs_1.Construct {
|
|
14
15
|
constructor(scope, id, props) {
|
|
15
16
|
super(scope, id);
|
|
@@ -51,8 +52,8 @@ class CanaryFunction extends constructs_1.Construct {
|
|
|
51
52
|
/*
|
|
52
53
|
let code: AssetCode = Code.fromAsset(path.join(__dirname, "src/"), {
|
|
53
54
|
bundling: {
|
|
54
|
-
//image: new Runtime('python3.
|
|
55
|
-
image:
|
|
55
|
+
//image: new Runtime('python3.13:latest-arm64', RuntimeFamily.PYTHON).bundlingImage,
|
|
56
|
+
image: MetricsHelper.PythonRuntime.bundlingImage,
|
|
56
57
|
command: [
|
|
57
58
|
'bash', '-c',
|
|
58
59
|
'pip install --no-cache -r requirements.txt -t /asset-output && cp --archive --update . /asset-output',
|
|
@@ -64,7 +65,7 @@ class CanaryFunction extends constructs_1.Construct {
|
|
|
64
65
|
let monitoringLayer = new aws_lambda_1.LayerVersion(this, 'MonitoringLayer', {
|
|
65
66
|
code: aws_lambda_1.Code.fromAsset(path.join(__dirname, '../monitoring/src/monitoring-layer.zip')),
|
|
66
67
|
compatibleArchitectures: [aws_lambda_1.Architecture.ARM_64],
|
|
67
|
-
compatibleRuntimes: [
|
|
68
|
+
compatibleRuntimes: [MetricsHelper_1.MetricsHelper.PythonRuntime],
|
|
68
69
|
});
|
|
69
70
|
if (props.vpc !== undefined && props.vpc != null) {
|
|
70
71
|
let sg = new aws_ec2_1.SecurityGroup(this, 'canarySecurityGroup', {
|
|
@@ -73,7 +74,7 @@ class CanaryFunction extends constructs_1.Construct {
|
|
|
73
74
|
allowAllOutbound: true,
|
|
74
75
|
});
|
|
75
76
|
this.function = new aws_lambda_1.Function(this, 'canary', {
|
|
76
|
-
runtime:
|
|
77
|
+
runtime: MetricsHelper_1.MetricsHelper.PythonRuntime,
|
|
77
78
|
code: aws_lambda_1.Code.fromAsset(path.join(__dirname, 'src/canary.zip')),
|
|
78
79
|
handler: 'index.handler',
|
|
79
80
|
role: executionRole,
|
|
@@ -99,7 +100,7 @@ class CanaryFunction extends constructs_1.Construct {
|
|
|
99
100
|
}
|
|
100
101
|
else {
|
|
101
102
|
this.function = new aws_lambda_1.Function(this, 'canary', {
|
|
102
|
-
runtime:
|
|
103
|
+
runtime: MetricsHelper_1.MetricsHelper.PythonRuntime,
|
|
103
104
|
code: aws_lambda_1.Code.fromAsset(path.join(__dirname, 'src/canary.zip')),
|
|
104
105
|
handler: 'index.handler',
|
|
105
106
|
role: executionRole,
|
|
@@ -149,4 +150,4 @@ class CanaryFunction extends constructs_1.Construct {
|
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
152
|
exports.CanaryFunction = CanaryFunction;
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5RnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FuYXJpZXMvQ2FuYXJ5RnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0Qyw2QkFBNkI7QUFDN0IsNkNBQTBEO0FBQzFELGlEQUFvRTtBQUNwRSxpREFRNkI7QUFDN0IsdURBU2dDO0FBQ2hDLG1EQUEwRTtBQUMxRSwyQ0FBdUM7QUFJdkMsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFXM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksaUJBQWlCLEdBQW1CLElBQUksdUJBQWEsQ0FDdkQsSUFBSSxFQUNKLG1CQUFtQixFQUNuQjtZQUNFLElBQUksRUFBRSxVQUFVO1lBQ2hCLFVBQVUsRUFBRTtnQkFDVixJQUFJLHlCQUFlLENBQUM7b0JBQ2xCLE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG9DQUFvQztxQkFDckM7b0JBQ0QsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztvQkFDcEIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2lCQUNqQixDQUFDO2FBQ0g7U0FDRixDQUNGLENBQUM7UUFDRixJQUFJLGdCQUFnQixHQUFHLElBQUksdUJBQWEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7WUFDakUsSUFBSSxFQUFFLFVBQVU7WUFDaEIsVUFBVSxFQUFFO2dCQUNWLElBQUkseUJBQWUsQ0FBQztvQkFDbEIsT0FBTyxFQUFFO3dCQUNQLDRCQUE0Qjt3QkFDNUIsK0JBQStCO3dCQUMvQiw0QkFBNEI7cUJBQzdCO29CQUNELE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7b0JBQ3BCLFNBQVMsRUFBRSxD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QkFBYSxDQUFDLFFBQVE7WUFDakMsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztTQUNyQyxDQUFDLENBQUM7UUFFSCxJQUFJLHVCQUFhLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ3pDLElBQUksRUFBRSxVQUFVO1lBQ2hCLFVBQVUsRUFBRTtnQkFDVixJQUFJLHlCQUFlLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUNyQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO29CQUNwQixTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7aUJBQ2pCLENBQUM7Z0JBQ0YsSUFBSSx5QkFBZSxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxtQkFBbUIsQ0FBQztvQkFDdEQsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztvQkFDcEIsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7aUJBQ3ZDLENBQUM7YUFDSDtZQUNELEtBQUssRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE1S0Qsd0NBNEtDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IER1cmF0aW9uLCBGbiwgUmVtb3ZhbFBvbGljeSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IElTZWN1cml0eUdyb3VwLCBTZWN1cml0eUdyb3VwIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQge1xuICBFZmZlY3QsXG4gIElNYW5hZ2VkUG9saWN5LFxuICBJUm9sZSxcbiAgTWFuYWdlZFBvbGljeSxcbiAgUG9saWN5U3RhdGVtZW50LFxuICBSb2xlLFxuICBTZXJ2aWNlUHJpbmNpcGFsLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7XG4gIEFyY2hpdGVjdHVyZSxcbiAgQ29kZSxcbiAgRnVuY3Rpb24sXG4gIElGdW5jdGlvbixcbiAgSUxheWVyVmVyc2lvbixcbiAgTGF5ZXJWZXJzaW9uLFxuICBSdW50aW1lLFxuICBUcmFjaW5nLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElMb2dHcm91cCwgTG9nR3JvdXAsIFJldGVudGlvbkRheXMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElDYW5hcnlGdW5jdGlvbiB9IGZyb20gJy4vSUNhbmFyeUZ1bmN0aW9uJztcbmltcG9ydCB7IENhbmFyeUZ1bmN0aW9uUHJvcHMgfSBmcm9tICcuL3Byb3BzL0NhbmFyeUZ1bmN0aW9uUHJvcHMnO1xuXG5leHBvcnQgY2xhc3MgQ2FuYXJ5RnVuY3Rpb24gZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ2FuYXJ5RnVuY3Rpb24ge1xuICAvKipcbiAgICogVGhlIGNhbmFyeSBmdW5jdGlvblxuICAgKi9cbiAgZnVuY3Rpb246IElGdW5jdGlvbjtcblxuICAvKipcbiAgICogVGhlIGxvZyBncm91cCB3aGVyZSB0aGUgY2FuYXJ0eSBsb2dzIHdpbGwgYmUgc2VudFxuICAgKi9cbiAgbG9nR3JvdXA6IElMb2dHcm91cDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2FuYXJ5RnVuY3Rpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBsZXQgeHJheU1hbmFnZWRQb2xpY3k6IElNYW5hZ2VkUG9saWN5ID0gbmV3IE1hbmFnZWRQb2xpY3koXG4gICAgICB0aGlzLFxuICAgICAgJ3hyYXlNYW5hZ2VkUG9saWN5JyxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJy9jYW5hcnkvJyxcbiAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAneHJheTpQdXRUcmFjZVNlZ21lbnRzJyxcbiAgICAgICAgICAgICAgJ3hyYXk6UHV0VGVsZW1ldHJ5UmVjb3JkcycsXG4gICAgICAgICAgICAgICd4cmF5OkdldFNhbXBsaW5nUnVsZXMnLFxuICAgICAgICAgICAgICAneHJheTpHZXRTYW1wbGluZ1RhcmdldHMnLFxuICAgICAgICAgICAgICAneHJheTpHZXRTYW1wbGluZ1N0YXRpc3RpY1N1bW1hcmllcycsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICApO1xuICAgIGxldCBlYzJNYW5hZ2VkUG9saWN5ID0gbmV3IE1hbmFnZWRQb2xpY3kodGhpcywgJ2VjMk1hbmFnZWRQb2xpY3knLCB7XG4gICAgICBwYXRoOiAnL2NhbmFyeS8nLFxuICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAnZWMyOkNyZWF0ZU5ldHdvcmtJbnRlcmZhY2UnLFxuICAgICAgICAgICAgJ2VjMjpEZXNjcmliZU5ldHdvcmtJbnRlcmZhY2VzJyxcbiAgICAgICAgICAgICdlYzI6RGVsZXRlTmV0d29ya0ludGVyZmFjZScsXG4gICAgICAgICAgXSxcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBsZXQgZXhlY3V0aW9uUm9sZTogSVJvbGUgPSBuZXcgUm9sZSh0aGlzLCAnZXhlY3V0aW9uUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICBwYXRoOiAnL2NhbmFyeS8nLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbeHJheU1hbmFnZWRQb2xpY3ksIGVjMk1hbmFnZWRQb2xpY3ldLFxuICAgIH0pO1xuXG4gICAgLypcbiAgICBsZXQgY29kZTogQXNzZXRDb2RlID0gQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgXCJzcmMvXCIpLCB7XG4gICAgICBidW5kbGluZzoge1xuICAgICAgICAvL2ltYWdlOiBuZXcgUnVudGltZSgncHl0aG9uMy4xMjpsYXRlc3QtYXJtNjQnLCBSdW50aW1lRmFtaWx5LlBZVEhPTikuYnVuZGxpbmdJbWFnZSxcbiAgICAgICAgaW1hZ2U6IFJ1bnRpbWUuUFlUSE9OXzNfMTIuYnVuZGxpbmdJbWFnZSxcbiAgICAgICAgY29tbWFuZDogW1xuICAgICAgICAgICdiYXNoJywgJy1jJyxcbiAgICAgICAgICAncGlwIGluc3RhbGwgLS1uby1jYWNoZSAtciByZXF1aXJlbWVudHMudHh0IC10IC9hc3NldC1vdXRwdXQgJiYgY3AgLS1hcmNoaXZlIC0tdXBkYXRlIC4gL2Fzc2V0LW91dHB1dCcsXG4gICAgICAgIF0sXG4gICAgICAgIHBsYXRmb3JtOiAnbGludXgvYXJtNjQnLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICAqL1xuICAgIGxldCBtb25pdG9yaW5nTGF5ZXI6IElMYXllclZlcnNpb24gPSBuZXcgTGF5ZXJWZXJzaW9uKFxuICAgICAgdGhpcyxcbiAgICAgICdNb25pdG9yaW5nTGF5ZXInLFxuICAgICAge1xuICAgICAgICBjb2RlOiBDb2RlLmZyb21Bc3NldChcbiAgICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vbW9uaXRvcmluZy9zcmMvbW9uaXRvcmluZy1sYXllci56aXAnKSxcbiAgICAgICAgKSxcbiAgICAgICAgY29tcGF0aWJsZUFyY2hpdGVjdHVyZXM6IFtBcmNoaXRlY3R1cmUuQVJNXzY0XSxcbiAgICAgICAgY29tcGF0aWJsZVJ1bnRpbWVzOiBbUnVudGltZS5QWVRIT05fM18xMl0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMudnBjICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudnBjICE9IG51bGwpIHtcbiAgICAgIGxldCBzZzogSVNlY3VyaXR5R3JvdXAgPSBuZXcgU2VjdXJpdHlHcm91cCh0aGlzLCAnY2FuYXJ5U2VjdXJpdHlHcm91cCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdBbGxvdyBjYW5hcnkgdG8gY29tbXVuaWNhdGUgd2l0aCBsb2FkIGJhbGFuY2VyJyxcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5mdW5jdGlvbiA9IG5ldyBGdW5jdGlvbih0aGlzLCAnY2FuYXJ5Jywge1xuICAgICAgICBydW50aW1lOiBSdW50aW1lLlBZVEhPTl8zXzEyLFxuICAgICAgICBjb2RlOiBDb2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnc3JjL2NhbmFyeS56aXAnKSksXG4gICAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgICAgcm9sZTogZXhlY3V0aW9uUm9sZSxcbiAgICAgICAgYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgICAgICB0cmFjaW5nOiBUcmFjaW5nLkFDVElWRSxcbiAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygyNDApLFxuICAgICAgICBtZW1vcnlTaXplOiA1MTIsXG4gICAgICAgIGxheWVyczogW21vbml0b3JpbmdMYXllcl0sXG4gICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgUkVHSU9OOiBGbi5yZWYoJ0FXUzo6UmVnaW9uJyksXG4gICAgICAgICAgUEFSVElUSU9OOiBGbi5yZWYoJ0FXUzo6UGFydGl0aW9uJyksXG4gICAgICAgICAgVElNRU9VVDpcbiAgICAgICAgICAgIHByb3BzLmh0dHBUaW1lb3V0ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgPyBwcm9wcy5odHRwVGltZW91dC50b1NlY29uZHMoKS50b1N0cmluZygpXG4gICAgICAgICAgICAgIDogJzInLFxuICAgICAgICAgIElHTk9SRV9TU0xfRVJST1JTOiAoXG4gICAgICAgICAgICBwcm9wcy5pZ25vcmVUbHNFcnJvcnMgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5pZ25vcmVUbHNFcnJvcnMgPT0gdHJ1ZVxuICAgICAgICAgIClcbiAgICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgICAudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgfSxcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBbc2ddLFxuICAgICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mdW5jdGlvbiA9IG5ldyBGdW5jdGlvbih0aGlzLCAnY2FuYXJ5Jywge1xuICAgICAgICBydW50aW1lOiBSdW50aW1lLlBZVEhPTl8zXzEyLFxuICAgICAgICBjb2RlOiBDb2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnc3JjL2NhbmFyeS56aXAnKSksXG4gICAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgICAgcm9sZTogZXhlY3V0aW9uUm9sZSxcbiAgICAgICAgYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgICAgICB0cmFjaW5nOiBUcmFjaW5nLkFDVElWRSxcbiAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygyNDApLFxuICAgICAgICBtZW1vcnlTaXplOiA1MTIsXG4gICAgICAgIGxheWVyczogW21vbml0b3JpbmdMYXllcl0sXG4gICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgUkVHSU9OOiBGbi5yZWYoJ0FXUzo6UmVnaW9uJyksXG4gICAgICAgICAgUEFSVElUSU9OOiBGbi5yZWYoJ0FXUzo6UGFydGl0aW9uJyksXG4gICAgICAgICAgVElNRU9VVDpcbiAgICAgICAgICAgIHByb3BzLmh0dHBUaW1lb3V0ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgPyBwcm9wcy5odHRwVGltZW91dC50b1NlY29uZHMoKS50b1N0cmluZygpXG4gICAgICAgICAgICAgIDogJzInLFxuICAgICAgICAgIElHTk9SRV9TU0xfRVJST1JTOiAoXG4gICAgICAgICAgICBwcm9wcy5pZ25vcmVUbHNFcnJvcnMgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5pZ25vcmVUbHNFcnJvcnMgPT0gdHJ1ZVxuICAgICAgICAgIClcbiAgICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgICAudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuZnVuY3Rpb24uYWRkUGVybWlzc2lvbignaW52b2tlUGVybWlzc2lvbicsIHtcbiAgICAgIGFjdGlvbjogJ2xhbWJkYTpJbnZva2VGdW5jdGlvbicsXG4gICAgICBwcmluY2lwYWw6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKCdldmVudHMuYW1hem9uYXdzLmNvbScpLFxuICAgICAgc291cmNlQXJuOiBGbi5zdWIoXG4gICAgICAgICdhcm46JHtBV1M6OlBhcnRpdGlvbn06ZXZlbnRzOiR7QVdTOjpSZWdpb259OiR7QVdTOjpBY2NvdW50SWR9OnJ1bGUvKicsXG4gICAgICApLFxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2dHcm91cCA9IG5ldyBMb2dHcm91cCh0aGlzLCAnbG9nR3JvdXAnLCB7XG4gICAgICBsb2dHcm91cE5hbWU6IGAvYXdzL2xhbWJkYS8ke3RoaXMuZnVuY3Rpb24uZnVuY3Rpb25OYW1lfWAsXG4gICAgICByZXRlbnRpb246IFJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgfSk7XG5cbiAgICBuZXcgTWFuYWdlZFBvbGljeSh0aGlzLCAnY3dNYW5hZ2VkUG9saWN5Jywge1xuICAgICAgcGF0aDogJy9jYW5hcnkvJyxcbiAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogWydjbG91ZHdhdGNoOlB1dE1ldHJpY0RhdGEnXSxcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogWydsb2dzOkNyZWF0ZUxvZ1N0cmVhbScsICdsb2dzOlB1dExvZ0V2ZW50cyddLFxuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIHJlc291cmNlczogW3RoaXMubG9nR3JvdXAubG9nR3JvdXBBcm5dLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgICByb2xlczogW2V4ZWN1dGlvblJvbGVdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5RnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FuYXJpZXMvQ2FuYXJ5RnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0Qyw2QkFBNkI7QUFDN0IsNkNBQTBEO0FBQzFELGlEQUFvRTtBQUNwRSxpREFRNkI7QUFDN0IsdURBUWdDO0FBQ2hDLG1EQUEwRTtBQUMxRSwyQ0FBdUM7QUFHdkMsOERBQTJEO0FBRTNELE1BQWEsY0FBZSxTQUFRLHNCQUFTO0lBVzNDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLGlCQUFpQixHQUFtQixJQUFJLHVCQUFhLENBQ3ZELElBQUksRUFDSixtQkFBbUIsRUFDbkI7WUFDRSxJQUFJLEVBQUUsVUFBVTtZQUNoQixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSx5QkFBZSxDQUFDO29CQUNsQixPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QixvQ0FBb0M7cUJBQ3JDO29CQUNELE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztpQkFDakIsQ0FBQzthQUNIO1NBQ0YsQ0FDRixDQUFDO1FBQ0YsSUFBSSxnQkFBZ0IsR0FBRyxJQUFJLHVCQUFhLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ2pFLElBQUksRUFBRSxVQUFVO1lBQ2hCLFVBQVUsRUFBRTtnQkFDVixJQUFJLHlCQUFlLENBQUM7b0JBQ2xCLE9BQU8sRUFBRTt3QkFDUCw0QkFBNEI7d0JBQzVCLCtCQUErQjt3QkFDL0IsNEJBQTRCO3FCQUM3QjtvQkFDRCxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO29CQUNwQixTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7aUJBQ2pCLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksYUFBYSxHQUFVLElBQUksY0FBSSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDekQsU0FBUyxFQUFFLElBQUksMEJBQWdCLENBQUMsc0JBQXNCLENBQUM7WUFDdkQsSUFBSSxFQUFFLFVBQVU7WUFDaEIsZUFBZSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7U0FDdkQsQ0FBQyxDQUFDO1FBRUg7Ozs7Ozs7Ozs7OztVQVlFO1FBQ0YsSUFBSSxlQUFlLEdBQWtCLElBQUkseUJBQVksQ0FDbkQsSUFBSSxFQUNKLGlCQUFpQixFQUNqQjtZQUNFLElBQUksRUFBRSxpQkFBSSxDQUFDLFNBQVMsQ0FDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsd0NBQXdDLENBQUMsQ0FDL0Q7WUFDRCx1QkFBdUIsRUFBRSxDQUFDLHlCQUFZLENBQUMsTUFBTSxDQUFDO1lBQzlDLGtCQUFrQixFQUFFLENBQUMsNkJBQWEsQ0FBQyxhQUFhLENBQUM7U0FDbEQsQ0FDRixDQUFDO1FBRUYsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2pELElBQUksRUFBRSxHQUFtQixJQUFJLHVCQUFhLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFO2dCQUN0RSxXQUFXLEVBQUUsZ0RBQWdEO2dCQUM3RCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7Z0JBQ2QsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkscUJBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO2dCQUMzQyxPQUFPLEVBQUUsNkJBQWEsQ0FBQyxhQUFhO2dCQUNwQyxJQUFJLEVBQUUsaUJBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztnQkFDNUQsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLElBQUksRUFBRSxhQUFhO2dCQUNuQixZQUFZLEVBQUUseUJBQVksQ0FBQyxNQUFNO2dCQUNqQyxPQUFPLEVBQUUsb0JBQU8sQ0FBQyxNQUFNO2dCQUN2QixPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUM5QixVQUFVLEVBQUUsR0FBRztnQkFDZixNQUFNLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQ3pCLFdBQVcsRUFBRTtvQkFDWCxNQUFNLEVBQUUsZ0JBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO29CQUM3QixTQUFTLEVBQUUsZ0JBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7b0JBQ25DLE9BQU8sRUFDTCxLQUFLLENBQUMsV0FBVyxLQUFLLFNBQVM7d0JBQzdCLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRTt3QkFDMUMsQ0FBQyxDQUFDLEdBQUc7b0JBQ1QsaUJBQWlCLEVBQUUsQ0FDakIsS0FBSyxDQUFDLGVBQWUsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQ3JFO3lCQUNFLFFBQVEsRUFBRTt5QkFDVixXQUFXLEVBQUU7aUJBQ2pCO2dCQUNELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztnQkFDZCxjQUFjLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLFVBQVUsRUFBRSxLQUFLLENBQUMsZUFBZTthQUNsQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxxQkFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQzNDLE9BQU8sRUFBRSw2QkFBYSxDQUFDLGFBQWE7Z0JBQ3BDLElBQUksRUFBRSxpQkFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUM1RCxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLFlBQVksRUFBRSx5QkFBWSxDQUFDLE1BQU07Z0JBQ2pDLE9BQU8sRUFBRSxvQkFBTyxDQUFDLE1BQU07Z0JBQ3ZCLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLFVBQVUsRUFBRSxHQUFHO2dCQUNmLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDekIsV0FBVyxFQUFFO29CQUNYLE1BQU0sRUFBRSxnQkFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7b0JBQzdCLFNBQVMsRUFBRSxnQkFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDbkMsT0FBTyxFQUNMLEtBQUssQ0FBQyxXQUFXLEtBQUssU0FBUzt3QkFDN0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFO3dCQUMxQyxDQUFDLENBQUMsR0FBRztvQkFDVCxpQkFBaUIsRUFBRSxDQUNqQixLQUFLLENBQUMsZUFBZSxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsZUFBZSxJQUFJLElBQUksQ0FDckU7eUJBQ0UsUUFBUSxFQUFFO3lCQUNWLFdBQVcsRUFBRTtpQkFDakI7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUU7WUFDOUMsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixTQUFTLEVBQUUsSUFBSSwwQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUN2RCxTQUFTLEVBQUUsZ0JBQUUsQ0FBQyxHQUFHLENBQ2Ysc0VBQXNFLENBQ3ZFO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM3QyxZQUFZLEVBQUUsZUFBZSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtZQUN6RCxTQUFTLEVBQUUsd0JBQWEsQ0FBQyxRQUFRO1lBQ2pDLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87U0FDckMsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUN6QyxJQUFJLEVBQUUsVUFBVTtZQUNoQixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSx5QkFBZSxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDckMsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztvQkFDcEIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2lCQUNqQixDQUFDO2dCQUNGLElBQUkseUJBQWUsQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3RELE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO2lCQUN2QyxDQUFDO2FBQ0g7WUFDRCxLQUFLLEVBQUUsQ0FBQyxhQUFhLENBQUM7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBNUtELHdDQTRLQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBEdXJhdGlvbiwgRm4sIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBJU2VjdXJpdHlHcm91cCwgU2VjdXJpdHlHcm91cCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHtcbiAgRWZmZWN0LFxuICBJTWFuYWdlZFBvbGljeSxcbiAgSVJvbGUsXG4gIE1hbmFnZWRQb2xpY3ksXG4gIFBvbGljeVN0YXRlbWVudCxcbiAgUm9sZSxcbiAgU2VydmljZVByaW5jaXBhbCxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge1xuICBBcmNoaXRlY3R1cmUsXG4gIENvZGUsXG4gIEZ1bmN0aW9uLFxuICBJRnVuY3Rpb24sXG4gIElMYXllclZlcnNpb24sXG4gIExheWVyVmVyc2lvbixcbiAgVHJhY2luZyxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBJTG9nR3JvdXAsIExvZ0dyb3VwLCBSZXRlbnRpb25EYXlzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJQ2FuYXJ5RnVuY3Rpb24gfSBmcm9tICcuL0lDYW5hcnlGdW5jdGlvbic7XG5pbXBvcnQgeyBDYW5hcnlGdW5jdGlvblByb3BzIH0gZnJvbSAnLi9wcm9wcy9DYW5hcnlGdW5jdGlvblByb3BzJztcbmltcG9ydCB7IE1ldHJpY3NIZWxwZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvTWV0cmljc0hlbHBlcic7XG5cbmV4cG9ydCBjbGFzcyBDYW5hcnlGdW5jdGlvbiBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElDYW5hcnlGdW5jdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgY2FuYXJ5IGZ1bmN0aW9uXG4gICAqL1xuICBmdW5jdGlvbjogSUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9nIGdyb3VwIHdoZXJlIHRoZSBjYW5hcnR5IGxvZ3Mgd2lsbCBiZSBzZW50XG4gICAqL1xuICBsb2dHcm91cDogSUxvZ0dyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDYW5hcnlGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGxldCB4cmF5TWFuYWdlZFBvbGljeTogSU1hbmFnZWRQb2xpY3kgPSBuZXcgTWFuYWdlZFBvbGljeShcbiAgICAgIHRoaXMsXG4gICAgICAneHJheU1hbmFnZWRQb2xpY3knLFxuICAgICAge1xuICAgICAgICBwYXRoOiAnL2NhbmFyeS8nLFxuICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICd4cmF5OlB1dFRyYWNlU2VnbWVudHMnLFxuICAgICAgICAgICAgICAneHJheTpQdXRUZWxlbWV0cnlSZWNvcmRzJyxcbiAgICAgICAgICAgICAgJ3hyYXk6R2V0U2FtcGxpbmdSdWxlcycsXG4gICAgICAgICAgICAgICd4cmF5OkdldFNhbXBsaW5nVGFyZ2V0cycsXG4gICAgICAgICAgICAgICd4cmF5OkdldFNhbXBsaW5nU3RhdGlzdGljU3VtbWFyaWVzJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICk7XG4gICAgbGV0IGVjMk1hbmFnZWRQb2xpY3kgPSBuZXcgTWFuYWdlZFBvbGljeSh0aGlzLCAnZWMyTWFuYWdlZFBvbGljeScsIHtcbiAgICAgIHBhdGg6ICcvY2FuYXJ5LycsXG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICdlYzI6Q3JlYXRlTmV0d29ya0ludGVyZmFjZScsXG4gICAgICAgICAgICAnZWMyOkRlc2NyaWJlTmV0d29ya0ludGVyZmFjZXMnLFxuICAgICAgICAgICAgJ2VjMjpEZWxldGVOZXR3b3JrSW50ZXJmYWNlJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGxldCBleGVjdXRpb25Sb2xlOiBJUm9sZSA9IG5ldyBSb2xlKHRoaXMsICdleGVjdXRpb25Sb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgU2VydmljZVByaW5jaXBhbCgnbGFtYmRhLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgIHBhdGg6ICcvY2FuYXJ5LycsXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFt4cmF5TWFuYWdlZFBvbGljeSwgZWMyTWFuYWdlZFBvbGljeV0sXG4gICAgfSk7XG5cbiAgICAvKlxuICAgIGxldCBjb2RlOiBBc3NldENvZGUgPSBDb2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCBcInNyYy9cIiksIHtcbiAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgIC8vaW1hZ2U6IG5ldyBSdW50aW1lKCdweXRob24zLjEzOmxhdGVzdC1hcm02NCcsIFJ1bnRpbWVGYW1pbHkuUFlUSE9OKS5idW5kbGluZ0ltYWdlLFxuICAgICAgICBpbWFnZTogTWV0cmljc0hlbHBlci5QeXRob25SdW50aW1lLmJ1bmRsaW5nSW1hZ2UsXG4gICAgICAgIGNvbW1hbmQ6IFtcbiAgICAgICAgICAnYmFzaCcsICctYycsXG4gICAgICAgICAgJ3BpcCBpbnN0YWxsIC0tbm8tY2FjaGUgLXIgcmVxdWlyZW1lbnRzLnR4dCAtdCAvYXNzZXQtb3V0cHV0ICYmIGNwIC0tYXJjaGl2ZSAtLXVwZGF0ZSAuIC9hc3NldC1vdXRwdXQnLFxuICAgICAgICBdLFxuICAgICAgICBwbGF0Zm9ybTogJ2xpbnV4L2FybTY0JyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgKi9cbiAgICBsZXQgbW9uaXRvcmluZ0xheWVyOiBJTGF5ZXJWZXJzaW9uID0gbmV3IExheWVyVmVyc2lvbihcbiAgICAgIHRoaXMsXG4gICAgICAnTW9uaXRvcmluZ0xheWVyJyxcbiAgICAgIHtcbiAgICAgICAgY29kZTogQ29kZS5mcm9tQXNzZXQoXG4gICAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL21vbml0b3Jpbmcvc3JjL21vbml0b3JpbmctbGF5ZXIuemlwJyksXG4gICAgICAgICksXG4gICAgICAgIGNvbXBhdGlibGVBcmNoaXRlY3R1cmVzOiBbQXJjaGl0ZWN0dXJlLkFSTV82NF0sXG4gICAgICAgIGNvbXBhdGlibGVSdW50aW1lczogW01ldHJpY3NIZWxwZXIuUHl0aG9uUnVudGltZV0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMudnBjICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudnBjICE9IG51bGwpIHtcbiAgICAgIGxldCBzZzogSVNlY3VyaXR5R3JvdXAgPSBuZXcgU2VjdXJpdHlHcm91cCh0aGlzLCAnY2FuYXJ5U2VjdXJpdHlHcm91cCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdBbGxvdyBjYW5hcnkgdG8gY29tbXVuaWNhdGUgd2l0aCBsb2FkIGJhbGFuY2VyJyxcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5mdW5jdGlvbiA9IG5ldyBGdW5jdGlvbih0aGlzLCAnY2FuYXJ5Jywge1xuICAgICAgICBydW50aW1lOiBNZXRyaWNzSGVscGVyLlB5dGhvblJ1bnRpbWUsXG4gICAgICAgIGNvZGU6IENvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICdzcmMvY2FuYXJ5LnppcCcpKSxcbiAgICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgICByb2xlOiBleGVjdXRpb25Sb2xlLFxuICAgICAgICBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICAgIHRyYWNpbmc6IFRyYWNpbmcuQUNUSVZFLFxuICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDI0MCksXG4gICAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICAgICAgbGF5ZXJzOiBbbW9uaXRvcmluZ0xheWVyXSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBSRUdJT046IEZuLnJlZignQVdTOjpSZWdpb24nKSxcbiAgICAgICAgICBQQVJUSVRJT046IEZuLnJlZignQVdTOjpQYXJ0aXRpb24nKSxcbiAgICAgICAgICBUSU1FT1VUOlxuICAgICAgICAgICAgcHJvcHMuaHR0cFRpbWVvdXQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICA/IHByb3BzLmh0dHBUaW1lb3V0LnRvU2Vjb25kcygpLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgOiAnMicsXG4gICAgICAgICAgSUdOT1JFX1NTTF9FUlJPUlM6IChcbiAgICAgICAgICAgIHByb3BzLmlnbm9yZVRsc0Vycm9ycyAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmlnbm9yZVRsc0Vycm9ycyA9PSB0cnVlXG4gICAgICAgICAgKVxuICAgICAgICAgICAgLnRvU3RyaW5nKClcbiAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpLFxuICAgICAgICB9LFxuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgc2VjdXJpdHlHcm91cHM6IFtzZ10sXG4gICAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKHRoaXMsICdjYW5hcnknLCB7XG4gICAgICAgIHJ1bnRpbWU6IE1ldHJpY3NIZWxwZXIuUHl0aG9uUnVudGltZSxcbiAgICAgICAgY29kZTogQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJ3NyYy9jYW5hcnkuemlwJykpLFxuICAgICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICAgIHJvbGU6IGV4ZWN1dGlvblJvbGUsXG4gICAgICAgIGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgICAgdHJhY2luZzogVHJhY2luZy5BQ1RJVkUsXG4gICAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMjQwKSxcbiAgICAgICAgbWVtb3J5U2l6ZTogNTEyLFxuICAgICAgICBsYXllcnM6IFttb25pdG9yaW5nTGF5ZXJdLFxuICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgIFJFR0lPTjogRm4ucmVmKCdBV1M6OlJlZ2lvbicpLFxuICAgICAgICAgIFBBUlRJVElPTjogRm4ucmVmKCdBV1M6OlBhcnRpdGlvbicpLFxuICAgICAgICAgIFRJTUVPVVQ6XG4gICAgICAgICAgICBwcm9wcy5odHRwVGltZW91dCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgID8gcHJvcHMuaHR0cFRpbWVvdXQudG9TZWNvbmRzKCkudG9TdHJpbmcoKVxuICAgICAgICAgICAgICA6ICcyJyxcbiAgICAgICAgICBJR05PUkVfU1NMX0VSUk9SUzogKFxuICAgICAgICAgICAgcHJvcHMuaWdub3JlVGxzRXJyb3JzICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuaWdub3JlVGxzRXJyb3JzID09IHRydWVcbiAgICAgICAgICApXG4gICAgICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmZ1bmN0aW9uLmFkZFBlcm1pc3Npb24oJ2ludm9rZVBlcm1pc3Npb24nLCB7XG4gICAgICBhY3Rpb246ICdsYW1iZGE6SW52b2tlRnVuY3Rpb24nLFxuICAgICAgcHJpbmNpcGFsOiBuZXcgU2VydmljZVByaW5jaXBhbCgnZXZlbnRzLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgIHNvdXJjZUFybjogRm4uc3ViKFxuICAgICAgICAnYXJuOiR7QVdTOjpQYXJ0aXRpb259OmV2ZW50czoke0FXUzo6UmVnaW9ufToke0FXUzo6QWNjb3VudElkfTpydWxlLyonLFxuICAgICAgKSxcbiAgICB9KTtcblxuICAgIHRoaXMubG9nR3JvdXAgPSBuZXcgTG9nR3JvdXAodGhpcywgJ2xvZ0dyb3VwJywge1xuICAgICAgbG9nR3JvdXBOYW1lOiBgL2F3cy9sYW1iZGEvJHt0aGlzLmZ1bmN0aW9uLmZ1bmN0aW9uTmFtZX1gLFxuICAgICAgcmV0ZW50aW9uOiBSZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgbmV3IE1hbmFnZWRQb2xpY3kodGhpcywgJ2N3TWFuYWdlZFBvbGljeScsIHtcbiAgICAgIHBhdGg6ICcvY2FuYXJ5LycsXG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFsnY2xvdWR3YXRjaDpQdXRNZXRyaWNEYXRhJ10sXG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFsnbG9nczpDcmVhdGVMb2dTdHJlYW0nLCAnbG9nczpQdXRMb2dFdmVudHMnXSxcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICByZXNvdXJjZXM6IFt0aGlzLmxvZ0dyb3VwLmxvZ0dyb3VwQXJuXSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgICAgcm9sZXM6IFtleGVjdXRpb25Sb2xlXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
Binary file
|
|
@@ -6,15 +6,12 @@ import { OperationAvailabilityAndLatencyDashboardProps } from './props/Operation
|
|
|
6
6
|
* Creates an operation level availability and latency dashboard
|
|
7
7
|
*/
|
|
8
8
|
export declare class OperationAvailabilityAndLatencyDashboard extends Construct implements IOperationAvailabilityAndLatencyDashboard {
|
|
9
|
-
private static
|
|
10
|
-
private static
|
|
11
|
-
private static
|
|
12
|
-
private static createApplicationLoadBalancerWidgets;
|
|
13
|
-
private static createNetworkLoadBalancerWidgets;
|
|
9
|
+
private static readonly regionColor;
|
|
10
|
+
private static createServerSideWidgets;
|
|
11
|
+
private static createCanaryWidgets;
|
|
14
12
|
/**
|
|
15
13
|
* The operation level dashboard
|
|
16
14
|
*/
|
|
17
15
|
dashboard: Dashboard;
|
|
18
|
-
private azMapper;
|
|
19
16
|
constructor(scope: Construct, id: string, props: OperationAvailabilityAndLatencyDashboardProps);
|
|
20
17
|
}
|