terraconstructs 0.1.10 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1297 -629
- 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.js +1 -1
- 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 +1 -1
- package/lib/aws/notify/queue-config.generated.d.ts +0 -98
- package/lib/aws/notify/queue-config.generated.js +0 -3
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { QueueGrants } from "./sqs-grants.generated";
|
|
3
|
+
import { AwsConstructBase, AwsConstructProps, IAwsConstruct } from "../aws-construct";
|
|
4
|
+
import * as kms from "../encryption";
|
|
5
|
+
import * as iam from "../iam";
|
|
6
|
+
import { GrantOnKeyResult, IEncryptedResource, IGrantable } from "../iam";
|
|
7
|
+
/**
|
|
8
|
+
* Outputs which may be registered for output via the Grid.
|
|
9
|
+
*/
|
|
10
|
+
export interface QueueOutputs {
|
|
11
|
+
/**
|
|
12
|
+
* Queue name
|
|
13
|
+
*/
|
|
14
|
+
readonly name: string;
|
|
15
|
+
/**
|
|
16
|
+
* Queue arn
|
|
17
|
+
*/
|
|
18
|
+
readonly arn: string;
|
|
19
|
+
/**
|
|
20
|
+
* Queue url
|
|
21
|
+
*/
|
|
22
|
+
readonly url: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Represents an SQS queue
|
|
26
|
+
*/
|
|
27
|
+
export interface IQueue extends iam.IAwsConstructWithPolicy, IAwsConstruct {
|
|
28
|
+
/** Strongly typed outputs */
|
|
29
|
+
readonly queueOutputs: QueueOutputs;
|
|
30
|
+
/**
|
|
31
|
+
* The ARN of this queue
|
|
32
|
+
* @attribute
|
|
33
|
+
*/
|
|
34
|
+
readonly queueArn: string;
|
|
35
|
+
/**
|
|
36
|
+
* The URL of this queue
|
|
37
|
+
* @attribute
|
|
38
|
+
*/
|
|
39
|
+
readonly queueUrl: string;
|
|
40
|
+
/**
|
|
41
|
+
* The name of this queue
|
|
42
|
+
* @attribute
|
|
43
|
+
*/
|
|
44
|
+
readonly queueName: string;
|
|
45
|
+
/**
|
|
46
|
+
* If this queue is server-side encrypted, this is the KMS encryption key.
|
|
47
|
+
*/
|
|
48
|
+
readonly encryptionMasterKey?: kms.IKey;
|
|
49
|
+
/**
|
|
50
|
+
* Whether this queue is an Amazon SQS FIFO queue. If false, this is a standard queue.
|
|
51
|
+
*/
|
|
52
|
+
readonly fifo: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Whether the contents of the queue are encrypted, and by what type of key.
|
|
55
|
+
*/
|
|
56
|
+
readonly encryptionType?: QueueEncryption;
|
|
57
|
+
/**
|
|
58
|
+
* Grant permissions to consume messages from a queue
|
|
59
|
+
*
|
|
60
|
+
* This will grant the following permissions:
|
|
61
|
+
*
|
|
62
|
+
* - sqs:ChangeMessageVisibility
|
|
63
|
+
* - sqs:DeleteMessage
|
|
64
|
+
* - sqs:ReceiveMessage
|
|
65
|
+
* - sqs:GetQueueAttributes
|
|
66
|
+
* - sqs:GetQueueUrl
|
|
67
|
+
*
|
|
68
|
+
* @param grantee Principal to grant consume rights to
|
|
69
|
+
*/
|
|
70
|
+
grantConsumeMessages(grantee: iam.IGrantable): iam.Grant;
|
|
71
|
+
/**
|
|
72
|
+
* Grant access to send messages to a queue to the given identity.
|
|
73
|
+
*
|
|
74
|
+
* This will grant the following permissions:
|
|
75
|
+
*
|
|
76
|
+
* - sqs:SendMessage
|
|
77
|
+
* - sqs:GetQueueAttributes
|
|
78
|
+
* - sqs:GetQueueUrl
|
|
79
|
+
*
|
|
80
|
+
* @param grantee Principal to grant send rights to
|
|
81
|
+
*/
|
|
82
|
+
grantSendMessages(grantee: iam.IGrantable): iam.Grant;
|
|
83
|
+
/**
|
|
84
|
+
* Grant an IAM principal permissions to purge all messages from the queue.
|
|
85
|
+
*
|
|
86
|
+
* This will grant the following permissions:
|
|
87
|
+
*
|
|
88
|
+
* - sqs:PurgeQueue
|
|
89
|
+
* - sqs:GetQueueAttributes
|
|
90
|
+
* - sqs:GetQueueUrl
|
|
91
|
+
*
|
|
92
|
+
* @param grantee Principal to grant send rights to
|
|
93
|
+
*/
|
|
94
|
+
grantPurge(grantee: iam.IGrantable): iam.Grant;
|
|
95
|
+
/**
|
|
96
|
+
* Grant the actions defined in queueActions to the identity Principal given
|
|
97
|
+
* on this SQS queue resource.
|
|
98
|
+
*
|
|
99
|
+
* @param grantee Principal to grant right to
|
|
100
|
+
* @param queueActions The actions to grant
|
|
101
|
+
*/
|
|
102
|
+
grant(grantee: iam.IGrantable, ...queueActions: string[]): iam.Grant;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Reference to a new or existing Amazon SQS queue
|
|
106
|
+
*/
|
|
107
|
+
export declare abstract class QueueBase extends AwsConstructBase implements IQueue, IEncryptedResource {
|
|
108
|
+
get queueOutputs(): QueueOutputs;
|
|
109
|
+
get outputs(): Record<string, any>;
|
|
110
|
+
/**
|
|
111
|
+
* The ARN of this queue
|
|
112
|
+
*/
|
|
113
|
+
abstract readonly queueArn: string;
|
|
114
|
+
/**
|
|
115
|
+
* The URL of this queue
|
|
116
|
+
*/
|
|
117
|
+
abstract readonly queueUrl: string;
|
|
118
|
+
/**
|
|
119
|
+
* The name of this queue
|
|
120
|
+
*/
|
|
121
|
+
abstract readonly queueName: string;
|
|
122
|
+
/**
|
|
123
|
+
* If this queue is server-side encrypted, this is the KMS encryption key.
|
|
124
|
+
*/
|
|
125
|
+
abstract readonly encryptionMasterKey?: kms.IKey;
|
|
126
|
+
/**
|
|
127
|
+
* Whether this queue is an Amazon SQS FIFO queue. If false, this is a standard queue.
|
|
128
|
+
*/
|
|
129
|
+
abstract readonly fifo: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Whether the contents of the queue are encrypted, and by what type of key.
|
|
132
|
+
*/
|
|
133
|
+
abstract readonly encryptionType?: QueueEncryption;
|
|
134
|
+
/**
|
|
135
|
+
* Collection of grant methods for a Queue
|
|
136
|
+
*/
|
|
137
|
+
readonly grants: QueueGrants;
|
|
138
|
+
/**
|
|
139
|
+
* Controls automatic creation of policy objects.
|
|
140
|
+
*
|
|
141
|
+
* Set by subclasses.
|
|
142
|
+
*/
|
|
143
|
+
protected abstract readonly autoCreatePolicy: boolean;
|
|
144
|
+
private policy?;
|
|
145
|
+
constructor(scope: Construct, id: string, props?: AwsConstructProps);
|
|
146
|
+
grantOnKey(grantee: IGrantable, ...actions: string[]): GrantOnKeyResult;
|
|
147
|
+
/**
|
|
148
|
+
* Adds a statement to the IAM resource policy associated with this queue.
|
|
149
|
+
*
|
|
150
|
+
* If this queue was created in this stack (`new Queue`), a queue policy
|
|
151
|
+
* will be automatically created upon the first call to `addToPolicy`.
|
|
152
|
+
*/
|
|
153
|
+
addToResourcePolicy(statement: iam.PolicyStatement): iam.AddToResourcePolicyResult;
|
|
154
|
+
/**
|
|
155
|
+
* Grant permissions to consume messages from a queue
|
|
156
|
+
*
|
|
157
|
+
* This will grant the following permissions:
|
|
158
|
+
*
|
|
159
|
+
* - sqs:ChangeMessageVisibility
|
|
160
|
+
* - sqs:DeleteMessage
|
|
161
|
+
* - sqs:ReceiveMessage
|
|
162
|
+
* - sqs:GetQueueAttributes
|
|
163
|
+
* - sqs:GetQueueUrl
|
|
164
|
+
*
|
|
165
|
+
* If encryption is used, permission to use the key to decrypt the contents of the queue will also be granted to the same principal.
|
|
166
|
+
*
|
|
167
|
+
* This will grant the following KMS permissions:
|
|
168
|
+
*
|
|
169
|
+
* - kms:Decrypt
|
|
170
|
+
*
|
|
171
|
+
* @param grantee Principal to grant consume rights to
|
|
172
|
+
*/
|
|
173
|
+
grantConsumeMessages(grantee: iam.IGrantable): iam.Grant;
|
|
174
|
+
/**
|
|
175
|
+
* Grant access to send messages to a queue to the given identity.
|
|
176
|
+
*
|
|
177
|
+
* This will grant the following permissions:
|
|
178
|
+
*
|
|
179
|
+
* - sqs:SendMessage
|
|
180
|
+
* - sqs:GetQueueAttributes
|
|
181
|
+
* - sqs:GetQueueUrl
|
|
182
|
+
*
|
|
183
|
+
* 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.
|
|
184
|
+
*
|
|
185
|
+
* This will grant the following KMS permissions:
|
|
186
|
+
*
|
|
187
|
+
* - kms:Decrypt
|
|
188
|
+
* - kms:Encrypt
|
|
189
|
+
* - kms:ReEncrypt*
|
|
190
|
+
* - kms:GenerateDataKey*
|
|
191
|
+
*
|
|
192
|
+
* @param grantee Principal to grant send rights to
|
|
193
|
+
*/
|
|
194
|
+
grantSendMessages(grantee: iam.IGrantable): iam.Grant;
|
|
195
|
+
/**
|
|
196
|
+
* Grant an IAM principal permissions to purge all messages from the queue.
|
|
197
|
+
*
|
|
198
|
+
* This will grant the following permissions:
|
|
199
|
+
*
|
|
200
|
+
* - sqs:PurgeQueue
|
|
201
|
+
* - sqs:GetQueueAttributes
|
|
202
|
+
* - sqs:GetQueueUrl
|
|
203
|
+
*
|
|
204
|
+
* @param grantee Principal to grant send rights to
|
|
205
|
+
*/
|
|
206
|
+
grantPurge(grantee: iam.IGrantable): iam.Grant;
|
|
207
|
+
/**
|
|
208
|
+
* Grant the actions defined in queueActions to the identity Principal given
|
|
209
|
+
* on this SQS queue resource.
|
|
210
|
+
*
|
|
211
|
+
* @param grantee Principal to grant right to
|
|
212
|
+
* @param actions The actions to grant
|
|
213
|
+
*/
|
|
214
|
+
grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* What kind of encryption to apply to this queue
|
|
218
|
+
*/
|
|
219
|
+
export declare enum QueueEncryption {
|
|
220
|
+
/**
|
|
221
|
+
* Messages in the queue are not encrypted
|
|
222
|
+
*/
|
|
223
|
+
UNENCRYPTED = "NONE",
|
|
224
|
+
/**
|
|
225
|
+
* Server-side KMS encryption with a KMS key managed by SQS.
|
|
226
|
+
*/
|
|
227
|
+
KMS_MANAGED = "KMS_MANAGED",
|
|
228
|
+
/**
|
|
229
|
+
* Server-side encryption with a KMS key managed by the user.
|
|
230
|
+
*
|
|
231
|
+
* If `encryptionKey` is specified, this key will be used, otherwise, one will be defined.
|
|
232
|
+
*/
|
|
233
|
+
KMS = "KMS",
|
|
234
|
+
/**
|
|
235
|
+
* Server-side encryption key managed by SQS (SSE-SQS).
|
|
236
|
+
*
|
|
237
|
+
* To learn more about SSE-SQS on Amazon SQS, please visit the
|
|
238
|
+
* [Amazon SQS documentation](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html).
|
|
239
|
+
*/
|
|
240
|
+
SQS_MANAGED = "SQS_MANAGED"
|
|
241
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.QueueEncryption = exports.QueueBase = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const sqs_grants_generated_1 = require("./sqs-grants.generated");
|
|
7
|
+
const aws_construct_1 = require("../aws-construct");
|
|
8
|
+
const iam = require("../iam");
|
|
9
|
+
const queue_policy_1 = require("./queue-policy");
|
|
10
|
+
/**
|
|
11
|
+
* Reference to a new or existing Amazon SQS queue
|
|
12
|
+
*/
|
|
13
|
+
class QueueBase extends aws_construct_1.AwsConstructBase {
|
|
14
|
+
get queueOutputs() {
|
|
15
|
+
return {
|
|
16
|
+
name: this.queueName,
|
|
17
|
+
arn: this.queueArn,
|
|
18
|
+
url: this.queueUrl,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
get outputs() {
|
|
22
|
+
return this.queueOutputs;
|
|
23
|
+
}
|
|
24
|
+
constructor(scope, id, props = {}) {
|
|
25
|
+
super(scope, id, props);
|
|
26
|
+
/**
|
|
27
|
+
* Collection of grant methods for a Queue
|
|
28
|
+
*/
|
|
29
|
+
this.grants = sqs_grants_generated_1.QueueGrants.fromQueue(this);
|
|
30
|
+
this.node.addValidation({
|
|
31
|
+
validate: () => this.policy?.document.validateForResourcePolicy() ?? [],
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
grantOnKey(grantee, ...actions) {
|
|
35
|
+
const grant = this.encryptionMasterKey
|
|
36
|
+
? this.encryptionMasterKey.grant(grantee, ...actions)
|
|
37
|
+
: undefined;
|
|
38
|
+
return { grant };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Adds a statement to the IAM resource policy associated with this queue.
|
|
42
|
+
*
|
|
43
|
+
* If this queue was created in this stack (`new Queue`), a queue policy
|
|
44
|
+
* will be automatically created upon the first call to `addToPolicy`.
|
|
45
|
+
*/
|
|
46
|
+
addToResourcePolicy(statement) {
|
|
47
|
+
if (!this.policy && this.autoCreatePolicy) {
|
|
48
|
+
this.policy = new queue_policy_1.QueuePolicy(this, "Policy", { queue: this });
|
|
49
|
+
}
|
|
50
|
+
if (this.policy) {
|
|
51
|
+
this.policy.document.addStatements(statement);
|
|
52
|
+
return { statementAdded: true, policyDependable: this.policy };
|
|
53
|
+
}
|
|
54
|
+
return { statementAdded: false };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Grant permissions to consume messages from a queue
|
|
58
|
+
*
|
|
59
|
+
* This will grant the following permissions:
|
|
60
|
+
*
|
|
61
|
+
* - sqs:ChangeMessageVisibility
|
|
62
|
+
* - sqs:DeleteMessage
|
|
63
|
+
* - sqs:ReceiveMessage
|
|
64
|
+
* - sqs:GetQueueAttributes
|
|
65
|
+
* - sqs:GetQueueUrl
|
|
66
|
+
*
|
|
67
|
+
* If encryption is used, permission to use the key to decrypt the contents of the queue will also be granted to the same principal.
|
|
68
|
+
*
|
|
69
|
+
* This will grant the following KMS permissions:
|
|
70
|
+
*
|
|
71
|
+
* - kms:Decrypt
|
|
72
|
+
*
|
|
73
|
+
* @param grantee Principal to grant consume rights to
|
|
74
|
+
*/
|
|
75
|
+
grantConsumeMessages(grantee) {
|
|
76
|
+
return this.grants.consumeMessages(grantee);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Grant access to send messages to a queue to the given identity.
|
|
80
|
+
*
|
|
81
|
+
* This will grant the following permissions:
|
|
82
|
+
*
|
|
83
|
+
* - sqs:SendMessage
|
|
84
|
+
* - sqs:GetQueueAttributes
|
|
85
|
+
* - sqs:GetQueueUrl
|
|
86
|
+
*
|
|
87
|
+
* 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.
|
|
88
|
+
*
|
|
89
|
+
* This will grant the following KMS permissions:
|
|
90
|
+
*
|
|
91
|
+
* - kms:Decrypt
|
|
92
|
+
* - kms:Encrypt
|
|
93
|
+
* - kms:ReEncrypt*
|
|
94
|
+
* - kms:GenerateDataKey*
|
|
95
|
+
*
|
|
96
|
+
* @param grantee Principal to grant send rights to
|
|
97
|
+
*/
|
|
98
|
+
grantSendMessages(grantee) {
|
|
99
|
+
return this.grants.sendMessages(grantee);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Grant an IAM principal permissions to purge all messages from the queue.
|
|
103
|
+
*
|
|
104
|
+
* This will grant the following permissions:
|
|
105
|
+
*
|
|
106
|
+
* - sqs:PurgeQueue
|
|
107
|
+
* - sqs:GetQueueAttributes
|
|
108
|
+
* - sqs:GetQueueUrl
|
|
109
|
+
*
|
|
110
|
+
* @param grantee Principal to grant send rights to
|
|
111
|
+
*/
|
|
112
|
+
grantPurge(grantee) {
|
|
113
|
+
return this.grants.purge(grantee);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Grant the actions defined in queueActions to the identity Principal given
|
|
117
|
+
* on this SQS queue resource.
|
|
118
|
+
*
|
|
119
|
+
* @param grantee Principal to grant right to
|
|
120
|
+
* @param actions The actions to grant
|
|
121
|
+
*/
|
|
122
|
+
grant(grantee, ...actions) {
|
|
123
|
+
return iam.Grant.addToPrincipalOrResource({
|
|
124
|
+
grantee,
|
|
125
|
+
actions,
|
|
126
|
+
resourceArns: [this.queueArn],
|
|
127
|
+
resource: this,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.QueueBase = QueueBase;
|
|
132
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
133
|
+
QueueBase[_a] = { fqn: "terraconstructs.aws.notify.QueueBase", version: "0.2.0" };
|
|
134
|
+
/**
|
|
135
|
+
* What kind of encryption to apply to this queue
|
|
136
|
+
*/
|
|
137
|
+
var QueueEncryption;
|
|
138
|
+
(function (QueueEncryption) {
|
|
139
|
+
/**
|
|
140
|
+
* Messages in the queue are not encrypted
|
|
141
|
+
*/
|
|
142
|
+
QueueEncryption["UNENCRYPTED"] = "NONE";
|
|
143
|
+
/**
|
|
144
|
+
* Server-side KMS encryption with a KMS key managed by SQS.
|
|
145
|
+
*/
|
|
146
|
+
QueueEncryption["KMS_MANAGED"] = "KMS_MANAGED";
|
|
147
|
+
/**
|
|
148
|
+
* Server-side encryption with a KMS key managed by the user.
|
|
149
|
+
*
|
|
150
|
+
* If `encryptionKey` is specified, this key will be used, otherwise, one will be defined.
|
|
151
|
+
*/
|
|
152
|
+
QueueEncryption["KMS"] = "KMS";
|
|
153
|
+
/**
|
|
154
|
+
* Server-side encryption key managed by SQS (SSE-SQS).
|
|
155
|
+
*
|
|
156
|
+
* To learn more about SSE-SQS on Amazon SQS, please visit the
|
|
157
|
+
* [Amazon SQS documentation](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html).
|
|
158
|
+
*/
|
|
159
|
+
QueueEncryption["SQS_MANAGED"] = "SQS_MANAGED";
|
|
160
|
+
})(QueueEncryption || (exports.QueueEncryption = QueueEncryption = {}));
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3F1ZXVlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxpRUFBcUQ7QUFDckQsb0RBSTBCO0FBRTFCLDhCQUE4QjtBQUU5QixpREFBNkM7QUFpSDdDOztHQUVHO0FBQ0gsTUFBc0IsU0FDcEIsU0FBUSxnQ0FBZ0I7SUFHeEIsSUFBVyxZQUFZO1FBQ3JCLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDcEIsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ2xCLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQThDRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQTJCLEVBQUU7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFmMUI7O1dBRUc7UUFDYSxXQUFNLEdBQUcsa0NBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFjbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDdEIsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLHlCQUF5QixFQUFFLElBQUksRUFBRTtTQUN4RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sVUFBVSxDQUNmLE9BQW1CLEVBQ25CLEdBQUcsT0FBaUI7UUFFcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjtZQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDckQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNkLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxtQkFBbUIsQ0FDeEIsU0FBOEI7UUFFOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDBCQUFXLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pFLENBQUM7UUFFRCxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Ba0JHO0lBQ0ksb0JBQW9CLENBQUMsT0FBdUI7UUFDakQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSSxpQkFBaUIsQ0FBQyxPQUF1QjtRQUM5QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksVUFBVSxDQUFDLE9BQXVCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxPQUF1QixFQUFFLEdBQUcsT0FBaUI7UUFDeEQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDO1lBQ3hDLE9BQU87WUFDUCxPQUFPO1lBQ1AsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM3QixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBL0tILDhCQWdMQzs7O0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGVBeUJYO0FBekJELFdBQVksZUFBZTtJQUN6Qjs7T0FFRztJQUNILHVDQUFvQixDQUFBO0lBRXBCOztPQUVHO0lBQ0gsOENBQTJCLENBQUE7SUFFM0I7Ozs7T0FJRztJQUNILDhCQUFXLENBQUE7SUFFWDs7Ozs7T0FLRztJQUNILDhDQUEyQixDQUFBO0FBQzdCLENBQUMsRUF6QlcsZUFBZSwrQkFBZixlQUFlLFFBeUIxQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjIzMi4yL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1zcXMvbGliL3F1ZXVlLWJhc2UudHNcblxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFF1ZXVlR3JhbnRzIH0gZnJvbSBcIi4vc3FzLWdyYW50cy5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7XG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxuICBJQXdzQ29uc3RydWN0LFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0ICogYXMga21zIGZyb20gXCIuLi9lbmNyeXB0aW9uXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgR3JhbnRPbktleVJlc3VsdCwgSUVuY3J5cHRlZFJlc291cmNlLCBJR3JhbnRhYmxlIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgUXVldWVQb2xpY3kgfSBmcm9tIFwiLi9xdWV1ZS1wb2xpY3lcIjtcblxuLyoqXG4gKiBPdXRwdXRzIHdoaWNoIG1heSBiZSByZWdpc3RlcmVkIGZvciBvdXRwdXQgdmlhIHRoZSBHcmlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXVlT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBRdWV1ZSBuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFF1ZXVlIGFyblxuICAgKi9cbiAgcmVhZG9ubHkgYXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFF1ZXVlIHVybFxuICAgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBTUVMgcXVldWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUXVldWUgZXh0ZW5kcyBpYW0uSUF3c0NvbnN0cnVjdFdpdGhQb2xpY3ksIElBd3NDb25zdHJ1Y3Qge1xuICAvKiogU3Ryb25nbHkgdHlwZWQgb3V0cHV0cyAqL1xuICByZWFkb25seSBxdWV1ZU91dHB1dHM6IFF1ZXVlT3V0cHV0cztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGlzIHF1ZXVlXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhpcyBxdWV1ZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBxdWV1ZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIHF1ZXVlXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiB0aGlzIHF1ZXVlIGlzIHNlcnZlci1zaWRlIGVuY3J5cHRlZCwgdGhpcyBpcyB0aGUgS01TIGVuY3J5cHRpb24ga2V5LlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbk1hc3RlcktleT86IGttcy5JS2V5O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgcXVldWUgaXMgYW4gQW1hem9uIFNRUyBGSUZPIHF1ZXVlLiBJZiBmYWxzZSwgdGhpcyBpcyBhIHN0YW5kYXJkIHF1ZXVlLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlmbzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY29udGVudHMgb2YgdGhlIHF1ZXVlIGFyZSBlbmNyeXB0ZWQsIGFuZCBieSB3aGF0IHR5cGUgb2Yga2V5LlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvblR5cGU/OiBRdWV1ZUVuY3J5cHRpb247XG5cbiAgLyoqXG4gICAqIEdyYW50IHBlcm1pc3Npb25zIHRvIGNvbnN1bWUgbWVzc2FnZXMgZnJvbSBhIHF1ZXVlXG4gICAqXG4gICAqIFRoaXMgd2lsbCBncmFudCB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zOlxuICAgKlxuICAgKiAgIC0gc3FzOkNoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5XG4gICAqICAgLSBzcXM6RGVsZXRlTWVzc2FnZVxuICAgKiAgIC0gc3FzOlJlY2VpdmVNZXNzYWdlXG4gICAqICAgLSBzcXM6R2V0UXVldWVBdHRyaWJ1dGVzXG4gICAqICAgLSBzcXM6R2V0UXVldWVVcmxcbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgUHJpbmNpcGFsIHRvIGdyYW50IGNvbnN1bWUgcmlnaHRzIHRvXG4gICAqL1xuICBncmFudENvbnN1bWVNZXNzYWdlcyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogR3JhbnQgYWNjZXNzIHRvIHNlbmQgbWVzc2FnZXMgdG8gYSBxdWV1ZSB0byB0aGUgZ2l2ZW4gaWRlbnRpdHkuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBncmFudCB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zOlxuICAgKlxuICAgKiAgLSBzcXM6U2VuZE1lc3NhZ2VcbiAgICogIC0gc3FzOkdldFF1ZXVlQXR0cmlidXRlc1xuICAgKiAgLSBzcXM6R2V0UXVldWVVcmxcbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgUHJpbmNpcGFsIHRvIGdyYW50IHNlbmQgcmlnaHRzIHRvXG4gICAqL1xuICBncmFudFNlbmRNZXNzYWdlcyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogR3JhbnQgYW4gSUFNIHByaW5jaXBhbCBwZXJtaXNzaW9ucyB0byBwdXJnZSBhbGwgbWVzc2FnZXMgZnJvbSB0aGUgcXVldWUuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBncmFudCB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zOlxuICAgKlxuICAgKiAgLSBzcXM6UHVyZ2VRdWV1ZVxuICAgKiAgLSBzcXM6R2V0UXVldWVBdHRyaWJ1dGVzXG4gICAqICAtIHNxczpHZXRRdWV1ZVVybFxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBQcmluY2lwYWwgdG8gZ3JhbnQgc2VuZCByaWdodHMgdG9cbiAgICovXG4gIGdyYW50UHVyZ2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBhY3Rpb25zIGRlZmluZWQgaW4gcXVldWVBY3Rpb25zIHRvIHRoZSBpZGVudGl0eSBQcmluY2lwYWwgZ2l2ZW5cbiAgICogb24gdGhpcyBTUVMgcXVldWUgcmVzb3VyY2UuXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFByaW5jaXBhbCB0byBncmFudCByaWdodCB0b1xuICAgKiBAcGFyYW0gcXVldWVBY3Rpb25zIFRoZSBhY3Rpb25zIHRvIGdyYW50XG4gICAqL1xuICBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4ucXVldWVBY3Rpb25zOiBzdHJpbmdbXSk6IGlhbS5HcmFudDtcbn1cblxuLyoqXG4gKiBSZWZlcmVuY2UgdG8gYSBuZXcgb3IgZXhpc3RpbmcgQW1hem9uIFNRUyBxdWV1ZVxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUXVldWVCYXNlXG4gIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZVxuICBpbXBsZW1lbnRzIElRdWV1ZSwgSUVuY3J5cHRlZFJlc291cmNlXG57XG4gIHB1YmxpYyBnZXQgcXVldWVPdXRwdXRzKCk6IFF1ZXVlT3V0cHV0cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMucXVldWVOYW1lLFxuICAgICAgYXJuOiB0aGlzLnF1ZXVlQXJuLFxuICAgICAgdXJsOiB0aGlzLnF1ZXVlVXJsLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMucXVldWVPdXRwdXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhpcyBxdWV1ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHF1ZXVlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhpcyBxdWV1ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHF1ZXVlVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgcXVldWVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBxdWV1ZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdGhpcyBxdWV1ZSBpcyBzZXJ2ZXItc2lkZSBlbmNyeXB0ZWQsIHRoaXMgaXMgdGhlIEtNUyBlbmNyeXB0aW9uIGtleS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBlbmNyeXB0aW9uTWFzdGVyS2V5Pzoga21zLklLZXk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBxdWV1ZSBpcyBhbiBBbWF6b24gU1FTIEZJRk8gcXVldWUuIElmIGZhbHNlLCB0aGlzIGlzIGEgc3RhbmRhcmQgcXVldWUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZmlmbzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY29udGVudHMgb2YgdGhlIHF1ZXVlIGFyZSBlbmNyeXB0ZWQsIGFuZCBieSB3aGF0IHR5cGUgb2Yga2V5LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGVuY3J5cHRpb25UeXBlPzogUXVldWVFbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBDb2xsZWN0aW9uIG9mIGdyYW50IG1ldGhvZHMgZm9yIGEgUXVldWVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBncmFudHMgPSBRdWV1ZUdyYW50cy5mcm9tUXVldWUodGhpcyk7XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIGF1dG9tYXRpYyBjcmVhdGlvbiBvZiBwb2xpY3kgb2JqZWN0cy5cbiAgICpcbiAgICogU2V0IGJ5IHN1YmNsYXNzZXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgYXV0b0NyZWF0ZVBvbGljeTogYm9vbGVhbjtcblxuICBwcml2YXRlIHBvbGljeT86IFF1ZXVlUG9saWN5O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBd3NDb25zdHJ1Y3RQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCkgPT4gdGhpcy5wb2xpY3k/LmRvY3VtZW50LnZhbGlkYXRlRm9yUmVzb3VyY2VQb2xpY3koKSA/PyBbXSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncmFudE9uS2V5KFxuICAgIGdyYW50ZWU6IElHcmFudGFibGUsXG4gICAgLi4uYWN0aW9uczogc3RyaW5nW11cbiAgKTogR3JhbnRPbktleVJlc3VsdCB7XG4gICAgY29uc3QgZ3JhbnQgPSB0aGlzLmVuY3J5cHRpb25NYXN0ZXJLZXlcbiAgICAgID8gdGhpcy5lbmNyeXB0aW9uTWFzdGVyS2V5LmdyYW50KGdyYW50ZWUsIC4uLmFjdGlvbnMpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4geyBncmFudCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBzdGF0ZW1lbnQgdG8gdGhlIElBTSByZXNvdXJjZSBwb2xpY3kgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcXVldWUuXG4gICAqXG4gICAqIElmIHRoaXMgcXVldWUgd2FzIGNyZWF0ZWQgaW4gdGhpcyBzdGFjayAoYG5ldyBRdWV1ZWApLCBhIHF1ZXVlIHBvbGljeVxuICAgKiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCB1cG9uIHRoZSBmaXJzdCBjYWxsIHRvIGBhZGRUb1BvbGljeWAuXG4gICAqL1xuICBwdWJsaWMgYWRkVG9SZXNvdXJjZVBvbGljeShcbiAgICBzdGF0ZW1lbnQ6IGlhbS5Qb2xpY3lTdGF0ZW1lbnQsXG4gICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICBpZiAoIXRoaXMucG9saWN5ICYmIHRoaXMuYXV0b0NyZWF0ZVBvbGljeSkge1xuICAgICAgdGhpcy5wb2xpY3kgPSBuZXcgUXVldWVQb2xpY3kodGhpcywgXCJQb2xpY3lcIiwgeyBxdWV1ZTogdGhpcyB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5LmRvY3VtZW50LmFkZFN0YXRlbWVudHMoc3RhdGVtZW50KTtcbiAgICAgIHJldHVybiB7IHN0YXRlbWVudEFkZGVkOiB0cnVlLCBwb2xpY3lEZXBlbmRhYmxlOiB0aGlzLnBvbGljeSB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHN0YXRlbWVudEFkZGVkOiBmYWxzZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHBlcm1pc3Npb25zIHRvIGNvbnN1bWUgbWVzc2FnZXMgZnJvbSBhIHF1ZXVlXG4gICAqXG4gICAqIFRoaXMgd2lsbCBncmFudCB0aGUgZm9sbG93aW5nIHBlcm1pc3Npb25zOlxuICAgKlxuICAgKiAgIC0gc3FzOkNoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5XG4gICAqICAgLSBzcXM6RGVsZXRlTWVzc2FnZVxuICAgKiAgIC0gc3FzOlJlY2VpdmVNZXNzYWdlXG4gICAqICAgLSBzcXM6R2V0UXVldWVBdHRyaWJ1dGVzXG4gICAqICAgLSBzcXM6R2V0UXVldWVVcmxcbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGRlY3J5cHQgdGhlIGNvbnRlbnRzIG9mIHRoZSBxdWV1ZSB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBncmFudCB0aGUgZm9sbG93aW5nIEtNUyBwZXJtaXNzaW9uczpcbiAgICpcbiAgICogICAtIGttczpEZWNyeXB0XG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFByaW5jaXBhbCB0byBncmFudCBjb25zdW1lIHJpZ2h0cyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50Q29uc3VtZU1lc3NhZ2VzKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhbnRzLmNvbnN1bWVNZXNzYWdlcyhncmFudGVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCBhY2Nlc3MgdG8gc2VuZCBtZXNzYWdlcyB0byBhIHF1ZXVlIHRvIHRoZSBnaXZlbiBpZGVudGl0eS5cbiAgICpcbiAgICogVGhpcyB3aWxsIGdyYW50IHRoZSBmb2xsb3dpbmcgcGVybWlzc2lvbnM6XG4gICAqXG4gICAqICAtIHNxczpTZW5kTWVzc2FnZVxuICAgKiAgLSBzcXM6R2V0UXVldWVBdHRyaWJ1dGVzXG4gICAqICAtIHNxczpHZXRRdWV1ZVVybFxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZW5jcnlwdC9kZWNyeXB0IHRoZSBjb250ZW50cyBvZiB0aGUgcXVldWUgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgZ3JhbnQgdGhlIGZvbGxvd2luZyBLTVMgcGVybWlzc2lvbnM6XG4gICAqXG4gICAqICAtIGttczpEZWNyeXB0XG4gICAqICAtIGttczpFbmNyeXB0XG4gICAqICAtIGttczpSZUVuY3J5cHQqXG4gICAqICAtIGttczpHZW5lcmF0ZURhdGFLZXkqXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFByaW5jaXBhbCB0byBncmFudCBzZW5kIHJpZ2h0cyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50U2VuZE1lc3NhZ2VzKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhbnRzLnNlbmRNZXNzYWdlcyhncmFudGVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCBhbiBJQU0gcHJpbmNpcGFsIHBlcm1pc3Npb25zIHRvIHB1cmdlIGFsbCBtZXNzYWdlcyBmcm9tIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogVGhpcyB3aWxsIGdyYW50IHRoZSBmb2xsb3dpbmcgcGVybWlzc2lvbnM6XG4gICAqXG4gICAqICAtIHNxczpQdXJnZVF1ZXVlXG4gICAqICAtIHNxczpHZXRRdWV1ZUF0dHJpYnV0ZXNcbiAgICogIC0gc3FzOkdldFF1ZXVlVXJsXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFByaW5jaXBhbCB0byBncmFudCBzZW5kIHJpZ2h0cyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50UHVyZ2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFudHMucHVyZ2UoZ3JhbnRlZSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIGFjdGlvbnMgZGVmaW5lZCBpbiBxdWV1ZUFjdGlvbnMgdG8gdGhlIGlkZW50aXR5IFByaW5jaXBhbCBnaXZlblxuICAgKiBvbiB0aGlzIFNRUyBxdWV1ZSByZXNvdXJjZS5cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgUHJpbmNpcGFsIHRvIGdyYW50IHJpZ2h0IHRvXG4gICAqIEBwYXJhbSBhY3Rpb25zIFRoZSBhY3Rpb25zIHRvIGdyYW50XG4gICAqL1xuICBwdWJsaWMgZ3JhbnQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUsIC4uLmFjdGlvbnM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbE9yUmVzb3VyY2Uoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIGFjdGlvbnMsXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLnF1ZXVlQXJuXSxcbiAgICAgIHJlc291cmNlOiB0aGlzLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogV2hhdCBraW5kIG9mIGVuY3J5cHRpb24gdG8gYXBwbHkgdG8gdGhpcyBxdWV1ZVxuICovXG5leHBvcnQgZW51bSBRdWV1ZUVuY3J5cHRpb24ge1xuICAvKipcbiAgICogTWVzc2FnZXMgaW4gdGhlIHF1ZXVlIGFyZSBub3QgZW5jcnlwdGVkXG4gICAqL1xuICBVTkVOQ1JZUFRFRCA9IFwiTk9ORVwiLFxuXG4gIC8qKlxuICAgKiBTZXJ2ZXItc2lkZSBLTVMgZW5jcnlwdGlvbiB3aXRoIGEgS01TIGtleSBtYW5hZ2VkIGJ5IFNRUy5cbiAgICovXG4gIEtNU19NQU5BR0VEID0gXCJLTVNfTUFOQUdFRFwiLFxuXG4gIC8qKlxuICAgKiBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHdpdGggYSBLTVMga2V5IG1hbmFnZWQgYnkgdGhlIHVzZXIuXG4gICAqXG4gICAqIElmIGBlbmNyeXB0aW9uS2V5YCBpcyBzcGVjaWZpZWQsIHRoaXMga2V5IHdpbGwgYmUgdXNlZCwgb3RoZXJ3aXNlLCBvbmUgd2lsbCBiZSBkZWZpbmVkLlxuICAgKi9cbiAgS01TID0gXCJLTVNcIixcblxuICAvKipcbiAgICogU2VydmVyLXNpZGUgZW5jcnlwdGlvbiBrZXkgbWFuYWdlZCBieSBTUVMgKFNTRS1TUVMpLlxuICAgKlxuICAgKiBUbyBsZWFybiBtb3JlIGFib3V0IFNTRS1TUVMgb24gQW1hem9uIFNRUywgcGxlYXNlIHZpc2l0IHRoZVxuICAgKiBbQW1hem9uIFNRUyBkb2N1bWVudGF0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTU2ltcGxlUXVldWVTZXJ2aWNlL2xhdGVzdC9TUVNEZXZlbG9wZXJHdWlkZS9zcXMtc2VydmVyLXNpZGUtZW5jcnlwdGlvbi5odG1sKS5cbiAgICovXG4gIFNRU19NQU5BR0VEID0gXCJTUVNfTUFOQUdFRFwiLFxufVxuIl19
|
|
@@ -35,5 +35,5 @@ class QueuePolicy extends aws_construct_1.AwsConstructBase {
|
|
|
35
35
|
}
|
|
36
36
|
exports.QueuePolicy = QueuePolicy;
|
|
37
37
|
_a = JSII_RTTI_SYMBOL_1;
|
|
38
|
-
QueuePolicy[_a] = { fqn: "terraconstructs.aws.notify.QueuePolicy", version: "0.
|
|
38
|
+
QueuePolicy[_a] = { fqn: "terraconstructs.aws.notify.QueuePolicy", version: "0.2.0" };
|
|
39
39
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUtcG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvcXVldWUtcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBQXFEO0FBRXJELG9EQUF1RTtBQUV2RSxnQ0FBd0M7QUFZeEM7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQWEsV0FBWSxTQUFRLGdDQUFnQjtJQUsvQyxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBQ0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQWMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFbkQsSUFBSSw2QkFBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2xELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDMUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUTtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQWhCSCxrQ0FpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzcXNRdWV1ZVBvbGljeSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgSVF1ZXVlIH0gZnJvbSBcIi4vXCI7XG5pbXBvcnQgeyBQb2xpY3lEb2N1bWVudCB9IGZyb20gXCIuLi9pYW1cIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHRvIGFzc29jaWF0ZSBTUVMgcXVldWVzIHdpdGggYSBwb2xpY3lcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWV1ZVBvbGljeVByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIHNldCBvZiBxdWV1ZXMgdGhpcyBwb2xpY3kgYXBwbGllcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlOiBJUXVldWU7XG59XG5cbi8qKlxuICogVGhlIHBvbGljeSBmb3IgYW4gU1FTIFF1ZXVlXG4gKlxuICogUG9saWNpZXMgZGVmaW5lIHRoZSBvcGVyYXRpb25zIHRoYXQgYXJlIGFsbG93ZWQgb24gdGhpcyByZXNvdXJjZS5cbiAqXG4gKiBZb3UgYWxtb3N0IG5ldmVyIG5lZWQgdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0IGRpcmVjdGx5LlxuICpcbiAqIEFsbCBBV1MgcmVzb3VyY2VzIHRoYXQgc3VwcG9ydCByZXNvdXJjZSBwb2xpY2llcyBoYXZlIGEgbWV0aG9kIGNhbGxlZFxuICogYGFkZFRvUmVzb3VyY2VQb2xpY3koKWAsIHdoaWNoIHdpbGwgYXV0b21hdGljYWxseSBjcmVhdGUgYSBuZXcgcmVzb3VyY2VcbiAqIHBvbGljeSBpZiBvbmUgZG9lc24ndCBleGlzdCB5ZXQsIG90aGVyd2lzZSBpdCB3aWxsIGFkZCB0byB0aGUgZXhpc3RpbmdcbiAqIHBvbGljeS5cbiAqXG4gKiBQcmVmZXIgdG8gdXNlIGBhZGRUb1Jlc291cmNlUG9saWN5KClgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBRdWV1ZVBvbGljeSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2Uge1xuICAvKipcbiAgICogVGhlIElBTSBwb2xpY3kgZG9jdW1lbnQgZm9yIHRoaXMgcG9saWN5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50OiBQb2xpY3lEb2N1bWVudDtcbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50Lm91dHB1dHM7XG4gIH1cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFF1ZXVlUG9saWN5UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB0aGlzLmRvY3VtZW50ID0gbmV3IFBvbGljeURvY3VtZW50KHRoaXMsIFwiUG9saWN5XCIpO1xuXG4gICAgbmV3IHNxc1F1ZXVlUG9saWN5LlNxc1F1ZXVlUG9saWN5KHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgcG9saWN5OiB0aGlzLmRvY3VtZW50Lmpzb24sXG4gICAgICBxdWV1ZVVybDogcHJvcHMucXVldWUucXVldWVVcmwsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|