terraconstructs 0.0.17 → 0.0.18
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 +4533 -3
- package/lib/aws/arn.js +1 -1
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.js +1 -1
- package/lib/aws/aws-tags.js +2 -2
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/alarm-base.js +1 -1
- package/lib/aws/cloudwatch/alarm-rule.js +1 -1
- package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
- package/lib/aws/cloudwatch/alarm.js +1 -1
- package/lib/aws/cloudwatch/composite-alarm.js +1 -1
- package/lib/aws/cloudwatch/dashboard.js +1 -1
- package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
- package/lib/aws/cloudwatch/graph.js +8 -8
- package/lib/aws/cloudwatch/layout.js +3 -3
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
- package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
- package/lib/aws/cloudwatch/log-group.js +1 -1
- package/lib/aws/cloudwatch/log-query.js +1 -1
- package/lib/aws/cloudwatch/log-stream.js +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +1 -1
- package/lib/aws/cloudwatch/metric.js +2 -2
- package/lib/aws/cloudwatch/pattern.js +3 -3
- package/lib/aws/cloudwatch/policy.js +1 -1
- package/lib/aws/cloudwatch/query-definition.js +2 -2
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +1 -1
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.js +1 -1
- package/lib/aws/compute/activity.js +1 -1
- package/lib/aws/compute/alb/application-listener-action.js +1 -1
- package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
- package/lib/aws/compute/alb/application-listener-rule.js +1 -1
- package/lib/aws/compute/alb/application-listener.js +1 -1
- package/lib/aws/compute/alb/application-load-balancer.js +1 -1
- package/lib/aws/compute/alb/application-target-group.js +1 -1
- package/lib/aws/compute/alb/conditions.js +1 -1
- package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
- package/lib/aws/compute/alb/trust-store.js +1 -1
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
- package/lib/aws/compute/bastion-host.js +1 -1
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
- package/lib/aws/compute/client-vpn-endpoint.js +2 -2
- package/lib/aws/compute/client-vpn-route.js +2 -2
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/event-invoke-config.js +1 -1
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.js +1 -1
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
- package/lib/aws/compute/event-sources/s3.js +1 -1
- package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
- package/lib/aws/compute/event-sources/sqs.js +1 -1
- package/lib/aws/compute/fields.js +4 -4
- package/lib/aws/compute/function-alias.js +1 -1
- package/lib/aws/compute/function-base.js +2 -2
- package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
- package/lib/aws/compute/function-destinations/function.js +1 -1
- package/lib/aws/compute/function-destinations/sqs.js +1 -1
- package/lib/aws/compute/function-nodejs.js +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function.js +1 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.js +1 -1
- package/lib/aws/compute/ip-addresses.js +2 -2
- package/lib/aws/compute/ipam.js +1 -1
- package/lib/aws/compute/key-pair.js +1 -1
- package/lib/aws/compute/launch-template.js +2 -2
- package/lib/aws/compute/lb-shared/base-listener.js +1 -1
- package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
- package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
- package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
- package/lib/aws/compute/lb-targets/alb-target.js +3 -3
- package/lib/aws/compute/lb-targets/instance-target.js +2 -2
- package/lib/aws/compute/lb-targets/ip-target.js +1 -1
- package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
- package/lib/aws/compute/load-balancer.js +3 -3
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
- package/lib/aws/compute/machine-image/common.js +1 -1
- package/lib/aws/compute/machine-image/machine-image.js +8 -8
- package/lib/aws/compute/nat.js +5 -5
- package/lib/aws/compute/network-acl-types.js +2 -2
- package/lib/aws/compute/network-acl.js +3 -3
- package/lib/aws/compute/nlb/network-listener-action.js +1 -1
- package/lib/aws/compute/nlb/network-listener.js +1 -1
- package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
- package/lib/aws/compute/nlb/network-target-group.js +1 -1
- package/lib/aws/compute/peer.js +1 -1
- package/lib/aws/compute/placement-group.js +1 -1
- package/lib/aws/compute/port.js +1 -1
- package/lib/aws/compute/prefix-list.js +1 -1
- package/lib/aws/compute/route.js +8 -8
- package/lib/aws/compute/security-group.js +1 -1
- package/lib/aws/compute/state-graph.js +1 -1
- package/lib/aws/compute/state-machine-fragment.js +1 -1
- package/lib/aws/compute/state-machine.js +4 -4
- package/lib/aws/compute/states/choice.js +1 -1
- package/lib/aws/compute/states/custom-state.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
- package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
- package/lib/aws/compute/states/distributed-map.js +1 -1
- package/lib/aws/compute/states/fail.js +1 -1
- package/lib/aws/compute/states/map-base.js +1 -1
- package/lib/aws/compute/states/map.js +1 -1
- package/lib/aws/compute/states/parallel.js +1 -1
- package/lib/aws/compute/states/pass.js +2 -2
- package/lib/aws/compute/states/state.js +1 -1
- package/lib/aws/compute/states/succeed.js +1 -1
- package/lib/aws/compute/states/task-base.js +2 -2
- package/lib/aws/compute/states/task.js +1 -1
- package/lib/aws/compute/states/wait.js +2 -2
- package/lib/aws/compute/subnet-v2.js +2 -2
- package/lib/aws/compute/subnet.js +1 -1
- package/lib/aws/compute/task-credentials.js +1 -1
- package/lib/aws/compute/task-input.js +1 -1
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
- package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
- package/lib/aws/compute/tasks/http/invoke.js +1 -1
- package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
- package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
- package/lib/aws/compute/types.js +1 -1
- package/lib/aws/compute/user-data.js +3 -3
- package/lib/aws/compute/volume.js +2 -2
- package/lib/aws/compute/vpc-endpoint-service.js +1 -1
- package/lib/aws/compute/vpc-endpoint.js +6 -6
- package/lib/aws/compute/vpc-flow-logs.js +4 -4
- package/lib/aws/compute/vpc-v2-base.js +1 -1
- package/lib/aws/compute/vpc-v2.js +2 -2
- package/lib/aws/compute/vpc.js +4 -4
- package/lib/aws/compute/vpn.js +3 -3
- package/lib/aws/edge/certificate.js +1 -1
- package/lib/aws/edge/distribution.js +3 -3
- package/lib/aws/edge/dns-alias-record-targets.js +3 -3
- package/lib/aws/edge/dns-record.js +13 -13
- package/lib/aws/edge/dns-zone.js +1 -1
- package/lib/aws/edge/function.js +2 -2
- package/lib/aws/edge/key-value-store.js +4 -4
- package/lib/aws/edge/origin.js +3 -3
- package/lib/aws/edge/response-headers-policy.js +1 -1
- package/lib/aws/encryption/alias.js +1 -1
- package/lib/aws/encryption/key.js +1 -1
- package/lib/aws/encryption/via-service-principal.js +1 -1
- package/lib/aws/iam/grant.js +2 -2
- package/lib/aws/iam/group.js +1 -1
- package/lib/aws/iam/instance-profile.js +1 -1
- package/lib/aws/iam/managed-policy.js +1 -1
- package/lib/aws/iam/oidc-provider.js +1 -1
- package/lib/aws/iam/policy-document.js +1 -1
- package/lib/aws/iam/policy-statement.js +1 -1
- package/lib/aws/iam/policy.js +1 -1
- package/lib/aws/iam/principals.js +20 -20
- package/lib/aws/iam/role.js +1 -1
- package/lib/aws/iam/saml-provider.js +2 -2
- package/lib/aws/iam/unknown-principal.js +1 -1
- package/lib/aws/iam/user.js +1 -1
- package/lib/aws/network/simple-ipv4-vpc.js +1 -1
- package/lib/aws/network/subnet-group.js +3 -3
- package/lib/aws/network/subnet.js +4 -4
- package/lib/aws/notify/archive.js +1 -1
- package/lib/aws/notify/connection.js +3 -3
- package/lib/aws/notify/delivery-policy.d.ts +114 -0
- package/lib/aws/notify/delivery-policy.js +27 -0
- package/lib/aws/notify/event-bus.js +3 -3
- package/lib/aws/notify/event-pattern.js +1 -1
- package/lib/aws/notify/index.d.ts +11 -0
- package/lib/aws/notify/index.js +14 -1
- package/lib/aws/notify/input.js +2 -2
- package/lib/aws/notify/kinesis-stream.js +1 -1
- package/lib/aws/notify/notification-rule-source.d.ts +20 -0
- package/lib/aws/notify/notification-rule-source.js +4 -0
- package/lib/aws/notify/notification-rule-target.d.ts +24 -0
- package/lib/aws/notify/notification-rule-target.js +4 -0
- package/lib/aws/notify/notification-rule.d.ts +123 -0
- package/lib/aws/notify/notification-rule.js +129 -0
- package/lib/aws/notify/policy.d.ts +56 -0
- package/lib/aws/notify/policy.js +83 -0
- package/lib/aws/notify/queue-policy.js +1 -1
- package/lib/aws/notify/queue.js +1 -1
- package/lib/aws/notify/resource-policy.js +1 -1
- package/lib/aws/notify/rule.js +1 -1
- package/lib/aws/notify/schedule.js +1 -1
- package/lib/aws/notify/sns-augmentations.generated.d.ts +125 -0
- package/lib/aws/notify/sns-augmentations.generated.js +71 -0
- package/lib/aws/notify/sns-canned-metrics.generated.d.ts +33 -0
- package/lib/aws/notify/sns-canned-metrics.generated.js +47 -0
- package/lib/aws/notify/subscriber.d.ts +44 -0
- package/lib/aws/notify/subscriber.js +4 -0
- package/lib/aws/notify/subscription-filter.d.ts +129 -0
- package/lib/aws/notify/subscription-filter.js +105 -0
- package/lib/aws/notify/subscription.d.ts +219 -0
- package/lib/aws/notify/subscription.js +357 -0
- package/lib/aws/notify/targets/event-bus.js +1 -1
- package/lib/aws/notify/targets/function.js +1 -1
- package/lib/aws/notify/targets/log-group.js +2 -2
- package/lib/aws/notify/targets/sqs.js +1 -1
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/topic-base.d.ts +155 -0
- package/lib/aws/notify/topic-base.js +175 -0
- package/lib/aws/notify/topic.d.ts +222 -0
- package/lib/aws/notify/topic.js +219 -0
- package/lib/aws/storage/bucket-notifications.js +1 -1
- package/lib/aws/storage/bucket-policy.js +1 -1
- package/lib/aws/storage/bucket-source.js +1 -1
- package/lib/aws/storage/bucket.js +2 -2
- package/lib/aws/storage/notification-targets/function.js +1 -1
- package/lib/aws/storage/notification-targets/queue.js +1 -1
- package/lib/aws/storage/origin-access-identity.js +1 -1
- package/lib/aws/storage/parameter.js +2 -2
- package/lib/construct-base.js +2 -2
- package/lib/duration.js +1 -1
- package/lib/expiration.js +1 -1
- package/lib/size.js +1 -1
- package/lib/stack-base.js +1 -1
- package/lib/terra-func.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import * as cw from "../cloudwatch";
|
|
2
|
+
declare module "./topic-base" {
|
|
3
|
+
interface ITopic {
|
|
4
|
+
/**
|
|
5
|
+
* Return the given named metric for this Topic
|
|
6
|
+
*/
|
|
7
|
+
metric(metricName: string, props?: cw.MetricOptions): cw.Metric;
|
|
8
|
+
/**
|
|
9
|
+
* Metric for the size of messages published through this topic
|
|
10
|
+
*
|
|
11
|
+
* Average over 5 minutes
|
|
12
|
+
*/
|
|
13
|
+
metricPublishSize(props?: cw.MetricOptions): cw.Metric;
|
|
14
|
+
/**
|
|
15
|
+
* The number of messages published to your Amazon SNS topics.
|
|
16
|
+
*
|
|
17
|
+
* Sum over 5 minutes
|
|
18
|
+
*/
|
|
19
|
+
metricNumberOfMessagesPublished(props?: cw.MetricOptions): cw.Metric;
|
|
20
|
+
/**
|
|
21
|
+
* The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints.
|
|
22
|
+
*
|
|
23
|
+
* Sum over 5 minutes
|
|
24
|
+
*/
|
|
25
|
+
metricNumberOfNotificationsDelivered(props?: cw.MetricOptions): cw.Metric;
|
|
26
|
+
/**
|
|
27
|
+
* The number of messages that Amazon SNS failed to deliver.
|
|
28
|
+
*
|
|
29
|
+
* Sum over 5 minutes
|
|
30
|
+
*/
|
|
31
|
+
metricNumberOfNotificationsFailed(props?: cw.MetricOptions): cw.Metric;
|
|
32
|
+
/**
|
|
33
|
+
* The number of messages that were rejected by subscription filter policies.
|
|
34
|
+
*
|
|
35
|
+
* Sum over 5 minutes
|
|
36
|
+
*/
|
|
37
|
+
metricNumberOfNotificationsFilteredOut(props?: cw.MetricOptions): cw.Metric;
|
|
38
|
+
/**
|
|
39
|
+
* The number of messages that were rejected by subscription filter policies because the messages have no attributes.
|
|
40
|
+
*
|
|
41
|
+
* Sum over 5 minutes
|
|
42
|
+
*/
|
|
43
|
+
metricNumberOfNotificationsFilteredOutNoMessageAttributes(props?: cw.MetricOptions): cw.Metric;
|
|
44
|
+
/**
|
|
45
|
+
* The number of messages that were rejected by subscription filter policies because the messages' attributes are invalid
|
|
46
|
+
*
|
|
47
|
+
* Sum over 5 minutes
|
|
48
|
+
*/
|
|
49
|
+
metricNumberOfNotificationsFilteredOutInvalidAttributes(props?: cw.MetricOptions): cw.Metric;
|
|
50
|
+
/**
|
|
51
|
+
* The charges you have accrued since the start of the current calendar month for sending SMS messages.
|
|
52
|
+
*
|
|
53
|
+
* Maximum over 5 minutes
|
|
54
|
+
*/
|
|
55
|
+
metricSMSMonthToDateSpentUSD(props?: cw.MetricOptions): cw.Metric;
|
|
56
|
+
/**
|
|
57
|
+
* The rate of successful SMS message deliveries.
|
|
58
|
+
*
|
|
59
|
+
* Sum over 5 minutes
|
|
60
|
+
*/
|
|
61
|
+
metricSMSSuccessRate(props?: cw.MetricOptions): cw.Metric;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
declare module "./topic-base" {
|
|
65
|
+
interface TopicBase {
|
|
66
|
+
/**
|
|
67
|
+
* Return the given named metric for this Topic
|
|
68
|
+
*/
|
|
69
|
+
metric(metricName: string, props?: cw.MetricOptions): cw.Metric;
|
|
70
|
+
/**
|
|
71
|
+
* Metric for the size of messages published through this topic
|
|
72
|
+
*
|
|
73
|
+
* Average over 5 minutes
|
|
74
|
+
*/
|
|
75
|
+
metricPublishSize(props?: cw.MetricOptions): cw.Metric;
|
|
76
|
+
/**
|
|
77
|
+
* The number of messages published to your Amazon SNS topics.
|
|
78
|
+
*
|
|
79
|
+
* Sum over 5 minutes
|
|
80
|
+
*/
|
|
81
|
+
metricNumberOfMessagesPublished(props?: cw.MetricOptions): cw.Metric;
|
|
82
|
+
/**
|
|
83
|
+
* The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints.
|
|
84
|
+
*
|
|
85
|
+
* Sum over 5 minutes
|
|
86
|
+
*/
|
|
87
|
+
metricNumberOfNotificationsDelivered(props?: cw.MetricOptions): cw.Metric;
|
|
88
|
+
/**
|
|
89
|
+
* The number of messages that Amazon SNS failed to deliver.
|
|
90
|
+
*
|
|
91
|
+
* Sum over 5 minutes
|
|
92
|
+
*/
|
|
93
|
+
metricNumberOfNotificationsFailed(props?: cw.MetricOptions): cw.Metric;
|
|
94
|
+
/**
|
|
95
|
+
* The number of messages that were rejected by subscription filter policies.
|
|
96
|
+
*
|
|
97
|
+
* Sum over 5 minutes
|
|
98
|
+
*/
|
|
99
|
+
metricNumberOfNotificationsFilteredOut(props?: cw.MetricOptions): cw.Metric;
|
|
100
|
+
/**
|
|
101
|
+
* The number of messages that were rejected by subscription filter policies because the messages have no attributes.
|
|
102
|
+
*
|
|
103
|
+
* Sum over 5 minutes
|
|
104
|
+
*/
|
|
105
|
+
metricNumberOfNotificationsFilteredOutNoMessageAttributes(props?: cw.MetricOptions): cw.Metric;
|
|
106
|
+
/**
|
|
107
|
+
* The number of messages that were rejected by subscription filter policies because the messages' attributes are invalid
|
|
108
|
+
*
|
|
109
|
+
* Sum over 5 minutes
|
|
110
|
+
*/
|
|
111
|
+
metricNumberOfNotificationsFilteredOutInvalidAttributes(props?: cw.MetricOptions): cw.Metric;
|
|
112
|
+
/**
|
|
113
|
+
* The charges you have accrued since the start of the current calendar month for sending SMS messages.
|
|
114
|
+
*
|
|
115
|
+
* Maximum over 5 minutes
|
|
116
|
+
*/
|
|
117
|
+
metricSMSMonthToDateSpentUSD(props?: cw.MetricOptions): cw.Metric;
|
|
118
|
+
/**
|
|
119
|
+
* The rate of successful SMS message deliveries.
|
|
120
|
+
*
|
|
121
|
+
* Sum over 5 minutes
|
|
122
|
+
*/
|
|
123
|
+
metricSMSSuccessRate(props?: cw.MetricOptions): cw.Metric;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// Copyright 2012-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
/* eslint-disable prettier/prettier,max-len */
|
|
5
|
+
const cw = require("../cloudwatch");
|
|
6
|
+
const topic_base_1 = require("./topic-base");
|
|
7
|
+
topic_base_1.TopicBase.prototype.metric = function (metricName, props) {
|
|
8
|
+
return new cw.Metric({
|
|
9
|
+
"namespace": "AWS/SNS",
|
|
10
|
+
"metricName": metricName,
|
|
11
|
+
"dimensionsMap": {
|
|
12
|
+
"TopicName": this.topicName
|
|
13
|
+
},
|
|
14
|
+
...props
|
|
15
|
+
}).attachTo(this);
|
|
16
|
+
};
|
|
17
|
+
topic_base_1.TopicBase.prototype.metricPublishSize = function (props) {
|
|
18
|
+
return this.metric("PublishSize", {
|
|
19
|
+
"statistic": "Average",
|
|
20
|
+
...props
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
topic_base_1.TopicBase.prototype.metricNumberOfMessagesPublished = function (props) {
|
|
24
|
+
return this.metric("NumberOfMessagesPublished", {
|
|
25
|
+
"statistic": "Sum",
|
|
26
|
+
...props
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
topic_base_1.TopicBase.prototype.metricNumberOfNotificationsDelivered = function (props) {
|
|
30
|
+
return this.metric("NumberOfNotificationsDelivered", {
|
|
31
|
+
"statistic": "Sum",
|
|
32
|
+
...props
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
topic_base_1.TopicBase.prototype.metricNumberOfNotificationsFailed = function (props) {
|
|
36
|
+
return this.metric("NumberOfNotificationsFailed", {
|
|
37
|
+
"statistic": "Sum",
|
|
38
|
+
...props
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
topic_base_1.TopicBase.prototype.metricNumberOfNotificationsFilteredOut = function (props) {
|
|
42
|
+
return this.metric("NumberOfNotificationsFilteredOut", {
|
|
43
|
+
"statistic": "Sum",
|
|
44
|
+
...props
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
topic_base_1.TopicBase.prototype.metricNumberOfNotificationsFilteredOutNoMessageAttributes = function (props) {
|
|
48
|
+
return this.metric("NumberOfNotificationsFilteredOut-NoMessageAttributes", {
|
|
49
|
+
"statistic": "Sum",
|
|
50
|
+
...props
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
topic_base_1.TopicBase.prototype.metricNumberOfNotificationsFilteredOutInvalidAttributes = function (props) {
|
|
54
|
+
return this.metric("NumberOfNotificationsFilteredOut-InvalidAttributes", {
|
|
55
|
+
"statistic": "Sum",
|
|
56
|
+
...props
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
topic_base_1.TopicBase.prototype.metricSMSMonthToDateSpentUSD = function (props) {
|
|
60
|
+
return this.metric("SMSMonthToDateSpentUSD", {
|
|
61
|
+
"statistic": "Maximum",
|
|
62
|
+
...props
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
topic_base_1.TopicBase.prototype.metricSMSSuccessRate = function (props) {
|
|
66
|
+
return this.metric("SMSSuccessRate", {
|
|
67
|
+
"statistic": "Sum",
|
|
68
|
+
...props
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25zLWF1Z21lbnRhdGlvbnMuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvc25zLWF1Z21lbnRhdGlvbnMuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0VBQStFO0FBQy9FLDhDQUE4QztBQUM5QyxvQ0FBb0M7QUFDcEMsNkNBQXlDO0FBb0p6QyxzQkFBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBUyxVQUFrQixFQUFFLEtBQXdCO0lBQ2hGLE9BQU8sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ25CLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLFlBQVksRUFBRSxVQUFVO1FBQ3hCLGVBQWUsRUFBRTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUztTQUM1QjtRQUNELEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEdBQUcsVUFBUyxLQUF3QjtJQUN2RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1FBQ2hDLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLHNCQUFTLENBQUMsU0FBUyxDQUFDLCtCQUErQixHQUFHLFVBQVMsS0FBd0I7SUFDckYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFO1FBQzlDLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLHNCQUFTLENBQUMsU0FBUyxDQUFDLG9DQUFvQyxHQUFHLFVBQVMsS0FBd0I7SUFDMUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdDQUFnQyxFQUFFO1FBQ25ELFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLHNCQUFTLENBQUMsU0FBUyxDQUFDLGlDQUFpQyxHQUFHLFVBQVMsS0FBd0I7SUFDdkYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDZCQUE2QixFQUFFO1FBQ2hELFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLHNCQUFTLENBQUMsU0FBUyxDQUFDLHNDQUFzQyxHQUFHLFVBQVMsS0FBd0I7SUFDNUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGtDQUFrQyxFQUFFO1FBQ3JELFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLHNCQUFTLENBQUMsU0FBUyxDQUFDLHlEQUF5RCxHQUFHLFVBQVMsS0FBd0I7SUFDL0csT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHNEQUFzRCxFQUFFO1FBQ3pFLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLHNCQUFTLENBQUMsU0FBUyxDQUFDLHVEQUF1RCxHQUFHLFVBQVMsS0FBd0I7SUFDN0csT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLG9EQUFvRCxFQUFFO1FBQ3ZFLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLHNCQUFTLENBQUMsU0FBUyxDQUFDLDRCQUE0QixHQUFHLFVBQVMsS0FBd0I7SUFDbEYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFO1FBQzNDLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLHNCQUFTLENBQUMsU0FBUyxDQUFDLG9CQUFvQixHQUFHLFVBQVMsS0FBd0I7SUFDMUUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFO1FBQ25DLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDEyLTIwMjQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8qIGVzbGludC1kaXNhYmxlIHByZXR0aWVyL3ByZXR0aWVyLG1heC1sZW4gKi9cbmltcG9ydCAqIGFzIGN3IGZyb20gXCIuLi9jbG91ZHdhdGNoXCI7XG5pbXBvcnQgeyBUb3BpY0Jhc2UgfSBmcm9tIFwiLi90b3BpYy1iYXNlXCI7XG5cbmRlY2xhcmUgbW9kdWxlIFwiLi90b3BpYy1iYXNlXCIge1xuICBpbnRlcmZhY2UgSVRvcGljIHtcbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGdpdmVuIG5hbWVkIG1ldHJpYyBmb3IgdGhpcyBUb3BpY1xuICAgICAqL1xuICAgIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIE1ldHJpYyBmb3IgdGhlIHNpemUgb2YgbWVzc2FnZXMgcHVibGlzaGVkIHRocm91Z2ggdGhpcyB0b3BpY1xuICAgICAqXG4gICAgICogQXZlcmFnZSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY1B1Ymxpc2hTaXplKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgcHVibGlzaGVkIHRvIHlvdXIgQW1hem9uIFNOUyB0b3BpY3MuXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZk1lc3NhZ2VzUHVibGlzaGVkKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgc3VjY2Vzc2Z1bGx5IGRlbGl2ZXJlZCBmcm9tIHlvdXIgQW1hem9uIFNOUyB0b3BpY3MgdG8gc3Vic2NyaWJpbmcgZW5kcG9pbnRzLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljTnVtYmVyT2ZOb3RpZmljYXRpb25zRGVsaXZlcmVkKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgdGhhdCBBbWF6b24gU05TIGZhaWxlZCB0byBkZWxpdmVyLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljTnVtYmVyT2ZOb3RpZmljYXRpb25zRmFpbGVkKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgdGhhdCB3ZXJlIHJlamVjdGVkIGJ5IHN1YnNjcmlwdGlvbiBmaWx0ZXIgcG9saWNpZXMuXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZk5vdGlmaWNhdGlvbnNGaWx0ZXJlZE91dChwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHRoYXQgd2VyZSByZWplY3RlZCBieSBzdWJzY3JpcHRpb24gZmlsdGVyIHBvbGljaWVzIGJlY2F1c2UgdGhlIG1lc3NhZ2VzIGhhdmUgbm8gYXR0cmlidXRlcy5cbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY051bWJlck9mTm90aWZpY2F0aW9uc0ZpbHRlcmVkT3V0Tm9NZXNzYWdlQXR0cmlidXRlcyhwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHRoYXQgd2VyZSByZWplY3RlZCBieSBzdWJzY3JpcHRpb24gZmlsdGVyIHBvbGljaWVzIGJlY2F1c2UgdGhlIG1lc3NhZ2VzJyBhdHRyaWJ1dGVzIGFyZSBpbnZhbGlkXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZk5vdGlmaWNhdGlvbnNGaWx0ZXJlZE91dEludmFsaWRBdHRyaWJ1dGVzKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBjaGFyZ2VzIHlvdSBoYXZlIGFjY3J1ZWQgc2luY2UgdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IGNhbGVuZGFyIG1vbnRoIGZvciBzZW5kaW5nIFNNUyBtZXNzYWdlcy5cbiAgICAgKlxuICAgICAqIE1heGltdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNTTVNNb250aFRvRGF0ZVNwZW50VVNEKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSByYXRlIG9mIHN1Y2Nlc3NmdWwgU01TIG1lc3NhZ2UgZGVsaXZlcmllcy5cbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY1NNU1N1Y2Nlc3NSYXRlKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcbiAgfVxufVxuXG5cblxuZGVjbGFyZSBtb2R1bGUgXCIuL3RvcGljLWJhc2VcIiB7XG4gIGludGVyZmFjZSBUb3BpY0Jhc2Uge1xuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGZvciB0aGlzIFRvcGljXG4gICAgICovXG4gICAgbWV0cmljKG1ldHJpY05hbWU6IHN0cmluZywgcHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogTWV0cmljIGZvciB0aGUgc2l6ZSBvZiBtZXNzYWdlcyBwdWJsaXNoZWQgdGhyb3VnaCB0aGlzIHRvcGljXG4gICAgICpcbiAgICAgKiBBdmVyYWdlIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljUHVibGlzaFNpemUocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBwdWJsaXNoZWQgdG8geW91ciBBbWF6b24gU05TIHRvcGljcy5cbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY051bWJlck9mTWVzc2FnZXNQdWJsaXNoZWQocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBzdWNjZXNzZnVsbHkgZGVsaXZlcmVkIGZyb20geW91ciBBbWF6b24gU05TIHRvcGljcyB0byBzdWJzY3JpYmluZyBlbmRwb2ludHMuXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZk5vdGlmaWNhdGlvbnNEZWxpdmVyZWQocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyB0aGF0IEFtYXpvbiBTTlMgZmFpbGVkIHRvIGRlbGl2ZXIuXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZk5vdGlmaWNhdGlvbnNGYWlsZWQocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyB0aGF0IHdlcmUgcmVqZWN0ZWQgYnkgc3Vic2NyaXB0aW9uIGZpbHRlciBwb2xpY2llcy5cbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY051bWJlck9mTm90aWZpY2F0aW9uc0ZpbHRlcmVkT3V0KHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgdGhhdCB3ZXJlIHJlamVjdGVkIGJ5IHN1YnNjcmlwdGlvbiBmaWx0ZXIgcG9saWNpZXMgYmVjYXVzZSB0aGUgbWVzc2FnZXMgaGF2ZSBubyBhdHRyaWJ1dGVzLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljTnVtYmVyT2ZOb3RpZmljYXRpb25zRmlsdGVyZWRPdXROb01lc3NhZ2VBdHRyaWJ1dGVzKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgdGhhdCB3ZXJlIHJlamVjdGVkIGJ5IHN1YnNjcmlwdGlvbiBmaWx0ZXIgcG9saWNpZXMgYmVjYXVzZSB0aGUgbWVzc2FnZXMnIGF0dHJpYnV0ZXMgYXJlIGludmFsaWRcbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY051bWJlck9mTm90aWZpY2F0aW9uc0ZpbHRlcmVkT3V0SW52YWxpZEF0dHJpYnV0ZXMocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYXJnZXMgeW91IGhhdmUgYWNjcnVlZCBzaW5jZSB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgY2FsZW5kYXIgbW9udGggZm9yIHNlbmRpbmcgU01TIG1lc3NhZ2VzLlxuICAgICAqXG4gICAgICogTWF4aW11bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY1NNU01vbnRoVG9EYXRlU3BlbnRVU0QocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHJhdGUgb2Ygc3VjY2Vzc2Z1bCBTTVMgbWVzc2FnZSBkZWxpdmVyaWVzLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljU01TU3VjY2Vzc1JhdGUocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuICB9XG59XG5cblRvcGljQmFzZS5wcm90b3R5cGUubWV0cmljID0gZnVuY3Rpb24obWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpIHtcbiAgcmV0dXJuIG5ldyBjdy5NZXRyaWMoe1xuICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1NOU1wiLFxuICAgIFwibWV0cmljTmFtZVwiOiBtZXRyaWNOYW1lLFxuICAgIFwiZGltZW5zaW9uc01hcFwiOiB7XG4gICAgICBcIlRvcGljTmFtZVwiOiB0aGlzLnRvcGljTmFtZVxuICAgIH0sXG4gICAgLi4ucHJvcHNcbiAgfSkuYXR0YWNoVG8odGhpcyk7XG59O1xuVG9waWNCYXNlLnByb3RvdHlwZS5tZXRyaWNQdWJsaXNoU2l6ZSA9IGZ1bmN0aW9uKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucykge1xuICByZXR1cm4gdGhpcy5tZXRyaWMoXCJQdWJsaXNoU2l6ZVwiLCB7XG4gICAgXCJzdGF0aXN0aWNcIjogXCJBdmVyYWdlXCIsXG4gICAgLi4ucHJvcHNcbiAgfSk7XG59O1xuVG9waWNCYXNlLnByb3RvdHlwZS5tZXRyaWNOdW1iZXJPZk1lc3NhZ2VzUHVibGlzaGVkID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mTWVzc2FnZXNQdWJsaXNoZWRcIiwge1xuICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCIsXG4gICAgLi4ucHJvcHNcbiAgfSk7XG59O1xuVG9waWNCYXNlLnByb3RvdHlwZS5tZXRyaWNOdW1iZXJPZk5vdGlmaWNhdGlvbnNEZWxpdmVyZWQgPSBmdW5jdGlvbihwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpIHtcbiAgcmV0dXJuIHRoaXMubWV0cmljKFwiTnVtYmVyT2ZOb3RpZmljYXRpb25zRGVsaXZlcmVkXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiLFxuICAgIC4uLnByb3BzXG4gIH0pO1xufTtcblRvcGljQmFzZS5wcm90b3R5cGUubWV0cmljTnVtYmVyT2ZOb3RpZmljYXRpb25zRmFpbGVkID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mTm90aWZpY2F0aW9uc0ZhaWxlZFwiLCB7XG4gICAgXCJzdGF0aXN0aWNcIjogXCJTdW1cIixcbiAgICAuLi5wcm9wc1xuICB9KTtcbn07XG5Ub3BpY0Jhc2UucHJvdG90eXBlLm1ldHJpY051bWJlck9mTm90aWZpY2F0aW9uc0ZpbHRlcmVkT3V0ID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mTm90aWZpY2F0aW9uc0ZpbHRlcmVkT3V0XCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiLFxuICAgIC4uLnByb3BzXG4gIH0pO1xufTtcblRvcGljQmFzZS5wcm90b3R5cGUubWV0cmljTnVtYmVyT2ZOb3RpZmljYXRpb25zRmlsdGVyZWRPdXROb01lc3NhZ2VBdHRyaWJ1dGVzID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mTm90aWZpY2F0aW9uc0ZpbHRlcmVkT3V0LU5vTWVzc2FnZUF0dHJpYnV0ZXNcIiwge1xuICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCIsXG4gICAgLi4ucHJvcHNcbiAgfSk7XG59O1xuVG9waWNCYXNlLnByb3RvdHlwZS5tZXRyaWNOdW1iZXJPZk5vdGlmaWNhdGlvbnNGaWx0ZXJlZE91dEludmFsaWRBdHRyaWJ1dGVzID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mTm90aWZpY2F0aW9uc0ZpbHRlcmVkT3V0LUludmFsaWRBdHRyaWJ1dGVzXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiLFxuICAgIC4uLnByb3BzXG4gIH0pO1xufTtcblRvcGljQmFzZS5wcm90b3R5cGUubWV0cmljU01TTW9udGhUb0RhdGVTcGVudFVTRCA9IGZ1bmN0aW9uKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucykge1xuICByZXR1cm4gdGhpcy5tZXRyaWMoXCJTTVNNb250aFRvRGF0ZVNwZW50VVNEXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIk1heGltdW1cIixcbiAgICAuLi5wcm9wc1xuICB9KTtcbn07XG5Ub3BpY0Jhc2UucHJvdG90eXBlLm1ldHJpY1NNU1N1Y2Nlc3NSYXRlID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIlNNU1N1Y2Nlc3NSYXRlXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiLFxuICAgIC4uLnByb3BzXG4gIH0pO1xufTsiXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface MetricWithDims<D> {
|
|
2
|
+
readonly namespace: string;
|
|
3
|
+
readonly metricName: string;
|
|
4
|
+
readonly statistic: string;
|
|
5
|
+
readonly dimensionsMap: D;
|
|
6
|
+
}
|
|
7
|
+
export declare class SNSMetrics {
|
|
8
|
+
static numberOfNotificationsDeliveredSum(dimensions: {
|
|
9
|
+
TopicName: string;
|
|
10
|
+
}): MetricWithDims<{
|
|
11
|
+
TopicName: string;
|
|
12
|
+
}>;
|
|
13
|
+
static numberOfNotificationsFailedSum(dimensions: {
|
|
14
|
+
TopicName: string;
|
|
15
|
+
}): MetricWithDims<{
|
|
16
|
+
TopicName: string;
|
|
17
|
+
}>;
|
|
18
|
+
static numberOfMessagesPublishedSum(dimensions: {
|
|
19
|
+
TopicName: string;
|
|
20
|
+
}): MetricWithDims<{
|
|
21
|
+
TopicName: string;
|
|
22
|
+
}>;
|
|
23
|
+
static publishSizeAverage(dimensions: {
|
|
24
|
+
TopicName: string;
|
|
25
|
+
}): MetricWithDims<{
|
|
26
|
+
TopicName: string;
|
|
27
|
+
}>;
|
|
28
|
+
static smsSuccessRateSum(dimensions: {
|
|
29
|
+
TopicName: string;
|
|
30
|
+
}): MetricWithDims<{
|
|
31
|
+
TopicName: string;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SNSMetrics = void 0;
|
|
4
|
+
class SNSMetrics {
|
|
5
|
+
static numberOfNotificationsDeliveredSum(dimensions) {
|
|
6
|
+
return {
|
|
7
|
+
"namespace": "AWS/SNS",
|
|
8
|
+
"metricName": "NumberOfNotificationsDelivered",
|
|
9
|
+
"dimensionsMap": dimensions,
|
|
10
|
+
"statistic": "Sum"
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
static numberOfNotificationsFailedSum(dimensions) {
|
|
14
|
+
return {
|
|
15
|
+
"namespace": "AWS/SNS",
|
|
16
|
+
"metricName": "NumberOfNotificationsFailed",
|
|
17
|
+
"dimensionsMap": dimensions,
|
|
18
|
+
"statistic": "Sum"
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
static numberOfMessagesPublishedSum(dimensions) {
|
|
22
|
+
return {
|
|
23
|
+
"namespace": "AWS/SNS",
|
|
24
|
+
"metricName": "NumberOfMessagesPublished",
|
|
25
|
+
"dimensionsMap": dimensions,
|
|
26
|
+
"statistic": "Sum"
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
static publishSizeAverage(dimensions) {
|
|
30
|
+
return {
|
|
31
|
+
"namespace": "AWS/SNS",
|
|
32
|
+
"metricName": "PublishSize",
|
|
33
|
+
"dimensionsMap": dimensions,
|
|
34
|
+
"statistic": "Average"
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
static smsSuccessRateSum(dimensions) {
|
|
38
|
+
return {
|
|
39
|
+
"namespace": "AWS/SNS",
|
|
40
|
+
"metricName": "SMSSuccessRate",
|
|
41
|
+
"dimensionsMap": dimensions,
|
|
42
|
+
"statistic": "Sum"
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.SNSMetrics = SNSMetrics;
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25zLWNhbm5lZC1tZXRyaWNzLmdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3Nucy1jYW5uZWQtbWV0cmljcy5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0EsTUFBYSxVQUFVO0lBQ2QsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLFVBQWtDO1FBQ2hGLE9BQU87WUFDTCxXQUFXLEVBQUUsU0FBUztZQUN0QixZQUFZLEVBQUUsZ0NBQWdDO1lBQzlDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLDhCQUE4QixDQUFDLFVBQWtDO1FBQzdFLE9BQU87WUFDTCxXQUFXLEVBQUUsU0FBUztZQUN0QixZQUFZLEVBQUUsNkJBQTZCO1lBQzNDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLDRCQUE0QixDQUFDLFVBQWtDO1FBQzNFLE9BQU87WUFDTCxXQUFXLEVBQUUsU0FBUztZQUN0QixZQUFZLEVBQUUsMkJBQTJCO1lBQ3pDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQWtDO1FBQ2pFLE9BQU87WUFDTCxXQUFXLEVBQUUsU0FBUztZQUN0QixZQUFZLEVBQUUsYUFBYTtZQUMzQixlQUFlLEVBQUUsVUFBVTtZQUMzQixXQUFXLEVBQUUsU0FBUztTQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFrQztRQUNoRSxPQUFPO1lBQ0wsV0FBVyxFQUFFLFNBQVM7WUFDdEIsWUFBWSxFQUFFLGdCQUFnQjtZQUM5QixlQUFlLEVBQUUsVUFBVTtZQUMzQixXQUFXLEVBQUUsS0FBSztTQUNuQixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBN0NELGdDQTZDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHByZXR0aWVyL3ByZXR0aWVyLG1heC1sZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljV2l0aERpbXM8RD4ge1xuICByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcblxuICByZWFkb25seSBtZXRyaWNOYW1lOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgc3RhdGlzdGljOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgZGltZW5zaW9uc01hcDogRDtcbn1cblxuZXhwb3J0IGNsYXNzIFNOU01ldHJpY3Mge1xuICBwdWJsaWMgc3RhdGljIG51bWJlck9mTm90aWZpY2F0aW9uc0RlbGl2ZXJlZFN1bShkaW1lbnNpb25zOiB7IFRvcGljTmFtZTogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBUb3BpY05hbWU6IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TTlNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIk51bWJlck9mTm90aWZpY2F0aW9uc0RlbGl2ZXJlZFwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgbnVtYmVyT2ZOb3RpZmljYXRpb25zRmFpbGVkU3VtKGRpbWVuc2lvbnM6IHsgVG9waWNOYW1lOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IFRvcGljTmFtZTogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1NOU1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiTnVtYmVyT2ZOb3RpZmljYXRpb25zRmFpbGVkXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBudW1iZXJPZk1lc3NhZ2VzUHVibGlzaGVkU3VtKGRpbWVuc2lvbnM6IHsgVG9waWNOYW1lOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IFRvcGljTmFtZTogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1NOU1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiTnVtYmVyT2ZNZXNzYWdlc1B1Ymxpc2hlZFwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcHVibGlzaFNpemVBdmVyYWdlKGRpbWVuc2lvbnM6IHsgVG9waWNOYW1lOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IFRvcGljTmFtZTogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1NOU1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiUHVibGlzaFNpemVcIixcbiAgICAgIFwiZGltZW5zaW9uc01hcFwiOiBkaW1lbnNpb25zLFxuICAgICAgXCJzdGF0aXN0aWNcIjogXCJBdmVyYWdlXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzbXNTdWNjZXNzUmF0ZVN1bShkaW1lbnNpb25zOiB7IFRvcGljTmFtZTogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBUb3BpY05hbWU6IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TTlNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIlNNU1N1Y2Nlc3NSYXRlXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG59Il19
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Construct, IDependable } from "constructs";
|
|
2
|
+
import { SubscriptionOptions } from "./subscription";
|
|
3
|
+
import { ITopic } from "./topic-base";
|
|
4
|
+
/**
|
|
5
|
+
* Subscription configuration
|
|
6
|
+
*/
|
|
7
|
+
export interface TopicSubscriptionConfig extends SubscriptionOptions {
|
|
8
|
+
/**
|
|
9
|
+
* The scope in which to create the SNS subscription resource. Normally you'd
|
|
10
|
+
* want the subscription to be created on the consuming stack because the
|
|
11
|
+
* topic is usually referenced by the consumer's resource policy (e.g. SQS
|
|
12
|
+
* queue policy). Otherwise, it will cause a cyclic reference.
|
|
13
|
+
*
|
|
14
|
+
* If this is undefined, the subscription will be created on the topic's stack.
|
|
15
|
+
*
|
|
16
|
+
* @default - use the topic as the scope of the subscription, in which case `subscriberId` must be defined.
|
|
17
|
+
*/
|
|
18
|
+
readonly subscriberScope?: Construct;
|
|
19
|
+
/**
|
|
20
|
+
* The id of the SNS subscription resource created under `scope`. In most
|
|
21
|
+
* cases, it is recommended to use the `uniqueId` of the topic you are
|
|
22
|
+
* subscribing to.
|
|
23
|
+
*/
|
|
24
|
+
readonly subscriberId: string;
|
|
25
|
+
/**
|
|
26
|
+
* The resources that need to be created before the subscription can be safely created.
|
|
27
|
+
* For example for SQS subscription, the subscription needs to have a dependency on the SQS queue policy
|
|
28
|
+
* in order for the subscription to successfully deliver messages.
|
|
29
|
+
*
|
|
30
|
+
* @default - empty list
|
|
31
|
+
*/
|
|
32
|
+
readonly subscriptionDependency?: IDependable;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Topic subscription
|
|
36
|
+
*/
|
|
37
|
+
export interface ITopicSubscription {
|
|
38
|
+
/**
|
|
39
|
+
* Returns a configuration used to subscribe to an SNS topic
|
|
40
|
+
*
|
|
41
|
+
* @param topic topic for which subscription will be configured
|
|
42
|
+
*/
|
|
43
|
+
bind(topic: ITopic): TopicSubscriptionConfig;
|
|
44
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// https://github.com/aws/aws-cdk/blob/a2c633f1e698249496f11338312ab42bd7b1e4f0/packages/aws-cdk-lib/aws-sns/lib/subscriber.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3N1YnNjcmliZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDhIQUE4SCIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2EyYzYzM2YxZTY5ODI0OTQ5NmYxMTMzODMxMmFiNDJiZDdiMWU0ZjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLXNucy9saWIvc3Vic2NyaWJlci50c1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElEZXBlbmRhYmxlIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9wdGlvbnMgfSBmcm9tIFwiLi9zdWJzY3JpcHRpb25cIjtcbmltcG9ydCB7IElUb3BpYyB9IGZyb20gXCIuL3RvcGljLWJhc2VcIjtcblxuLyoqXG4gKiBTdWJzY3JpcHRpb24gY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvcGljU3Vic2NyaXB0aW9uQ29uZmlnIGV4dGVuZHMgU3Vic2NyaXB0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gY3JlYXRlIHRoZSBTTlMgc3Vic2NyaXB0aW9uIHJlc291cmNlLiBOb3JtYWxseSB5b3UnZFxuICAgKiB3YW50IHRoZSBzdWJzY3JpcHRpb24gdG8gYmUgY3JlYXRlZCBvbiB0aGUgY29uc3VtaW5nIHN0YWNrIGJlY2F1c2UgdGhlXG4gICAqIHRvcGljIGlzIHVzdWFsbHkgcmVmZXJlbmNlZCBieSB0aGUgY29uc3VtZXIncyByZXNvdXJjZSBwb2xpY3kgKGUuZy4gU1FTXG4gICAqIHF1ZXVlIHBvbGljeSkuIE90aGVyd2lzZSwgaXQgd2lsbCBjYXVzZSBhIGN5Y2xpYyByZWZlcmVuY2UuXG4gICAqXG4gICAqIElmIHRoaXMgaXMgdW5kZWZpbmVkLCB0aGUgc3Vic2NyaXB0aW9uIHdpbGwgYmUgY3JlYXRlZCBvbiB0aGUgdG9waWMncyBzdGFjay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIHRvcGljIGFzIHRoZSBzY29wZSBvZiB0aGUgc3Vic2NyaXB0aW9uLCBpbiB3aGljaCBjYXNlIGBzdWJzY3JpYmVySWRgIG11c3QgYmUgZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IHN1YnNjcmliZXJTY29wZT86IENvbnN0cnVjdDtcblxuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSBTTlMgc3Vic2NyaXB0aW9uIHJlc291cmNlIGNyZWF0ZWQgdW5kZXIgYHNjb3BlYC4gSW4gbW9zdFxuICAgKiBjYXNlcywgaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBgdW5pcXVlSWRgIG9mIHRoZSB0b3BpYyB5b3UgYXJlXG4gICAqIHN1YnNjcmliaW5nIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgc3Vic2NyaWJlcklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZXMgdGhhdCBuZWVkIHRvIGJlIGNyZWF0ZWQgYmVmb3JlIHRoZSBzdWJzY3JpcHRpb24gY2FuIGJlIHNhZmVseSBjcmVhdGVkLlxuICAgKiBGb3IgZXhhbXBsZSBmb3IgU1FTIHN1YnNjcmlwdGlvbiwgdGhlIHN1YnNjcmlwdGlvbiBuZWVkcyB0byBoYXZlIGEgZGVwZW5kZW5jeSBvbiB0aGUgU1FTIHF1ZXVlIHBvbGljeVxuICAgKiBpbiBvcmRlciBmb3IgdGhlIHN1YnNjcmlwdGlvbiB0byBzdWNjZXNzZnVsbHkgZGVsaXZlciBtZXNzYWdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBlbXB0eSBsaXN0XG4gICAqL1xuICByZWFkb25seSBzdWJzY3JpcHRpb25EZXBlbmRlbmN5PzogSURlcGVuZGFibGU7XG59XG5cbi8qKlxuICogVG9waWMgc3Vic2NyaXB0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRvcGljU3Vic2NyaXB0aW9uIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb25maWd1cmF0aW9uIHVzZWQgdG8gc3Vic2NyaWJlIHRvIGFuIFNOUyB0b3BpY1xuICAgKlxuICAgKiBAcGFyYW0gdG9waWMgdG9waWMgZm9yIHdoaWNoIHN1YnNjcmlwdGlvbiB3aWxsIGJlIGNvbmZpZ3VyZWRcbiAgICovXG4gIGJpbmQodG9waWM6IElUb3BpYyk6IFRvcGljU3Vic2NyaXB0aW9uQ29uZmlnO1xufVxuIl19
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conditions that can be applied to string attributes.
|
|
3
|
+
*/
|
|
4
|
+
export interface StringConditions {
|
|
5
|
+
/**
|
|
6
|
+
* Match one or more values.
|
|
7
|
+
*
|
|
8
|
+
* @deprecated use `allowlist`
|
|
9
|
+
* @default - None
|
|
10
|
+
*/
|
|
11
|
+
readonly whitelist?: string[];
|
|
12
|
+
/**
|
|
13
|
+
* Match any value that doesn't include any of the specified values.
|
|
14
|
+
* @deprecated use `denylist`
|
|
15
|
+
* @default - None
|
|
16
|
+
*/
|
|
17
|
+
readonly blacklist?: string[];
|
|
18
|
+
/**
|
|
19
|
+
* Match one or more values.
|
|
20
|
+
* @default - None
|
|
21
|
+
*/
|
|
22
|
+
readonly allowlist?: string[];
|
|
23
|
+
/**
|
|
24
|
+
* Match any value that doesn't include any of the specified values.
|
|
25
|
+
* @default - None
|
|
26
|
+
*/
|
|
27
|
+
readonly denylist?: string[];
|
|
28
|
+
/**
|
|
29
|
+
* Matches values that begins with the specified prefixes.
|
|
30
|
+
*
|
|
31
|
+
* @default - None
|
|
32
|
+
*/
|
|
33
|
+
readonly matchPrefixes?: string[];
|
|
34
|
+
/**
|
|
35
|
+
* Matches values that end with the specified suffixes.
|
|
36
|
+
*
|
|
37
|
+
* @default - None
|
|
38
|
+
*/
|
|
39
|
+
readonly matchSuffixes?: string[];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Between condition for a numeric attribute.
|
|
43
|
+
*/
|
|
44
|
+
export interface BetweenCondition {
|
|
45
|
+
/**
|
|
46
|
+
* The start value.
|
|
47
|
+
*/
|
|
48
|
+
readonly start: number;
|
|
49
|
+
/**
|
|
50
|
+
* The stop value.
|
|
51
|
+
*/
|
|
52
|
+
readonly stop: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Conditions that can be applied to numeric attributes.
|
|
56
|
+
*/
|
|
57
|
+
export interface NumericConditions {
|
|
58
|
+
/**
|
|
59
|
+
* Match one or more values.
|
|
60
|
+
* @deprecated use `allowlist`
|
|
61
|
+
* @default - None
|
|
62
|
+
*/
|
|
63
|
+
readonly whitelist?: number[];
|
|
64
|
+
/**
|
|
65
|
+
* Match one or more values.
|
|
66
|
+
*
|
|
67
|
+
* @default - None
|
|
68
|
+
*/
|
|
69
|
+
readonly allowlist?: number[];
|
|
70
|
+
/**
|
|
71
|
+
* Match values that are greater than the specified value.
|
|
72
|
+
*
|
|
73
|
+
* @default - None
|
|
74
|
+
*/
|
|
75
|
+
readonly greaterThan?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Match values that are greater than or equal to the specified value.
|
|
78
|
+
*
|
|
79
|
+
* @default - None
|
|
80
|
+
*/
|
|
81
|
+
readonly greaterThanOrEqualTo?: number;
|
|
82
|
+
/**
|
|
83
|
+
* Match values that are less than the specified value.
|
|
84
|
+
*
|
|
85
|
+
* @default - None
|
|
86
|
+
*/
|
|
87
|
+
readonly lessThan?: number;
|
|
88
|
+
/**
|
|
89
|
+
* Match values that are less than or equal to the specified value.
|
|
90
|
+
*
|
|
91
|
+
* @default - None
|
|
92
|
+
*/
|
|
93
|
+
readonly lessThanOrEqualTo?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Match values that are between the specified values.
|
|
96
|
+
*
|
|
97
|
+
* @default - None
|
|
98
|
+
*/
|
|
99
|
+
readonly between?: BetweenCondition;
|
|
100
|
+
/**
|
|
101
|
+
* Match values that are strictly between the specified values.
|
|
102
|
+
*
|
|
103
|
+
* @default - None
|
|
104
|
+
*/
|
|
105
|
+
readonly betweenStrict?: BetweenCondition;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* A subscription filter for an attribute.
|
|
109
|
+
*/
|
|
110
|
+
export declare class SubscriptionFilter {
|
|
111
|
+
readonly conditions: any[];
|
|
112
|
+
/**
|
|
113
|
+
* Returns a subscription filter for a string attribute.
|
|
114
|
+
*/
|
|
115
|
+
static stringFilter(stringConditions: StringConditions): SubscriptionFilter;
|
|
116
|
+
/**
|
|
117
|
+
* Returns a subscription filter for a numeric attribute.
|
|
118
|
+
*/
|
|
119
|
+
static numericFilter(numericConditions: NumericConditions): SubscriptionFilter;
|
|
120
|
+
/**
|
|
121
|
+
* Returns a subscription filter for attribute key matching.
|
|
122
|
+
*/
|
|
123
|
+
static existsFilter(): SubscriptionFilter;
|
|
124
|
+
/**
|
|
125
|
+
*
|
|
126
|
+
* @param conditions conditions that specify the message attributes that should be included, excluded, matched, etc.
|
|
127
|
+
*/
|
|
128
|
+
constructor(conditions?: any[]);
|
|
129
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SubscriptionFilter = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
/**
|
|
7
|
+
* A subscription filter for an attribute.
|
|
8
|
+
*/
|
|
9
|
+
class SubscriptionFilter {
|
|
10
|
+
/**
|
|
11
|
+
* Returns a subscription filter for a string attribute.
|
|
12
|
+
*/
|
|
13
|
+
static stringFilter(stringConditions) {
|
|
14
|
+
const conditions = new Array();
|
|
15
|
+
if (stringConditions.whitelist && stringConditions.allowlist) {
|
|
16
|
+
// TODO: Adopt UnscopedValidationError
|
|
17
|
+
throw new Error("`whitelist` is deprecated; please use `allowlist` instead");
|
|
18
|
+
}
|
|
19
|
+
if (stringConditions.blacklist && stringConditions.denylist) {
|
|
20
|
+
// TODO: Adopt UnscopedValidationError
|
|
21
|
+
throw new Error("`blacklist` is deprecated; please use `denylist` instead");
|
|
22
|
+
}
|
|
23
|
+
const allowlist = stringConditions.allowlist ?? stringConditions.whitelist;
|
|
24
|
+
const denylist = stringConditions.denylist ?? stringConditions.blacklist;
|
|
25
|
+
if (allowlist) {
|
|
26
|
+
conditions.push(...allowlist);
|
|
27
|
+
}
|
|
28
|
+
if (denylist) {
|
|
29
|
+
conditions.push({ "anything-but": denylist });
|
|
30
|
+
}
|
|
31
|
+
if (stringConditions.matchPrefixes) {
|
|
32
|
+
conditions.push(...stringConditions.matchPrefixes.map((p) => ({ prefix: p })));
|
|
33
|
+
}
|
|
34
|
+
if (stringConditions.matchSuffixes) {
|
|
35
|
+
conditions.push(...stringConditions.matchSuffixes.map((s) => ({ suffix: s })));
|
|
36
|
+
}
|
|
37
|
+
return new SubscriptionFilter(conditions);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns a subscription filter for a numeric attribute.
|
|
41
|
+
*/
|
|
42
|
+
static numericFilter(numericConditions) {
|
|
43
|
+
const conditions = new Array();
|
|
44
|
+
if (numericConditions.whitelist && numericConditions.allowlist) {
|
|
45
|
+
// TODO: Adopt UnscopedValidationError
|
|
46
|
+
throw new Error("`whitelist` is deprecated; please use `allowlist` instead");
|
|
47
|
+
}
|
|
48
|
+
const allowlist = numericConditions.allowlist ?? numericConditions.whitelist;
|
|
49
|
+
if (allowlist) {
|
|
50
|
+
conditions.push(...allowlist.map((v) => ({ numeric: ["=", v] })));
|
|
51
|
+
}
|
|
52
|
+
if (numericConditions.greaterThan !== undefined) {
|
|
53
|
+
conditions.push({ numeric: [">", numericConditions.greaterThan] });
|
|
54
|
+
}
|
|
55
|
+
if (numericConditions.greaterThanOrEqualTo !== undefined) {
|
|
56
|
+
conditions.push({
|
|
57
|
+
numeric: [">=", numericConditions.greaterThanOrEqualTo],
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
if (numericConditions.lessThan !== undefined) {
|
|
61
|
+
conditions.push({ numeric: ["<", numericConditions.lessThan] });
|
|
62
|
+
}
|
|
63
|
+
if (numericConditions.lessThanOrEqualTo !== undefined) {
|
|
64
|
+
conditions.push({ numeric: ["<=", numericConditions.lessThanOrEqualTo] });
|
|
65
|
+
}
|
|
66
|
+
if (numericConditions.between) {
|
|
67
|
+
conditions.push({
|
|
68
|
+
numeric: [
|
|
69
|
+
">=",
|
|
70
|
+
numericConditions.between.start,
|
|
71
|
+
"<=",
|
|
72
|
+
numericConditions.between.stop,
|
|
73
|
+
],
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (numericConditions.betweenStrict) {
|
|
77
|
+
conditions.push({
|
|
78
|
+
numeric: [
|
|
79
|
+
">",
|
|
80
|
+
numericConditions.betweenStrict.start,
|
|
81
|
+
"<",
|
|
82
|
+
numericConditions.betweenStrict.stop,
|
|
83
|
+
],
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return new SubscriptionFilter(conditions);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Returns a subscription filter for attribute key matching.
|
|
90
|
+
*/
|
|
91
|
+
static existsFilter() {
|
|
92
|
+
return new SubscriptionFilter([{ exists: true }]);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
*
|
|
96
|
+
* @param conditions conditions that specify the message attributes that should be included, excluded, matched, etc.
|
|
97
|
+
*/
|
|
98
|
+
constructor(conditions = []) {
|
|
99
|
+
this.conditions = conditions;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.SubscriptionFilter = SubscriptionFilter;
|
|
103
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
104
|
+
SubscriptionFilter[_a] = { fqn: "terraconstructs.aws.notify.SubscriptionFilter", version: "0.0.18" };
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3N1YnNjcmlwdGlvbi1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFpSUE7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjtJQUM3Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsZ0JBQWtDO1FBQzNELE1BQU0sVUFBVSxHQUFHLElBQUksS0FBSyxFQUFPLENBQUM7UUFFcEMsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTLElBQUksZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDN0Qsc0NBQXNDO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTLElBQUksZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUQsc0NBQXNDO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMERBQTBELENBQzNELENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxJQUFJLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztRQUMzRSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDO1FBRXpFLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELElBQUksZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsVUFBVSxDQUFDLElBQUksQ0FDYixHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUM5RCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsVUFBVSxDQUFDLElBQUksQ0FDYixHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUM5RCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLGlCQUFvQztRQUM5RCxNQUFNLFVBQVUsR0FBRyxJQUFJLEtBQUssRUFBTyxDQUFDO1FBRXBDLElBQUksaUJBQWlCLENBQUMsU0FBUyxJQUFJLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9ELHNDQUFzQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sU0FBUyxHQUNiLGlCQUFpQixDQUFDLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7UUFFN0QsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hELFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCxJQUFJLGlCQUFpQixDQUFDLG9CQUFvQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3pELFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO2FBQ3hELENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLGlCQUFpQixDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0RCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFFRCxJQUFJLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzlCLFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLElBQUk7b0JBQ0osaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUs7b0JBQy9CLElBQUk7b0JBQ0osaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUk7aUJBQy9CO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDcEMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDZCxPQUFPLEVBQUU7b0JBQ1AsR0FBRztvQkFDSCxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsS0FBSztvQkFDckMsR0FBRztvQkFDSCxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSTtpQkFDckM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxJQUFJLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZO1FBQ3hCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBNEIsYUFBb0IsRUFBRTtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQzs7QUF0SHhELGdEQXVIQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iLzc0NTI0NjI1NTBhMTAwZjViZDJkY2FiNmY0OTVjOWY2OGJmMGRiNGEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLXNucy9saWIvc3Vic2NyaXB0aW9uLWZpbHRlci50c1xuXG4vLyBUT0RPOiBBZG9wdCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvclxuLy8gLSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8zMzM4Mi9cbi8vIC0gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL3B1bGwvMzMwNDVcbi8vIGltcG9ydCB7IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIi4uLy4uL2NvcmUvbGliL2Vycm9yc1wiO1xuXG4vKipcbiAqIENvbmRpdGlvbnMgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBzdHJpbmcgYXR0cmlidXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdDb25kaXRpb25zIHtcbiAgLyoqXG4gICAqIE1hdGNoIG9uZSBvciBtb3JlIHZhbHVlcy5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBhbGxvd2xpc3RgXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgd2hpdGVsaXN0Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE1hdGNoIGFueSB2YWx1ZSB0aGF0IGRvZXNuJ3QgaW5jbHVkZSBhbnkgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZXMuXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgZGVueWxpc3RgXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgYmxhY2tsaXN0Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE1hdGNoIG9uZSBvciBtb3JlIHZhbHVlcy5cbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBhbGxvd2xpc3Q/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTWF0Y2ggYW55IHZhbHVlIHRoYXQgZG9lc24ndCBpbmNsdWRlIGFueSBvZiB0aGUgc3BlY2lmaWVkIHZhbHVlcy5cbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBkZW55bGlzdD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBNYXRjaGVzIHZhbHVlcyB0aGF0IGJlZ2lucyB3aXRoIHRoZSBzcGVjaWZpZWQgcHJlZml4ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbWF0Y2hQcmVmaXhlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBNYXRjaGVzIHZhbHVlcyB0aGF0IGVuZCB3aXRoIHRoZSBzcGVjaWZpZWQgc3VmZml4ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbWF0Y2hTdWZmaXhlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEJldHdlZW4gY29uZGl0aW9uIGZvciBhIG51bWVyaWMgYXR0cmlidXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJldHdlZW5Db25kaXRpb24ge1xuICAvKipcbiAgICogVGhlIHN0YXJ0IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHN0b3AgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBzdG9wOiBudW1iZXI7XG59XG5cbi8qKlxuICogQ29uZGl0aW9ucyB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIG51bWVyaWMgYXR0cmlidXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOdW1lcmljQ29uZGl0aW9ucyB7XG4gIC8qKlxuICAgKiBNYXRjaCBvbmUgb3IgbW9yZSB2YWx1ZXMuXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgYWxsb3dsaXN0YFxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHdoaXRlbGlzdD86IG51bWJlcltdO1xuXG4gIC8qKlxuICAgKiBNYXRjaCBvbmUgb3IgbW9yZSB2YWx1ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dsaXN0PzogbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIE1hdGNoIHZhbHVlcyB0aGF0IGFyZSBncmVhdGVyIHRoYW4gdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBncmVhdGVyVGhhbj86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF0Y2ggdmFsdWVzIHRoYXQgYXJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgc3BlY2lmaWVkIHZhbHVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGdyZWF0ZXJUaGFuT3JFcXVhbFRvPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXRjaCB2YWx1ZXMgdGhhdCBhcmUgbGVzcyB0aGFuIHRoZSBzcGVjaWZpZWQgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbGVzc1RoYW4/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1hdGNoIHZhbHVlcyB0aGF0IGFyZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBsZXNzVGhhbk9yRXF1YWxUbz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF0Y2ggdmFsdWVzIHRoYXQgYXJlIGJldHdlZW4gdGhlIHNwZWNpZmllZCB2YWx1ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgYmV0d2Vlbj86IEJldHdlZW5Db25kaXRpb247XG5cbiAgLyoqXG4gICAqIE1hdGNoIHZhbHVlcyB0aGF0IGFyZSBzdHJpY3RseSBiZXR3ZWVuIHRoZSBzcGVjaWZpZWQgdmFsdWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGJldHdlZW5TdHJpY3Q/OiBCZXR3ZWVuQ29uZGl0aW9uO1xufVxuXG4vKipcbiAqIEEgc3Vic2NyaXB0aW9uIGZpbHRlciBmb3IgYW4gYXR0cmlidXRlLlxuICovXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uRmlsdGVyIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdWJzY3JpcHRpb24gZmlsdGVyIGZvciBhIHN0cmluZyBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN0cmluZ0ZpbHRlcihzdHJpbmdDb25kaXRpb25zOiBTdHJpbmdDb25kaXRpb25zKSB7XG4gICAgY29uc3QgY29uZGl0aW9ucyA9IG5ldyBBcnJheTxhbnk+KCk7XG5cbiAgICBpZiAoc3RyaW5nQ29uZGl0aW9ucy53aGl0ZWxpc3QgJiYgc3RyaW5nQ29uZGl0aW9ucy5hbGxvd2xpc3QpIHtcbiAgICAgIC8vIFRPRE86IEFkb3B0IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiYHdoaXRlbGlzdGAgaXMgZGVwcmVjYXRlZDsgcGxlYXNlIHVzZSBgYWxsb3dsaXN0YCBpbnN0ZWFkXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoc3RyaW5nQ29uZGl0aW9ucy5ibGFja2xpc3QgJiYgc3RyaW5nQ29uZGl0aW9ucy5kZW55bGlzdCkge1xuICAgICAgLy8gVE9ETzogQWRvcHQgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3JcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJgYmxhY2tsaXN0YCBpcyBkZXByZWNhdGVkOyBwbGVhc2UgdXNlIGBkZW55bGlzdGAgaW5zdGVhZFwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgYWxsb3dsaXN0ID0gc3RyaW5nQ29uZGl0aW9ucy5hbGxvd2xpc3QgPz8gc3RyaW5nQ29uZGl0aW9ucy53aGl0ZWxpc3Q7XG4gICAgY29uc3QgZGVueWxpc3QgPSBzdHJpbmdDb25kaXRpb25zLmRlbnlsaXN0ID8/IHN0cmluZ0NvbmRpdGlvbnMuYmxhY2tsaXN0O1xuXG4gICAgaWYgKGFsbG93bGlzdCkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKC4uLmFsbG93bGlzdCk7XG4gICAgfVxuXG4gICAgaWYgKGRlbnlsaXN0KSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goeyBcImFueXRoaW5nLWJ1dFwiOiBkZW55bGlzdCB9KTtcbiAgICB9XG5cbiAgICBpZiAoc3RyaW5nQ29uZGl0aW9ucy5tYXRjaFByZWZpeGVzKSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goXG4gICAgICAgIC4uLnN0cmluZ0NvbmRpdGlvbnMubWF0Y2hQcmVmaXhlcy5tYXAoKHApID0+ICh7IHByZWZpeDogcCB9KSksXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChzdHJpbmdDb25kaXRpb25zLm1hdGNoU3VmZml4ZXMpIHtcbiAgICAgIGNvbmRpdGlvbnMucHVzaChcbiAgICAgICAgLi4uc3RyaW5nQ29uZGl0aW9ucy5tYXRjaFN1ZmZpeGVzLm1hcCgocykgPT4gKHsgc3VmZml4OiBzIH0pKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25GaWx0ZXIoY29uZGl0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN1YnNjcmlwdGlvbiBmaWx0ZXIgZm9yIGEgbnVtZXJpYyBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG51bWVyaWNGaWx0ZXIobnVtZXJpY0NvbmRpdGlvbnM6IE51bWVyaWNDb25kaXRpb25zKSB7XG4gICAgY29uc3QgY29uZGl0aW9ucyA9IG5ldyBBcnJheTxhbnk+KCk7XG5cbiAgICBpZiAobnVtZXJpY0NvbmRpdGlvbnMud2hpdGVsaXN0ICYmIG51bWVyaWNDb25kaXRpb25zLmFsbG93bGlzdCkge1xuICAgICAgLy8gVE9ETzogQWRvcHQgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3JcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJgd2hpdGVsaXN0YCBpcyBkZXByZWNhdGVkOyBwbGVhc2UgdXNlIGBhbGxvd2xpc3RgIGluc3RlYWRcIixcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGFsbG93bGlzdCA9XG4gICAgICBudW1lcmljQ29uZGl0aW9ucy5hbGxvd2xpc3QgPz8gbnVtZXJpY0NvbmRpdGlvbnMud2hpdGVsaXN0O1xuXG4gICAgaWYgKGFsbG93bGlzdCkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKC4uLmFsbG93bGlzdC5tYXAoKHYpID0+ICh7IG51bWVyaWM6IFtcIj1cIiwgdl0gfSkpKTtcbiAgICB9XG5cbiAgICBpZiAobnVtZXJpY0NvbmRpdGlvbnMuZ3JlYXRlclRoYW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKHsgbnVtZXJpYzogW1wiPlwiLCBudW1lcmljQ29uZGl0aW9ucy5ncmVhdGVyVGhhbl0gfSk7XG4gICAgfVxuXG4gICAgaWYgKG51bWVyaWNDb25kaXRpb25zLmdyZWF0ZXJUaGFuT3JFcXVhbFRvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbmRpdGlvbnMucHVzaCh7XG4gICAgICAgIG51bWVyaWM6IFtcIj49XCIsIG51bWVyaWNDb25kaXRpb25zLmdyZWF0ZXJUaGFuT3JFcXVhbFRvXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChudW1lcmljQ29uZGl0aW9ucy5sZXNzVGhhbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goeyBudW1lcmljOiBbXCI8XCIsIG51bWVyaWNDb25kaXRpb25zLmxlc3NUaGFuXSB9KTtcbiAgICB9XG5cbiAgICBpZiAobnVtZXJpY0NvbmRpdGlvbnMubGVzc1RoYW5PckVxdWFsVG8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKHsgbnVtZXJpYzogW1wiPD1cIiwgbnVtZXJpY0NvbmRpdGlvbnMubGVzc1RoYW5PckVxdWFsVG9dIH0pO1xuICAgIH1cblxuICAgIGlmIChudW1lcmljQ29uZGl0aW9ucy5iZXR3ZWVuKSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goe1xuICAgICAgICBudW1lcmljOiBbXG4gICAgICAgICAgXCI+PVwiLFxuICAgICAgICAgIG51bWVyaWNDb25kaXRpb25zLmJldHdlZW4uc3RhcnQsXG4gICAgICAgICAgXCI8PVwiLFxuICAgICAgICAgIG51bWVyaWNDb25kaXRpb25zLmJldHdlZW4uc3RvcCxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChudW1lcmljQ29uZGl0aW9ucy5iZXR3ZWVuU3RyaWN0KSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goe1xuICAgICAgICBudW1lcmljOiBbXG4gICAgICAgICAgXCI+XCIsXG4gICAgICAgICAgbnVtZXJpY0NvbmRpdGlvbnMuYmV0d2VlblN0cmljdC5zdGFydCxcbiAgICAgICAgICBcIjxcIixcbiAgICAgICAgICBudW1lcmljQ29uZGl0aW9ucy5iZXR3ZWVuU3RyaWN0LnN0b3AsXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkZpbHRlcihjb25kaXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3Vic2NyaXB0aW9uIGZpbHRlciBmb3IgYXR0cmlidXRlIGtleSBtYXRjaGluZy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXhpc3RzRmlsdGVyKCkge1xuICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRmlsdGVyKFt7IGV4aXN0czogdHJ1ZSB9XSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGNvbmRpdGlvbnMgY29uZGl0aW9ucyB0aGF0IHNwZWNpZnkgdGhlIG1lc3NhZ2UgYXR0cmlidXRlcyB0aGF0IHNob3VsZCBiZSBpbmNsdWRlZCwgZXhjbHVkZWQsIG1hdGNoZWQsIGV0Yy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjb25kaXRpb25zOiBhbnlbXSA9IFtdKSB7fVxufVxuIl19
|