terraconstructs 0.1.10 → 0.2.1
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 +1303 -635
- package/lib/asset-staging.js +1 -1
- package/lib/aws/arn.js +4 -3
- package/lib/aws/aws-asset-manager.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/appscaling.js +1 -1
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/actions/sns.js +1 -1
- package/lib/aws/cloudwatch/actions/ssm.js +2 -2
- 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/access-log.js +4 -4
- 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/api-definition.js +3 -3
- package/lib/aws/compute/api-key.js +2 -2
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
- package/lib/aws/compute/authorizer.js +1 -1
- package/lib/aws/compute/authorizers/identity-source.js +1 -1
- package/lib/aws/compute/authorizers/lambda.js +2 -2
- package/lib/aws/compute/base-path-mapping.js +1 -1
- package/lib/aws/compute/base-scalable-attribute.js +1 -1
- 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/code.js +8 -8
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/cors.js +1 -1
- package/lib/aws/compute/deployment.js +1 -1
- package/lib/aws/compute/domain-name.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.d.ts +10 -0
- package/lib/aws/compute/event-source-mapping.js +20 -23
- 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.d.ts +10 -0
- package/lib/aws/compute/event-sources/sqs.js +3 -3
- 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/function.js +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function.js +3 -3
- package/lib/aws/compute/gateway-response.js +2 -2
- package/lib/aws/compute/handler.js +1 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.js +1 -1
- package/lib/aws/compute/integration.js +1 -1
- package/lib/aws/compute/integrations/aws.js +1 -1
- package/lib/aws/compute/integrations/http.js +1 -1
- package/lib/aws/compute/integrations/lambda.js +1 -1
- package/lib/aws/compute/integrations/mock.js +1 -1
- package/lib/aws/compute/integrations/stepfunctions.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/lambda-api.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/method.js +1 -1
- package/lib/aws/compute/model.js +3 -3
- 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/requestvalidator.js +1 -1
- package/lib/aws/compute/resource.js +3 -3
- package/lib/aws/compute/restapi.js +3 -3
- package/lib/aws/compute/route.js +8 -8
- package/lib/aws/compute/runtime.js +1 -1
- package/lib/aws/compute/scalable-target.js +1 -1
- package/lib/aws/compute/schedule.js +1 -1
- package/lib/aws/compute/security-group.js +1 -1
- package/lib/aws/compute/stage.js +2 -2
- 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/step-scaling-action.js +1 -1
- package/lib/aws/compute/step-scaling-policy.js +1 -1
- package/lib/aws/compute/stepfunctions-api.js +1 -1
- package/lib/aws/compute/subnet-v2.js +2 -2
- package/lib/aws/compute/subnet.js +1 -1
- package/lib/aws/compute/target-tracking-scaling-policy.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 +10 -13
- 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/usage-plan.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-link.js +1 -1
- 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 +6 -6
- 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/environment-aware.d.ts +41 -0
- package/lib/aws/environment-aware.js +3 -0
- package/lib/aws/iam/grant.d.ts +34 -0
- package/lib/aws/iam/grant.js +27 -6
- 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/index.d.ts +1 -0
- package/lib/aws/index.js +2 -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/event-bus.d.ts +1 -1
- package/lib/aws/notify/event-bus.js +4 -4
- package/lib/aws/notify/event-pattern.js +1 -1
- package/lib/aws/notify/index.d.ts +3 -1
- package/lib/aws/notify/index.js +5 -5
- package/lib/aws/notify/input.js +2 -2
- package/lib/aws/notify/kinesis-stream.js +1 -1
- package/lib/aws/notify/notification-rule.js +1 -1
- package/lib/aws/notify/policy.js +1 -1
- package/lib/aws/notify/queue-base.d.ts +241 -0
- package/lib/aws/notify/queue-base.js +161 -0
- package/lib/aws/notify/queue-policy.js +1 -1
- package/lib/aws/notify/queue.d.ts +157 -190
- package/lib/aws/notify/queue.js +239 -186
- package/lib/aws/notify/resource-policy.js +1 -1
- package/lib/aws/notify/rule.d.ts +1 -0
- package/lib/aws/notify/rule.js +5 -3
- package/lib/aws/notify/schedule.js +1 -1
- package/lib/aws/notify/sqs-augmentations.generated.d.ts +3 -3
- package/lib/aws/notify/sqs-augmentations.generated.js +23 -26
- package/lib/aws/notify/sqs-grants.generated.d.ts +72 -0
- package/lib/aws/notify/sqs-grants.generated.js +139 -0
- package/lib/aws/notify/subscription-filter.js +1 -1
- package/lib/aws/notify/subscription.js +4 -4
- package/lib/aws/notify/subscriptions/email.js +1 -1
- package/lib/aws/notify/subscriptions/lambda.js +1 -1
- package/lib/aws/notify/subscriptions/sms.js +1 -1
- package/lib/aws/notify/subscriptions/sqs.js +30 -27
- package/lib/aws/notify/subscriptions/subscription.d.ts +1 -1
- package/lib/aws/notify/subscriptions/subscription.js +1 -1
- package/lib/aws/notify/subscriptions/url.js +1 -1
- package/lib/aws/notify/targets/event-bus.d.ts +1 -1
- package/lib/aws/notify/targets/event-bus.js +2 -2
- 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 +12 -14
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/topic-base.js +1 -1
- package/lib/aws/notify/topic.js +1 -1
- package/lib/aws/storage/assets/image-asset.js +3 -3
- package/lib/aws/storage/assets/s3.js +1 -1
- package/lib/aws/storage/auth-token.js +2 -2
- package/lib/aws/storage/billing.js +1 -1
- 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/capacity.js +1 -1
- package/lib/aws/storage/ecr-repository.js +3 -3
- package/lib/aws/storage/encryption.js +1 -1
- package/lib/aws/storage/notification-targets/function.js +1 -1
- package/lib/aws/storage/notification-targets/queue.js +17 -21
- package/lib/aws/storage/origin-access-identity.js +1 -1
- package/lib/aws/storage/parameter.js +2 -2
- package/lib/aws/storage/table.js +3 -3
- package/lib/bundling.js +3 -3
- package/lib/construct-base.js +2 -2
- package/lib/duration.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/expiration.js +1 -1
- package/lib/fs/ignore.js +4 -4
- package/lib/fs/index.js +1 -1
- package/lib/helpers-internal/index.d.ts +1 -0
- package/lib/helpers-internal/index.js +16 -1
- package/lib/helpers-internal/validate-all-props.d.ts +29 -0
- package/lib/helpers-internal/validate-all-props.js +23 -0
- package/lib/size.js +1 -1
- package/lib/stack-base.js +1 -1
- package/lib/terra-func.js +1 -1
- package/lib/time-zone.js +1 -1
- package/package.json +4 -4
- package/lib/aws/notify/queue-config.generated.d.ts +0 -98
- package/lib/aws/notify/queue-config.generated.js +0 -3
|
@@ -39,5 +39,5 @@ class ResourcePolicy extends aws_construct_1.AwsConstructBase {
|
|
|
39
39
|
}
|
|
40
40
|
exports.ResourcePolicy = ResourcePolicy;
|
|
41
41
|
_a = JSII_RTTI_SYMBOL_1;
|
|
42
|
-
ResourcePolicy[_a] = { fqn: "terraconstructs.aws.notify.ResourcePolicy", version: "0.1
|
|
42
|
+
ResourcePolicy[_a] = { fqn: "terraconstructs.aws.notify.ResourcePolicy", version: "0.2.1" };
|
|
43
43
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtcG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvcmVzb3VyY2UtcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUdBQXVHO0FBRXZHLHNEQUE0RDtBQUU1RCxvREFBdUU7QUFFdkUsZ0NBQXdDO0FBbUJ4Qzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsZ0NBQWdCO0lBS2xELElBQVcsT0FBTztRQUNoQjs7V0FFRztRQUNILE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksSUFBSSxvQkFBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUzRSxJQUFJLG9DQUFxQixDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUMxQixXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBckJILHdDQXNCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3MC4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1raW5lc2lzL2xpYi9yZXNvdXJjZS1wb2xpY3kudHNcblxuaW1wb3J0IHsga2luZXNpc1Jlc291cmNlUG9saWN5IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBd3NDb25zdHJ1Y3RCYXNlLCBBd3NDb25zdHJ1Y3RQcm9wcyB9IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBJU3RyZWFtIH0gZnJvbSBcIi4va2luZXNpcy1zdHJlYW1cIjtcbmltcG9ydCB7IFBvbGljeURvY3VtZW50IH0gZnJvbSBcIi4uL2lhbVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgdG8gYXNzb2NpYXRlIGEgZGF0YSBzdHJlYW0gd2l0aCBhIHBvbGljeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUG9saWN5UHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc3RyZWFtIHRoaXMgcG9saWN5IGFwcGxpZXMgdG8uXG4gICAqL1xuICByZWFkb25seSBzdHJlYW06IElTdHJlYW07XG5cbiAgLyoqXG4gICAqIElBTSBwb2xpY3kgZG9jdW1lbnQgdG8gYXBwbHkgdG8gYSBkYXRhIHN0cmVhbS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBlbXB0eSBwb2xpY3kgZG9jdW1lbnRcbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeURvY3VtZW50PzogUG9saWN5RG9jdW1lbnQ7XG59XG5cbi8qKlxuICogVGhlIHBvbGljeSBmb3IgYSBkYXRhIHN0cmVhbSBvciByZWdpc3RlcmVkIGNvbnN1bWVyLlxuICpcbiAqIFBvbGljaWVzIGRlZmluZSB0aGUgb3BlcmF0aW9ucyB0aGF0IGFyZSBhbGxvd2VkIG9uIHRoaXMgcmVzb3VyY2UuXG4gKlxuICogWW91IGFsbW9zdCBuZXZlciBuZWVkIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdCBkaXJlY3RseS5cbiAqXG4gKiBBbGwgQVdTIHJlc291cmNlcyB0aGF0IHN1cHBvcnQgcmVzb3VyY2UgcG9saWNpZXMgaGF2ZSBhIG1ldGhvZCBjYWxsZWRcbiAqIGBhZGRUb1Jlc291cmNlUG9saWN5KClgLCB3aGljaCB3aWxsIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgbmV3IHJlc291cmNlXG4gKiBwb2xpY3kgaWYgb25lIGRvZXNuJ3QgZXhpc3QgeWV0LCBvdGhlcndpc2UgaXQgd2lsbCBhZGQgdG8gdGhlIGV4aXN0aW5nXG4gKiBwb2xpY3kuXG4gKlxuICogUHJlZmVyIHRvIHVzZSBgYWRkVG9SZXNvdXJjZVBvbGljeSgpYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VQb2xpY3kgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBJQU0gcG9saWN5IGRvY3VtZW50IGZvciB0aGlzIHBvbGljeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudDogUG9saWN5RG9jdW1lbnQ7XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICAvKipcbiAgICAgKiBUaGlzIHJlc291cmNlIGV4cG9ydHMgbm8gYWRkaXRpb25hbCBhdHRyaWJ1dGVzLlxuICAgICAqL1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZXNvdXJjZVBvbGljeVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuZG9jdW1lbnQgPSBwcm9wcy5wb2xpY3lEb2N1bWVudCA/PyBuZXcgUG9saWN5RG9jdW1lbnQodGhpcywgXCJQb2xpY3lcIik7XG5cbiAgICBuZXcga2luZXNpc1Jlc291cmNlUG9saWN5LktpbmVzaXNSZXNvdXJjZVBvbGljeSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIHBvbGljeTogdGhpcy5kb2N1bWVudC5qc29uLFxuICAgICAgcmVzb3VyY2VBcm46IHByb3BzLnN0cmVhbS5zdHJlYW1Bcm4sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/aws/notify/rule.d.ts
CHANGED
|
@@ -95,6 +95,7 @@ export declare class Rule extends AwsConstructBase implements IRule {
|
|
|
95
95
|
private readonly eventPattern;
|
|
96
96
|
private readonly scheduleExpression?;
|
|
97
97
|
private readonly description?;
|
|
98
|
+
private readonly eventBusName?;
|
|
98
99
|
constructor(scope: Construct, name: string, props?: RuleProps);
|
|
99
100
|
/**
|
|
100
101
|
* Adds an event pattern filter to this rule. If a pattern was already specified,
|
package/lib/aws/notify/rule.js
CHANGED
|
@@ -68,6 +68,7 @@ class Rule extends aws_construct_1.AwsConstructBase {
|
|
|
68
68
|
}
|
|
69
69
|
this.description = props.description;
|
|
70
70
|
this.scheduleExpression = props.schedule?.expressionString;
|
|
71
|
+
this.eventBusName = props.eventBus?.eventBusName;
|
|
71
72
|
// add a warning on synth when minute is not defined in a cron schedule
|
|
72
73
|
props.schedule?._bind(this);
|
|
73
74
|
this.resource = new provider_aws_1.cloudwatchEventRule.CloudwatchEventRule(this, "Resource", {
|
|
@@ -85,7 +86,7 @@ class Rule extends aws_construct_1.AwsConstructBase {
|
|
|
85
86
|
}),
|
|
86
87
|
// terraform-provider-aws separates targets to different resources.
|
|
87
88
|
// targets: Lazy.anyValue({ produce: () => this.renderTargets() }),
|
|
88
|
-
eventBusName:
|
|
89
|
+
eventBusName: this.eventBusName,
|
|
89
90
|
dependsOn: props.dependsOn,
|
|
90
91
|
});
|
|
91
92
|
this.addEventPattern(props.eventPattern);
|
|
@@ -180,6 +181,7 @@ class Rule extends aws_construct_1.AwsConstructBase {
|
|
|
180
181
|
targetId,
|
|
181
182
|
roleArn: targetProps.role?.roleArn,
|
|
182
183
|
rule: this.resource.name,
|
|
184
|
+
eventBusName: this.eventBusName, // If omitted, it will use `default` event bus
|
|
183
185
|
arn: targetProps.arn,
|
|
184
186
|
ecsTarget: targetProps.ecsParameters,
|
|
185
187
|
httpTarget: targetProps.httpParameters,
|
|
@@ -224,5 +226,5 @@ class Rule extends aws_construct_1.AwsConstructBase {
|
|
|
224
226
|
}
|
|
225
227
|
exports.Rule = Rule;
|
|
226
228
|
_a = JSII_RTTI_SYMBOL_1;
|
|
227
|
-
Rule[_a] = { fqn: "terraconstructs.aws.notify.Rule", version: "0.1
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyRkFBMkY7QUFFM0Ysc0RBSTZCO0FBQzdCLGlDQUFvQztBQUVwQyxnQ0FBbUM7QUFDbkMsb0RBSTBCO0FBQzFCLDRDQUF3QztBQVF4QyxpQ0FBK0Q7QUFvRy9ELE1BQWEsSUFBSyxTQUFRLGdDQUFnQjtJQUN4Qzs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQzVCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixZQUFvQjtRQUVwQixNQUFNLEtBQUssR0FBRyxvQkFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQ25ELFlBQVksRUFDWixlQUFTLENBQUMsbUJBQW1CLENBQzlCLENBQUM7UUFFRixNQUFNLE1BQU8sU0FBUSxnQ0FBZ0I7WUFBckM7O2dCQUNTLFlBQU8sR0FBRyxZQUFZLENBQUM7Z0JBQ3ZCLGFBQVEsR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztnQkFDcEMsZ0JBQVcsR0FBRztvQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87aUJBQ2xCLENBQUM7Z0JBQ0ssWUFBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDcEMsQ0FBQztTQUFBO1FBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzNCLGtCQUFrQixFQUFFLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM1QixDQUFDO0lB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LGFBQWEsS0FBSyxTQUFTO2dCQUNyQyxDQUFDLENBQUM7b0JBQ0UsYUFBYSxFQUFFLFVBQVUsQ0FBQyxhQUFhO29CQUN2QyxVQUFVLEVBQUUsVUFBVSxDQUFDLGFBQWE7aUJBQ3JDO2dCQUNILENBQUMsQ0FBQyxTQUFTO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVztRQUNoQjs7V0FFRztRQUNILEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLDhDQUE4QztZQUM5QyxtR0FBbUc7WUFDbkcsNEdBQTRHO1lBQzVHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVMsQ0FBQztnQkFBRSxTQUFTLENBQUMsOEJBQThCO1lBQ3RGLElBQUksb0NBQXFCLENBQUMscUJBQXFCLENBQzdDLElBQUksRUFDSixNQUFNLENBQUMsUUFBUyxFQUNoQixNQUFNLENBQ1AsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O0FBOVBILG9CQStQQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE1Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1ldmVudHMvbGliL3J1bGUudHNcblxuaW1wb3J0IHtcbiAgY2xvdWR3YXRjaEV2ZW50UnVsZSxcbiAgY2xvdWR3YXRjaEV2ZW50VGFyZ2V0LFxuICAvL3NjaGVkdWxlclNjaGVkdWxlR3JvdXAgLy9UT0RPOiBzdXBwb3J0IHNjaGVkdWxlciBncm91cHM/XG59IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBMYXp5LCBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFybkZvcm1hdCB9IGZyb20gXCIuLi9hcm5cIjtcbmltcG9ydCB7XG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIElBd3NDb25zdHJ1Y3QsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi4vYXdzLXN0YWNrXCI7XG5pbXBvcnQge1xuICBTY2hlZHVsZSxcbiAgRXZlbnRQYXR0ZXJuLFxuICBJUnVsZVRhcmdldCxcbiAgSUV2ZW50QnVzLFxuICBFdmVudENvbW1vbk9wdGlvbnMsXG59IGZyb20gXCIuL1wiO1xuaW1wb3J0IHsgbWVyZ2VFdmVudFBhdHRlcm4sIHJlbmRlckV2ZW50UGF0dGVybiB9IGZyb20gXCIuL3V0aWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBSdWxlUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcywgRXZlbnRDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBydWxlIGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSdWxlIE5hbWUgcHJlZml4IHRvIGFwcGVuZCB0byBHcmlkIFVVSURcbiAgICpcbiAgICogUnVsZSBuYW1lcyBtdXN0IGJlIG1hZGUgdXAgb2Ygb25seSB1cHBlcmNhc2UgYW5kIGxvd2VyY2FzZSBBU0NJSSBsZXR0ZXJzLFxuICAgKiBudW1iZXJzLCB1bmRlcnNjb3JlcywgYW5kIGh5cGhlbnMsIGFuZCBEdWUgdG8gdGhlIGxlbmd0aCBvZiB0aGUgdGYgZ2VuZXJhdGVkXG4gICAqIHN1ZmZpeCwgbXVzdCBiZSA2NCBjaGFyYWN0ZXJzIG9yIGxlc3MgbG9uZy5cbiAgICpcbiAgICpcbiAgICogQGRlZmF1bHQgLSBHcmlkVVVJRCArIFN0YWNrIFVuaXF1ZSBOYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZWR1bGUgb3IgcmF0ZSAoZnJlcXVlbmN5KSB0aGF0IGRldGVybWluZXMgd2hlbiBFdmVudEJyaWRnZVxuICAgKiBydW5zIHRoZSBydWxlLlxuICAgKlxuICAgKiBZb3UgbXVzdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHksIHRoZSBgZXZlbnRQYXR0ZXJuYCBwcm9wZXJ0eSwgb3IgYm90aC5cbiAgICpcbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBTY2hlZHVsZSBFeHByZXNzaW9uIFN5bnRheCBmb3JcbiAgICogUnVsZXMgaW4gdGhlIEFtYXpvbiBFdmVudEJyaWRnZSBVc2VyIEd1aWRlLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ldmVudGJyaWRnZS9sYXRlc3QvdXNlcmd1aWRlL3NjaGVkdWxlZC1ldmVudHMuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmUuXG4gICAqL1xuICByZWFkb25seSBzY2hlZHVsZT86IFNjaGVkdWxlO1xuXG4gIC8qKlxuICAgKiBUYXJnZXRzIHRvIGludm9rZSB3aGVuIHRoaXMgcnVsZSBtYXRjaGVzIGFuIGV2ZW50LlxuICAgKlxuICAgKiBJbnB1dCB3aWxsIGJlIHRoZSBmdWxsIG1hdGNoZWQgZXZlbnQuIElmIHlvdSB3aXNoIHRvIHNwZWNpZnkgY3VzdG9tXG4gICAqIHRhcmdldCBpbnB1dCwgdXNlIGBhZGRUYXJnZXQodGFyZ2V0WywgaW5wdXRPcHRpb25zXSlgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHRhcmdldHMuXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRzPzogSVJ1bGVUYXJnZXRbXTtcblxuICAvKipcbiAgICogVGhlIGV2ZW50IGJ1cyB0byBhc3NvY2lhdGUgd2l0aCB0aGlzIHJ1bGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIGRlZmF1bHQgZXZlbnQgYnVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRCdXM/OiBJRXZlbnRCdXM7XG5cbiAgLy8gLyoqXG4gIC8vICAqIEFkZGl0aW9uYWwgcmVzdHJpY3Rpb25zIGZvciB0aGUgZXZlbnQgdG8gcm91dGUgdG8gdGhlIHNwZWNpZmllZCB0YXJnZXRcbiAgLy8gICpcbiAgLy8gICogVGhlIG1ldGhvZCB0aGF0IGdlbmVyYXRlcyB0aGUgcnVsZSBwcm9iYWJseSBpbXBvc2VzIHNvbWUgdHlwZSBvZiBldmVudFxuICAvLyAgKiBmaWx0ZXJpbmcuIFRoZSBmaWx0ZXJpbmcgaW1wbGllZCBieSB3aGF0IHlvdSBwYXNzIGhlcmUgaXMgYWRkZWRcbiAgLy8gICogb24gdG9wIG9mIHRoYXQgZmlsdGVyaW5nLlxuICAvLyAgKlxuICAvLyAgKiBAZGVmYXVsdCAtIE5vIGFkZGl0aW9uYWwgZmlsdGVyaW5nIGJhc2VkIG9uIGFuIGV2ZW50IHBhdHRlcm4uXG4gIC8vICAqXG4gIC8vICAqIEBzZWVcbiAgLy8gICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC91c2VyZ3VpZGUvZXZlbnRicmlkZ2UtYW5kLWV2ZW50LXBhdHRlcm5zLmh0bWxcbiAgLy8gICovXG4gIC8vIHJlYWRvbmx5IGV2ZW50UGF0dGVybj86IEV2ZW50UGF0dGVybjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSdWxlT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBSdWxlIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogUnVsZSBhcm5cbiAgICovXG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSdWxlIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIC8qKiBTdHJvbmdseSB0eXBlZCBvdXRwdXRzICovXG4gIHJlYWRvbmx5IHJ1bGVPdXRwdXRzOiBSdWxlT3V0cHV0cztcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgZXZlbnQgcnVsZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSwgc3VjaCBhc1xuICAgKiBhcm46YXdzOmV2ZW50czp1cy1lYXN0LTI6MTIzNDU2Nzg5MDEyOnJ1bGUvZXhhbXBsZS5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcnVsZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBldmVudCBydWxlXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBSdWxlIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElSdWxlIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBFdmVudEJyaWRnZSBSdWxlIHByb3ZpZGVkIGFuIEFSTlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjcmVhdGluZyBjb25zdHJ1Y3QgKHVzdWFsbHkgYHRoaXNgKS5cbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QncyBuYW1lLlxuICAgKiBAcGFyYW0gZXZlbnRSdWxlQXJuIEV2ZW50IFJ1bGUgQVJOIChpLmUuIGFybjphd3M6ZXZlbnRzOjxyZWdpb24+OjxhY2NvdW50LWlkPjpydWxlL015U2NoZWR1bGVkUnVsZSkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21FdmVudFJ1bGVBcm4oXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGV2ZW50UnVsZUFybjogc3RyaW5nLFxuICApOiBJUnVsZSB7XG4gICAgY29uc3QgcGFydHMgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSkuc3BsaXRBcm4oXG4gICAgICBldmVudFJ1bGVBcm4sXG4gICAgICBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICApO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElSdWxlIHtcbiAgICAgIHB1YmxpYyBydWxlQXJuID0gZXZlbnRSdWxlQXJuO1xuICAgICAgcHVibGljIHJ1bGVOYW1lID0gcGFydHMucmVzb3VyY2VOYW1lIHx8IFwiXCI7XG4gICAgICBwdWJsaWMgcnVsZU91dHB1dHMgPSB7XG4gICAgICAgIG5hbWU6IHRoaXMucnVsZU5hbWUsXG4gICAgICAgIGFybjogdGhpcy5ydWxlQXJuLFxuICAgICAgfTtcbiAgICAgIHB1YmxpYyBvdXRwdXRzID0gdGhpcy5ydWxlT3V0cHV0cztcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkLCB7XG4gICAgICBlbnZpcm9ubWVudEZyb21Bcm46IGV2ZW50UnVsZUFybixcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogY2xvdWR3YXRjaEV2ZW50UnVsZS5DbG91ZHdhdGNoRXZlbnRSdWxlO1xuICBwdWJsaWMgZ2V0IHJ1bGVBcm4oKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2UuYXJuO1xuICB9XG4gIHB1YmxpYyBnZXQgcnVsZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2UubmFtZTtcbiAgfVxuICBwdWJsaWMgZ2V0IHJ1bGVPdXRwdXRzKCk6IFJ1bGVPdXRwdXRzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogdGhpcy5ydWxlTmFtZSxcbiAgICAgIGFybjogdGhpcy5ydWxlQXJuLFxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJ1bGVPdXRwdXRzO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRzID1cbiAgICBuZXcgQXJyYXk8Y2xvdWR3YXRjaEV2ZW50VGFyZ2V0LkNsb3Vkd2F0Y2hFdmVudFRhcmdldENvbmZpZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBldmVudFBhdHRlcm46IEV2ZW50UGF0dGVybiA9IHt9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2NoZWR1bGVFeHByZXNzaW9uPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBSdWxlUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBuYW1lLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMuZXZlbnRCdXMgJiYgcHJvcHMuc2NoZWR1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgYXNzb2NpYXRlIHJ1bGUgd2l0aCAnZXZlbnRCdXMnIHdoZW4gdXNpbmcgJ3NjaGVkdWxlJ1wiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbmFtZVByZWZpeDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghcHJvcHMucnVsZU5hbWUpIHtcbiAgICAgIG5hbWVQcmVmaXggPSB0aGlzLnN0YWNrLnVuaXF1ZVJlc291cmNlTmFtZVByZWZpeCh0aGlzLCB7XG4gICAgICAgIHByZWZpeDogcHJvcHMubmFtZVByZWZpeCA/PyB0aGlzLmdyaWRVVUlEICsgXCItXCIsXG4gICAgICAgIGFsbG93ZWRTcGVjaWFsQ2hhcmFjdGVyczogXCIuLV9cIixcbiAgICAgICAgbWF4TGVuZ3RoOiA2NCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gcHJvcHMuZGVzY3JpcHRpb247XG4gICAgdGhpcy5zY2hlZHVsZUV4cHJlc3Npb24gPSBwcm9wcy5zY2hlZHVsZT8uZXhwcmVzc2lvblN0cmluZztcblxuICAgIC8vIGFkZCBhIHdhcm5pbmcgb24gc3ludGggd2hlbiBtaW51dGUgaXMgbm90IGRlZmluZWQgaW4gYSBjcm9uIHNjaGVkdWxlXG4gICAgcHJvcHMuc2NoZWR1bGU/Ll9iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBjbG91ZHdhdGNoRXZlbnRSdWxlLkNsb3Vkd2F0Y2hFdmVudFJ1bGUoXG4gICAgICB0aGlzLFxuICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAge1xuICAgICAgICBuYW1lOiBwcm9wcy5ydWxlTmFtZSxcbiAgICAgICAgbmFtZVByZWZpeCxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgIHN0YXRlOlxuICAgICAgICAgIHByb3BzLmVuYWJsZWQgPT0gbnVsbFxuICAgICAgICAgICAgPyBcIkVOQUJMRURcIlxuICAgICAgICAgICAgOiBwcm9wcy5lbmFibGVkXG4gICAgICAgICAgICAgID8gXCJFTkFCTEVEXCJcbiAgICAgICAgICAgICAgOiBcIkRJU0FCTEVEXCIsIC8vVE9ETzogc3VwcG9ydCBFTkFCTEVEX1dJVEhfQUxMX0NMT1VEVFJBSUxfTUFOQUdFTUVOVF9FVkVOVFM/XG4gICAgICAgIHNjaGVkdWxlRXhwcmVzc2lvbjogdGhpcy5zY2hlZHVsZUV4cHJlc3Npb24sXG4gICAgICAgIGV2ZW50UGF0dGVybjogTGF6eS5zdHJpbmdWYWx1ZSh7XG4gICAgICAgICAgcHJvZHVjZTogKCkgPT4gdGhpcy5zdGFjay50b0pzb25TdHJpbmcodGhpcy5fcmVuZGVyRXZlbnRQYXR0ZXJuKCkpLFxuICAgICAgICB9KSxcbiAgICAgICAgLy8gdGVycmFmb3JtLXByb3ZpZGVyLWF3cyBzZXBhcmF0ZXMgdGFyZ2V0cyB0byBkaWZmZXJlbnQgcmVzb3VyY2VzLlxuICAgICAgICAvLyB0YXJnZXRzOiBMYXp5LmFueVZhbHVlKHsgcHJvZHVjZTogKCkgPT4gdGhpcy5yZW5kZXJUYXJnZXRzKCkgfSksXG4gICAgICAgIGV2ZW50QnVzTmFtZTogcHJvcHMuZXZlbnRCdXM/LmV2ZW50QnVzTmFtZSxcbiAgICAgICAgZGVwZW5kc09uOiBwcm9wcy5kZXBlbmRzT24sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50UGF0dGVybihwcm9wcy5ldmVudFBhdHRlcm4pO1xuXG4gICAgZm9yIChjb25zdCB0YXJnZXQgb2YgcHJvcHMudGFyZ2V0cyB8fCBbXSkge1xuICAgICAgdGhpcy5hZGRUYXJnZXQodGFyZ2V0KTtcbiAgICB9XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCkgPT4gdGhpcy52YWxpZGF0ZVJ1bGUocHJvcHMucnVsZU5hbWUpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gZXZlbnQgcGF0dGVybiBmaWx0ZXIgdG8gdGhpcyBydWxlLiBJZiBhIHBhdHRlcm4gd2FzIGFscmVhZHkgc3BlY2lmaWVkLFxuICAgKiB0aGVzZSB2YWx1ZXMgYXJlIG1lcmdlZCBpbnRvIHRoZSBleGlzdGluZyBwYXR0ZXJuLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgaWYgdGhlIHJ1bGUgYWxyZWFkeSBjb250YWlucyB0aGUgcGF0dGVybjpcbiAgICpcbiAgICogICAge1xuICAgKiAgICAgIFwicmVzb3VyY2VzXCI6IFsgXCJyMVwiIF0sXG4gICAqICAgICAgXCJkZXRhaWxcIjoge1xuICAgKiAgICAgICAgXCJoZWxsb1wiOiBbIDEgXVxuICAgKiAgICAgIH1cbiAgICogICAgfVxuICAgKlxuICAgKiBBbmQgYGFkZEV2ZW50UGF0dGVybmAgaXMgY2FsbGVkIHdpdGggdGhlIHBhdHRlcm46XG4gICAqXG4gICAqICAgIHtcbiAgICogICAgICBcInJlc291cmNlc1wiOiBbIFwicjJcIiBdLFxuICAgKiAgICAgIFwiZGV0YWlsXCI6IHtcbiAgICogICAgICAgIFwiZm9vXCI6IFsgXCJiYXJcIiBdXG4gICAqICAgICAgfVxuICAgKiAgICB9XG4gICAqXG4gICAqIFRoZSByZXN1bHRpbmcgZXZlbnQgcGF0dGVybiB3aWxsIGJlOlxuICAgKlxuICAgKiAgICB7XG4gICAqICAgICAgXCJyZXNvdXJjZXNcIjogWyBcInIxXCIsIFwicjJcIiBdLFxuICAgKiAgICAgIFwiZGV0YWlsXCI6IHtcbiAgICogICAgICAgIFwiaGVsbG9cIjogWyAxIF0sXG4gICAqICAgICAgICBcImZvb1wiOiBbIFwiYmFyXCIgXVxuICAgKiAgICAgIH1cbiAgICogICAgfVxuICAgKlxuICAgKi9cbiAgcHVibGljIGFkZEV2ZW50UGF0dGVybihldmVudFBhdHRlcm4/OiBFdmVudFBhdHRlcm4pIHtcbiAgICBpZiAoIWV2ZW50UGF0dGVybikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBtZXJnZUV2ZW50UGF0dGVybih0aGlzLmV2ZW50UGF0dGVybiwgZXZlbnRQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3QgcHJpdmF0ZSBvbmx5IHRvIGJlIG92ZXJyaWRlZW4gaW4gQ29weVJ1bGUuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF9yZW5kZXJFdmVudFBhdHRlcm4oKTogYW55IHtcbiAgICByZXR1cm4gcmVuZGVyRXZlbnRQYXR0ZXJuKHRoaXMuZXZlbnRQYXR0ZXJuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB2YWxpZGF0ZVJ1bGUocnVsZU5hbWU/OiBzdHJpbmcpIHtcbiAgICBpZiAocnVsZU5hbWUgIT09IHVuZGVmaW5lZCAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHJ1bGVOYW1lKSkge1xuICAgICAgaWYgKHJ1bGVOYW1lLmxlbmd0aCA8IDEgfHwgcnVsZU5hbWUubGVuZ3RoID4gNjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBFdmVudCBydWxlIG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDY0IGNoYXJhY3RlcnMuIFJlY2VpdmVkOiAke3J1bGVOYW1lfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW1xcLlxcLV9BLVphLXowLTldKyQvLnRlc3QocnVsZU5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgRXZlbnQgcnVsZSBuYW1lICR7cnVsZU5hbWV9IGNhbiBjb250YWluIG9ubHkgbGV0dGVycywgbnVtYmVycywgcGVyaW9kcywgaHlwaGVucywgb3IgdW5kZXJzY29yZXMgd2l0aCBubyBzcGFjZXMuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKFxuICAgICAgT2JqZWN0LmtleXModGhpcy5ldmVudFBhdHRlcm4pLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgIXRoaXMuc2NoZWR1bGVFeHByZXNzaW9uXG4gICAgKSB7XG4gICAgICBlcnJvcnMucHVzaChcIkVpdGhlciAnZXZlbnRQYXR0ZXJuJyBvciAnc2NoZWR1bGUnIG11c3QgYmUgZGVmaW5lZFwiKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50YXJnZXRzLmxlbmd0aCA+IDUpIHtcbiAgICAgIGVycm9ycy5wdXNoKFwiRXZlbnQgcnVsZSBjYW5ub3QgaGF2ZSBtb3JlIHRoYW4gNSB0YXJnZXRzLlwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB0YXJnZXQgdG8gdGhlIHJ1bGUuIFRoZSBhYnN0cmFjdCBjbGFzcyBSdWxlVGFyZ2V0IGNhbiBiZSBleHRlbmRlZCB0byBkZWZpbmUgbmV3XG4gICAqIHRhcmdldHMuXG4gICAqXG4gICAqIE5vLW9wIGlmIHRhcmdldCBpcyB1bmRlZmluZWQuXG4gICAqL1xuICBwdWJsaWMgYWRkVGFyZ2V0KHRhcmdldD86IElSdWxlVGFyZ2V0KTogdm9pZCB7XG4gICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gU2ltcGx5IGluY3JlbWVudCBpZCBmb3IgZWFjaCBgYWRkVGFyZ2V0YCBjYWxsLiBUaGlzIGlzIGd1YXJhbnRlZWQgdG8gYmUgdW5pcXVlLlxuICAgIGNvbnN0IHRhcmdldElkID0gYFRhcmdldCR7dGhpcy50YXJnZXRzLmxlbmd0aH1gO1xuICAgIGNvbnN0IHRhcmdldFByb3BzID0gdGFyZ2V0LmJpbmQodGhpcywgdGFyZ2V0SWQpO1xuICAgIGNvbnN0IGlucHV0UHJvcHMgPSB0YXJnZXRQcm9wcy5pbnB1dCAmJiB0YXJnZXRQcm9wcy5pbnB1dC5iaW5kKHRoaXMpO1xuICAgIHRoaXMudGFyZ2V0cy5wdXNoKHtcbiAgICAgIHRhcmdldElkLFxuICAgICAgcm9sZUFybjogdGFyZ2V0UHJvcHMucm9sZT8ucm9sZUFybixcbiAgICAgIHJ1bGU6IHRoaXMucmVzb3VyY2UubmFtZSxcbiAgICAgIGFybjogdGFyZ2V0UHJvcHMuYXJuLFxuICAgICAgZWNzVGFyZ2V0OiB0YXJnZXRQcm9wcy5lY3NQYXJhbWV0ZXJzLFxuICAgICAgaHR0cFRhcmdldDogdGFyZ2V0UHJvcHMuaHR0cFBhcmFtZXRlcnMsXG4gICAgICBraW5lc2lzVGFyZ2V0OiB0YXJnZXRQcm9wcy5raW5lc2lzUGFyYW1ldGVycyxcbiAgICAgIHJ1bkNvbW1hbmRUYXJnZXRzOiB0YXJnZXRQcm9wcy5ydW5Db21tYW5kUGFyYW1ldGVycyxcbiAgICAgIGJhdGNoVGFyZ2V0OiB0YXJnZXRQcm9wcy5iYXRjaFBhcmFtZXRlcnMsXG4gICAgICBkZWFkTGV0dGVyQ29uZmlnOiB0YXJnZXRQcm9wcy5kZWFkTGV0dGVyQ29uZmlnLFxuICAgICAgcmV0cnlQb2xpY3k6IHRhcmdldFByb3BzLnJldHJ5UG9saWN5LFxuICAgICAgc3FzVGFyZ2V0OiB0YXJnZXRQcm9wcy5zcXNQYXJhbWV0ZXJzLFxuICAgICAgcmVkc2hpZnRUYXJnZXQ6IHRhcmdldFByb3BzLnJlZHNoaWZ0RGF0YVBhcmFtZXRlcnMsXG4gICAgICAvLyBUT0RPOiBub3QgYXZhaWxhYmxlIGluIHRlcnJhZm9ybS1wcm92aWRlci1hd3NcbiAgICAgIC8vIGFwcFN5bmNQYXJhbWV0ZXJzOiB0YXJnZXRQcm9wcy5hcHBTeW5jUGFyYW1ldGVycyxcbiAgICAgIGlucHV0OiBpbnB1dFByb3BzICYmIGlucHV0UHJvcHMuaW5wdXQsXG4gICAgICBpbnB1dFBhdGg6IGlucHV0UHJvcHMgJiYgaW5wdXRQcm9wcy5pbnB1dFBhdGgsXG4gICAgICBpbnB1dFRyYW5zZm9ybWVyOlxuICAgICAgICBpbnB1dFByb3BzPy5pbnB1dFRlbXBsYXRlICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgaW5wdXRUZW1wbGF0ZTogaW5wdXRQcm9wcy5pbnB1dFRlbXBsYXRlLFxuICAgICAgICAgICAgICBpbnB1dFBhdGhzOiBpbnB1dFByb3BzLmlucHV0UGF0aHNNYXAsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyByZXNvdXJjZSB0byB0aGUgVGVycmFmb3JtIEpTT04gb3V0cHV0IGF0IFN5bnRoIHRpbWUuXG4gICAqXG4gICAqIGNhbGxlZCBieSBUZXJyYWZvcm1TdGFjay5wcmVwYXJlU3RhY2soKVxuICAgKi9cbiAgcHVibGljIHRvVGVycmFmb3JtKCk6IGFueSB7XG4gICAgLyoqXG4gICAgICogQSBwcmVwYXJpbmcgcmVzb2x2ZSBtaWdodCBhZGQgbmV3IHJlc291cmNlcyB0byB0aGUgc3RhY2tcbiAgICAgKi9cbiAgICBmb3IgKGNvbnN0IHRhcmdldCBvZiB0aGlzLnRhcmdldHMpIHtcbiAgICAgIC8vIG5vdGU6IHRhcmdldElkIGlzIGNhbGN1bGF0ZWQgaW4gYWRkVGFyZ2V0KClcbiAgICAgIC8vIFRPRE86IElkZWFsbHkgd2Ugc2hvdWxkIGhhdmUgdXNlZCBJUmVzb2x2YWJsZS5yZXNvbHZlIGFuZCB1c2UgdGhlIElSZXNvbHZlQ29udGV4dC5wcmVwYXJpbmcgZmxhZ1xuICAgICAgLy8gcmVmOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzAuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtaWFtL2xpYi9wb2xpY3ktZG9jdW1lbnQudHMjTDQ4XG4gICAgICBpZiAodGhpcy5ub2RlLnRyeUZpbmRDaGlsZCh0YXJnZXQudGFyZ2V0SWQhKSkgY29udGludWU7IC8vIGlnbm9yZSBpZiBhbHJlYWR5IGdlbmVyYXRlZFxuICAgICAgbmV3IGNsb3Vkd2F0Y2hFdmVudFRhcmdldC5DbG91ZHdhdGNoRXZlbnRUYXJnZXQoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRhcmdldC50YXJnZXRJZCEsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxufVxuIl19
|
|
229
|
+
Rule[_a] = { fqn: "terraconstructs.aws.notify.Rule", version: "0.2.1" };
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyRkFBMkY7QUFFM0Ysc0RBSTZCO0FBQzdCLGlDQUFvQztBQUVwQyxnQ0FBbUM7QUFDbkMsb0RBSTBCO0FBQzFCLDRDQUF3QztBQVF4QyxpQ0FBK0Q7QUFvRy9ELE1BQWEsSUFBSyxTQUFRLGdDQUFnQjtJQUN4Qzs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQzVCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixZQUFvQjtRQUVwQixNQUFNLEtBQUssR0FBRyxvQkFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQ25ELFlBQVksRUFDWixlQUFTLENBQUMsbUJBQW1CLENBQzlCLENBQUM7UUFFRixNQUFNLE1BQU8sU0FBUSxnQ0FBZ0I7WUFBckM7O2dCQUNTLFlBQU8sR0FBRyxZQUFZLENBQUM7Z0JBQ3ZCLGFBQVEsR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztnQkFDcEMsZ0JBQVcsR0FBRztvQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87aUJBQ2xCLENBQUM7Z0JBQ0ssWUFBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDcEMsQ0FBQztTQUFBO1FBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzNCLGtCQUFrQixFQUFFLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM1QixDQUFDO0lB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LElBQUksVUFBVSxDQUFDLEtBQUs7WUFDckMsU0FBUyxFQUFFLFVBQVUsSUFBSSxVQUFVLENBQUMsU0FBUztZQUM3QyxnQkFBZ0IsRUFDZCxVQUFVLEVBQUUsYUFBYSxLQUFLLFNBQVM7Z0JBQ3JDLENBQUMsQ0FBQztvQkFDRSxhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWE7b0JBQ3ZDLFVBQVUsRUFBRSxVQUFVLENBQUMsYUFBYTtpQkFDckM7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVM7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxXQUFXO1FBQ2hCOztXQUVHO1FBQ0gsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEMsOENBQThDO1lBQzlDLG1HQUFtRztZQUNuRyw0R0FBNEc7WUFDNUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUyxDQUFDO2dCQUFFLFNBQVMsQ0FBQyw4QkFBOEI7WUFDdEYsSUFBSSxvQ0FBcUIsQ0FBQyxxQkFBcUIsQ0FDN0MsSUFBSSxFQUNKLE1BQU0sQ0FBQyxRQUFTLEVBQ2hCLE1BQU0sQ0FDUCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7QUFsUUgsb0JBbVFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTU2LjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWV2ZW50cy9saWIvcnVsZS50c1xuXG5pbXBvcnQge1xuICBjbG91ZHdhdGNoRXZlbnRSdWxlLFxuICBjbG91ZHdhdGNoRXZlbnRUYXJnZXQsXG4gIC8vc2NoZWR1bGVyU2NoZWR1bGVHcm91cCAvL1RPRE86IHN1cHBvcnQgc2NoZWR1bGVyIGdyb3Vwcz9cbn0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IExhenksIFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXJuRm9ybWF0IH0gZnJvbSBcIi4uL2FyblwiO1xuaW1wb3J0IHtcbiAgQXdzQ29uc3RydWN0QmFzZSxcbiAgSUF3c0NvbnN0cnVjdCxcbiAgQXdzQ29uc3RydWN0UHJvcHMsXG59IGZyb20gXCIuLi9hd3MtY29uc3RydWN0XCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCB7XG4gIFNjaGVkdWxlLFxuICBFdmVudFBhdHRlcm4sXG4gIElSdWxlVGFyZ2V0LFxuICBJRXZlbnRCdXMsXG4gIEV2ZW50Q29tbW9uT3B0aW9ucyxcbn0gZnJvbSBcIi4vXCI7XG5pbXBvcnQgeyBtZXJnZUV2ZW50UGF0dGVybiwgcmVuZGVyRXZlbnRQYXR0ZXJuIH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVQcm9wcyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzLCBFdmVudENvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJ1bGUgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJ1bGUgTmFtZSBwcmVmaXggdG8gYXBwZW5kIHRvIEdyaWQgVVVJRFxuICAgKlxuICAgKiBSdWxlIG5hbWVzIG11c3QgYmUgbWFkZSB1cCBvZiBvbmx5IHVwcGVyY2FzZSBhbmQgbG93ZXJjYXNlIEFTQ0lJIGxldHRlcnMsXG4gICAqIG51bWJlcnMsIHVuZGVyc2NvcmVzLCBhbmQgaHlwaGVucywgYW5kIER1ZSB0byB0aGUgbGVuZ3RoIG9mIHRoZSB0ZiBnZW5lcmF0ZWRcbiAgICogc3VmZml4LCBtdXN0IGJlIDY0IGNoYXJhY3RlcnMgb3IgbGVzcyBsb25nLlxuICAgKlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEdyaWRVVUlEICsgU3RhY2sgVW5pcXVlIE5hbWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlZHVsZSBvciByYXRlIChmcmVxdWVuY3kpIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIEV2ZW50QnJpZGdlXG4gICAqIHJ1bnMgdGhlIHJ1bGUuXG4gICAqXG4gICAqIFlvdSBtdXN0IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSwgdGhlIGBldmVudFBhdHRlcm5gIHByb3BlcnR5LCBvciBib3RoLlxuICAgKlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFNjaGVkdWxlIEV4cHJlc3Npb24gU3ludGF4IGZvclxuICAgKiBSdWxlcyBpbiB0aGUgQW1hem9uIEV2ZW50QnJpZGdlIFVzZXIgR3VpZGUuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC91c2VyZ3VpZGUvc2NoZWR1bGVkLWV2ZW50cy5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVkdWxlPzogU2NoZWR1bGU7XG5cbiAgLyoqXG4gICAqIFRhcmdldHMgdG8gaW52b2tlIHdoZW4gdGhpcyBydWxlIG1hdGNoZXMgYW4gZXZlbnQuXG4gICAqXG4gICAqIElucHV0IHdpbGwgYmUgdGhlIGZ1bGwgbWF0Y2hlZCBldmVudC4gSWYgeW91IHdpc2ggdG8gc3BlY2lmeSBjdXN0b21cbiAgICogdGFyZ2V0IGlucHV0LCB1c2UgYGFkZFRhcmdldCh0YXJnZXRbLCBpbnB1dE9wdGlvbnNdKWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gdGFyZ2V0cy5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldHM/OiBJUnVsZVRhcmdldFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgYnVzIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgcnVsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgZGVmYXVsdCBldmVudCBidXMuXG4gICAqL1xuICByZWFkb25seSBldmVudEJ1cz86IElFdmVudEJ1cztcblxuICAvLyAvKipcbiAgLy8gICogQWRkaXRpb25hbCByZXN0cmljdGlvbnMgZm9yIHRoZSBldmVudCB0byByb3V0ZSB0byB0aGUgc3BlY2lmaWVkIHRhcmdldFxuICAvLyAgKlxuICAvLyAgKiBUaGUgbWV0aG9kIHRoYXQgZ2VuZXJhdGVzIHRoZSBydWxlIHByb2JhYmx5IGltcG9zZXMgc29tZSB0eXBlIG9mIGV2ZW50XG4gIC8vICAqIGZpbHRlcmluZy4gVGhlIGZpbHRlcmluZyBpbXBsaWVkIGJ5IHdoYXQgeW91IHBhc3MgaGVyZSBpcyBhZGRlZFxuICAvLyAgKiBvbiB0b3Agb2YgdGhhdCBmaWx0ZXJpbmcuXG4gIC8vICAqXG4gIC8vICAqIEBkZWZhdWx0IC0gTm8gYWRkaXRpb25hbCBmaWx0ZXJpbmcgYmFzZWQgb24gYW4gZXZlbnQgcGF0dGVybi5cbiAgLy8gICpcbiAgLy8gICogQHNlZVxuICAvLyAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZXZlbnRicmlkZ2UvbGF0ZXN0L3VzZXJndWlkZS9ldmVudGJyaWRnZS1hbmQtZXZlbnQtcGF0dGVybnMuaHRtbFxuICAvLyAgKi9cbiAgLy8gcmVhZG9ubHkgZXZlbnRQYXR0ZXJuPzogRXZlbnRQYXR0ZXJuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFJ1bGUgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSdWxlIGFyblxuICAgKi9cbiAgcmVhZG9ubHkgYXJuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGUgZXh0ZW5kcyBJQXdzQ29uc3RydWN0IHtcbiAgLyoqIFN0cm9uZ2x5IHR5cGVkIG91dHB1dHMgKi9cbiAgcmVhZG9ubHkgcnVsZU91dHB1dHM6IFJ1bGVPdXRwdXRzO1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBldmVudCBydWxlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pLCBzdWNoIGFzXG4gICAqIGFybjphd3M6ZXZlbnRzOnVzLWVhc3QtMjoxMjM0NTY3ODkwMTI6cnVsZS9leGFtcGxlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBydWxlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIGV2ZW50IHJ1bGVcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcnVsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFJ1bGUgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSVJ1bGUge1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIEV2ZW50QnJpZGdlIFJ1bGUgcHJvdmlkZWQgYW4gQVJOXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApLlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWUuXG4gICAqIEBwYXJhbSBldmVudFJ1bGVBcm4gRXZlbnQgUnVsZSBBUk4gKGkuZS4gYXJuOmF3czpldmVudHM6PHJlZ2lvbj46PGFjY291bnQtaWQ+OnJ1bGUvTXlTY2hlZHVsZWRSdWxlKS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUV2ZW50UnVsZUFybihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZXZlbnRSdWxlQXJuOiBzdHJpbmcsXG4gICk6IElSdWxlIHtcbiAgICBjb25zdCBwYXJ0cyA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHNjb3BlKS5zcGxpdEFybihcbiAgICAgIGV2ZW50UnVsZUFybixcbiAgICAgIEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgICk7XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSVJ1bGUge1xuICAgICAgcHVibGljIHJ1bGVBcm4gPSBldmVudFJ1bGVBcm47XG4gICAgICBwdWJsaWMgcnVsZU5hbWUgPSBwYXJ0cy5yZXNvdXJjZU5hbWUgfHwgXCJcIjtcbiAgICAgIHB1YmxpYyBydWxlT3V0cHV0cyA9IHtcbiAgICAgICAgbmFtZTogdGhpcy5ydWxlTmFtZSxcbiAgICAgICAgYXJuOiB0aGlzLnJ1bGVBcm4sXG4gICAgICB9O1xuICAgICAgcHVibGljIG91dHB1dHMgPSB0aGlzLnJ1bGVPdXRwdXRzO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQsIHtcbiAgICAgIGVudmlyb25tZW50RnJvbUFybjogZXZlbnRSdWxlQXJuLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBjbG91ZHdhdGNoRXZlbnRSdWxlLkNsb3Vkd2F0Y2hFdmVudFJ1bGU7XG4gIHB1YmxpYyBnZXQgcnVsZUFybigpIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5hcm47XG4gIH1cbiAgcHVibGljIGdldCBydWxlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5uYW1lO1xuICB9XG4gIHB1YmxpYyBnZXQgcnVsZU91dHB1dHMoKTogUnVsZU91dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLnJ1bGVOYW1lLFxuICAgICAgYXJuOiB0aGlzLnJ1bGVBcm4sXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMucnVsZU91dHB1dHM7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHRhcmdldHMgPVxuICAgIG5ldyBBcnJheTxjbG91ZHdhdGNoRXZlbnRUYXJnZXQuQ2xvdWR3YXRjaEV2ZW50VGFyZ2V0Q29uZmlnPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50UGF0dGVybjogRXZlbnRQYXR0ZXJuID0ge307XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzY2hlZHVsZUV4cHJlc3Npb24/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRCdXNOYW1lPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IFJ1bGVQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIG5hbWUsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5ldmVudEJ1cyAmJiBwcm9wcy5zY2hlZHVsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNhbm5vdCBhc3NvY2lhdGUgcnVsZSB3aXRoICdldmVudEJ1cycgd2hlbiB1c2luZyAnc2NoZWR1bGUnXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBuYW1lUHJlZml4OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKCFwcm9wcy5ydWxlTmFtZSkge1xuICAgICAgbmFtZVByZWZpeCA9IHRoaXMuc3RhY2sudW5pcXVlUmVzb3VyY2VOYW1lUHJlZml4KHRoaXMsIHtcbiAgICAgICAgcHJlZml4OiBwcm9wcy5uYW1lUHJlZml4ID8/IHRoaXMuZ3JpZFVVSUQgKyBcIi1cIixcbiAgICAgICAgYWxsb3dlZFNwZWNpYWxDaGFyYWN0ZXJzOiBcIi4tX1wiLFxuICAgICAgICBtYXhMZW5ndGg6IDY0LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBwcm9wcy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLnNjaGVkdWxlRXhwcmVzc2lvbiA9IHByb3BzLnNjaGVkdWxlPy5leHByZXNzaW9uU3RyaW5nO1xuICAgIHRoaXMuZXZlbnRCdXNOYW1lID0gcHJvcHMuZXZlbnRCdXM/LmV2ZW50QnVzTmFtZTtcblxuICAgIC8vIGFkZCBhIHdhcm5pbmcgb24gc3ludGggd2hlbiBtaW51dGUgaXMgbm90IGRlZmluZWQgaW4gYSBjcm9uIHNjaGVkdWxlXG4gICAgcHJvcHMuc2NoZWR1bGU/Ll9iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBjbG91ZHdhdGNoRXZlbnRSdWxlLkNsb3Vkd2F0Y2hFdmVudFJ1bGUoXG4gICAgICB0aGlzLFxuICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAge1xuICAgICAgICBuYW1lOiBwcm9wcy5ydWxlTmFtZSxcbiAgICAgICAgbmFtZVByZWZpeCxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgIHN0YXRlOlxuICAgICAgICAgIHByb3BzLmVuYWJsZWQgPT0gbnVsbFxuICAgICAgICAgICAgPyBcIkVOQUJMRURcIlxuICAgICAgICAgICAgOiBwcm9wcy5lbmFibGVkXG4gICAgICAgICAgICAgID8gXCJFTkFCTEVEXCJcbiAgICAgICAgICAgICAgOiBcIkRJU0FCTEVEXCIsIC8vVE9ETzogc3VwcG9ydCBFTkFCTEVEX1dJVEhfQUxMX0NMT1VEVFJBSUxfTUFOQUdFTUVOVF9FVkVOVFM/XG4gICAgICAgIHNjaGVkdWxlRXhwcmVzc2lvbjogdGhpcy5zY2hlZHVsZUV4cHJlc3Npb24sXG4gICAgICAgIGV2ZW50UGF0dGVybjogTGF6eS5zdHJpbmdWYWx1ZSh7XG4gICAgICAgICAgcHJvZHVjZTogKCkgPT4gdGhpcy5zdGFjay50b0pzb25TdHJpbmcodGhpcy5fcmVuZGVyRXZlbnRQYXR0ZXJuKCkpLFxuICAgICAgICB9KSxcbiAgICAgICAgLy8gdGVycmFmb3JtLXByb3ZpZGVyLWF3cyBzZXBhcmF0ZXMgdGFyZ2V0cyB0byBkaWZmZXJlbnQgcmVzb3VyY2VzLlxuICAgICAgICAvLyB0YXJnZXRzOiBMYXp5LmFueVZhbHVlKHsgcHJvZHVjZTogKCkgPT4gdGhpcy5yZW5kZXJUYXJnZXRzKCkgfSksXG4gICAgICAgIGV2ZW50QnVzTmFtZTogdGhpcy5ldmVudEJ1c05hbWUsXG4gICAgICAgIGRlcGVuZHNPbjogcHJvcHMuZGVwZW5kc09uLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgdGhpcy5hZGRFdmVudFBhdHRlcm4ocHJvcHMuZXZlbnRQYXR0ZXJuKTtcblxuICAgIGZvciAoY29uc3QgdGFyZ2V0IG9mIHByb3BzLnRhcmdldHMgfHwgW10pIHtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0KHRhcmdldCk7XG4gICAgfVxuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oe1xuICAgICAgdmFsaWRhdGU6ICgpID0+IHRoaXMudmFsaWRhdGVSdWxlKHByb3BzLnJ1bGVOYW1lKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGV2ZW50IHBhdHRlcm4gZmlsdGVyIHRvIHRoaXMgcnVsZS4gSWYgYSBwYXR0ZXJuIHdhcyBhbHJlYWR5IHNwZWNpZmllZCxcbiAgICogdGhlc2UgdmFsdWVzIGFyZSBtZXJnZWQgaW50byB0aGUgZXhpc3RpbmcgcGF0dGVybi5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGlmIHRoZSBydWxlIGFscmVhZHkgY29udGFpbnMgdGhlIHBhdHRlcm46XG4gICAqXG4gICAqICAgIHtcbiAgICogICAgICBcInJlc291cmNlc1wiOiBbIFwicjFcIiBdLFxuICAgKiAgICAgIFwiZGV0YWlsXCI6IHtcbiAgICogICAgICAgIFwiaGVsbG9cIjogWyAxIF1cbiAgICogICAgICB9XG4gICAqICAgIH1cbiAgICpcbiAgICogQW5kIGBhZGRFdmVudFBhdHRlcm5gIGlzIGNhbGxlZCB3aXRoIHRoZSBwYXR0ZXJuOlxuICAgKlxuICAgKiAgICB7XG4gICAqICAgICAgXCJyZXNvdXJjZXNcIjogWyBcInIyXCIgXSxcbiAgICogICAgICBcImRldGFpbFwiOiB7XG4gICAqICAgICAgICBcImZvb1wiOiBbIFwiYmFyXCIgXVxuICAgKiAgICAgIH1cbiAgICogICAgfVxuICAgKlxuICAgKiBUaGUgcmVzdWx0aW5nIGV2ZW50IHBhdHRlcm4gd2lsbCBiZTpcbiAgICpcbiAgICogICAge1xuICAgKiAgICAgIFwicmVzb3VyY2VzXCI6IFsgXCJyMVwiLCBcInIyXCIgXSxcbiAgICogICAgICBcImRldGFpbFwiOiB7XG4gICAqICAgICAgICBcImhlbGxvXCI6IFsgMSBdLFxuICAgKiAgICAgICAgXCJmb29cIjogWyBcImJhclwiIF1cbiAgICogICAgICB9XG4gICAqICAgIH1cbiAgICpcbiAgICovXG4gIHB1YmxpYyBhZGRFdmVudFBhdHRlcm4oZXZlbnRQYXR0ZXJuPzogRXZlbnRQYXR0ZXJuKSB7XG4gICAgaWYgKCFldmVudFBhdHRlcm4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbWVyZ2VFdmVudFBhdHRlcm4odGhpcy5ldmVudFBhdHRlcm4sIGV2ZW50UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogTm90IHByaXZhdGUgb25seSB0byBiZSBvdmVycmlkZWVuIGluIENvcHlSdWxlLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfcmVuZGVyRXZlbnRQYXR0ZXJuKCk6IGFueSB7XG4gICAgcmV0dXJuIHJlbmRlckV2ZW50UGF0dGVybih0aGlzLmV2ZW50UGF0dGVybik7XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsaWRhdGVSdWxlKHJ1bGVOYW1lPzogc3RyaW5nKSB7XG4gICAgaWYgKHJ1bGVOYW1lICE9PSB1bmRlZmluZWQgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChydWxlTmFtZSkpIHtcbiAgICAgIGlmIChydWxlTmFtZS5sZW5ndGggPCAxIHx8IHJ1bGVOYW1lLmxlbmd0aCA+IDY0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgRXZlbnQgcnVsZSBuYW1lIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA2NCBjaGFyYWN0ZXJzLiBSZWNlaXZlZDogJHtydWxlTmFtZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKCEvXltcXC5cXC1fQS1aYS16MC05XSskLy50ZXN0KHJ1bGVOYW1lKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEV2ZW50IHJ1bGUgbmFtZSAke3J1bGVOYW1lfSBjYW4gY29udGFpbiBvbmx5IGxldHRlcnMsIG51bWJlcnMsIHBlcmlvZHMsIGh5cGhlbnMsIG9yIHVuZGVyc2NvcmVzIHdpdGggbm8gc3BhY2VzLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuZXZlbnRQYXR0ZXJuKS5sZW5ndGggPT09IDAgJiZcbiAgICAgICF0aGlzLnNjaGVkdWxlRXhwcmVzc2lvblxuICAgICkge1xuICAgICAgZXJyb3JzLnB1c2goXCJFaXRoZXIgJ2V2ZW50UGF0dGVybicgb3IgJ3NjaGVkdWxlJyBtdXN0IGJlIGRlZmluZWRcIik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGFyZ2V0cy5sZW5ndGggPiA1KSB7XG4gICAgICBlcnJvcnMucHVzaChcIkV2ZW50IHJ1bGUgY2Fubm90IGhhdmUgbW9yZSB0aGFuIDUgdGFyZ2V0cy5cIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdGFyZ2V0IHRvIHRoZSBydWxlLiBUaGUgYWJzdHJhY3QgY2xhc3MgUnVsZVRhcmdldCBjYW4gYmUgZXh0ZW5kZWQgdG8gZGVmaW5lIG5ld1xuICAgKiB0YXJnZXRzLlxuICAgKlxuICAgKiBOby1vcCBpZiB0YXJnZXQgaXMgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIGFkZFRhcmdldCh0YXJnZXQ/OiBJUnVsZVRhcmdldCk6IHZvaWQge1xuICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFNpbXBseSBpbmNyZW1lbnQgaWQgZm9yIGVhY2ggYGFkZFRhcmdldGAgY2FsbC4gVGhpcyBpcyBndWFyYW50ZWVkIHRvIGJlIHVuaXF1ZS5cbiAgICBjb25zdCB0YXJnZXRJZCA9IGBUYXJnZXQke3RoaXMudGFyZ2V0cy5sZW5ndGh9YDtcbiAgICBjb25zdCB0YXJnZXRQcm9wcyA9IHRhcmdldC5iaW5kKHRoaXMsIHRhcmdldElkKTtcbiAgICBjb25zdCBpbnB1dFByb3BzID0gdGFyZ2V0UHJvcHMuaW5wdXQgJiYgdGFyZ2V0UHJvcHMuaW5wdXQuYmluZCh0aGlzKTtcbiAgICB0aGlzLnRhcmdldHMucHVzaCh7XG4gICAgICB0YXJnZXRJZCxcbiAgICAgIHJvbGVBcm46IHRhcmdldFByb3BzLnJvbGU/LnJvbGVBcm4sXG4gICAgICBydWxlOiB0aGlzLnJlc291cmNlLm5hbWUsXG4gICAgICBldmVudEJ1c05hbWU6IHRoaXMuZXZlbnRCdXNOYW1lLCAvLyBJZiBvbWl0dGVkLCBpdCB3aWxsIHVzZSBgZGVmYXVsdGAgZXZlbnQgYnVzXG4gICAgICBhcm46IHRhcmdldFByb3BzLmFybixcbiAgICAgIGVjc1RhcmdldDogdGFyZ2V0UHJvcHMuZWNzUGFyYW1ldGVycyxcbiAgICAgIGh0dHBUYXJnZXQ6IHRhcmdldFByb3BzLmh0dHBQYXJhbWV0ZXJzLFxuICAgICAga2luZXNpc1RhcmdldDogdGFyZ2V0UHJvcHMua2luZXNpc1BhcmFtZXRlcnMsXG4gICAgICBydW5Db21tYW5kVGFyZ2V0czogdGFyZ2V0UHJvcHMucnVuQ29tbWFuZFBhcmFtZXRlcnMsXG4gICAgICBiYXRjaFRhcmdldDogdGFyZ2V0UHJvcHMuYmF0Y2hQYXJhbWV0ZXJzLFxuICAgICAgZGVhZExldHRlckNvbmZpZzogdGFyZ2V0UHJvcHMuZGVhZExldHRlckNvbmZpZyxcbiAgICAgIHJldHJ5UG9saWN5OiB0YXJnZXRQcm9wcy5yZXRyeVBvbGljeSxcbiAgICAgIHNxc1RhcmdldDogdGFyZ2V0UHJvcHMuc3FzUGFyYW1ldGVycyxcbiAgICAgIHJlZHNoaWZ0VGFyZ2V0OiB0YXJnZXRQcm9wcy5yZWRzaGlmdERhdGFQYXJhbWV0ZXJzLFxuICAgICAgLy8gVE9ETzogbm90IGF2YWlsYWJsZSBpbiB0ZXJyYWZvcm0tcHJvdmlkZXItYXdzXG4gICAgICAvLyBhcHBTeW5jUGFyYW1ldGVyczogdGFyZ2V0UHJvcHMuYXBwU3luY1BhcmFtZXRlcnMsXG4gICAgICBpbnB1dDogaW5wdXRQcm9wcyAmJiBpbnB1dFByb3BzLmlucHV0LFxuICAgICAgaW5wdXRQYXRoOiBpbnB1dFByb3BzICYmIGlucHV0UHJvcHMuaW5wdXRQYXRoLFxuICAgICAgaW5wdXRUcmFuc2Zvcm1lcjpcbiAgICAgICAgaW5wdXRQcm9wcz8uaW5wdXRUZW1wbGF0ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGlucHV0VGVtcGxhdGU6IGlucHV0UHJvcHMuaW5wdXRUZW1wbGF0ZSxcbiAgICAgICAgICAgICAgaW5wdXRQYXRoczogaW5wdXRQcm9wcy5pbnB1dFBhdGhzTWFwLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgcmVzb3VyY2UgdG8gdGhlIFRlcnJhZm9ybSBKU09OIG91dHB1dCBhdCBTeW50aCB0aW1lLlxuICAgKlxuICAgKiBjYWxsZWQgYnkgVGVycmFmb3JtU3RhY2sucHJlcGFyZVN0YWNrKClcbiAgICovXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIC8qKlxuICAgICAqIEEgcHJlcGFyaW5nIHJlc29sdmUgbWlnaHQgYWRkIG5ldyByZXNvdXJjZXMgdG8gdGhlIHN0YWNrXG4gICAgICovXG4gICAgZm9yIChjb25zdCB0YXJnZXQgb2YgdGhpcy50YXJnZXRzKSB7XG4gICAgICAvLyBub3RlOiB0YXJnZXRJZCBpcyBjYWxjdWxhdGVkIGluIGFkZFRhcmdldCgpXG4gICAgICAvLyBUT0RPOiBJZGVhbGx5IHdlIHNob3VsZCBoYXZlIHVzZWQgSVJlc29sdmFibGUucmVzb2x2ZSBhbmQgdXNlIHRoZSBJUmVzb2x2ZUNvbnRleHQucHJlcGFyaW5nIGZsYWdcbiAgICAgIC8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTcwLjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWlhbS9saWIvcG9saWN5LWRvY3VtZW50LnRzI0w0OFxuICAgICAgaWYgKHRoaXMubm9kZS50cnlGaW5kQ2hpbGQodGFyZ2V0LnRhcmdldElkISkpIGNvbnRpbnVlOyAvLyBpZ25vcmUgaWYgYWxyZWFkeSBnZW5lcmF0ZWRcbiAgICAgIG5ldyBjbG91ZHdhdGNoRXZlbnRUYXJnZXQuQ2xvdWR3YXRjaEV2ZW50VGFyZ2V0KFxuICAgICAgICB0aGlzLFxuICAgICAgICB0YXJnZXQudGFyZ2V0SWQhLFxuICAgICAgICB0YXJnZXQsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cbn1cbiJdfQ==
|
|
@@ -85,7 +85,7 @@ class Schedule {
|
|
|
85
85
|
}
|
|
86
86
|
exports.Schedule = Schedule;
|
|
87
87
|
_a = JSII_RTTI_SYMBOL_1;
|
|
88
|
-
Schedule[_a] = { fqn: "terraconstructs.aws.notify.Schedule", version: "0.1
|
|
88
|
+
Schedule[_a] = { fqn: "terraconstructs.aws.notify.Schedule", version: "0.2.1" };
|
|
89
89
|
class LiteralSchedule extends Schedule {
|
|
90
90
|
constructor(expressionString) {
|
|
91
91
|
super();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as cw from "../cloudwatch";
|
|
2
|
-
declare module "./queue" {
|
|
2
|
+
declare module "./queue-base" {
|
|
3
3
|
interface IQueue {
|
|
4
4
|
/**
|
|
5
5
|
* Return the given named metric for this Queue
|
|
@@ -61,8 +61,8 @@ declare module "./queue" {
|
|
|
61
61
|
metricSentMessageSize(props?: cw.MetricOptions): cw.Metric;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
declare module "./queue" {
|
|
65
|
-
interface
|
|
64
|
+
declare module "./queue-base" {
|
|
65
|
+
interface QueueBase {
|
|
66
66
|
/**
|
|
67
67
|
* Return the given named metric for this Queue
|
|
68
68
|
*/
|
|
@@ -3,72 +3,69 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
// Copyright 2012-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
/* eslint-disable prettier/prettier,max-len */
|
|
5
5
|
const cw = require("../cloudwatch");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
// this was renamed from QueueBase
|
|
9
|
-
const queue_1 = require("./queue");
|
|
10
|
-
queue_1.Queue.prototype.metric = function (metricName, props) {
|
|
6
|
+
const queue_base_1 = require("./queue-base");
|
|
7
|
+
queue_base_1.QueueBase.prototype.metric = function (metricName, props) {
|
|
11
8
|
return new cw.Metric({
|
|
12
9
|
"namespace": "AWS/SQS",
|
|
13
10
|
"metricName": metricName,
|
|
14
11
|
"dimensionsMap": {
|
|
15
12
|
"QueueName": this.queueName
|
|
16
13
|
},
|
|
17
|
-
...props
|
|
14
|
+
...(props ?? {}),
|
|
18
15
|
}).attachTo(this);
|
|
19
16
|
};
|
|
20
|
-
|
|
17
|
+
queue_base_1.QueueBase.prototype.metricApproximateAgeOfOldestMessage = function (props) {
|
|
21
18
|
return this.metric("ApproximateAgeOfOldestMessage", {
|
|
22
19
|
"statistic": "Maximum",
|
|
23
|
-
...props
|
|
20
|
+
...(props ?? {}),
|
|
24
21
|
});
|
|
25
22
|
};
|
|
26
|
-
|
|
23
|
+
queue_base_1.QueueBase.prototype.metricApproximateNumberOfMessagesDelayed = function (props) {
|
|
27
24
|
return this.metric("ApproximateNumberOfMessagesDelayed", {
|
|
28
25
|
"statistic": "Maximum",
|
|
29
|
-
...props
|
|
26
|
+
...(props ?? {}),
|
|
30
27
|
});
|
|
31
28
|
};
|
|
32
|
-
|
|
29
|
+
queue_base_1.QueueBase.prototype.metricApproximateNumberOfMessagesNotVisible = function (props) {
|
|
33
30
|
return this.metric("ApproximateNumberOfMessagesNotVisible", {
|
|
34
31
|
"statistic": "Maximum",
|
|
35
|
-
...props
|
|
32
|
+
...(props ?? {}),
|
|
36
33
|
});
|
|
37
34
|
};
|
|
38
|
-
|
|
35
|
+
queue_base_1.QueueBase.prototype.metricApproximateNumberOfMessagesVisible = function (props) {
|
|
39
36
|
return this.metric("ApproximateNumberOfMessagesVisible", {
|
|
40
37
|
"statistic": "Maximum",
|
|
41
|
-
...props
|
|
38
|
+
...(props ?? {}),
|
|
42
39
|
});
|
|
43
40
|
};
|
|
44
|
-
|
|
41
|
+
queue_base_1.QueueBase.prototype.metricNumberOfEmptyReceives = function (props) {
|
|
45
42
|
return this.metric("NumberOfEmptyReceives", {
|
|
46
43
|
"statistic": "Sum",
|
|
47
|
-
...props
|
|
44
|
+
...(props ?? {}),
|
|
48
45
|
});
|
|
49
46
|
};
|
|
50
|
-
|
|
47
|
+
queue_base_1.QueueBase.prototype.metricNumberOfMessagesDeleted = function (props) {
|
|
51
48
|
return this.metric("NumberOfMessagesDeleted", {
|
|
52
49
|
"statistic": "Sum",
|
|
53
|
-
...props
|
|
50
|
+
...(props ?? {}),
|
|
54
51
|
});
|
|
55
52
|
};
|
|
56
|
-
|
|
53
|
+
queue_base_1.QueueBase.prototype.metricNumberOfMessagesReceived = function (props) {
|
|
57
54
|
return this.metric("NumberOfMessagesReceived", {
|
|
58
|
-
|
|
59
|
-
...props
|
|
55
|
+
statistic: "Sum",
|
|
56
|
+
...(props ?? {}),
|
|
60
57
|
});
|
|
61
58
|
};
|
|
62
|
-
|
|
59
|
+
queue_base_1.QueueBase.prototype.metricNumberOfMessagesSent = function (props) {
|
|
63
60
|
return this.metric("NumberOfMessagesSent", {
|
|
64
61
|
"statistic": "Sum",
|
|
65
|
-
...props
|
|
62
|
+
...(props ?? {}),
|
|
66
63
|
});
|
|
67
64
|
};
|
|
68
|
-
|
|
65
|
+
queue_base_1.QueueBase.prototype.metricSentMessageSize = function (props) {
|
|
69
66
|
return this.metric("SentMessageSize", {
|
|
70
67
|
"statistic": "Average",
|
|
71
|
-
...props
|
|
68
|
+
...(props ?? {}),
|
|
72
69
|
});
|
|
73
70
|
};
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLWF1Z21lbnRhdGlvbnMuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvc3FzLWF1Z21lbnRhdGlvbnMuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0VBQStFO0FBQy9FLDhDQUE4QztBQUM5QyxvQ0FBb0M7QUFDcEMsNkNBQTZDO0FBQzdDLDRDQUE0QztBQUM1QyxrQ0FBa0M7QUFDbEMsbUNBQWdDO0FBb0poQyxhQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxVQUFTLFVBQWtCLEVBQUUsS0FBd0I7SUFDNUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDbkIsV0FBVyxFQUFFLFNBQVM7UUFDdEIsWUFBWSxFQUFFLFVBQVU7UUFDeEIsZUFBZSxFQUFFO1lBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzVCO1FBQ0QsR0FBRyxLQUFLO0tBQ1QsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFDRixhQUFLLENBQUMsU0FBUyxDQUFDLG1DQUFtQyxHQUFHLFVBQVMsS0FBd0I7SUFDckYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLCtCQUErQixFQUFFO1FBQ2xELFdBQVcsRUFBRSxTQUFTO1FBQ3RCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLGFBQUssQ0FBQyxTQUFTLENBQUMsd0NBQXdDLEdBQUcsVUFBUyxLQUF3QjtJQUMxRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsb0NBQW9DLEVBQUU7UUFDdkQsV0FBVyxFQUFFLFNBQVM7UUFDdEIsR0FBRyxLQUFLO0tBQ1QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0YsYUFBSyxDQUFDLFNBQVMsQ0FBQywyQ0FBMkMsR0FBRyxVQUFTLEtBQXdCO0lBQzdGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyx1Q0FBdUMsRUFBRTtRQUMxRCxXQUFXLEVBQUUsU0FBUztRQUN0QixHQUFHLEtBQUs7S0FDVCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFDRixhQUFLLENBQUMsU0FBUyxDQUFDLHdDQUF3QyxHQUFHLFVBQVMsS0FBd0I7SUFDMUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLG9DQUFvQyxFQUFFO1FBQ3ZELFdBQVcsRUFBRSxTQUFTO1FBQ3RCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLGFBQUssQ0FBQyxTQUFTLENBQUMsMkJBQTJCLEdBQUcsVUFBUyxLQUF3QjtJQUM3RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEVBQUU7UUFDMUMsV0FBVyxFQUFFLEtBQUs7UUFDbEIsR0FBRyxLQUFLO0tBQ1QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0YsYUFBSyxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsR0FBRyxVQUFTLEtBQXdCO0lBQy9FLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRTtRQUM1QyxXQUFXLEVBQUUsS0FBSztRQUNsQixHQUFHLEtBQUs7S0FDVCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFDRixhQUFLLENBQUMsU0FBUyxDQUFDLDhCQUE4QixHQUFHLFVBQVMsS0FBd0I7SUFDaEYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDBCQUEwQixFQUFFO1FBQzdDLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEdBQUcsS0FBSztLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUNGLGFBQUssQ0FBQyxTQUFTLENBQUMsMEJBQTBCLEdBQUcsVUFBUyxLQUF3QjtJQUM1RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUU7UUFDekMsV0FBVyxFQUFFLEtBQUs7UUFDbEIsR0FBRyxLQUFLO0tBQ1QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0YsYUFBSyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsR0FBRyxVQUFTLEtBQXdCO0lBQ3ZFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTtRQUNwQyxXQUFXLEVBQUUsU0FBUztRQUN0QixHQUFHLEtBQUs7S0FDVCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAxMi0yMDI0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vKiBlc2xpbnQtZGlzYWJsZSBwcmV0dGllci9wcmV0dGllcixtYXgtbGVuICovXG5pbXBvcnQgKiBhcyBjdyBmcm9tIFwiLi4vY2xvdWR3YXRjaFwiO1xuLy8gVE9ETzogcmUtYWRkIFF1ZXVlQmFzZSBhbmQgTWV0cmljcyBzdXBwb3J0XG4vLyBpbXBvcnQgeyBRdWV1ZUJhc2UgfSBmcm9tIFwiLi9xdWV1ZS1iYXNlXCI7XG4vLyB0aGlzIHdhcyByZW5hbWVkIGZyb20gUXVldWVCYXNlXG5pbXBvcnQgeyBRdWV1ZSB9IGZyb20gXCIuL3F1ZXVlXCI7XG5cbmRlY2xhcmUgbW9kdWxlIFwiLi9xdWV1ZVwiIHtcbiAgaW50ZXJmYWNlIElRdWV1ZSB7XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBnaXZlbiBuYW1lZCBtZXRyaWMgZm9yIHRoaXMgUXVldWVcbiAgICAgKi9cbiAgICBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYXBwcm94aW1hdGUgYWdlIG9mIHRoZSBvbGRlc3Qgbm9uLWRlbGV0ZWQgbWVzc2FnZSBpbiB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBNYXhpbXVtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljQXBwcm94aW1hdGVBZ2VPZk9sZGVzdE1lc3NhZ2UocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBpbiB0aGUgcXVldWUgdGhhdCBhcmUgZGVsYXllZCBhbmQgbm90IGF2YWlsYWJsZSBmb3IgcmVhZGluZyBpbW1lZGlhdGVseS5cbiAgICAgKlxuICAgICAqIE1heGltdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNEZWxheWVkKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgdGhhdCBhcmUgaW4gZmxpZ2h0LlxuICAgICAqXG4gICAgICogTWF4aW11bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc05vdFZpc2libGUocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBhdmFpbGFibGUgZm9yIHJldHJpZXZhbCBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIE1heGltdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNWaXNpYmxlKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgUmVjZWl2ZU1lc3NhZ2UgQVBJIGNhbGxzIHRoYXQgZGlkIG5vdCByZXR1cm4gYSBtZXNzYWdlLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljTnVtYmVyT2ZFbXB0eVJlY2VpdmVzKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgZGVsZXRlZCBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY051bWJlck9mTWVzc2FnZXNEZWxldGVkKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgcmV0dXJuZWQgYnkgY2FsbHMgdG8gdGhlIFJlY2VpdmVNZXNzYWdlIGFjdGlvbi5cbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY051bWJlck9mTWVzc2FnZXNSZWNlaXZlZChwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGFkZGVkIHRvIGEgcXVldWUuXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZk1lc3NhZ2VzU2VudChwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2l6ZSBvZiBtZXNzYWdlcyBhZGRlZCB0byBhIHF1ZXVlLlxuICAgICAqXG4gICAgICogQXZlcmFnZSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY1NlbnRNZXNzYWdlU2l6ZShwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG4gIH1cbn1cblxuXG5cbmRlY2xhcmUgbW9kdWxlIFwiLi9xdWV1ZVwiIHtcbiAgaW50ZXJmYWNlIFF1ZXVlIHtcbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGdpdmVuIG5hbWVkIG1ldHJpYyBmb3IgdGhpcyBRdWV1ZVxuICAgICAqL1xuICAgIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBhcHByb3hpbWF0ZSBhZ2Ugb2YgdGhlIG9sZGVzdCBub24tZGVsZXRlZCBtZXNzYWdlIGluIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIE1heGltdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNBcHByb3hpbWF0ZUFnZU9mT2xkZXN0TWVzc2FnZShwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZSB0aGF0IGFyZSBkZWxheWVkIGFuZCBub3QgYXZhaWxhYmxlIGZvciByZWFkaW5nIGltbWVkaWF0ZWx5LlxuICAgICAqXG4gICAgICogTWF4aW11bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc0RlbGF5ZWQocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyB0aGF0IGFyZSBpbiBmbGlnaHQuXG4gICAgICpcbiAgICAgKiBNYXhpbXVtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzTm90VmlzaWJsZShwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGF2YWlsYWJsZSBmb3IgcmV0cmlldmFsIGZyb20gdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogTWF4aW11bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBSZWNlaXZlTWVzc2FnZSBBUEkgY2FsbHMgdGhhdCBkaWQgbm90IHJldHVybiBhIG1lc3NhZ2UuXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZkVtcHR5UmVjZWl2ZXMocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBkZWxldGVkIGZyb20gdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljTnVtYmVyT2ZNZXNzYWdlc0RlbGV0ZWQocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyByZXR1cm5lZCBieSBjYWxscyB0byB0aGUgUmVjZWl2ZU1lc3NhZ2UgYWN0aW9uLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljTnVtYmVyT2ZNZXNzYWdlc1JlY2VpdmVkKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgYWRkZWQgdG8gYSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY051bWJlck9mTWVzc2FnZXNTZW50KHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBzaXplIG9mIG1lc3NhZ2VzIGFkZGVkIHRvIGEgcXVldWUuXG4gICAgICpcbiAgICAgKiBBdmVyYWdlIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljU2VudE1lc3NhZ2VTaXplKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcbiAgfVxufVxuXG5RdWV1ZS5wcm90b3R5cGUubWV0cmljID0gZnVuY3Rpb24obWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpIHtcbiAgcmV0dXJuIG5ldyBjdy5NZXRyaWMoe1xuICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1NRU1wiLFxuICAgIFwibWV0cmljTmFtZVwiOiBtZXRyaWNOYW1lLFxuICAgIFwiZGltZW5zaW9uc01hcFwiOiB7XG4gICAgICBcIlF1ZXVlTmFtZVwiOiB0aGlzLnF1ZXVlTmFtZVxuICAgIH0sXG4gICAgLi4ucHJvcHNcbiAgfSkuYXR0YWNoVG8odGhpcyk7XG59O1xuUXVldWUucHJvdG90eXBlLm1ldHJpY0FwcHJveGltYXRlQWdlT2ZPbGRlc3RNZXNzYWdlID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIkFwcHJveGltYXRlQWdlT2ZPbGRlc3RNZXNzYWdlXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIk1heGltdW1cIixcbiAgICAuLi5wcm9wc1xuICB9KTtcbn07XG5RdWV1ZS5wcm90b3R5cGUubWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzRGVsYXllZCA9IGZ1bmN0aW9uKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucykge1xuICByZXR1cm4gdGhpcy5tZXRyaWMoXCJBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNEZWxheWVkXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIk1heGltdW1cIixcbiAgICAuLi5wcm9wc1xuICB9KTtcbn07XG5RdWV1ZS5wcm90b3R5cGUubWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzTm90VmlzaWJsZSA9IGZ1bmN0aW9uKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucykge1xuICByZXR1cm4gdGhpcy5tZXRyaWMoXCJBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIk1heGltdW1cIixcbiAgICAuLi5wcm9wc1xuICB9KTtcbn07XG5RdWV1ZS5wcm90b3R5cGUubWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzVmlzaWJsZSA9IGZ1bmN0aW9uKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucykge1xuICByZXR1cm4gdGhpcy5tZXRyaWMoXCJBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNWaXNpYmxlXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIk1heGltdW1cIixcbiAgICAuLi5wcm9wc1xuICB9KTtcbn07XG5RdWV1ZS5wcm90b3R5cGUubWV0cmljTnVtYmVyT2ZFbXB0eVJlY2VpdmVzID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mRW1wdHlSZWNlaXZlc1wiLCB7XG4gICAgXCJzdGF0aXN0aWNcIjogXCJTdW1cIixcbiAgICAuLi5wcm9wc1xuICB9KTtcbn07XG5RdWV1ZS5wcm90b3R5cGUubWV0cmljTnVtYmVyT2ZNZXNzYWdlc0RlbGV0ZWQgPSBmdW5jdGlvbihwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpIHtcbiAgcmV0dXJuIHRoaXMubWV0cmljKFwiTnVtYmVyT2ZNZXNzYWdlc0RlbGV0ZWRcIiwge1xuICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCIsXG4gICAgLi4ucHJvcHNcbiAgfSk7XG59O1xuUXVldWUucHJvdG90eXBlLm1ldHJpY051bWJlck9mTWVzc2FnZXNSZWNlaXZlZCA9IGZ1bmN0aW9uKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucykge1xuICByZXR1cm4gdGhpcy5tZXRyaWMoXCJOdW1iZXJPZk1lc3NhZ2VzUmVjZWl2ZWRcIiwge1xuICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCIsXG4gICAgLi4ucHJvcHNcbiAgfSk7XG59O1xuUXVldWUucHJvdG90eXBlLm1ldHJpY051bWJlck9mTWVzc2FnZXNTZW50ID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mTWVzc2FnZXNTZW50XCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiLFxuICAgIC4uLnByb3BzXG4gIH0pO1xufTtcblF1ZXVlLnByb3RvdHlwZS5tZXRyaWNTZW50TWVzc2FnZVNpemUgPSBmdW5jdGlvbihwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpIHtcbiAgcmV0dXJuIHRoaXMubWV0cmljKFwiU2VudE1lc3NhZ2VTaXplXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIkF2ZXJhZ2VcIixcbiAgICAuLi5wcm9wc1xuICB9KTtcbn07Il19
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLWF1Z21lbnRhdGlvbnMuZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvc3FzLWF1Z21lbnRhdGlvbnMuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0VBQStFO0FBQy9FLDhDQUE4QztBQUM5QyxvQ0FBb0M7QUFDcEMsNkNBQXlDO0FBa0p6QyxzQkFBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBUyxVQUFrQixFQUFFLEtBQXdCO0lBQ2hGLE9BQU8sSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ25CLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLFlBQVksRUFBRSxVQUFVO1FBQ3hCLGVBQWUsRUFBRTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUztTQUM1QjtRQUNELEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0tBQ2pCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMsbUNBQW1DLEdBQUcsVUFBUyxLQUF3QjtJQUN6RixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsK0JBQStCLEVBQUU7UUFDbEQsV0FBVyxFQUFFLFNBQVM7UUFDdEIsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMsd0NBQXdDLEdBQUcsVUFBUyxLQUF3QjtJQUM5RixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsb0NBQW9DLEVBQUU7UUFDdkQsV0FBVyxFQUFFLFNBQVM7UUFDdEIsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMsMkNBQTJDLEdBQUcsVUFBUyxLQUF3QjtJQUNqRyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsdUNBQXVDLEVBQUU7UUFDMUQsV0FBVyxFQUFFLFNBQVM7UUFDdEIsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMsd0NBQXdDLEdBQUcsVUFBUyxLQUF3QjtJQUM5RixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsb0NBQW9DLEVBQUU7UUFDdkQsV0FBVyxFQUFFLFNBQVM7UUFDdEIsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMsMkJBQTJCLEdBQUcsVUFBUyxLQUF3QjtJQUNqRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEVBQUU7UUFDMUMsV0FBVyxFQUFFLEtBQUs7UUFDbEIsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLEdBQUcsVUFBUyxLQUF3QjtJQUNuRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQUU7UUFDNUMsV0FBVyxFQUFFLEtBQUs7UUFDbEIsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMsOEJBQThCLEdBQUcsVUFBUyxLQUF3QjtJQUNwRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLEVBQUU7UUFDN0MsU0FBUyxFQUFFLEtBQUs7UUFDaEIsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMsMEJBQTBCLEdBQUcsVUFBUyxLQUF3QjtJQUNoRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUU7UUFDekMsV0FBVyxFQUFFLEtBQUs7UUFDbEIsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0Ysc0JBQVMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEdBQUcsVUFBUyxLQUF3QjtJQUMzRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUU7UUFDcEMsV0FBVyxFQUFFLFNBQVM7UUFDdEIsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMTItMjAyNCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLyogZXNsaW50LWRpc2FibGUgcHJldHRpZXIvcHJldHRpZXIsbWF4LWxlbiAqL1xuaW1wb3J0ICogYXMgY3cgZnJvbSBcIi4uL2Nsb3Vkd2F0Y2hcIjtcbmltcG9ydCB7IFF1ZXVlQmFzZSB9IGZyb20gXCIuL3F1ZXVlLWJhc2VcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCIuL3F1ZXVlLWJhc2VcIiB7XG4gIGludGVyZmFjZSBJUXVldWUge1xuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGZvciB0aGlzIFF1ZXVlXG4gICAgICovXG4gICAgbWV0cmljKG1ldHJpY05hbWU6IHN0cmluZywgcHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGFwcHJveGltYXRlIGFnZSBvZiB0aGUgb2xkZXN0IG5vbi1kZWxldGVkIG1lc3NhZ2UgaW4gdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogTWF4aW11bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY0FwcHJveGltYXRlQWdlT2ZPbGRlc3RNZXNzYWdlKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgaW4gdGhlIHF1ZXVlIHRoYXQgYXJlIGRlbGF5ZWQgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHJlYWRpbmcgaW1tZWRpYXRlbHkuXG4gICAgICpcbiAgICAgKiBNYXhpbXVtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzRGVsYXllZChwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHRoYXQgYXJlIGluIGZsaWdodC5cbiAgICAgKlxuICAgICAqIE1heGltdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgYXZhaWxhYmxlIGZvciByZXRyaWV2YWwgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBNYXhpbXVtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzVmlzaWJsZShwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIFJlY2VpdmVNZXNzYWdlIEFQSSBjYWxscyB0aGF0IGRpZCBub3QgcmV0dXJuIGEgbWVzc2FnZS5cbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY051bWJlck9mRW1wdHlSZWNlaXZlcyhwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGRlbGV0ZWQgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZk1lc3NhZ2VzRGVsZXRlZChwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHJldHVybmVkIGJ5IGNhbGxzIHRvIHRoZSBSZWNlaXZlTWVzc2FnZSBhY3Rpb24uXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZk1lc3NhZ2VzUmVjZWl2ZWQocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBhZGRlZCB0byBhIHF1ZXVlLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljTnVtYmVyT2ZNZXNzYWdlc1NlbnQocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNpemUgb2YgbWVzc2FnZXMgYWRkZWQgdG8gYSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIEF2ZXJhZ2Ugb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNTZW50TWVzc2FnZVNpemUocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlIFwiLi9xdWV1ZS1iYXNlXCIge1xuICBpbnRlcmZhY2UgUXVldWVCYXNlIHtcbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGdpdmVuIG5hbWVkIG1ldHJpYyBmb3IgdGhpcyBRdWV1ZVxuICAgICAqL1xuICAgIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBhcHByb3hpbWF0ZSBhZ2Ugb2YgdGhlIG9sZGVzdCBub24tZGVsZXRlZCBtZXNzYWdlIGluIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIE1heGltdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNBcHByb3hpbWF0ZUFnZU9mT2xkZXN0TWVzc2FnZShwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZSB0aGF0IGFyZSBkZWxheWVkIGFuZCBub3QgYXZhaWxhYmxlIGZvciByZWFkaW5nIGltbWVkaWF0ZWx5LlxuICAgICAqXG4gICAgICogTWF4aW11bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc0RlbGF5ZWQocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyB0aGF0IGFyZSBpbiBmbGlnaHQuXG4gICAgICpcbiAgICAgKiBNYXhpbXVtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzTm90VmlzaWJsZShwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpOiBjdy5NZXRyaWM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGF2YWlsYWJsZSBmb3IgcmV0cmlldmFsIGZyb20gdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogTWF4aW11bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBSZWNlaXZlTWVzc2FnZSBBUEkgY2FsbHMgdGhhdCBkaWQgbm90IHJldHVybiBhIG1lc3NhZ2UuXG4gICAgICpcbiAgICAgKiBTdW0gb3ZlciA1IG1pbnV0ZXNcbiAgICAgKi9cbiAgICBtZXRyaWNOdW1iZXJPZkVtcHR5UmVjZWl2ZXMocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBkZWxldGVkIGZyb20gdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljTnVtYmVyT2ZNZXNzYWdlc0RlbGV0ZWQocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKTogY3cuTWV0cmljO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBtZXNzYWdlcyByZXR1cm5lZCBieSBjYWxscyB0byB0aGUgUmVjZWl2ZU1lc3NhZ2UgYWN0aW9uLlxuICAgICAqXG4gICAgICogU3VtIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljTnVtYmVyT2ZNZXNzYWdlc1JlY2VpdmVkKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgYWRkZWQgdG8gYSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIFN1bSBvdmVyIDUgbWludXRlc1xuICAgICAqL1xuICAgIG1ldHJpY051bWJlck9mTWVzc2FnZXNTZW50KHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcblxuICAgIC8qKlxuICAgICAqIFRoZSBzaXplIG9mIG1lc3NhZ2VzIGFkZGVkIHRvIGEgcXVldWUuXG4gICAgICpcbiAgICAgKiBBdmVyYWdlIG92ZXIgNSBtaW51dGVzXG4gICAgICovXG4gICAgbWV0cmljU2VudE1lc3NhZ2VTaXplKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucyk6IGN3Lk1ldHJpYztcbiAgfVxufVxuXG5RdWV1ZUJhc2UucHJvdG90eXBlLm1ldHJpYyA9IGZ1bmN0aW9uKG1ldHJpY05hbWU6IHN0cmluZywgcHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiBuZXcgY3cuTWV0cmljKHtcbiAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TUVNcIixcbiAgICBcIm1ldHJpY05hbWVcIjogbWV0cmljTmFtZSxcbiAgICBcImRpbWVuc2lvbnNNYXBcIjoge1xuICAgICAgXCJRdWV1ZU5hbWVcIjogdGhpcy5xdWV1ZU5hbWVcbiAgICB9LFxuICAgIC4uLihwcm9wcyA/PyB7fSksXG4gIH0pLmF0dGFjaFRvKHRoaXMpO1xufTtcblF1ZXVlQmFzZS5wcm90b3R5cGUubWV0cmljQXBwcm94aW1hdGVBZ2VPZk9sZGVzdE1lc3NhZ2UgPSBmdW5jdGlvbihwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpIHtcbiAgcmV0dXJuIHRoaXMubWV0cmljKFwiQXBwcm94aW1hdGVBZ2VPZk9sZGVzdE1lc3NhZ2VcIiwge1xuICAgIFwic3RhdGlzdGljXCI6IFwiTWF4aW11bVwiLFxuICAgIC4uLihwcm9wcyA/PyB7fSksXG4gIH0pO1xufTtcblF1ZXVlQmFzZS5wcm90b3R5cGUubWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzRGVsYXllZCA9IGZ1bmN0aW9uKHByb3BzPzogY3cuTWV0cmljT3B0aW9ucykge1xuICByZXR1cm4gdGhpcy5tZXRyaWMoXCJBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNEZWxheWVkXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIk1heGltdW1cIixcbiAgICAuLi4ocHJvcHMgPz8ge30pLFxuICB9KTtcbn07XG5RdWV1ZUJhc2UucHJvdG90eXBlLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc05vdFZpc2libGUgPSBmdW5jdGlvbihwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpIHtcbiAgcmV0dXJuIHRoaXMubWV0cmljKFwiQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzTm90VmlzaWJsZVwiLCB7XG4gICAgXCJzdGF0aXN0aWNcIjogXCJNYXhpbXVtXCIsXG4gICAgLi4uKHByb3BzID8/IHt9KSxcbiAgfSk7XG59O1xuUXVldWVCYXNlLnByb3RvdHlwZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNWaXNpYmxlID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIkFwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGVcIiwge1xuICAgIFwic3RhdGlzdGljXCI6IFwiTWF4aW11bVwiLFxuICAgIC4uLihwcm9wcyA/PyB7fSksXG4gIH0pO1xufTtcblF1ZXVlQmFzZS5wcm90b3R5cGUubWV0cmljTnVtYmVyT2ZFbXB0eVJlY2VpdmVzID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mRW1wdHlSZWNlaXZlc1wiLCB7XG4gICAgXCJzdGF0aXN0aWNcIjogXCJTdW1cIixcbiAgICAuLi4ocHJvcHMgPz8ge30pLFxuICB9KTtcbn07XG5RdWV1ZUJhc2UucHJvdG90eXBlLm1ldHJpY051bWJlck9mTWVzc2FnZXNEZWxldGVkID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mTWVzc2FnZXNEZWxldGVkXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiLFxuICAgIC4uLihwcm9wcyA/PyB7fSksXG4gIH0pO1xufTtcblF1ZXVlQmFzZS5wcm90b3R5cGUubWV0cmljTnVtYmVyT2ZNZXNzYWdlc1JlY2VpdmVkID0gZnVuY3Rpb24ocHJvcHM/OiBjdy5NZXRyaWNPcHRpb25zKSB7XG4gIHJldHVybiB0aGlzLm1ldHJpYyhcIk51bWJlck9mTWVzc2FnZXNSZWNlaXZlZFwiLCB7XG4gICAgc3RhdGlzdGljOiBcIlN1bVwiLFxuICAgIC4uLihwcm9wcyA/PyB7fSksXG4gIH0pO1xufTtcblF1ZXVlQmFzZS5wcm90b3R5cGUubWV0cmljTnVtYmVyT2ZNZXNzYWdlc1NlbnQgPSBmdW5jdGlvbihwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpIHtcbiAgcmV0dXJuIHRoaXMubWV0cmljKFwiTnVtYmVyT2ZNZXNzYWdlc1NlbnRcIiwge1xuICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCIsXG4gICAgLi4uKHByb3BzID8/IHt9KSxcbiAgfSk7XG59O1xuUXVldWVCYXNlLnByb3RvdHlwZS5tZXRyaWNTZW50TWVzc2FnZVNpemUgPSBmdW5jdGlvbihwcm9wcz86IGN3Lk1ldHJpY09wdGlvbnMpIHtcbiAgcmV0dXJuIHRoaXMubWV0cmljKFwiU2VudE1lc3NhZ2VTaXplXCIsIHtcbiAgICBcInN0YXRpc3RpY1wiOiBcIkF2ZXJhZ2VcIixcbiAgICAuLi4ocHJvcHMgPz8ge30pLFxuICB9KTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as sqs from './';
|
|
2
|
+
import * as iam from '../iam';
|
|
3
|
+
export interface QueueGrantsProps {
|
|
4
|
+
/**
|
|
5
|
+
* The SQS queue interface (IQueue) this helper will operate on.
|
|
6
|
+
*/
|
|
7
|
+
readonly resource: sqs.IQueue;
|
|
8
|
+
/**
|
|
9
|
+
* If the queue is an encrypted resource, provides access to grant KMS key permissions.
|
|
10
|
+
* Typically present if the resource implements iam.IEncryptedResource.
|
|
11
|
+
*/
|
|
12
|
+
readonly encryptedResource?: iam.IEncryptedResource;
|
|
13
|
+
/**
|
|
14
|
+
* If the queue supports a resource policy, this enables addToPrincipalOrResource grants.
|
|
15
|
+
* Typically present if the resource implements iam.IResourceWithPolicy.
|
|
16
|
+
*/
|
|
17
|
+
readonly policyResource?: iam.IAwsConstructWithPolicy;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Collection of grant methods for a IQueue
|
|
21
|
+
*/
|
|
22
|
+
export declare class QueueGrants {
|
|
23
|
+
/**
|
|
24
|
+
* Creates grants for QueueGrants
|
|
25
|
+
*/
|
|
26
|
+
static fromQueue(resource: sqs.IQueue): QueueGrants;
|
|
27
|
+
readonly resource: sqs.IQueue;
|
|
28
|
+
private readonly encryptedResource?;
|
|
29
|
+
private readonly policyResource?;
|
|
30
|
+
private constructor();
|
|
31
|
+
/**
|
|
32
|
+
* Grant permissions to consume messages from a queue
|
|
33
|
+
*
|
|
34
|
+
* This will grant the following permissions:
|
|
35
|
+
*
|
|
36
|
+
* - sqs:ChangeMessageVisibility
|
|
37
|
+
* - sqs:DeleteMessage
|
|
38
|
+
* - sqs:ReceiveMessage
|
|
39
|
+
* - sqs:GetQueueAttributes
|
|
40
|
+
* - sqs:GetQueueUrl
|
|
41
|
+
*
|
|
42
|
+
* If encryption is used, permission to use the key to decrypt the contents of the queue will also be granted to the same principal.
|
|
43
|
+
*
|
|
44
|
+
* This will grant the following KMS permissions:
|
|
45
|
+
*
|
|
46
|
+
* - kms:Decrypt
|
|
47
|
+
*/
|
|
48
|
+
consumeMessages(grantee: iam.IGrantable): iam.Grant;
|
|
49
|
+
/**
|
|
50
|
+
* Grant access to send messages to a queue to the given identity.
|
|
51
|
+
*
|
|
52
|
+
* This will grant the following permissions:
|
|
53
|
+
*
|
|
54
|
+
* - sqs:SendMessage
|
|
55
|
+
* - sqs:GetQueueAttributes
|
|
56
|
+
* - sqs:GetQueueUrl
|
|
57
|
+
*
|
|
58
|
+
* If encryption is used, permission to use the key to encrypt/decrypt the contents of the queue will also be granted to the same principal.
|
|
59
|
+
*
|
|
60
|
+
* This will grant the following KMS permissions:
|
|
61
|
+
*
|
|
62
|
+
* - kms:Decrypt
|
|
63
|
+
* - kms:Encrypt
|
|
64
|
+
* - kms:ReEncrypt*
|
|
65
|
+
* - kms:GenerateDataKey*
|
|
66
|
+
*/
|
|
67
|
+
sendMessages(grantee: iam.IGrantable): iam.Grant;
|
|
68
|
+
/**
|
|
69
|
+
* Grants purge permissions
|
|
70
|
+
*/
|
|
71
|
+
purge(grantee: iam.IGrantable): iam.Grant;
|
|
72
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.QueueGrants = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const iam = require("../iam");
|
|
7
|
+
/**
|
|
8
|
+
* Collection of grant methods for a IQueue
|
|
9
|
+
*/
|
|
10
|
+
class QueueGrants {
|
|
11
|
+
/**
|
|
12
|
+
* Creates grants for QueueGrants
|
|
13
|
+
*/
|
|
14
|
+
static fromQueue(resource) {
|
|
15
|
+
// Use IAM helper type-guards to discover capabilities on the resource.
|
|
16
|
+
const encryptedResource = iam.GrantableResources.isEncryptedResource(resource)
|
|
17
|
+
? resource
|
|
18
|
+
: undefined;
|
|
19
|
+
const policyResource = iam.GrantableResources.isResourceWithPolicy(resource)
|
|
20
|
+
? resource
|
|
21
|
+
: undefined;
|
|
22
|
+
return new QueueGrants({
|
|
23
|
+
resource,
|
|
24
|
+
encryptedResource,
|
|
25
|
+
policyResource,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
constructor(props) {
|
|
29
|
+
this.resource = props.resource;
|
|
30
|
+
this.encryptedResource = props.encryptedResource;
|
|
31
|
+
this.policyResource = props.policyResource;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Grant permissions to consume messages from a queue
|
|
35
|
+
*
|
|
36
|
+
* This will grant the following permissions:
|
|
37
|
+
*
|
|
38
|
+
* - sqs:ChangeMessageVisibility
|
|
39
|
+
* - sqs:DeleteMessage
|
|
40
|
+
* - sqs:ReceiveMessage
|
|
41
|
+
* - sqs:GetQueueAttributes
|
|
42
|
+
* - sqs:GetQueueUrl
|
|
43
|
+
*
|
|
44
|
+
* If encryption is used, permission to use the key to decrypt the contents of the queue will also be granted to the same principal.
|
|
45
|
+
*
|
|
46
|
+
* This will grant the following KMS permissions:
|
|
47
|
+
*
|
|
48
|
+
* - kms:Decrypt
|
|
49
|
+
*/
|
|
50
|
+
consumeMessages(grantee) {
|
|
51
|
+
const actions = [
|
|
52
|
+
'sqs:ReceiveMessage',
|
|
53
|
+
'sqs:ChangeMessageVisibility',
|
|
54
|
+
'sqs:GetQueueUrl',
|
|
55
|
+
'sqs:DeleteMessage',
|
|
56
|
+
'sqs:GetQueueAttributes',
|
|
57
|
+
];
|
|
58
|
+
const resourceArns = [this.resource.queueArn];
|
|
59
|
+
const result = this.policyResource
|
|
60
|
+
? iam.Grant.addToPrincipalOrResource({
|
|
61
|
+
actions,
|
|
62
|
+
grantee,
|
|
63
|
+
resourceArns,
|
|
64
|
+
resource: this.policyResource,
|
|
65
|
+
})
|
|
66
|
+
: iam.Grant.addToPrincipal({
|
|
67
|
+
actions,
|
|
68
|
+
grantee,
|
|
69
|
+
resourceArns,
|
|
70
|
+
});
|
|
71
|
+
// If queue is encrypted, allow decrypt for message consumption.
|
|
72
|
+
this.encryptedResource?.grantOnKey(grantee, 'kms:Decrypt');
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Grant access to send messages to a queue to the given identity.
|
|
77
|
+
*
|
|
78
|
+
* This will grant the following permissions:
|
|
79
|
+
*
|
|
80
|
+
* - sqs:SendMessage
|
|
81
|
+
* - sqs:GetQueueAttributes
|
|
82
|
+
* - sqs:GetQueueUrl
|
|
83
|
+
*
|
|
84
|
+
* If encryption is used, permission to use the key to encrypt/decrypt the contents of the queue will also be granted to the same principal.
|
|
85
|
+
*
|
|
86
|
+
* This will grant the following KMS permissions:
|
|
87
|
+
*
|
|
88
|
+
* - kms:Decrypt
|
|
89
|
+
* - kms:Encrypt
|
|
90
|
+
* - kms:ReEncrypt*
|
|
91
|
+
* - kms:GenerateDataKey*
|
|
92
|
+
*/
|
|
93
|
+
sendMessages(grantee) {
|
|
94
|
+
const actions = [
|
|
95
|
+
'sqs:SendMessage',
|
|
96
|
+
'sqs:GetQueueAttributes',
|
|
97
|
+
'sqs:GetQueueUrl',
|
|
98
|
+
];
|
|
99
|
+
const resourceArns = [this.resource.queueArn];
|
|
100
|
+
const result = this.policyResource
|
|
101
|
+
? iam.Grant.addToPrincipalOrResource({
|
|
102
|
+
actions,
|
|
103
|
+
grantee,
|
|
104
|
+
resourceArns,
|
|
105
|
+
resource: this.policyResource,
|
|
106
|
+
})
|
|
107
|
+
: iam.Grant.addToPrincipal({
|
|
108
|
+
actions,
|
|
109
|
+
grantee,
|
|
110
|
+
resourceArns,
|
|
111
|
+
});
|
|
112
|
+
// If queue is encrypted, allow the necessary KMS usage to send messages.
|
|
113
|
+
this.encryptedResource?.grantOnKey(grantee, 'kms:Decrypt', 'kms:Encrypt', 'kms:ReEncrypt*', 'kms:GenerateDataKey*');
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Grants purge permissions
|
|
118
|
+
*/
|
|
119
|
+
purge(grantee) {
|
|
120
|
+
const actions = ['sqs:PurgeQueue', 'sqs:GetQueueAttributes', 'sqs:GetQueueUrl'];
|
|
121
|
+
const resourceArns = [this.resource.queueArn];
|
|
122
|
+
return this.policyResource
|
|
123
|
+
? iam.Grant.addToPrincipalOrResource({
|
|
124
|
+
actions,
|
|
125
|
+
grantee,
|
|
126
|
+
resourceArns,
|
|
127
|
+
resource: this.policyResource,
|
|
128
|
+
})
|
|
129
|
+
: iam.Grant.addToPrincipal({
|
|
130
|
+
actions,
|
|
131
|
+
grantee,
|
|
132
|
+
resourceArns,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.QueueGrants = QueueGrants;
|
|
137
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
138
|
+
QueueGrants[_a] = { fqn: "terraconstructs.aws.notify.QueueGrants", version: "0.2.1" };
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLWdyYW50cy5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL25vdGlmeS9zcXMtZ3JhbnRzLmdlbmVyYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLDhCQUE4QjtBQXFCOUI7O0dBRUc7QUFDSCxNQUFhLFdBQVc7SUFDdEI7O09BRUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQW9CO1FBQzFDLHVFQUF1RTtRQUN2RSxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7WUFDNUUsQ0FBQyxDQUFFLFFBQThDO1lBQ2pELENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDO1lBQzFFLENBQUMsQ0FBRSxRQUFtRDtZQUN0RCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixRQUFRO1lBQ1IsaUJBQWlCO1lBQ2pCLGNBQWM7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0lBTUQsWUFBb0IsS0FBdUI7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNJLGVBQWUsQ0FBQyxPQUF1QjtRQUM1QyxNQUFNLE9BQU8sR0FBRztZQUNkLG9CQUFvQjtZQUNwQiw2QkFBNkI7WUFDN0IsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQix3QkFBd0I7U0FDekIsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYztZQUNoQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztnQkFDakMsT0FBTztnQkFDUCxPQUFPO2dCQUNQLFlBQVk7Z0JBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjO2FBQzlCLENBQUM7WUFDSixDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7Z0JBQ3ZCLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxZQUFZO2FBQ2IsQ0FBQyxDQUFDO1FBRVAsZ0VBQWdFO1FBQ2hFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRTNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FpQkc7SUFDSSxZQUFZLENBQUMsT0FBdUI7UUFDekMsTUFBTSxPQUFPLEdBQUc7WUFDZCxpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLGlCQUFpQjtTQUNsQixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ2hDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDO2dCQUNqQyxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsWUFBWTtnQkFDWixRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWM7YUFDOUIsQ0FBQztZQUNKLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztnQkFDdkIsT0FBTztnQkFDUCxPQUFPO2dCQUNQLFlBQVk7YUFDYixDQUFDLENBQUM7UUFFUCx5RUFBeUU7UUFDekUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFVBQVUsQ0FDaEMsT0FBTyxFQUNQLGFBQWEsRUFDYixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLHNCQUFzQixDQUN2QixDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQXVCO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNoRixNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsT0FBTyxJQUFJLENBQUMsY0FBYztZQUN4QixDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztnQkFDakMsT0FBTztnQkFDUCxPQUFPO2dCQUNQLFlBQVk7Z0JBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjO2FBQzlCLENBQUM7WUFDSixDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7Z0JBQ3ZCLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxZQUFZO2FBQ04sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7O0FBckpILGtDQXNKQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHByZXR0aWVyL3ByZXR0aWVyLG1heC1sZW4gKi9cbmltcG9ydCAqIGFzIHNxcyBmcm9tICcuLyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnLi4vaWFtJztcblxuZXhwb3J0IGludGVyZmFjZSBRdWV1ZUdyYW50c1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBTUVMgcXVldWUgaW50ZXJmYWNlIChJUXVldWUpIHRoaXMgaGVscGVyIHdpbGwgb3BlcmF0ZSBvbi5cbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlOiBzcXMuSVF1ZXVlO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgcXVldWUgaXMgYW4gZW5jcnlwdGVkIHJlc291cmNlLCBwcm92aWRlcyBhY2Nlc3MgdG8gZ3JhbnQgS01TIGtleSBwZXJtaXNzaW9ucy5cbiAgICogVHlwaWNhbGx5IHByZXNlbnQgaWYgdGhlIHJlc291cmNlIGltcGxlbWVudHMgaWFtLklFbmNyeXB0ZWRSZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRlZFJlc291cmNlPzogaWFtLklFbmNyeXB0ZWRSZXNvdXJjZTtcblxuICAvKipcbiAgICogSWYgdGhlIHF1ZXVlIHN1cHBvcnRzIGEgcmVzb3VyY2UgcG9saWN5LCB0aGlzIGVuYWJsZXMgYWRkVG9QcmluY2lwYWxPclJlc291cmNlIGdyYW50cy5cbiAgICogVHlwaWNhbGx5IHByZXNlbnQgaWYgdGhlIHJlc291cmNlIGltcGxlbWVudHMgaWFtLklSZXNvdXJjZVdpdGhQb2xpY3kuXG4gICAqL1xuICByZWFkb25seSBwb2xpY3lSZXNvdXJjZT86IGlhbS5JQXdzQ29uc3RydWN0V2l0aFBvbGljeTtcbn1cblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGdyYW50IG1ldGhvZHMgZm9yIGEgSVF1ZXVlXG4gKi9cbmV4cG9ydCBjbGFzcyBRdWV1ZUdyYW50cyB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGdyYW50cyBmb3IgUXVldWVHcmFudHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVF1ZXVlKHJlc291cmNlOiBzcXMuSVF1ZXVlKTogUXVldWVHcmFudHMge1xuICAgIC8vIFVzZSBJQU0gaGVscGVyIHR5cGUtZ3VhcmRzIHRvIGRpc2NvdmVyIGNhcGFiaWxpdGllcyBvbiB0aGUgcmVzb3VyY2UuXG4gICAgY29uc3QgZW5jcnlwdGVkUmVzb3VyY2UgPSBpYW0uR3JhbnRhYmxlUmVzb3VyY2VzLmlzRW5jcnlwdGVkUmVzb3VyY2UocmVzb3VyY2UpXG4gICAgICA/IChyZXNvdXJjZSBhcyB1bmtub3duIGFzIGlhbS5JRW5jcnlwdGVkUmVzb3VyY2UpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHBvbGljeVJlc291cmNlID0gaWFtLkdyYW50YWJsZVJlc291cmNlcy5pc1Jlc291cmNlV2l0aFBvbGljeShyZXNvdXJjZSlcbiAgICAgID8gKHJlc291cmNlIGFzIHVua25vd24gYXMgaWFtLklBd3NDb25zdHJ1Y3RXaXRoUG9saWN5KVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gbmV3IFF1ZXVlR3JhbnRzKHtcbiAgICAgIHJlc291cmNlLFxuICAgICAgZW5jcnlwdGVkUmVzb3VyY2UsXG4gICAgICBwb2xpY3lSZXNvdXJjZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogc3FzLklRdWV1ZTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbmNyeXB0ZWRSZXNvdXJjZT86IGlhbS5JRW5jcnlwdGVkUmVzb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9saWN5UmVzb3VyY2U/OiBpYW0uSUF3c0NvbnN0cnVjdFdpdGhQb2xpY3k7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcm9wczogUXVldWVHcmFudHNQcm9wcykge1xuICAgIHRoaXMucmVzb3VyY2UgPSBwcm9wcy5yZXNvdXJjZTtcbiAgICB0aGlzLmVuY3J5cHRlZFJlc291cmNlID0gcHJvcHMuZW5jcnlwdGVkUmVzb3VyY2U7XG4gICAgdGhpcy5wb2xpY3lSZXNvdXJjZSA9IHByb3BzLnBvbGljeVJlc291cmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHBlcm1pc3Npb25zIHRvIGNvbnN1bWUgbWVzc2FnZXMgZnJvbSBhIHF1ZXVlXG4gICAqXG4gICAqIFRoaXMgd2lsbCBncmFudCB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zOlxuICAgKlxuICAgKiAgIC0gc3FzOkNoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5XG4gICAqICAgLSBzcXM6RGVsZXRlTWVzc2FnZVxuICAgKiAgIC0gc3FzOlJlY2VpdmVNZXNzYWdlXG4gICAqICAgLSBzcXM6R2V0UXVldWVBdHRyaWJ1dGVzXG4gICAqICAgLSBzcXM6R2V0UXVldWVVcmxcbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGRlY3J5cHQgdGhlIGNvbnRlbnRzIG9mIHRoZSBxdWV1ZSB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBncmFudCB0aGUgZm9sbG93aW5nIEtNUyBwZXJtaXNzaW9uczpcbiAgICpcbiAgICogICAtIGttczpEZWNyeXB0XG4gICAqL1xuICBwdWJsaWMgY29uc3VtZU1lc3NhZ2VzKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICBjb25zdCBhY3Rpb25zID0gW1xuICAgICAgJ3NxczpSZWNlaXZlTWVzc2FnZScsXG4gICAgICAnc3FzOkNoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5JyxcbiAgICAgICdzcXM6R2V0UXVldWVVcmwnLFxuICAgICAgJ3NxczpEZWxldGVNZXNzYWdlJyxcbiAgICAgICdzcXM6R2V0UXVldWVBdHRyaWJ1dGVzJyxcbiAgICBdO1xuXG4gICAgY29uc3QgcmVzb3VyY2VBcm5zID0gW3RoaXMucmVzb3VyY2UucXVldWVBcm5dO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5wb2xpY3lSZXNvdXJjZVxuICAgICAgPyBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWxPclJlc291cmNlKHtcbiAgICAgICAgICBhY3Rpb25zLFxuICAgICAgICAgIGdyYW50ZWUsXG4gICAgICAgICAgcmVzb3VyY2VBcm5zLFxuICAgICAgICAgIHJlc291cmNlOiB0aGlzLnBvbGljeVJlc291cmNlLFxuICAgICAgICB9KVxuICAgICAgOiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgICAgIGFjdGlvbnMsXG4gICAgICAgICAgZ3JhbnRlZSxcbiAgICAgICAgICByZXNvdXJjZUFybnMsXG4gICAgICAgIH0pO1xuXG4gICAgLy8gSWYgcXVldWUgaXMgZW5jcnlwdGVkLCBhbGxvdyBkZWNyeXB0IGZvciBtZXNzYWdlIGNvbnN1bXB0aW9uLlxuICAgIHRoaXMuZW5jcnlwdGVkUmVzb3VyY2U/LmdyYW50T25LZXkoZ3JhbnRlZSwgJ2ttczpEZWNyeXB0Jyk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IGFjY2VzcyB0byBzZW5kIG1lc3NhZ2VzIHRvIGEgcXVldWUgdG8gdGhlIGdpdmVuIGlkZW50aXR5LlxuICAgKlxuICAgKiBUaGlzIHdpbGwgZ3JhbnQgdGhlIGZvbGxvd2luZyBwZXJtaXNzaW9uczpcbiAgICpcbiAgICogIC0gc3FzOlNlbmRNZXNzYWdlXG4gICAqICAtIHNxczpHZXRRdWV1ZUF0dHJpYnV0ZXNcbiAgICogIC0gc3FzOkdldFF1ZXVlVXJsXG4gICAqXG4gICAqIElmIGVuY3J5cHRpb24gaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSB0byBlbmNyeXB0L2RlY3J5cHQgdGhlIGNvbnRlbnRzIG9mIHRoZSBxdWV1ZSB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBncmFudCB0aGUgZm9sbG93aW5nIEtNUyBwZXJtaXNzaW9uczpcbiAgICpcbiAgICogIC0ga21zOkRlY3J5cHRcbiAgICogIC0ga21zOkVuY3J5cHRcbiAgICogIC0ga21zOlJlRW5jcnlwdCpcbiAgICogIC0ga21zOkdlbmVyYXRlRGF0YUtleSpcbiAgICovXG4gIHB1YmxpYyBzZW5kTWVzc2FnZXMoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIGNvbnN0IGFjdGlvbnMgPSBbXG4gICAgICAnc3FzOlNlbmRNZXNzYWdlJyxcbiAgICAgICdzcXM6R2V0UXVldWVBdHRyaWJ1dGVzJyxcbiAgICAgICdzcXM6R2V0UXVldWVVcmwnLFxuICAgIF07XG5cbiAgICBjb25zdCByZXNvdXJjZUFybnMgPSBbdGhpcy5yZXNvdXJjZS5xdWV1ZUFybl07XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnBvbGljeVJlc291cmNlXG4gICAgICA/IGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbE9yUmVzb3VyY2Uoe1xuICAgICAgICAgIGFjdGlvbnMsXG4gICAgICAgICAgZ3JhbnRlZSxcbiAgICAgICAgICByZXNvdXJjZUFybnMsXG4gICAgICAgICAgcmVzb3VyY2U6IHRoaXMucG9saWN5UmVzb3VyY2UsXG4gICAgICAgIH0pXG4gICAgICA6IGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICAgICAgYWN0aW9ucyxcbiAgICAgICAgICBncmFudGVlLFxuICAgICAgICAgIHJlc291cmNlQXJucyxcbiAgICAgICAgfSk7XG5cbiAgICAvLyBJZiBxdWV1ZSBpcyBlbmNyeXB0ZWQsIGFsbG93IHRoZSBuZWNlc3NhcnkgS01TIHVzYWdlIHRvIHNlbmQgbWVzc2FnZXMuXG4gICAgdGhpcy5lbmNyeXB0ZWRSZXNvdXJjZT8uZ3JhbnRPbktleShcbiAgICAgIGdyYW50ZWUsXG4gICAgICAna21zOkRlY3J5cHQnLFxuICAgICAgJ2ttczpFbmNyeXB0JyxcbiAgICAgICdrbXM6UmVFbmNyeXB0KicsXG4gICAgICAna21zOkdlbmVyYXRlRGF0YUtleSonLFxuICAgICk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwdXJnZSBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcHVibGljIHB1cmdlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICBjb25zdCBhY3Rpb25zID0gWydzcXM6UHVyZ2VRdWV1ZScsICdzcXM6R2V0UXVldWVBdHRyaWJ1dGVzJywgJ3NxczpHZXRRdWV1ZVVybCddO1xuICAgIGNvbnN0IHJlc291cmNlQXJucyA9IFt0aGlzLnJlc291cmNlLnF1ZXVlQXJuXTtcblxuICAgIHJldHVybiB0aGlzLnBvbGljeVJlc291cmNlXG4gICAgICA/IGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbE9yUmVzb3VyY2Uoe1xuICAgICAgICAgIGFjdGlvbnMsXG4gICAgICAgICAgZ3JhbnRlZSxcbiAgICAgICAgICByZXNvdXJjZUFybnMsXG4gICAgICAgICAgcmVzb3VyY2U6IHRoaXMucG9saWN5UmVzb3VyY2UsXG4gICAgICAgIH0pXG4gICAgICA6IGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICAgICAgYWN0aW9ucyxcbiAgICAgICAgICBncmFudGVlLFxuICAgICAgICAgIHJlc291cmNlQXJucyxcbiAgICAgICAgICAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -100,5 +100,5 @@ class SubscriptionFilter {
|
|
|
100
100
|
}
|
|
101
101
|
exports.SubscriptionFilter = SubscriptionFilter;
|
|
102
102
|
_a = JSII_RTTI_SYMBOL_1;
|
|
103
|
-
SubscriptionFilter[_a] = { fqn: "terraconstructs.aws.notify.SubscriptionFilter", version: "0.1
|
|
103
|
+
SubscriptionFilter[_a] = { fqn: "terraconstructs.aws.notify.SubscriptionFilter", version: "0.2.1" };
|
|
104
104
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3N1YnNjcmlwdGlvbi1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1SUFBdUk7QUFFdkkseUNBQXVEO0FBNEh2RDs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBQzdCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxnQkFBa0M7UUFDM0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxLQUFLLEVBQU8sQ0FBQztRQUVwQyxJQUFJLGdCQUFnQixDQUFDLFNBQVMsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3RCxNQUFNLElBQUksZ0NBQXVCLENBQy9CLDJEQUEyRCxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksZ0JBQWdCLENBQUMsU0FBUyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVELE1BQU0sSUFBSSxnQ0FBdUIsQ0FDL0IsMERBQTBELENBQzNELENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxJQUFJLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztRQUMzRSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDO1FBRXpFLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELElBQUksZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsVUFBVSxDQUFDLElBQUksQ0FDYixHQUFHLGdC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Q0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVk7UUFDeEIsT0FBTyxJQUFJLGtCQUFrQixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUE0QixhQUFvQixFQUFFO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDOztBQW5IeEQsZ0RBb0hDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvNzQ1MjQ2MjU1MGExMDBmNWJkMmRjYWI2ZjQ5NWM5ZjY4YmYwZGI0YS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3Mtc25zL2xpYi9zdWJzY3JpcHRpb24tZmlsdGVyLnRzXG5cbmltcG9ydCB7IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yc1wiO1xuXG4vKipcbiAqIENvbmRpdGlvbnMgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBzdHJpbmcgYXR0cmlidXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdDb25kaXRpb25zIHtcbiAgLyoqXG4gICAqIE1hdGNoIG9uZSBvciBtb3JlIHZhbHVlcy5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBhbGxvd2xpc3RgXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgd2hpdGVsaXN0Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE1hdGNoIGFueSB2YWx1ZSB0aGF0IGRvZXNuJ3QgaW5jbHVkZSBhbnkgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZXMuXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgZGVueWxpc3RgXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgYmxhY2tsaXN0Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE1hdGNoIG9uZSBvciBtb3JlIHZhbHVlcy5cbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBhbGxvd2xpc3Q/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTWF0Y2ggYW55IHZhbHVlIHRoYXQgZG9lc24ndCBpbmNsdWRlIGFueSBvZiB0aGUgc3BlY2lmaWVkIHZhbHVlcy5cbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBkZW55bGlzdD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBNYXRjaGVzIHZhbHVlcyB0aGF0IGJlZ2lucyB3aXRoIHRoZSBzcGVjaWZpZWQgcHJlZml4ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbWF0Y2hQcmVmaXhlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBNYXRjaGVzIHZhbHVlcyB0aGF0IGVuZCB3aXRoIHRoZSBzcGVjaWZpZWQgc3VmZml4ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbWF0Y2hTdWZmaXhlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEJldHdlZW4gY29uZGl0aW9uIGZvciBhIG51bWVyaWMgYXR0cmlidXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJldHdlZW5Db25kaXRpb24ge1xuICAvKipcbiAgICogVGhlIHN0YXJ0IHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHN0b3AgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBzdG9wOiBudW1iZXI7XG59XG5cbi8qKlxuICogQ29uZGl0aW9ucyB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIG51bWVyaWMgYXR0cmlidXRlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOdW1lcmljQ29uZGl0aW9ucyB7XG4gIC8qKlxuICAgKiBNYXRjaCBvbmUgb3IgbW9yZSB2YWx1ZXMuXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgYWxsb3dsaXN0YFxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHdoaXRlbGlzdD86IG51bWJlcltdO1xuXG4gIC8qKlxuICAgKiBNYXRjaCBvbmUgb3IgbW9yZSB2YWx1ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dsaXN0PzogbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIE1hdGNoIHZhbHVlcyB0aGF0IGFyZSBncmVhdGVyIHRoYW4gdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBncmVhdGVyVGhhbj86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF0Y2ggdmFsdWVzIHRoYXQgYXJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgc3BlY2lmaWVkIHZhbHVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGdyZWF0ZXJUaGFuT3JFcXVhbFRvPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXRjaCB2YWx1ZXMgdGhhdCBhcmUgbGVzcyB0aGFuIHRoZSBzcGVjaWZpZWQgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbGVzc1RoYW4/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1hdGNoIHZhbHVlcyB0aGF0IGFyZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBsZXNzVGhhbk9yRXF1YWxUbz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF0Y2ggdmFsdWVzIHRoYXQgYXJlIGJldHdlZW4gdGhlIHNwZWNpZmllZCB2YWx1ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgYmV0d2Vlbj86IEJldHdlZW5Db25kaXRpb247XG5cbiAgLyoqXG4gICAqIE1hdGNoIHZhbHVlcyB0aGF0IGFyZSBzdHJpY3RseSBiZXR3ZWVuIHRoZSBzcGVjaWZpZWQgdmFsdWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGJldHdlZW5TdHJpY3Q/OiBCZXR3ZWVuQ29uZGl0aW9uO1xufVxuXG4vKipcbiAqIEEgc3Vic2NyaXB0aW9uIGZpbHRlciBmb3IgYW4gYXR0cmlidXRlLlxuICovXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uRmlsdGVyIHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdWJzY3JpcHRpb24gZmlsdGVyIGZvciBhIHN0cmluZyBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN0cmluZ0ZpbHRlcihzdHJpbmdDb25kaXRpb25zOiBTdHJpbmdDb25kaXRpb25zKSB7XG4gICAgY29uc3QgY29uZGl0aW9ucyA9IG5ldyBBcnJheTxhbnk+KCk7XG5cbiAgICBpZiAoc3RyaW5nQ29uZGl0aW9ucy53aGl0ZWxpc3QgJiYgc3RyaW5nQ29uZGl0aW9ucy5hbGxvd2xpc3QpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgXCJgd2hpdGVsaXN0YCBpcyBkZXByZWNhdGVkOyBwbGVhc2UgdXNlIGBhbGxvd2xpc3RgIGluc3RlYWRcIixcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChzdHJpbmdDb25kaXRpb25zLmJsYWNrbGlzdCAmJiBzdHJpbmdDb25kaXRpb25zLmRlbnlsaXN0KSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIFwiYGJsYWNrbGlzdGAgaXMgZGVwcmVjYXRlZDsgcGxlYXNlIHVzZSBgZGVueWxpc3RgIGluc3RlYWRcIixcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGFsbG93bGlzdCA9IHN0cmluZ0NvbmRpdGlvbnMuYWxsb3dsaXN0ID8/IHN0cmluZ0NvbmRpdGlvbnMud2hpdGVsaXN0O1xuICAgIGNvbnN0IGRlbnlsaXN0ID0gc3RyaW5nQ29uZGl0aW9ucy5kZW55bGlzdCA/PyBzdHJpbmdDb25kaXRpb25zLmJsYWNrbGlzdDtcblxuICAgIGlmIChhbGxvd2xpc3QpIHtcbiAgICAgIGNvbmRpdGlvbnMucHVzaCguLi5hbGxvd2xpc3QpO1xuICAgIH1cblxuICAgIGlmIChkZW55bGlzdCkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKHsgXCJhbnl0aGluZy1idXRcIjogZGVueWxpc3QgfSk7XG4gICAgfVxuXG4gICAgaWYgKHN0cmluZ0NvbmRpdGlvbnMubWF0Y2hQcmVmaXhlcykge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKFxuICAgICAgICAuLi5zdHJpbmdDb25kaXRpb25zLm1hdGNoUHJlZml4ZXMubWFwKChwKSA9PiAoeyBwcmVmaXg6IHAgfSkpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoc3RyaW5nQ29uZGl0aW9ucy5tYXRjaFN1ZmZpeGVzKSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goXG4gICAgICAgIC4uLnN0cmluZ0NvbmRpdGlvbnMubWF0Y2hTdWZmaXhlcy5tYXAoKHMpID0+ICh7IHN1ZmZpeDogcyB9KSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRmlsdGVyKGNvbmRpdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdWJzY3JpcHRpb24gZmlsdGVyIGZvciBhIG51bWVyaWMgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBudW1lcmljRmlsdGVyKG51bWVyaWNDb25kaXRpb25zOiBOdW1lcmljQ29uZGl0aW9ucykge1xuICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBuZXcgQXJyYXk8YW55PigpO1xuXG4gICAgaWYgKG51bWVyaWNDb25kaXRpb25zLndoaXRlbGlzdCAmJiBudW1lcmljQ29uZGl0aW9ucy5hbGxvd2xpc3QpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgXCJgd2hpdGVsaXN0YCBpcyBkZXByZWNhdGVkOyBwbGVhc2UgdXNlIGBhbGxvd2xpc3RgIGluc3RlYWRcIixcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGFsbG93bGlzdCA9XG4gICAgICBudW1lcmljQ29uZGl0aW9ucy5hbGxvd2xpc3QgPz8gbnVtZXJpY0NvbmRpdGlvbnMud2hpdGVsaXN0O1xuXG4gICAgaWYgKGFsbG93bGlzdCkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKC4uLmFsbG93bGlzdC5tYXAoKHYpID0+ICh7IG51bWVyaWM6IFtcIj1cIiwgdl0gfSkpKTtcbiAgICB9XG5cbiAgICBpZiAobnVtZXJpY0NvbmRpdGlvbnMuZ3JlYXRlclRoYW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKHsgbnVtZXJpYzogW1wiPlwiLCBudW1lcmljQ29uZGl0aW9ucy5ncmVhdGVyVGhhbl0gfSk7XG4gICAgfVxuXG4gICAgaWYgKG51bWVyaWNDb25kaXRpb25zLmdyZWF0ZXJUaGFuT3JFcXVhbFRvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbmRpdGlvbnMucHVzaCh7XG4gICAgICAgIG51bWVyaWM6IFtcIj49XCIsIG51bWVyaWNDb25kaXRpb25zLmdyZWF0ZXJUaGFuT3JFcXVhbFRvXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChudW1lcmljQ29uZGl0aW9ucy5sZXNzVGhhbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goeyBudW1lcmljOiBbXCI8XCIsIG51bWVyaWNDb25kaXRpb25zLmxlc3NUaGFuXSB9KTtcbiAgICB9XG5cbiAgICBpZiAobnVtZXJpY0NvbmRpdGlvbnMubGVzc1RoYW5PckVxdWFsVG8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKHsgbnVtZXJpYzogW1wiPD1cIiwgbnVtZXJpY0NvbmRpdGlvbnMubGVzc1RoYW5PckVxdWFsVG9dIH0pO1xuICAgIH1cblxuICAgIGlmIChudW1lcmljQ29uZGl0aW9ucy5iZXR3ZWVuKSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goe1xuICAgICAgICBudW1lcmljOiBbXG4gICAgICAgICAgXCI+PVwiLFxuICAgICAgICAgIG51bWVyaWNDb25kaXRpb25zLmJldHdlZW4uc3RhcnQsXG4gICAgICAgICAgXCI8PVwiLFxuICAgICAgICAgIG51bWVyaWNDb25kaXRpb25zLmJldHdlZW4uc3RvcCxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChudW1lcmljQ29uZGl0aW9ucy5iZXR3ZWVuU3RyaWN0KSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goe1xuICAgICAgICBudW1lcmljOiBbXG4gICAgICAgICAgXCI+XCIsXG4gICAgICAgICAgbnVtZXJpY0NvbmRpdGlvbnMuYmV0d2VlblN0cmljdC5zdGFydCxcbiAgICAgICAgICBcIjxcIixcbiAgICAgICAgICBudW1lcmljQ29uZGl0aW9ucy5iZXR3ZWVuU3RyaWN0LnN0b3AsXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbkZpbHRlcihjb25kaXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3Vic2NyaXB0aW9uIGZpbHRlciBmb3IgYXR0cmlidXRlIGtleSBtYXRjaGluZy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXhpc3RzRmlsdGVyKCkge1xuICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uRmlsdGVyKFt7IGV4aXN0czogdHJ1ZSB9XSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGNvbmRpdGlvbnMgY29uZGl0aW9ucyB0aGF0IHNwZWNpZnkgdGhlIG1lc3NhZ2UgYXR0cmlidXRlcyB0aGF0IHNob3VsZCBiZSBpbmNsdWRlZCwgZXhjbHVkZWQsIG1hdGNoZWQsIGV0Yy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjb25kaXRpb25zOiBhbnlbXSA9IFtdKSB7fVxufVxuIl19
|