Socket
Socket
Sign inDemoInstall

@aws-cdk/aws-events

Package Overview
Dependencies
Maintainers
4
Versions
288
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/aws-events - npm Package Compare versions

Comparing version 0.21.0 to 0.22.0

345

lib/events.generated.d.ts

@@ -10,3 +10,3 @@ import cdk = require('@aws-cdk/cdk');

*/
action: string | cdk.Token;
action: string;
/**

@@ -16,3 +16,3 @@ * ``AWS::Events::EventBusPolicy.Principal``

*/
principal: string | cdk.Token;
principal: string;
/**

@@ -22,3 +22,3 @@ * ``AWS::Events::EventBusPolicy.StatementId``

*/
statementId: string | cdk.Token;
statementId: string;
/**

@@ -42,7 +42,7 @@ * ``AWS::Events::EventBusPolicy.Condition``

*
* @param parent the ``cdk.Construct`` this ``CfnEventBusPolicy`` is a part of
* @param name the name of the resource in the ``cdk.Construct`` tree
* @param properties the properties of this ``CfnEventBusPolicy``
* @param scope scope in which this resource is defined
* @param id scoped id of the resource
* @param props resource properties
*/
constructor(parent: cdk.Construct, name: string, properties: CfnEventBusPolicyProps);
constructor(scope: cdk.Construct, id: string, props: CfnEventBusPolicyProps);
readonly propertyOverrides: CfnEventBusPolicyProps;

@@ -62,3 +62,3 @@ protected renderProperties(properties: any): {

*/
key?: string | cdk.Token;
key?: string;
/**

@@ -68,3 +68,3 @@ * ``CfnEventBusPolicy.ConditionProperty.Type``

*/
type?: string | cdk.Token;
type?: string;
/**

@@ -74,77 +74,5 @@ * ``CfnEventBusPolicy.ConditionProperty.Value``

*/
value?: string | cdk.Token;
value?: string;
}
}
export declare namespace cloudformation {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html
*/
interface EventBusPolicyResourceProps {
/**
* ``AWS::Events::EventBusPolicy.Action``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-action
*/
action: string | cdk.Token;
/**
* ``AWS::Events::EventBusPolicy.Principal``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal
*/
principal: string | cdk.Token;
/**
* ``AWS::Events::EventBusPolicy.StatementId``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statementid
*/
statementId: string | cdk.Token;
/**
* ``AWS::Events::EventBusPolicy.Condition``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition
*/
condition?: EventBusPolicyResource.ConditionProperty | cdk.Token;
}
/**
* @deprecated "cloudformation.EventBusPolicyResource" will be deprecated in a future release in favor of "CfnEventBusPolicy" (see https://github.com/awslabs/aws-cdk/issues/878)
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html
*/
class EventBusPolicyResource extends cdk.Resource {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly resourceTypeName = "AWS::Events::EventBusPolicy";
readonly eventBusPolicyId: string;
/**
* Creates a new ``AWS::Events::EventBusPolicy``.
*
* @param parent the ``cdk.Construct`` this ``EventBusPolicyResource`` is a part of
* @param name the name of the resource in the ``cdk.Construct`` tree
* @param properties the properties of this ``EventBusPolicyResource``
*/
constructor(parent: cdk.Construct, name: string, properties: EventBusPolicyResourceProps);
readonly propertyOverrides: EventBusPolicyResourceProps;
protected renderProperties(properties: any): {
[key: string]: any;
};
}
namespace EventBusPolicyResource {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html
*/
interface ConditionProperty {
/**
* ``EventBusPolicyResource.ConditionProperty.Key``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-key
*/
key?: string | cdk.Token;
/**
* ``EventBusPolicyResource.ConditionProperty.Type``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-type
*/
type?: string | cdk.Token;
/**
* ``EventBusPolicyResource.ConditionProperty.Value``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-value
*/
value?: string | cdk.Token;
}
}
}
/**

@@ -158,3 +86,3 @@ * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html

*/
description?: string | cdk.Token;
description?: string;
/**

@@ -169,3 +97,3 @@ * ``AWS::Events::Rule.EventPattern``

*/
name?: string | cdk.Token;
name?: string;
/**

@@ -175,3 +103,3 @@ * ``AWS::Events::Rule.RoleArn``

*/
roleArn?: string | cdk.Token;
roleArn?: string;
/**

@@ -181,3 +109,3 @@ * ``AWS::Events::Rule.ScheduleExpression``

*/
scheduleExpression?: string | cdk.Token;
scheduleExpression?: string;
/**

@@ -187,3 +115,3 @@ * ``AWS::Events::Rule.State``

*/
state?: string | cdk.Token;
state?: string;
/**

@@ -211,7 +139,7 @@ * ``AWS::Events::Rule.Targets``

*
* @param parent the ``cdk.Construct`` this ``CfnRule`` is a part of
* @param name the name of the resource in the ``cdk.Construct`` tree
* @param properties the properties of this ``CfnRule``
* @param scope scope in which this resource is defined
* @param id scoped id of the resource
* @param props resource properties
*/
constructor(parent: cdk.Construct, name: string, properties?: CfnRuleProps);
constructor(scope: cdk.Construct, id: string, props?: CfnRuleProps);
readonly propertyOverrides: CfnRuleProps;

@@ -236,3 +164,3 @@ protected renderProperties(properties: any): {

*/
taskDefinitionArn: string | cdk.Token;
taskDefinitionArn: string;
}

@@ -256,3 +184,3 @@ }

*/
inputTemplate: string | cdk.Token;
inputTemplate: string;
}

@@ -269,3 +197,3 @@ }

*/
partitionKeyPath: string | cdk.Token;
partitionKeyPath: string;
}

@@ -294,3 +222,3 @@ }

*/
key: string | cdk.Token;
key: string;
/**

@@ -312,3 +240,3 @@ * ``CfnRule.RunCommandTargetProperty.Values``

*/
messageGroupId: string | cdk.Token;
messageGroupId: string;
}

@@ -325,3 +253,3 @@ }

*/
arn: string | cdk.Token;
arn: string;
/**

@@ -336,3 +264,3 @@ * ``CfnRule.TargetProperty.EcsParameters``

*/
id: string | cdk.Token;
id: string;
/**

@@ -342,3 +270,3 @@ * ``CfnRule.TargetProperty.Input``

*/
input?: string | cdk.Token;
input?: string;
/**

@@ -348,3 +276,3 @@ * ``CfnRule.TargetProperty.InputPath``

*/
inputPath?: string | cdk.Token;
inputPath?: string;
/**

@@ -364,3 +292,3 @@ * ``CfnRule.TargetProperty.InputTransformer``

*/
roleArn?: string | cdk.Token;
roleArn?: string;
/**

@@ -378,216 +306,1 @@ * ``CfnRule.TargetProperty.RunCommandParameters``

}
export declare namespace cloudformation {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html
*/
interface RuleResourceProps {
/**
* ``AWS::Events::Rule.Description``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description
*/
description?: string | cdk.Token;
/**
* ``AWS::Events::Rule.EventPattern``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern
*/
eventPattern?: object | cdk.Token;
/**
* ``AWS::Events::Rule.Name``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name
*/
name?: string | cdk.Token;
/**
* ``AWS::Events::Rule.RoleArn``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-rolearn
*/
roleArn?: string | cdk.Token;
/**
* ``AWS::Events::Rule.ScheduleExpression``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression
*/
scheduleExpression?: string | cdk.Token;
/**
* ``AWS::Events::Rule.State``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state
*/
state?: string | cdk.Token;
/**
* ``AWS::Events::Rule.Targets``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets
*/
targets?: Array<RuleResource.TargetProperty | cdk.Token> | cdk.Token;
}
/**
* @deprecated "cloudformation.RuleResource" will be deprecated in a future release in favor of "CfnRule" (see https://github.com/awslabs/aws-cdk/issues/878)
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html
*/
class RuleResource extends cdk.Resource {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly resourceTypeName = "AWS::Events::Rule";
/**
* @cloudformation_attribute Arn
*/
readonly ruleArn: string;
readonly ruleId: string;
/**
* Creates a new ``AWS::Events::Rule``.
*
* @param parent the ``cdk.Construct`` this ``RuleResource`` is a part of
* @param name the name of the resource in the ``cdk.Construct`` tree
* @param properties the properties of this ``RuleResource``
*/
constructor(parent: cdk.Construct, name: string, properties?: RuleResourceProps);
readonly propertyOverrides: RuleResourceProps;
protected renderProperties(properties: any): {
[key: string]: any;
};
}
namespace RuleResource {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html
*/
interface EcsParametersProperty {
/**
* ``RuleResource.EcsParametersProperty.TaskCount``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskcount
*/
taskCount?: number | cdk.Token;
/**
* ``RuleResource.EcsParametersProperty.TaskDefinitionArn``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskdefinitionarn
*/
taskDefinitionArn: string | cdk.Token;
}
}
namespace RuleResource {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html
*/
interface InputTransformerProperty {
/**
* ``RuleResource.InputTransformerProperty.InputPathsMap``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html#cfn-events-rule-inputtransformer-inputpathsmap
*/
inputPathsMap?: {
[key: string]: (string | cdk.Token);
} | cdk.Token;
/**
* ``RuleResource.InputTransformerProperty.InputTemplate``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html#cfn-events-rule-inputtransformer-inputtemplate
*/
inputTemplate: string | cdk.Token;
}
}
namespace RuleResource {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-kinesisparameters.html
*/
interface KinesisParametersProperty {
/**
* ``RuleResource.KinesisParametersProperty.PartitionKeyPath``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-kinesisparameters.html#cfn-events-rule-kinesisparameters-partitionkeypath
*/
partitionKeyPath: string | cdk.Token;
}
}
namespace RuleResource {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html
*/
interface RunCommandParametersProperty {
/**
* ``RuleResource.RunCommandParametersProperty.RunCommandTargets``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html#cfn-events-rule-runcommandparameters-runcommandtargets
*/
runCommandTargets: Array<RuleResource.RunCommandTargetProperty | cdk.Token> | cdk.Token;
}
}
namespace RuleResource {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html
*/
interface RunCommandTargetProperty {
/**
* ``RuleResource.RunCommandTargetProperty.Key``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html#cfn-events-rule-runcommandtarget-key
*/
key: string | cdk.Token;
/**
* ``RuleResource.RunCommandTargetProperty.Values``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html#cfn-events-rule-runcommandtarget-values
*/
values: Array<string | cdk.Token> | cdk.Token;
}
}
namespace RuleResource {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html
*/
interface SqsParametersProperty {
/**
* ``RuleResource.SqsParametersProperty.MessageGroupId``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html#cfn-events-rule-sqsparameters-messagegroupid
*/
messageGroupId: string | cdk.Token;
}
}
namespace RuleResource {
/**
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html
*/
interface TargetProperty {
/**
* ``RuleResource.TargetProperty.Arn``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-arn
*/
arn: string | cdk.Token;
/**
* ``RuleResource.TargetProperty.EcsParameters``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-ecsparameters
*/
ecsParameters?: RuleResource.EcsParametersProperty | cdk.Token;
/**
* ``RuleResource.TargetProperty.Id``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id
*/
id: string | cdk.Token;
/**
* ``RuleResource.TargetProperty.Input``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input
*/
input?: string | cdk.Token;
/**
* ``RuleResource.TargetProperty.InputPath``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath
*/
inputPath?: string | cdk.Token;
/**
* ``RuleResource.TargetProperty.InputTransformer``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer
*/
inputTransformer?: RuleResource.InputTransformerProperty | cdk.Token;
/**
* ``RuleResource.TargetProperty.KinesisParameters``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-kinesisparameters
*/
kinesisParameters?: RuleResource.KinesisParametersProperty | cdk.Token;
/**
* ``RuleResource.TargetProperty.RoleArn``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-rolearn
*/
roleArn?: string | cdk.Token;
/**
* ``RuleResource.TargetProperty.RunCommandParameters``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-runcommandparameters
*/
runCommandParameters?: RuleResource.RunCommandParametersProperty | cdk.Token;
/**
* ``RuleResource.TargetProperty.SqsParameters``
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sqsparameters
*/
sqsParameters?: RuleResource.SqsParametersProperty | cdk.Token;
}
}
}

3

lib/index.js

@@ -7,5 +7,4 @@ "use strict";

__export(require("./rule"));
__export(require("./rule-ref"));
// AWS::Events CloudFormation Resources:
__export(require("./events.generated"));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRCQUF1QjtBQUN2QixnQ0FBMkI7QUFLM0Isd0NBQXdDO0FBQ3hDLHdDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcnVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bGUtcmVmJztcbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0JztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQtcGF0dGVybic7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LW9wdGlvbnMnO1xuXG4vLyBBV1M6OkV2ZW50cyBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZXM6XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cy5nZW5lcmF0ZWQnO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRCQUF1QjtBQU12Qix3Q0FBd0M7QUFDeEMsd0NBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ydWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcnVsZS1yZWYnO1xuZXhwb3J0ICogZnJvbSAnLi90YXJnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudC1wYXR0ZXJuJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtb3B0aW9ucyc7XG5cbi8vIEFXUzo6RXZlbnRzIENsb3VkRm9ybWF0aW9uIFJlc291cmNlczpcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzLmdlbmVyYXRlZCc7XG4iXX0=

@@ -19,9 +19,9 @@ /**

* {
* textTemplate: 'Build <buildid> started',
* pathsMap: {
* buildid: '$.detail.id'
* textTemplate: 'Build <buildid> started',
* pathsMap: {
* buildid: '$.detail.id'
* }
* }
* }
*/
textTemplate?: any;
textTemplate?: string;
/**

@@ -28,0 +28,0 @@ * Input template where you can use the values of the keys from

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlucHV0LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BlY2lmaWVzIHNldHRpbmdzIHRoYXQgcHJvdmlkZSBjdXN0b20gaW5wdXQgdG8gYW4gQW1hem9uIENsb3VkV2F0Y2ggRXZlbnRzXG4gKiBydWxlIHRhcmdldCBiYXNlZCBvbiBjZXJ0YWluIGV2ZW50IGRhdGEuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaEV2ZW50cy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9JbnB1dFRyYW5zZm9ybWVyLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXJnZXRJbnB1dFRlbXBsYXRlIHtcbiAgLyoqXG4gICAqIElucHV0IHRlbXBsYXRlIHdoZXJlIHlvdSBjYW4gdXNlIHRoZSB2YWx1ZXMgb2YgdGhlIGtleXMgZnJvbVxuICAgKiBpbnB1dFBhdGhzTWFwIHRvIGN1c3RvbWl6ZSB0aGUgZGF0YSBzZW50IHRvIHRoZSB0YXJnZXQuIEVuY2xvc2UgZWFjaFxuICAgKiBJbnB1dFBhdGhzTWFwcyB2YWx1ZSBpbiBicmFja2V0czogPHZhbHVlPlxuICAgKlxuICAgKiBUaGUgdmFsdWUgcGFzc2VkIGhlcmUgd2lsbCBiZSBkb3VibGUtcXVvdGVkIHRvIGluZGljYXRlIGl0J3MgYSBzdHJpbmcgdmFsdWUuXG4gICAqIFRoaXMgb3B0aW9uIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGBqc29uVGVtcGxhdGVgLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiAgICB7XG4gICAqICAgIHRleHRUZW1wbGF0ZTogJ0J1aWxkIDxidWlsZGlkPiBzdGFydGVkJyxcbiAgICogICAgcGF0aHNNYXA6IHtcbiAgICogICAgICBidWlsZGlkOiAnJC5kZXRhaWwuaWQnXG4gICAqICAgIH1cbiAgICogICAgfVxuICAgKi9cbiAgdGV4dFRlbXBsYXRlPzogYW55O1xuXG4gIC8qKlxuICAgKiBJbnB1dCB0ZW1wbGF0ZSB3aGVyZSB5b3UgY2FuIHVzZSB0aGUgdmFsdWVzIG9mIHRoZSBrZXlzIGZyb21cbiAgICogaW5wdXRQYXRoc01hcCB0byBjdXN0b21pemUgdGhlIGRhdGEgc2VudCB0byB0aGUgdGFyZ2V0LiBFbmNsb3NlIGVhY2hcbiAgICogSW5wdXRQYXRoc01hcHMgdmFsdWUgaW4gYnJhY2tldHM6IDx2YWx1ZT5cbiAgICpcbiAgICogVGhpcyBvcHRpb24gaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYHRleHRUZW1wbGF0ZWAuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqICAge1xuICAgKiAgICAganNvblRlbXBsYXRlOiAneyBcImNvbW1hbmRzXCI6IDxjb21tYW5kc1RvUnVuPiB9JyAsXG4gICAqICAgICBwYXRoc01hcDoge1xuICAgKiAgICAgY29tbWFuZHNUb1J1bjogJyQuZGV0YWlsLmNvbW1hbmRzJ1xuICAgKiAgICAgfVxuICAgKiAgIH1cbiAgICpcbiAgICovXG4gIGpzb25UZW1wbGF0ZT86IGFueTtcblxuICAvKipcbiAgICogTWFwIG9mIEpTT04gcGF0aHMgdG8gYmUgZXh0cmFjdGVkIGZyb20gdGhlIGV2ZW50LiBUaGVzZSBhcmUga2V5LXZhbHVlXG4gICAqIHBhaXJzLCB3aGVyZSBlYWNoIHZhbHVlIGlzIGEgSlNPTiBwYXRoLiBZb3UgbXVzdCB1c2UgSlNPTiBkb3Qgbm90YXRpb24sXG4gICAqIG5vdCBicmFja2V0IG5vdGF0aW9uLlxuICAgKi9cbiAgcGF0aHNNYXA/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlucHV0LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BlY2lmaWVzIHNldHRpbmdzIHRoYXQgcHJvdmlkZSBjdXN0b20gaW5wdXQgdG8gYW4gQW1hem9uIENsb3VkV2F0Y2ggRXZlbnRzXG4gKiBydWxlIHRhcmdldCBiYXNlZCBvbiBjZXJ0YWluIGV2ZW50IGRhdGEuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaEV2ZW50cy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9JbnB1dFRyYW5zZm9ybWVyLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXJnZXRJbnB1dFRlbXBsYXRlIHtcbiAgLyoqXG4gICAqIElucHV0IHRlbXBsYXRlIHdoZXJlIHlvdSBjYW4gdXNlIHRoZSB2YWx1ZXMgb2YgdGhlIGtleXMgZnJvbVxuICAgKiBpbnB1dFBhdGhzTWFwIHRvIGN1c3RvbWl6ZSB0aGUgZGF0YSBzZW50IHRvIHRoZSB0YXJnZXQuIEVuY2xvc2UgZWFjaFxuICAgKiBJbnB1dFBhdGhzTWFwcyB2YWx1ZSBpbiBicmFja2V0czogPHZhbHVlPlxuICAgKlxuICAgKiBUaGUgdmFsdWUgcGFzc2VkIGhlcmUgd2lsbCBiZSBkb3VibGUtcXVvdGVkIHRvIGluZGljYXRlIGl0J3MgYSBzdHJpbmcgdmFsdWUuXG4gICAqIFRoaXMgb3B0aW9uIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGBqc29uVGVtcGxhdGVgLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiAgICB7XG4gICAqICAgICAgdGV4dFRlbXBsYXRlOiAnQnVpbGQgPGJ1aWxkaWQ+IHN0YXJ0ZWQnLFxuICAgKiAgICAgIHBhdGhzTWFwOiB7XG4gICAqICAgICAgICBidWlsZGlkOiAnJC5kZXRhaWwuaWQnXG4gICAqICAgICAgfVxuICAgKiAgICB9XG4gICAqL1xuICB0ZXh0VGVtcGxhdGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IHRlbXBsYXRlIHdoZXJlIHlvdSBjYW4gdXNlIHRoZSB2YWx1ZXMgb2YgdGhlIGtleXMgZnJvbVxuICAgKiBpbnB1dFBhdGhzTWFwIHRvIGN1c3RvbWl6ZSB0aGUgZGF0YSBzZW50IHRvIHRoZSB0YXJnZXQuIEVuY2xvc2UgZWFjaFxuICAgKiBJbnB1dFBhdGhzTWFwcyB2YWx1ZSBpbiBicmFja2V0czogPHZhbHVlPlxuICAgKlxuICAgKiBUaGlzIG9wdGlvbiBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgdGV4dFRlbXBsYXRlYC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogICB7XG4gICAqICAgICBqc29uVGVtcGxhdGU6ICd7IFwiY29tbWFuZHNcIjogPGNvbW1hbmRzVG9SdW4+IH0nICxcbiAgICogICAgIHBhdGhzTWFwOiB7XG4gICAqICAgICBjb21tYW5kc1RvUnVuOiAnJC5kZXRhaWwuY29tbWFuZHMnXG4gICAqICAgICB9XG4gICAqICAgfVxuICAgKlxuICAgKi9cbiAganNvblRlbXBsYXRlPzogYW55O1xuXG4gIC8qKlxuICAgKiBNYXAgb2YgSlNPTiBwYXRocyB0byBiZSBleHRyYWN0ZWQgZnJvbSB0aGUgZXZlbnQuIFRoZXNlIGFyZSBrZXktdmFsdWVcbiAgICogcGFpcnMsIHdoZXJlIGVhY2ggdmFsdWUgaXMgYSBKU09OIHBhdGguIFlvdSBtdXN0IHVzZSBKU09OIGRvdCBub3RhdGlvbixcbiAgICogbm90IGJyYWNrZXQgbm90YXRpb24uXG4gICAqL1xuICBwYXRoc01hcD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG4iXX0=

@@ -1,3 +0,3 @@

import { Construct } from '@aws-cdk/cdk';
export interface EventRuleRefProps {
import { IConstruct } from '@aws-cdk/cdk';
export interface EventRuleImportProps {
/**

@@ -9,16 +9,12 @@ * The value of the event rule Amazon Resource Name (ARN), such as

}
export declare abstract class EventRuleRef extends Construct {
export interface IEventRule extends IConstruct {
/**
* Imports a rule by ARN into this stack.
*/
static import(parent: Construct, name: string, props: EventRuleRefProps): EventRuleRef;
/**
* The value of the event rule Amazon Resource Name (ARN), such as
* arn:aws:events:us-east-2:123456789012:rule/example.
*/
abstract readonly ruleArn: string;
readonly ruleArn: string;
/**
* Exports this rule resource from this stack and returns an import token.
*/
export(): EventRuleRefProps;
export(): EventRuleImportProps;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const cdk_1 = require("@aws-cdk/cdk");
class EventRuleRef extends cdk_1.Construct {
/**
* Imports a rule by ARN into this stack.
*/
static import(parent, name, props) {
return new ImportedEventRule(parent, name, props);
}
/**
* Exports this rule resource from this stack and returns an import token.
*/
export() {
return {
eventRuleArn: new cdk_1.Output(this, 'RuleArn', { value: this.ruleArn }).makeImportValue().toString()
};
}
}
exports.EventRuleRef = EventRuleRef;
class ImportedEventRule extends EventRuleRef {
constructor(parent, name, props) {
super(parent, name);
this.ruleArn = props.eventRuleArn;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJydWxlLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNDQUFpRDtBQVVqRCxNQUFzQixZQUFhLFNBQVEsZUFBUztJQUVsRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBaUIsRUFBRSxJQUFZLEVBQUUsS0FBd0I7UUFDNUUsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQVFEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxZQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLEVBQUU7U0FDaEcsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZCRCxvQ0F1QkM7QUFFRCxNQUFNLGlCQUFrQixTQUFRLFlBQVk7SUFHMUMsWUFBWSxNQUFpQixFQUFFLElBQVksRUFBRSxLQUF3QjtRQUNuRSxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QsIE91dHB1dCB9IGZyb20gJ0Bhd3MtY2RrL2Nkayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRSdWxlUmVmUHJvcHMge1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBldmVudCBydWxlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pLCBzdWNoIGFzXG4gICAqIGFybjphd3M6ZXZlbnRzOnVzLWVhc3QtMjoxMjM0NTY3ODkwMTI6cnVsZS9leGFtcGxlLlxuICAgKi9cbiAgZXZlbnRSdWxlQXJuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFdmVudFJ1bGVSZWYgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIC8qKlxuICAgKiBJbXBvcnRzIGEgcnVsZSBieSBBUk4gaW50byB0aGlzIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbXBvcnQocGFyZW50OiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IEV2ZW50UnVsZVJlZlByb3BzKTogRXZlbnRSdWxlUmVmIHtcbiAgICByZXR1cm4gbmV3IEltcG9ydGVkRXZlbnRSdWxlKHBhcmVudCwgbmFtZSwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgZXZlbnQgcnVsZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSwgc3VjaCBhc1xuICAgKiBhcm46YXdzOmV2ZW50czp1cy1lYXN0LTI6MTIzNDU2Nzg5MDEyOnJ1bGUvZXhhbXBsZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBydWxlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4cG9ydHMgdGhpcyBydWxlIHJlc291cmNlIGZyb20gdGhpcyBzdGFjayBhbmQgcmV0dXJucyBhbiBpbXBvcnQgdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgZXhwb3J0KCk6IEV2ZW50UnVsZVJlZlByb3BzIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXZlbnRSdWxlQXJuOiBuZXcgT3V0cHV0KHRoaXMsICdSdWxlQXJuJywgeyB2YWx1ZTogdGhpcy5ydWxlQXJuIH0pLm1ha2VJbXBvcnRWYWx1ZSgpLnRvU3RyaW5nKClcbiAgICB9O1xuICB9XG59XG5cbmNsYXNzIEltcG9ydGVkRXZlbnRSdWxlIGV4dGVuZHMgRXZlbnRSdWxlUmVmIHtcbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVBcm46IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgbmFtZTogc3RyaW5nLCBwcm9wczogRXZlbnRSdWxlUmVmUHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIG5hbWUpO1xuXG4gICAgdGhpcy5ydWxlQXJuID0gcHJvcHMuZXZlbnRSdWxlQXJuO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJydWxlLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gJ0Bhd3MtY2RrL2Nkayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRSdWxlSW1wb3J0UHJvcHMge1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBldmVudCBydWxlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pLCBzdWNoIGFzXG4gICAqIGFybjphd3M6ZXZlbnRzOnVzLWVhc3QtMjoxMjM0NTY3ODkwMTI6cnVsZS9leGFtcGxlLlxuICAgKi9cbiAgZXZlbnRSdWxlQXJuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUV2ZW50UnVsZSBleHRlbmRzIElDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBldmVudCBydWxlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pLCBzdWNoIGFzXG4gICAqIGFybjphd3M6ZXZlbnRzOnVzLWVhc3QtMjoxMjM0NTY3ODkwMTI6cnVsZS9leGFtcGxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcnVsZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHBvcnRzIHRoaXMgcnVsZSByZXNvdXJjZSBmcm9tIHRoaXMgc3RhY2sgYW5kIHJldHVybnMgYW4gaW1wb3J0IHRva2VuLlxuICAgKi9cbiAgZXhwb3J0KCk6IEV2ZW50UnVsZUltcG9ydFByb3BzO1xufVxuIl19
import { Construct } from '@aws-cdk/cdk';
import { EventPattern } from './event-pattern';
import { TargetInputTemplate } from './input-options';
import { EventRuleRef } from './rule-ref';
import { EventRuleImportProps, IEventRule } from './rule-ref';
import { IEventRuleTarget } from './target';

@@ -57,3 +57,7 @@ export interface EventRuleProps {

*/
export declare class EventRule extends EventRuleRef {
export declare class EventRule extends Construct implements IEventRule {
/**
* Imports a rule by ARN into this stack.
*/
static import(scope: Construct, id: string, props: EventRuleImportProps): IEventRule;
readonly ruleArn: string;

@@ -63,4 +67,8 @@ private readonly targets;

private scheduleExpression?;
constructor(parent: Construct, name: string, props?: EventRuleProps);
constructor(scope: Construct, id: string, props?: EventRuleProps);
/**
* Exports this rule resource from this stack and returns an import token.
*/
export(): EventRuleImportProps;
/**
* Adds a target to the rule. The abstract class RuleTarget can be extended to define new

@@ -106,5 +114,5 @@ * targets.

addEventPattern(eventPattern?: EventPattern): void;
validate(): string[];
protected validate(): string[];
private renderTargets;
private renderEventPattern;
}

@@ -5,3 +5,2 @@ "use strict";

const events_generated_1 = require("./events.generated");
const rule_ref_1 = require("./rule-ref");
const util_1 = require("./util");

@@ -11,5 +10,5 @@ /**

*/
class EventRule extends rule_ref_1.EventRuleRef {
constructor(parent, name, props = {}) {
super(parent, name);
class EventRule extends cdk_1.Construct {
constructor(scope, id, props = {}) {
super(scope, id);
this.targets = new Array();

@@ -21,3 +20,3 @@ this.eventPattern = {};

state: props.enabled == null ? 'ENABLED' : (props.enabled ? 'ENABLED' : 'DISABLED'),
scheduleExpression: new cdk_1.Token(() => this.scheduleExpression),
scheduleExpression: new cdk_1.Token(() => this.scheduleExpression).toString(),
eventPattern: new cdk_1.Token(() => this.renderEventPattern()),

@@ -34,2 +33,16 @@ targets: new cdk_1.Token(() => this.renderTargets())

/**
* Imports a rule by ARN into this stack.
*/
static import(scope, id, props) {
return new ImportedEventRule(scope, id, props);
}
/**
* Exports this rule resource from this stack and returns an import token.
*/
export() {
return {
eventRuleArn: new cdk_1.Output(this, 'RuleArn', { value: this.ruleArn }).makeImportValue().toString()
};
}
/**
* Adds a target to the rule. The abstract class RuleTarget can be extended to define new

@@ -44,3 +57,3 @@ * targets.

}
const targetProps = target.asEventRuleTarget(this.ruleArn, this.uniqueId);
const targetProps = target.asEventRuleTarget(this.ruleArn, this.node.uniqueId);
// check if a target with this ID already exists

@@ -69,3 +82,3 @@ if (this.targets.find(t => t.id === targetProps.id)) {

else {
inputTemplate = new cdk_1.FnConcat('"', inputOptions.textTemplate, '"');
inputTemplate = `"${inputOptions.textTemplate}"`;
}

@@ -147,2 +160,12 @@ return {

exports.EventRule = EventRule;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBMEQ7QUFFMUQseURBQTZDO0FBRTdDLHlDQUEwQztBQUUxQyxpQ0FBMkM7QUF3RDNDOztHQUVHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsdUJBQVk7SUFPekMsWUFBWSxNQUFpQixFQUFFLElBQVksRUFBRSxRQUF3QixFQUFHO1FBQ3RFLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFMTCxZQUFPLEdBQUcsSUFBSSxLQUFLLEVBQTBCLENBQUM7UUFDOUMsaUJBQVksR0FBaUIsRUFBRyxDQUFDO1FBTWhELE1BQU0sUUFBUSxHQUFHLElBQUksMEJBQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzdDLElBQUksRUFBRSxLQUFLLENBQUMsUUFBUTtZQUNwQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDbkYsa0JBQWtCLEVBQUUsSUFBSSxXQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQzVELFlBQVksRUFBRSxJQUFJLFdBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUN4RCxPQUFPLEVBQUUsSUFBSSxXQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQy9DLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUVoQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FB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LEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUV2QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELHVDQUF1QztRQUN2QyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsS0FBSyxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3pDLE1BQU0sS0FBSyxHQUFJLFlBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsSUFBSSxHQUFHLEtBQUssWUFBWSxFQUFFO2dCQUN4QixHQUFHLEdBQUcsYUFBYSxDQUFDO2FBQ3JCO1lBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNsQjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGO0FBM0pELDhCQTJKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCwgRm5Db25jYXQsIFRva2VuIH0gZnJvbSAnQGF3cy1jZGsvY2RrJztcbmltcG9ydCB7IEV2ZW50UGF0dGVybiB9IGZyb20gJy4vZXZlbnQtcGF0dGVybic7XG5pbXBvcnQgeyBDZm5SdWxlIH0gZnJvbSAnLi9ldmVudHMuZ2VuZXJhdGVkJztcbmltcG9ydCB7IFRhcmdldElucHV0VGVtcGxhdGUgfSBmcm9tICcuL2lucHV0LW9wdGlvbnMnO1xuaW1wb3J0IHsgRXZlbnRSdWxlUmVmIH0gZnJvbSAnLi9ydWxlLXJlZic7XG5pbXBvcnQgeyBJRXZlbnRSdWxlVGFyZ2V0IH0gZnJvbSAnLi90YXJnZXQnO1xuaW1wb3J0IHsgbWVyZ2VFdmVudFBhdHRlcm4gfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50UnVsZVByb3BzIHtcbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHJ1bGUncyBwdXJwb3NlLlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhlIHJ1bGUuIElmIHlvdSBkb24ndCBzcGVjaWZ5IGEgbmFtZSwgQVdTIENsb3VkRm9ybWF0aW9uXG4gICAqIGdlbmVyYXRlcyBhIHVuaXF1ZSBwaHlzaWNhbCBJRCBhbmQgdXNlcyB0aGF0IElEIGZvciB0aGUgcnVsZSBuYW1lLiBGb3JcbiAgICogbW9yZSBpbmZvcm1hdGlvbiwgc2VlIE5hbWUgVHlwZS5cbiAgICovXG4gIHJ1bGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcnVsZSBpcyBlbmFibGVkLlxuICAgKiBAZGVmYXVsdCBSdWxlIGlzIGVuYWJsZWRcbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZWR1bGUgb3IgcmF0ZSAoZnJlcXVlbmN5KSB0aGF0IGRldGVybWluZXMgd2hlbiBDbG91ZFdhdGNoIEV2ZW50c1xuICAgKiBydW5zIHRoZSBydWxlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFNjaGVkdWxlIEV4cHJlc3Npb24gU3ludGF4IGZvclxuICAgKiBSdWxlcyBpbiB0aGUgQW1hem9uIENsb3VkV2F0Y2ggVXNlciBHdWlkZS5cbiAgICpcbiAgICogQHNlZSBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9ldmVudHMvU2NoZWR1bGVkRXZlbnRzLmh0bWxcbiAgICpcbiAgICogWW91IG11c3Qgc3BlY2lmeSB0aGlzIHByb3BlcnR5LCB0aGUgYGV2ZW50UGF0dGVybmAgcHJvcGVydHksIG9yIGJvdGguXG4gICAqL1xuICBzY2hlZHVsZUV4cHJlc3Npb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaWJlcyB3aGljaCBldmVudHMgQ2xvdWRXYXRjaCBFdmVudHMgcm91dGVzIHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0LlxuICAgKiBUaGVzZSByb3V0ZWQgZXZlbnRzIGFyZSBtYXRjaGVkIGV2ZW50cy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBFdmVudHNcbiAgICogYW5kIEV2ZW50IFBhdHRlcm5zIGluIHRoZSBBbWF6b24gQ2xvdWRXYXRjaCBVc2VyIEd1aWRlLlxuICAgKlxuICAgKiBAc2VlXG4gICAqIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L0RldmVsb3Blckd1aWRlL0Nsb3VkV2F0Y2hFdmVudHNhbmRFdmVudFBhdHRlcm5zLmh0bWxcbiAgICpcbiAgICogWW91IG11c3Qgc3BlY2lmeSB0aGlzIHByb3BlcnR5IChlaXRoZXIgdmlhIHByb3BzIG9yIHZpYVxuICAgKiBgYWRkRXZlbnRQYXR0ZXJuYCksIHRoZSBgc2NoZWR1bGVFeHByZXNzaW9uYCBwcm9wZXJ0eSwgb3IgYm90aC4gVGhlXG4gICAqIG1ldGhvZCBgYWRkRXZlbnRQYXR0ZXJuYCBjYW4gYmUgdXNlZCB0byBhZGQgZmlsdGVyIHZhbHVlcyB0byB0aGUgZXZlbnRcbiAgICogcGF0dGVybi5cbiAgICovXG4gIGV2ZW50UGF0dGVybj86IEV2ZW50UGF0dGVybjtcblxuICAvKipcbiAgICogVGFyZ2V0cyB0byBpbnZva2Ugd2hlbiB0aGlzIHJ1bGUgbWF0Y2hlcyBhbiBldmVudC5cbiAgICpcbiAgICogSW5wdXQgd2lsbCBiZSB0aGUgZnVsbCBtYXRjaGVkIGV2ZW50LiBJZiB5b3Ugd2lzaCB0byBzcGVjaWZ5IGN1c3RvbVxuICAgKiB0YXJnZXQgaW5wdXQsIHVzZSBgYWRkVGFyZ2V0KHRhcmdldFssIGlucHV0T3B0aW9uc10pYC5cbiAgICovXG4gIHRhcmdldHM/OiBJRXZlbnRSdWxlVGFyZ2V0W107XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIENsb3VkV2F0Y2ggRXZlbnQgUnVsZSBpbiB0aGlzIHN0YWNrLlxuICovXG5leHBvcnQgY2xhc3MgRXZlbnRSdWxlIGV4dGVuZHMgRXZlbnRSdWxlUmVmIHtcbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVBcm46IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHRhcmdldHMgPSBuZXcgQXJyYXk8Q2ZuUnVsZS5UYXJnZXRQcm9wZXJ0eT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBldmVudFBhdHRlcm46IEV2ZW50UGF0dGVybiA9IHsgfTtcbiAgcHJpdmF0ZSBzY2hlZHVsZUV4cHJlc3Npb24/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IEV2ZW50UnVsZVByb3BzID0geyB9KSB7XG4gICAgc3VwZXIocGFyZW50LCBuYW1lKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmblJ1bGUodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMucnVsZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBzdGF0ZTogcHJvcHMuZW5hYmxlZCA9PSBudWxsID8gJ0VOQUJMRUQnIDogKHByb3BzLmVuYWJsZWQgPyAnRU5BQkxFRCcgOiAnRElTQUJMRUQnKSxcbiAgICAgIHNjaGVkdWxlRXhwcmVzc2lvbjogbmV3IFRva2VuKCgpID0+IHRoaXMuc2NoZWR1bGVFeHByZXNzaW9uKSxcbiAgICAgIGV2ZW50UGF0dGVybjogbmV3IFRva2VuKCgpID0+IHRoaXMucmVuZGVyRXZlbnRQYXR0ZXJuKCkpLFxuICAgICAgdGFyZ2V0czogbmV3IFRva2VuKCgpID0+IHRoaXMucmVuZGVyVGFyZ2V0cygpKVxuICAgIH0pO1xuXG4gICAgdGhpcy5ydWxlQXJuID0gcmVzb3VyY2UucnVsZUFybjtcblxuICAgIHRoaXMuYWRkRXZlbnRQYXR0ZXJuKHByb3BzLmV2ZW50UGF0dGVybik7XG4gICAgdGhpcy5zY2hlZHVsZUV4cHJlc3Npb24gPSBwcm9wcy5zY2hlZHVsZUV4cHJlc3Npb247XG5cbiAgICBmb3IgKGNvbnN0IHRhcmdldCBvZiBwcm9wcy50YXJnZXRzIHx8IFtdKSB7XG4gICAgICB0aGlzLmFkZFRhcmdldCh0YXJnZXQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdGFyZ2V0IHRvIHRoZSBydWxlLiBUaGUgYWJzdHJhY3QgY2xhc3MgUnVsZVRhcmdldCBjYW4gYmUgZXh0ZW5kZWQgdG8gZGVmaW5lIG5ld1xuICAgKiB0YXJnZXRzLlxuICAgKlxuICAgKiBOby1vcCBpZiB0YXJnZXQgaXMgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIGFkZFRhcmdldCh0YXJnZXQ/OiBJRXZlbnRSdWxlVGFyZ2V0LCBpbnB1dE9wdGlvbnM/OiBUYXJnZXRJbnB1dFRlbXBsYXRlKSB7XG4gICAgaWYgKCF0YXJnZXQpIHsgcmV0dXJuOyB9XG5cbiAgICBjb25zdCB0YXJnZXRQcm9wcyA9IHRhcmdldC5hc0V2ZW50UnVsZVRhcmdldCh0aGlzLnJ1bGVBcm4sIHRoaXMudW5pcXVlSWQpO1xuXG4gICAgLy8gY2hlY2sgaWYgYSB0YXJnZXQgd2l0aCB0aGlzIElEIGFscmVhZHkgZXhpc3RzXG4gICAgaWYgKHRoaXMudGFyZ2V0cy5maW5kKHQgPT4gdC5pZCA9PT0gdGFyZ2V0UHJvcHMuaWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0R1cGxpY2F0ZSBldmVudCBydWxlIHRhcmdldCB3aXRoIElEOiAnICsgdGFyZ2V0UHJvcHMuaWQpO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0cy5wdXNoKHtcbiAgICAgIC4uLnRhcmdldFByb3BzLFxuICAgICAgaW5wdXRUcmFuc2Zvcm1lcjogcmVuZGVyVHJhbnNmb3JtZXIoKSxcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIHJlbmRlclRyYW5zZm9ybWVyKCk6IENmblJ1bGUuSW5wdXRUcmFuc2Zvcm1lclByb3BlcnR5IHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmICghaW5wdXRPcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnB1dE9wdGlvbnMuanNvblRlbXBsYXRlICYmIGlucHV0T3B0aW9ucy50ZXh0VGVtcGxhdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImpzb25UZW1wbGF0ZVwiIGFuZCBcInRleHRUZW1wbGF0ZVwiIGFyZSBtdXR1YWxseSBleGNsdXNpdmUnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpbnB1dE9wdGlvbnMuanNvblRlbXBsYXRlICYmICFpbnB1dE9wdGlvbnMudGV4dFRlbXBsYXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignT25lIG9mIFwianNvblRlbXBsYXRlXCIgb3IgXCJ0ZXh0VGVtcGxhdGVcIiBhcmUgcmVxdWlyZWQnKTtcbiAgICAgIH1cblxuICAgICAgbGV0IGlucHV0VGVtcGxhdGU6IGFueTtcblxuICAgICAgaWYgKGlucHV0T3B0aW9ucy5qc29uVGVtcGxhdGUpIHtcbiAgICAgICAgaW5wdXRUZW1wbGF0ZSA9IGlucHV0T3B0aW9ucy5qc29uVGVtcGxhdGU7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZihpbnB1dE9wdGlvbnMudGV4dFRlbXBsYXRlKSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaW5wdXRUZW1wbGF0ZSA9IEpTT04uc3RyaW5naWZ5KGlucHV0T3B0aW9ucy50ZXh0VGVtcGxhdGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5wdXRUZW1wbGF0ZSA9IG5ldyBGbkNvbmNhdCgnXCInLCBpbnB1dE9wdGlvbnMudGV4dFRlbXBsYXRlLCAnXCInKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5wdXRQYXRoc01hcDogaW5wdXRPcHRpb25zLnBhdGhzTWFwLFxuICAgICAgICBpbnB1dFRlbXBsYXRlXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGV2ZW50IHBhdHRlcm4gZmlsdGVyIHRvIHRoaXMgcnVsZS4gSWYgYSBwYXR0ZXJuIHdhcyBhbHJlYWR5IHNwZWNpZmllZCxcbiAgICogdGhlc2UgdmFsdWVzIGFyZSBtZXJnZWQgaW50byB0aGUgZXhpc3RpbmcgcGF0dGVybi5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGlmIHRoZSBydWxlIGFscmVhZHkgY29udGFpbnMgdGhlIHBhdHRlcm46XG4gICAqXG4gICAqICAgIHtcbiAgICogICAgICBcInJlc291cmNlc1wiOiBbIFwicjFcIiBdLFxuICAgKiAgICAgIFwiZGV0YWlsXCI6IHtcbiAgICogICAgICAgIFwiaGVsbG9cIjogWyAxIF1cbiAgICogICAgICB9XG4gICAqICAgIH1cbiAgICpcbiAgICogQW5kIGBhZGRFdmVudFBhdHRlcm5gIGlzIGNhbGxlZCB3aXRoIHRoZSBwYXR0ZXJuOlxuICAgKlxuICAgKiAgICB7XG4gICAqICAgICAgXCJyZXNvdXJjZXNcIjogWyBcInIyXCIgXSxcbiAgICogICAgICBcImRldGFpbFwiOiB7XG4gICAqICAgICAgICBcImZvb1wiOiBbIFwiYmFyXCIgXVxuICAgKiAgICAgIH1cbiAgICogICAgfVxuICAgKlxuICAgKiBUaGUgcmVzdWx0aW5nIGV2ZW50IHBhdHRlcm4gd2lsbCBiZTpcbiAgICpcbiAgICogICAge1xuICAgKiAgICAgIFwicmVzb3VyY2VzXCI6IFsgXCJyMVwiLCBcInIyXCIgXSxcbiAgICogICAgICBcImRldGFpbFwiOiB7XG4gICAqICAgICAgICBcImhlbGxvXCI6IFsgMSBdLFxuICAgKiAgICAgICAgXCJmb29cIjogWyBcImJhclwiIF1cbiAgICogICAgICB9XG4gICAqICAgIH1cbiAgICpcbiAgICovXG4gIHB1YmxpYyBhZGRFdmVudFBhdHRlcm4oZXZlbnRQYXR0ZXJuPzogRXZlbnRQYXR0ZXJuKSB7XG4gICAgaWYgKCFldmVudFBhdHRlcm4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbWVyZ2VFdmVudFBhdHRlcm4odGhpcy5ldmVudFBhdHRlcm4sIGV2ZW50UGF0dGVybik7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZXZlbnRQYXR0ZXJuKS5sZW5ndGggPT09IDAgJiYgIXRoaXMuc2NoZWR1bGVFeHByZXNzaW9uKSB7XG4gICAgICByZXR1cm4gWyBgRWl0aGVyICdldmVudFBhdHRlcm4nIG9yICdzY2hlZHVsZUV4cHJlc3Npb24nIG11c3QgYmUgZGVmaW5lZGAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4gWyBdO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJUYXJnZXRzKCkge1xuICAgIGlmICh0aGlzLnRhcmdldHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRhcmdldHM7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckV2ZW50UGF0dGVybigpIHtcbiAgICBjb25zdCBldmVudFBhdHRlcm4gPSB0aGlzLmV2ZW50UGF0dGVybjtcblxuICAgIGlmIChPYmplY3Qua2V5cyhldmVudFBhdHRlcm4pLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyByZW5hbWUgJ2RldGFpbFR5cGUnIHRvICdkZXRhaWwtdHlwZSdcbiAgICBjb25zdCBvdXQ6IGFueSA9IHt9O1xuICAgIGZvciAobGV0IGtleSBvZiBPYmplY3Qua2V5cyhldmVudFBhdHRlcm4pKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IChldmVudFBhdHRlcm4gYXMgYW55KVtrZXldO1xuICAgICAgaWYgKGtleSA9PT0gJ2RldGFpbFR5cGUnKSB7XG4gICAgICAgIGtleSA9ICdkZXRhaWwtdHlwZSc7XG4gICAgICB9XG4gICAgICBvdXRba2V5XSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBvdXQ7XG4gIH1cbn1cbiJdfQ==
class ImportedEventRule extends cdk_1.Construct {
constructor(scope, id, props) {
super(scope, id);
this.props = props;
this.ruleArn = props.eventRuleArn;
}
export() {
return this.props;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBd0Q7QUFFeEQseURBQTZDO0FBSTdDLGlDQUEyQztBQXdEM0M7O0dBRUc7QUFDSCxNQUFhLFNBQVUsU0FBUSxlQUFTO0lBY3RDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBd0IsRUFBRztRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBTEYsWUFBTyxHQUFHLElBQUksS0FBSyxFQUEwQixDQUFDO1FBQzlDLGlCQUFZLEdBQWlCLEVBQUcsQ0FBQztRQU1oRCxNQUFNLFFBQVEsR0FBRyxJQUFJLDBCQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM3QyxJQUFJLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDcEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ25GLGtCQUFrQixFQUFFLElBQUksV0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN2RSxZQUFZLEVBQUUsSUFBSSxXQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDeEQsT0FBTyxFQUFFLElBQUksV0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMvQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFFaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENB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O0lBQ3BDLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCwgT3V0cHV0LCBUb2tlbiB9IGZyb20gJ0Bhd3MtY2RrL2Nkayc7XG5pbXBvcnQgeyBFdmVudFBhdHRlcm4gfSBmcm9tICcuL2V2ZW50LXBhdHRlcm4nO1xuaW1wb3J0IHsgQ2ZuUnVsZSB9IGZyb20gJy4vZXZlbnRzLmdlbmVyYXRlZCc7XG5pbXBvcnQgeyBUYXJnZXRJbnB1dFRlbXBsYXRlIH0gZnJvbSAnLi9pbnB1dC1vcHRpb25zJztcbmltcG9ydCB7IEV2ZW50UnVsZUltcG9ydFByb3BzLCBJRXZlbnRSdWxlIH0gZnJvbSAnLi9ydWxlLXJlZic7XG5pbXBvcnQgeyBJRXZlbnRSdWxlVGFyZ2V0IH0gZnJvbSAnLi90YXJnZXQnO1xuaW1wb3J0IHsgbWVyZ2VFdmVudFBhdHRlcm4gfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50UnVsZVByb3BzIHtcbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHJ1bGUncyBwdXJwb3NlLlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhlIHJ1bGUuIElmIHlvdSBkb24ndCBzcGVjaWZ5IGEgbmFtZSwgQVdTIENsb3VkRm9ybWF0aW9uXG4gICAqIGdlbmVyYXRlcyBhIHVuaXF1ZSBwaHlzaWNhbCBJRCBhbmQgdXNlcyB0aGF0IElEIGZvciB0aGUgcnVsZSBuYW1lLiBGb3JcbiAgICogbW9yZSBpbmZvcm1hdGlvbiwgc2VlIE5hbWUgVHlwZS5cbiAgICovXG4gIHJ1bGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcnVsZSBpcyBlbmFibGVkLlxuICAgKiBAZGVmYXVsdCBSdWxlIGlzIGVuYWJsZWRcbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZWR1bGUgb3IgcmF0ZSAoZnJlcXVlbmN5KSB0aGF0IGRldGVybWluZXMgd2hlbiBDbG91ZFdhdGNoIEV2ZW50c1xuICAgKiBydW5zIHRoZSBydWxlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFNjaGVkdWxlIEV4cHJlc3Npb24gU3ludGF4IGZvclxuICAgKiBSdWxlcyBpbiB0aGUgQW1hem9uIENsb3VkV2F0Y2ggVXNlciBHdWlkZS5cbiAgICpcbiAgICogQHNlZSBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9ldmVudHMvU2NoZWR1bGVkRXZlbnRzLmh0bWxcbiAgICpcbiAgICogWW91IG11c3Qgc3BlY2lmeSB0aGlzIHByb3BlcnR5LCB0aGUgYGV2ZW50UGF0dGVybmAgcHJvcGVydHksIG9yIGJvdGguXG4gICAqL1xuICBzY2hlZHVsZUV4cHJlc3Npb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaWJlcyB3aGljaCBldmVudHMgQ2xvdWRXYXRjaCBFdmVudHMgcm91dGVzIHRvIHRoZSBzcGVjaWZpZWQgdGFyZ2V0LlxuICAgKiBUaGVzZSByb3V0ZWQgZXZlbnRzIGFyZSBtYXRjaGVkIGV2ZW50cy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBFdmVudHNcbiAgICogYW5kIEV2ZW50IFBhdHRlcm5zIGluIHRoZSBBbWF6b24gQ2xvdWRXYXRjaCBVc2VyIEd1aWRlLlxuICAgKlxuICAgKiBAc2VlXG4gICAqIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L0RldmVsb3Blckd1aWRlL0Nsb3VkV2F0Y2hFdmVudHNhbmRFdmVudFBhdHRlcm5zLmh0bWxcbiAgICpcbiAgICogWW91IG11c3Qgc3BlY2lmeSB0aGlzIHByb3BlcnR5IChlaXRoZXIgdmlhIHByb3BzIG9yIHZpYVxuICAgKiBgYWRkRXZlbnRQYXR0ZXJuYCksIHRoZSBgc2NoZWR1bGVFeHByZXNzaW9uYCBwcm9wZXJ0eSwgb3IgYm90aC4gVGhlXG4gICAqIG1ldGhvZCBgYWRkRXZlbnRQYXR0ZXJuYCBjYW4gYmUgdXNlZCB0byBhZGQgZmlsdGVyIHZhbHVlcyB0byB0aGUgZXZlbnRcbiAgICogcGF0dGVybi5cbiAgICovXG4gIGV2ZW50UGF0dGVybj86IEV2ZW50UGF0dGVybjtcblxuICAvKipcbiAgICogVGFyZ2V0cyB0byBpbnZva2Ugd2hlbiB0aGlzIHJ1bGUgbWF0Y2hlcyBhbiBldmVudC5cbiAgICpcbiAgICogSW5wdXQgd2lsbCBiZSB0aGUgZnVsbCBtYXRjaGVkIGV2ZW50LiBJZiB5b3Ugd2lzaCB0byBzcGVjaWZ5IGN1c3RvbVxuICAgKiB0YXJnZXQgaW5wdXQsIHVzZSBgYWRkVGFyZ2V0KHRhcmdldFssIGlucHV0T3B0aW9uc10pYC5cbiAgICovXG4gIHRhcmdldHM/OiBJRXZlbnRSdWxlVGFyZ2V0W107XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIENsb3VkV2F0Y2ggRXZlbnQgUnVsZSBpbiB0aGlzIHN0YWNrLlxuICovXG5leHBvcnQgY2xhc3MgRXZlbnRSdWxlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUV2ZW50UnVsZSB7XG4gIC8qKlxuICAgKiBJbXBvcnRzIGEgcnVsZSBieSBBUk4gaW50byB0aGlzIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbXBvcnQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV2ZW50UnVsZUltcG9ydFByb3BzKTogSUV2ZW50UnVsZSB7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZEV2ZW50UnVsZShzY29wZSwgaWQsIHByb3BzKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBydWxlQXJuOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRzID0gbmV3IEFycmF5PENmblJ1bGUuVGFyZ2V0UHJvcGVydHk+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRQYXR0ZXJuOiBFdmVudFBhdHRlcm4gPSB7IH07XG4gIHByaXZhdGUgc2NoZWR1bGVFeHByZXNzaW9uPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFdmVudFJ1bGVQcm9wcyA9IHsgfSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5SdWxlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHByb3BzLnJ1bGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgc3RhdGU6IHByb3BzLmVuYWJsZWQgPT0gbnVsbCA/ICdFTkFCTEVEJyA6IChwcm9wcy5lbmFibGVkID8gJ0VOQUJMRUQnIDogJ0RJU0FCTEVEJyksXG4gICAgICBzY2hlZHVsZUV4cHJlc3Npb246IG5ldyBUb2tlbigoKSA9PiB0aGlzLnNjaGVkdWxlRXhwcmVzc2lvbikudG9TdHJpbmcoKSxcbiAgICAgIGV2ZW50UGF0dGVybjogbmV3IFRva2VuKCgpID0+IHRoaXMucmVuZGVyRXZlbnRQYXR0ZXJuKCkpLFxuICAgICAgdGFyZ2V0czogbmV3IFRva2VuKCgpID0+IHRoaXMucmVuZGVyVGFyZ2V0cygpKVxuICAgIH0pO1xuXG4gICAgdGhpcy5ydWxlQXJuID0gcmVzb3VyY2UucnVsZUFybjtcblxuICAgIHRoaXMuYWRkRXZlbnRQYXR0ZXJuKHByb3BzLmV2ZW50UGF0dGVybik7XG4gICAgdGhpcy5zY2hlZHVsZUV4cHJlc3Npb24gPSBwcm9wcy5zY2hlZHVsZUV4cHJlc3Npb247XG5cbiAgICBmb3IgKGNvbnN0IHRhcmdldCBvZiBwcm9wcy50YXJnZXRzIHx8IFtdKSB7XG4gICAgICB0aGlzLmFkZFRhcmdldCh0YXJnZXQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBvcnRzIHRoaXMgcnVsZSByZXNvdXJjZSBmcm9tIHRoaXMgc3RhY2sgYW5kIHJldHVybnMgYW4gaW1wb3J0IHRva2VuLlxuICAgKi9cbiAgcHVibGljIGV4cG9ydCgpOiBFdmVudFJ1bGVJbXBvcnRQcm9wcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGV2ZW50UnVsZUFybjogbmV3IE91dHB1dCh0aGlzLCAnUnVsZUFybicsIHsgdmFsdWU6IHRoaXMucnVsZUFybiB9KS5tYWtlSW1wb3J0VmFsdWUoKS50b1N0cmluZygpXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdGFyZ2V0IHRvIHRoZSBydWxlLiBUaGUgYWJzdHJhY3QgY2xhc3MgUnVsZVRhcmdldCBjYW4gYmUgZXh0ZW5kZWQgdG8gZGVmaW5lIG5ld1xuICAgKiB0YXJnZXRzLlxuICAgKlxuICAgKiBOby1vcCBpZiB0YXJnZXQgaXMgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIGFkZFRhcmdldCh0YXJnZXQ/OiBJRXZlbnRSdWxlVGFyZ2V0LCBpbnB1dE9wdGlvbnM/OiBUYXJnZXRJbnB1dFRlbXBsYXRlKSB7XG4gICAgaWYgKCF0YXJnZXQpIHsgcmV0dXJuOyB9XG5cbiAgICBjb25zdCB0YXJnZXRQcm9wcyA9IHRhcmdldC5hc0V2ZW50UnVsZVRhcmdldCh0aGlzLnJ1bGVBcm4sIHRoaXMubm9kZS51bmlxdWVJZCk7XG5cbiAgICAvLyBjaGVjayBpZiBhIHRhcmdldCB3aXRoIHRoaXMgSUQgYWxyZWFkeSBleGlzdHNcbiAgICBpZiAodGhpcy50YXJnZXRzLmZpbmQodCA9PiB0LmlkID09PSB0YXJnZXRQcm9wcy5pZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRHVwbGljYXRlIGV2ZW50IHJ1bGUgdGFyZ2V0IHdpdGggSUQ6ICcgKyB0YXJnZXRQcm9wcy5pZCk7XG4gICAgfVxuXG4gICAgdGhpcy50YXJnZXRzLnB1c2goe1xuICAgICAgLi4udGFyZ2V0UHJvcHMsXG4gICAgICBpbnB1dFRyYW5zZm9ybWVyOiByZW5kZXJUcmFuc2Zvcm1lcigpLFxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gcmVuZGVyVHJhbnNmb3JtZXIoKTogQ2ZuUnVsZS5JbnB1dFRyYW5zZm9ybWVyUHJvcGVydHkgfCB1bmRlZmluZWQge1xuICAgICAgaWYgKCFpbnB1dE9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgaWYgKGlucHV0T3B0aW9ucy5qc29uVGVtcGxhdGUgJiYgaW5wdXRPcHRpb25zLnRleHRUZW1wbGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wianNvblRlbXBsYXRlXCIgYW5kIFwidGV4dFRlbXBsYXRlXCIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZScpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlucHV0T3B0aW9ucy5qc29uVGVtcGxhdGUgJiYgIWlucHV0T3B0aW9ucy50ZXh0VGVtcGxhdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPbmUgb2YgXCJqc29uVGVtcGxhdGVcIiBvciBcInRleHRUZW1wbGF0ZVwiIGFyZSByZXF1aXJlZCcpO1xuICAgICAgfVxuXG4gICAgICBsZXQgaW5wdXRUZW1wbGF0ZTogYW55O1xuXG4gICAgICBpZiAoaW5wdXRPcHRpb25zLmpzb25UZW1wbGF0ZSkge1xuICAgICAgICBpbnB1dFRlbXBsYXRlID0gaW5wdXRPcHRpb25zLmpzb25UZW1wbGF0ZTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mKGlucHV0T3B0aW9ucy50ZXh0VGVtcGxhdGUpID09PSAnc3RyaW5nJykge1xuICAgICAgICBpbnB1dFRlbXBsYXRlID0gSlNPTi5zdHJpbmdpZnkoaW5wdXRPcHRpb25zLnRleHRUZW1wbGF0ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpbnB1dFRlbXBsYXRlID0gYFwiJHtpbnB1dE9wdGlvbnMudGV4dFRlbXBsYXRlfVwiYDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5wdXRQYXRoc01hcDogaW5wdXRPcHRpb25zLnBhdGhzTWFwLFxuICAgICAgICBpbnB1dFRlbXBsYXRlXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGV2ZW50IHBhdHRlcm4gZmlsdGVyIHRvIHRoaXMgcnVsZS4gSWYgYSBwYXR0ZXJuIHdhcyBhbHJlYWR5IHNwZWNpZmllZCxcbiAgICogdGhlc2UgdmFsdWVzIGFyZSBtZXJnZWQgaW50byB0aGUgZXhpc3RpbmcgcGF0dGVybi5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGlmIHRoZSBydWxlIGFscmVhZHkgY29udGFpbnMgdGhlIHBhdHRlcm46XG4gICAqXG4gICAqICAgIHtcbiAgICogICAgICBcInJlc291cmNlc1wiOiBbIFwicjFcIiBdLFxuICAgKiAgICAgIFwiZGV0YWlsXCI6IHtcbiAgICogICAgICAgIFwiaGVsbG9cIjogWyAxIF1cbiAgICogICAgICB9XG4gICAqICAgIH1cbiAgICpcbiAgICogQW5kIGBhZGRFdmVudFBhdHRlcm5gIGlzIGNhbGxlZCB3aXRoIHRoZSBwYXR0ZXJuOlxuICAgKlxuICAgKiAgICB7XG4gICAqICAgICAgXCJyZXNvdXJjZXNcIjogWyBcInIyXCIgXSxcbiAgICogICAgICBcImRldGFpbFwiOiB7XG4gICAqICAgICAgICBcImZvb1wiOiBbIFwiYmFyXCIgXVxuICAgKiAgICAgIH1cbiAgICogICAgfVxuICAgKlxuICAgKiBUaGUgcmVzdWx0aW5nIGV2ZW50IHBhdHRlcm4gd2lsbCBiZTpcbiAgICpcbiAgICogICAge1xuICAgKiAgICAgIFwicmVzb3VyY2VzXCI6IFsgXCJyMVwiLCBcInIyXCIgXSxcbiAgICogICAgICBcImRldGFpbFwiOiB7XG4gICAqICAgICAgICBcImhlbGxvXCI6IFsgMSBdLFxuICAgKiAgICAgICAgXCJmb29cIjogWyBcImJhclwiIF1cbiAgICogICAgICB9XG4gICAqICAgIH1cbiAgICpcbiAgICovXG4gIHB1YmxpYyBhZGRFdmVudFBhdHRlcm4oZXZlbnRQYXR0ZXJuPzogRXZlbnRQYXR0ZXJuKSB7XG4gICAgaWYgKCFldmVudFBhdHRlcm4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbWVyZ2VFdmVudFBhdHRlcm4odGhpcy5ldmVudFBhdHRlcm4sIGV2ZW50UGF0dGVybik7XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsaWRhdGUoKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZXZlbnRQYXR0ZXJuKS5sZW5ndGggPT09IDAgJiYgIXRoaXMuc2NoZWR1bGVFeHByZXNzaW9uKSB7XG4gICAgICByZXR1cm4gWyBgRWl0aGVyICdldmVudFBhdHRlcm4nIG9yICdzY2hlZHVsZUV4cHJlc3Npb24nIG11c3QgYmUgZGVmaW5lZGAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4gWyBdO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJUYXJnZXRzKCkge1xuICAgIGlmICh0aGlzLnRhcmdldHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRhcmdldHM7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckV2ZW50UGF0dGVybigpIHtcbiAgICBjb25zdCBldmVudFBhdHRlcm4gPSB0aGlzLmV2ZW50UGF0dGVybjtcblxuICAgIGlmIChPYmplY3Qua2V5cyhldmVudFBhdHRlcm4pLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyByZW5hbWUgJ2RldGFpbFR5cGUnIHRvICdkZXRhaWwtdHlwZSdcbiAgICBjb25zdCBvdXQ6IGFueSA9IHt9O1xuICAgIGZvciAobGV0IGtleSBvZiBPYmplY3Qua2V5cyhldmVudFBhdHRlcm4pKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IChldmVudFBhdHRlcm4gYXMgYW55KVtrZXldO1xuICAgICAgaWYgKGtleSA9PT0gJ2RldGFpbFR5cGUnKSB7XG4gICAgICAgIGtleSA9ICdkZXRhaWwtdHlwZSc7XG4gICAgICB9XG4gICAgICBvdXRba2V5XSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBvdXQ7XG4gIH1cbn1cblxuY2xhc3MgSW1wb3J0ZWRFdmVudFJ1bGUgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJRXZlbnRSdWxlIHtcbiAgcHVibGljIHJlYWRvbmx5IHJ1bGVBcm46IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBFdmVudFJ1bGVJbXBvcnRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnJ1bGVBcm4gPSBwcm9wcy5ldmVudFJ1bGVBcm47XG4gIH1cblxuICBwdWJsaWMgZXhwb3J0KCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzO1xuICB9XG59XG4iXX0=
{
"name": "@aws-cdk/aws-events",
"version": "0.21.0",
"version": "0.22.0",
"description": "AWS CloudWatch Events Construct Library",

@@ -37,3 +37,5 @@ "main": "lib/index.js",

"pkglint": "pkglint -f",
"package": "cdk-package"
"package": "cdk-package",
"awslint": "cdk-awslint",
"cfn2ts": "cfn2ts"
},

@@ -57,14 +59,14 @@ "cdk-build": {

"devDependencies": {
"@aws-cdk/assert": "^0.21.0",
"cdk-build-tools": "^0.21.0",
"cfn2ts": "^0.21.0",
"pkglint": "^0.21.0"
"@aws-cdk/assert": "^0.22.0",
"cdk-build-tools": "^0.22.0",
"cfn2ts": "^0.22.0",
"pkglint": "^0.22.0"
},
"dependencies": {
"@aws-cdk/aws-iam": "^0.21.0",
"@aws-cdk/cdk": "^0.21.0"
"@aws-cdk/aws-iam": "^0.22.0",
"@aws-cdk/cdk": "^0.22.0"
},
"homepage": "https://github.com/awslabs/aws-cdk",
"peerDependencies": {
"@aws-cdk/cdk": "^0.21.0"
"@aws-cdk/cdk": "^0.22.0"
},

@@ -71,0 +73,0 @@ "engines": {

@@ -11,3 +11,4 @@ import { Test } from 'nodeunit';

'asEventRuleTarget can use the ruleArn and a uniqueId of the rule'(test: Test): void;
'import/export rule'(test: Test): void;
};
export = _default;

@@ -212,3 +212,3 @@ "use strict";

rule.addTarget(t1, {
textTemplate: new cdk.FnConcat('a', 'b')
textTemplate: cdk.Fn.join('', ['a', 'b']).toString()
});

@@ -225,3 +225,3 @@ // jsonTemplate can be used to format JSON documents with replacements

rule.addTarget(t4, {
jsonTemplate: new cdk.FnJoin(' ', ['"', 'hello', '\"world\"', '"']),
jsonTemplate: cdk.Fn.join(' ', ['"', 'hello', '\"world\"', '"']),
});

@@ -295,7 +295,21 @@ assert_1.expect(stack).toMatch({

rule.addTarget(t1);
test.deepEqual(cdk_1.resolve(receivedRuleArn), cdk_1.resolve(rule.ruleArn));
test.deepEqual(receivedRuleId, rule.uniqueId);
test.deepEqual(stack.node.resolve(receivedRuleArn), stack.node.resolve(rule.ruleArn));
test.deepEqual(receivedRuleId, rule.node.uniqueId);
test.done();
},
'import/export rule'(test) {
// GIVEN
const stack = new cdk_1.Stack();
const myRule = new rule_1.EventRule(stack, 'MyRule');
// WHEN
const exportedRule = myRule.export();
const importedRule = rule_1.EventRule.import(stack, 'ImportedRule', {
eventRuleArn: 'arn:of:rule'
});
// THEN
test.deepEqual(stack.node.resolve(exportedRule), { eventRuleArn: { 'Fn::ImportValue': 'MyRuleRuleArnDB13ADB1' } });
test.deepEqual(importedRule.ruleArn, 'arn:of:rule');
test.done();
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC5ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBdUQ7QUFDdkQsb0NBQXFDO0FBQ3JDLHNDQUF1QztBQUd2QyxzQ0FBd0M7QUFJeEMsaUJBQVM7SUFDUCxjQUFjLENBQUMsSUFBVTtRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU5QixJQUFJLGdCQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUM3QixrQkFBa0IsRUFBRSxrQkFBa0I7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsZUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNwQixXQUFXLEVBQUU7Z0JBQ1gsZ0JBQWdCLEVBQUU7b0JBQ2xCLE1BQU0sRUFBRSxtQkFBbUI7b0JBQzNCLFlBQVksRUFBRTt3QkFDWixvQkFBb0IsRUFBRSxrQkFBa0I7d0JBQ3hDLE9BQU8sRUFBRSxTQUFTO3FCQUNuQjtpQkFDQTthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQVU7UUFDbEMsUUFBUTtRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTlCLE9BQU87UUFDUCxJQUFJLGdCQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUMvQixRQUFRLEVBQUUsY0FBYztZQUN4QixrQkFBa0IsRUFBRSxrQkFBa0I7U0FDckMsQ0FBQyxDQUFDO1FBRUgsT0FBTztRQUNQLGVBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQVksQ0FBQyxtQkFBbUIsRUFBRTtZQUNuRCxJQUFJLEVBQUUsY0FBYztTQUNuQixDQUFDLENBQUMsQ0FBQztRQUVKLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNk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QWUsRUFBRSx1QkFBdUI7aUNBQ3pDOzZCQUNBO3lCQUNGO3FCQUNGO2lCQUNBO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsa0VBQWtFLENBQUMsSUFBVTtRQUMzRSxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU5QixJQUFJLGVBQWUsR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBRTVCLE1BQU0sRUFBRSxHQUFxQjtZQUMzQixpQkFBaUIsRUFBRSxDQUFDLE9BQWUsRUFBRSxNQUFjLEVBQUUsRUFBRTtnQkFDckQsZUFBZSxHQUFHLE9BQU8sQ0FBQztnQkFDMUIsY0FBYyxHQUFHLE1BQU0sQ0FBQztnQkFFeEIsT0FBTztvQkFDTCxFQUFFLEVBQUUsSUFBSTtvQkFDUixHQUFHLEVBQUUsTUFBTTtvQkFDWCxpQkFBaUIsRUFBRSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFO2lCQUM1RCxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUM7UUFFRixNQUFNLElBQUksR0FBRyxJQUFJLGdCQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsYUFBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4cGVjdCwgaGF2ZVJlc291cmNlIH0gZnJvbSAnQGF3cy1jZGsvYXNzZXJ0JztcbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdAYXdzLWNkay9jZGsnO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcbmltcG9ydCB7IElFdmVudFJ1bGVUYXJnZXQgfSBmcm9tICcuLi9saWInO1xuaW1wb3J0IHsgRXZlbnRSdWxlIH0gZnJvbSAnLi4vbGliL3J1bGUnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpvYmplY3QtbGl0ZXJhbC1rZXktcXVvdGVzXG5cbmV4cG9ydCA9IHtcbiAgJ2RlZmF1bHQgcnVsZScodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgbmV3IEV2ZW50UnVsZShzdGFjaywgJ015UnVsZScsIHtcbiAgICAgIHNjaGVkdWxlRXhwcmVzc2lvbjogJ3JhdGUoMTAgbWludXRlcyknXG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICBcIk15UnVsZUE0NEFCODMxXCI6IHtcbiAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFdmVudHM6OlJ1bGVcIixcbiAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICBcIlNjaGVkdWxlRXhwcmVzc2lvblwiOiBcInJhdGUoMTAgbWludXRlcylcIixcbiAgICAgICAgICBcIlN0YXRlXCI6IFwiRU5BQkxFRFwiXG4gICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdydWxlIHdpdGggcGh5c2ljYWwgbmFtZScodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICAvLyBXSEVOXG4gICAgbmV3IEV2ZW50UnVsZShzdGFjaywgJ015UnVsZScsIHtcbiAgICBydWxlTmFtZTogJ1BoeXNpY2FsTmFtZScsXG4gICAgc2NoZWR1bGVFeHByZXNzaW9uOiAncmF0ZSgxMCBtaW51dGVzKSdcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpFdmVudHM6OlJ1bGUnLCB7XG4gICAgTmFtZTogJ1BoeXNpY2FsTmFtZSdcbiAgICB9KSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnZXZlbnRQYXR0ZXJuIGlzIHJlbmRlcmVkIHByb3Blcmx5Jyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICBuZXcgRXZlbnRSdWxlKHN0YWNrLCAnTXlSdWxlJywge1xuICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgIGFjY291bnQ6IFsgJ2FjY291bnQxJywgJ2FjY291bnQyJyBdLFxuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBmb286IFsgMSwgMiBdLFxuICAgICAgICB9LFxuICAgICAgICBkZXRhaWxUeXBlOiBbICdkZXRhaWxUeXBlMScgXSxcbiAgICAgICAgaWQ6IFsgJ2lkMScsICdpZDInIF0sXG4gICAgICAgIHJlZ2lvbjogWyAncmVnaW9uMScsICdyZWdpb24yJywgJ3JlZ2lvbjMnIF0sXG4gICAgICAgIHJlc291cmNlczogWyAncjEnIF0sXG4gICAgICAgIHNvdXJjZTogWyAnc3JjMScsICdzcmMyJyBdLFxuICAgICAgICB0aW1lOiBbICd0MScgXSxcbiAgICAgICAgdmVyc2lvbjogWyAnMCcgXVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHN0YWNrKS50b01hdGNoKHtcbiAgICAgIFwiUmVzb3VyY2VzXCI6IHtcbiAgICAgICAgXCJNeVJ1bGVBNDRBQjgzMVwiOiB7XG4gICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6RXZlbnRzOjpSdWxlXCIsXG4gICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgXCJFdmVudFBhdHRlcm5cIjoge1xuICAgICAgICAgICAgYWNjb3VudDogWyAnYWNjb3VudDEnLCAnYWNjb3VudDInIF0sXG4gICAgICAgICAgICBkZXRhaWw6IHsgZm9vOiBbIDEsIDIgXSB9LFxuICAgICAgICAgICAgJ2RldGFpbC10eXBlJzogWyAnZGV0YWlsVHlwZTEnIF0sXG4gICAgICAgICAgICBpZDogWyAnaWQxJywgJ2lkMicgXSxcbiAgICAgICAgICAgIHJlZ2lvbjogWyAncmVnaW9uMScsICdyZWdpb24yJywgJ3JlZ2lvbjMnIF0sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFsgJ3IxJyBdLFxuICAgICAgICAgICAgc291cmNlOiBbICdzcmMxJywgJ3NyYzInIF0sXG4gICAgICAgICAgICB0aW1lOiBbICd0MScgXSxcbiAgICAgICAgICAgIHZlcnNpb246IFsgJzAnIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiU3RhdGVcIjogXCJFTkFCTEVEXCJcbiAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnZmFpbHMgc3ludGhlc2lzIGlmIG5laXRoZXIgZXZlbnRQYXR0ZXJuIG5vciBzY2hldWRsZUV4cHJlc3Npb24gYXJlIHNwZWNpZmllZCcodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ015U3RhY2snKTtcbiAgICBuZXcgRXZlbnRSdWxlKHN0YWNrLCAnUnVsZScpO1xuICAgIHRlc3QudGhyb3dzKCgpID0+IGFwcC5zeW50aGVzaXplU3RhY2soc3RhY2submFtZSksIC9FaXRoZXIgJ2V2ZW50UGF0dGVybicgb3IgJ3NjaGVkdWxlRXhwcmVzc2lvbicgbXVzdCBiZSBkZWZpbmVkLyk7XG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2FkZEV2ZW50UGF0dGVybiBjYW4gYmUgdXNlZCB0byBhZGQgZmlsdGVycycodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBFdmVudFJ1bGUoc3RhY2ssICdNeVJ1bGUnKTtcbiAgICBydWxlLmFkZEV2ZW50UGF0dGVybih7XG4gICAgICBhY2NvdW50OiBbICcxMjM0NScgXSxcbiAgICAgIGRldGFpbDoge1xuICAgICAgICBmb286IFsgJ2hlbGxvJyBdXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBydWxlLmFkZEV2ZW50UGF0dGVybih7XG4gICAgICBzb3VyY2U6IFsgJ2F3cy5zb3VyY2UnIF0sXG4gICAgICBkZXRhaWw6IHtcbiAgICAgICAgZm9vOiBbICdiYXInIF0sXG4gICAgICAgIGdvbzoge1xuICAgICAgICAgIGhlbGxvOiBbICd3b3JsZCcgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICBcIk15UnVsZUE0NEFCODMxXCI6IHtcbiAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFdmVudHM6OlJ1bGVcIixcbiAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICBcIkV2ZW50UGF0dGVyblwiOiB7XG4gICAgICAgICAgXCJhY2NvdW50XCI6IFtcbiAgICAgICAgICAgIFwiMTIzNDVcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgXCJkZXRhaWxcIjoge1xuICAgICAgICAgICAgXCJmb29cIjogW1xuICAgICAgICAgICAgXCJoZWxsb1wiLFxuICAgICAgICAgICAgXCJiYXJcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwiZ29vXCI6IHtcbiAgICAgICAgICAgIFwiaGVsbG9cIjogW1xuICAgICAgICAgICAgICBcIndvcmxkXCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFwic291cmNlXCI6IFtcbiAgICAgICAgICAgIFwiYXdzLnNvdXJjZVwiXG4gICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJTdGF0ZVwiOiBcIkVOQUJMRURcIlxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAndGFyZ2V0cyBjYW4gYmUgYWRkZWQgdmlhIHByb3BzIG9yIGFkZFRhcmdldCB3aXRoIGlucHV0IHRyYW5zZm9ybWVyJyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gICAgY29uc3QgdDE6IElFdmVudFJ1bGVUYXJnZXQgPSB7XG4gICAgICBhc0V2ZW50UnVsZVRhcmdldDogKCkgPT4gKHtcbiAgICAgICAgaWQ6ICdUMScsXG4gICAgICAgIGFybjogJ0FSTjEnLFxuICAgICAgICBraW5lc2lzUGFyYW1ldGVyczogeyBwYXJ0aXRpb25LZXlQYXRoOiAncGFydGl0aW9uS2V5UGF0aCcgfVxuICAgICAgfSlcbiAgICB9O1xuXG4gICAgY29uc3QgdDI6IElFdmVudFJ1bGVUYXJnZXQgPSB7XG4gICAgICBhc0V2ZW50UnVsZVRhcmdldDogKCkgPT4gKHtcbiAgICAgICAgaWQ6ICdUMicsXG4gICAgICAgIGFybjogJ0FSTjInLFxuICAgICAgICByb2xlQXJuOiAnSUFNLVJPTEUtQVJOJ1xuICAgICAgfSlcbiAgICB9O1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBFdmVudFJ1bGUoc3RhY2ssICdFdmVudFJ1bGUnLCB7XG4gICAgICB0YXJnZXRzOiBbIHQxIF0sXG4gICAgICBzY2hlZHVsZUV4cHJlc3Npb246ICdyYXRlKDUgbWludXRlcyknXG4gICAgfSk7XG5cbiAgICBydWxlLmFkZFRhcmdldCh0Miwge1xuICAgICAgdGV4dFRlbXBsYXRlOiAnVGhpcyBpcyA8YmxhPicsXG4gICAgICBwYXRoc01hcDoge1xuICAgICAgICBibGE6ICckLmRldGFpbC5ibGEnXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICBcIkV2ZW50UnVsZTVBNDkxRDJDXCI6IHtcbiAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFdmVudHM6OlJ1bGVcIixcbiAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICBcIlNjaGVkdWxlRXhwcmVzc2lvblwiOiBcInJhdGUoNSBtaW51dGVzKVwiLFxuICAgICAgICAgIFwiU3RhdGVcIjogXCJFTkFCTEVEXCIsXG4gICAgICAgICAgXCJUYXJnZXRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIkFyblwiOiBcIkFSTjFcIixcbiAgICAgICAgICAgIFwiSWRcIjogXCJUMVwiLFxuICAgICAgICAgICAgXCJLaW5lc2lzUGFyYW1ldGVyc1wiOiB7XG4gICAgICAgICAgICBcIlBhcnRpdGlvbktleVBhdGhcIjogXCJwYXJ0aXRpb25LZXlQYXRoXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiQXJuXCI6IFwiQVJOMlwiLFxuICAgICAgICAgICAgXCJJZFwiOiBcIlQyXCIsXG4gICAgICAgICAgICBcIklucHV0VHJhbnNmb3JtZXJcIjoge1xuICAgICAgICAgICAgXCJJbnB1dFBhdGhzTWFwXCI6IHtcbiAgICAgICAgICAgICAgXCJibGFcIjogXCIkLmRldGFpbC5ibGFcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiSW5wdXRUZW1wbGF0ZVwiOiBcIlxcXCJUaGlzIGlzIDxibGE+XFxcIlwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJSb2xlQXJuXCI6IFwiSUFNLVJPTEUtQVJOXCJcbiAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnaW5wdXQgdGVtcGxhdGUgY2FuIGNvbnRhaW4gdG9rZW5zJyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gICAgY29uc3QgdDE6IElFdmVudFJ1bGVUYXJnZXQgPSB7XG4gICAgICBhc0V2ZW50UnVsZVRhcmdldDogKCkgPT4gKHtcbiAgICAgICAgaWQ6ICdUMScsIGFybjogJ0FSTjEnLCBraW5lc2lzUGFyYW1ldGVyczogeyBwYXJ0aXRpb25LZXlQYXRoOiAncGFydGl0aW9uS2V5UGF0aCcgfVxuICAgICAgfSlcbiAgICB9O1xuXG4gICAgY29uc3QgdDI6IElFdmVudFJ1bGVUYXJnZXQgPSB7IGFzRXZlbnRSdWxlVGFyZ2V0OiAoKSA9PiAoeyBpZDogJ1QyJywgYXJuOiAnQVJOMicsIHJvbGVBcm46ICdJQU0tUk9MRS1BUk4nIH0pIH07XG4gICAgY29uc3QgdDM6IElFdmVudFJ1bGVUYXJnZXQgPSB7IGFzRXZlbnRSdWxlVGFyZ2V0OiAoKSA9PiAoeyBpZDogJ1QzJywgYXJuOiAnQVJOMycgfSkgfTtcbiAgICBjb25zdCB0NDogSUV2ZW50UnVsZVRhcmdldCA9IHsgYXNFdmVudFJ1bGVUYXJnZXQ6ICgpID0+ICh7IGlkOiAnVDQnLCBhcm46ICdBUk40JyB9KSB9O1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBFdmVudFJ1bGUoc3RhY2ssICdFdmVudFJ1bGUnLCB7IHNjaGVkdWxlRXhwcmVzc2lvbjogJ3JhdGUoMSBtaW51dGUpJyB9KTtcblxuICAgIC8vIGEgcGxhaW4gc3RyaW5nIHNob3VsZCBqdXN0IGJlIHN0cmluZ2lmaWVkIChpLmUuIGRvdWJsZSBxdW90ZXMgYWRkZWQgYW5kIGVzY2FwZWQpXG4gICAgcnVsZS5hZGRUYXJnZXQodDIsIHtcbiAgICAgIHRleHRUZW1wbGF0ZTogJ0hlbGxvLCBcIndvcmxkXCInXG4gICAgfSk7XG5cbiAgICAvLyB0b2tlbnMgYXJlIHVzZWQgaGVyZSAoRm5Db25jYXQpLCBidXQgdGhpcyBpcyBhIHRleHQgdGVtcGxhdGUgc28gd2VcbiAgICAvLyBleHBlY3QgaXQgdG8gYmUgd3JhcHBlZCBpbiBkb3VibGUgcXVvdGVzIGF1dG9tYXRpY2FsbHkgZm9yIHVzLlxuICAgIHJ1bGUuYWRkVGFyZ2V0KHQxLCB7XG4gICAgICB0ZXh0VGVtcGxhdGU6IG5ldyBjZGsuRm5Db25jYXQoJ2EnLCAnYicpXG4gICAgfSk7XG5cbiAgICAvLyBqc29uVGVtcGxhdGUgY2FuIGJlIHVzZWQgdG8gZm9ybWF0IEpTT04gZG9jdW1lbnRzIHdpdGggcmVwbGFjZW1lbnRzXG4gICAgcnVsZS5hZGRUYXJnZXQodDMsIHtcbiAgICAgIGpzb25UZW1wbGF0ZTogJ3sgXCJmb29cIjogPGJhcj4gfScsXG4gICAgICBwYXRoc01hcDoge1xuICAgICAgICBiYXI6ICckLmRldGFpbC5iYXInXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyB0b2tlbnMgY2FuIGFsc28gdXNlZCBmb3IgSlNPTiB0ZW1wbGF0ZXMsIGJ1dCB0aGF0IG1lYW5zIGVzY2FwaW5nIGlzXG4gICAgLy8gdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSB1c2VyLlxuICAgIHJ1bGUuYWRkVGFyZ2V0KHQ0LCB7XG4gICAgICBqc29uVGVtcGxhdGU6IG5ldyBjZGsuRm5Kb2luKCcgJywgWydcIicsICdoZWxsbycsICdcXFwid29ybGRcXFwiJywgJ1wiJ10pLFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHN0YWNrKS50b01hdGNoKHtcbiAgICAgIFwiUmVzb3VyY2VzXCI6IHtcbiAgICAgICAgXCJFdmVudFJ1bGU1QTQ5MUQyQ1wiOiB7XG4gICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6RXZlbnRzOjpSdWxlXCIsXG4gICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgXCJTdGF0ZVwiOiBcIkVOQUJMRURcIixcbiAgICAgICAgICBcIlNjaGVkdWxlRXhwcmVzc2lvblwiOiBcInJhdGUoMSBtaW51dGUpXCIsXG4gICAgICAgICAgXCJUYXJnZXRzXCI6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiQXJuXCI6IFwiQVJOMlwiLFxuICAgICAgICAgICAgXCJJZFwiOiBcIlQyXCIsXG4gICAgICAgICAgICBcIklucHV0VHJhbnNmb3JtZXJcIjoge1xuICAgICAgICAgICAgICBcIklucHV0VGVtcGxhdGVcIjogXCJcXFwiSGVsbG8sIFxcXFxcXFwid29ybGRcXFxcXFxcIlxcXCJcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiUm9sZUFyblwiOiBcIklBTS1ST0xFLUFSTlwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgXCJBcm5cIjogXCJBUk4xXCIsXG4gICAgICAgICAgICBcIklkXCI6IFwiVDFcIixcbiAgICAgICAgICAgIFwiSW5wdXRUcmFuc2Zvcm1lclwiOiB7XG4gICAgICAgICAgICAgIFwiSW5wdXRUZW1wbGF0ZVwiOiBcIlxcXCJhYlxcXCJcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiS2luZXNpc1BhcmFtZXRlcnNcIjoge1xuICAgICAgICAgICAgICBcIlBhcnRpdGlvbktleVBhdGhcIjogXCJwYXJ0aXRpb25LZXlQYXRoXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICBcIkFyblwiOiBcIkFSTjNcIixcbiAgICAgICAgICAgIFwiSWRcIjogXCJUM1wiLFxuICAgICAgICAgICAgXCJJbnB1dFRyYW5zZm9ybWVyXCI6IHtcbiAgICAgICAgICAgICAgXCJJbnB1dFBhdGhzTWFwXCI6IHtcbiAgICAgICAgICAgICAgXCJiYXJcIjogXCIkLmRldGFpbC5iYXJcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBcIklucHV0VGVtcGxhdGVcIjogXCJ7IFxcXCJmb29cXFwiOiA8YmFyPiB9XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICBcIkFyblwiOiBcIkFSTjRcIixcbiAgICAgICAgICAgIFwiSWRcIjogXCJUNFwiLFxuICAgICAgICAgICAgXCJJbnB1dFRyYW5zZm9ybWVyXCI6IHtcbiAgICAgICAgICAgICAgXCJJbnB1dFRlbXBsYXRlXCI6IFwiXFxcIiBoZWxsbyBcXFwid29ybGRcXFwiIFxcXCJcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnYXNFdmVudFJ1bGVUYXJnZXQgY2FuIHVzZSB0aGUgcnVsZUFybiBhbmQgYSB1bmlxdWVJZCBvZiB0aGUgcnVsZScodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgbGV0IHJlY2VpdmVkUnVsZUFybiA9ICdGQUlMJztcbiAgICBsZXQgcmVjZWl2ZWRSdWxlSWQgPSAnRkFJTCc7XG5cbiAgICBjb25zdCB0MTogSUV2ZW50UnVsZVRhcmdldCA9IHtcbiAgICAgIGFzRXZlbnRSdWxlVGFyZ2V0OiAocnVsZUFybjogc3RyaW5nLCBydWxlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgICByZWNlaXZlZFJ1bGVBcm4gPSBydWxlQXJuO1xuICAgICAgICByZWNlaXZlZFJ1bGVJZCA9IHJ1bGVJZDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiAnVDEnLFxuICAgICAgICAgIGFybjogJ0FSTjEnLFxuICAgICAgICAgIGtpbmVzaXNQYXJhbWV0ZXJzOiB7IHBhcnRpdGlvbktleVBhdGg6ICdwYXJ0aXRpb25LZXlQYXRoJyB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgRXZlbnRSdWxlKHN0YWNrLCAnRXZlbnRSdWxlJyk7XG4gICAgcnVsZS5hZGRUYXJnZXQodDEpO1xuXG4gICAgdGVzdC5kZWVwRXF1YWwocmVzb2x2ZShyZWNlaXZlZFJ1bGVBcm4pLCByZXNvbHZlKHJ1bGUucnVsZUFybikpO1xuICAgIHRlc3QuZGVlcEVxdWFsKHJlY2VpdmVkUnVsZUlkLCBydWxlLnVuaXF1ZUlkKTtcbiAgICB0ZXN0LmRvbmUoKTtcbiAgfVxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC5ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBdUQ7QUFDdkQsb0NBQXFDO0FBQ3JDLHNDQUFxQztBQUdyQyxzQ0FBd0M7QUFJeEMsaUJBQVM7SUFDUCxjQUFjLENBQUMsSUFBVTtRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU5QixJQUFJLGdCQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUM3QixrQkFBa0IsRUFBRSxrQkFBa0I7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsZUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNwQixXQUFXLEVBQUU7Z0JBQ1gsZ0JBQWdCLEVBQUU7b0JBQ2xCLE1BQU0sRUFBRSxtQkFBbUI7b0JBQzNCLFlBQVksRUFBRTt3QkFDWixvQkFBb0IsRUFBRSxrQkFBa0I7d0JBQ3hDLE9BQU8sRUFBRSxTQUFTO3FCQUNuQjtpQkFDQTthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQVU7UUFDbEMsUUFBUTtRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTlCLE9BQU87UUFDUCxJQUFJLGdCQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUMvQixRQUFRLEVBQUUsY0FBYztZQUN4QixrQkFBa0IsRUFBRSxrQkFBa0I7U0FDckMsQ0FBQyxDQUFDO1FBRUgsT0FBTztRQUNQLGVBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQVksQ0FBQyxtQkFBbUIsRUFBRTtZQUNuRCxJQUFJLEVBQUUsY0FBYztTQUNuQixDQUFDLENBQUMsQ0FBQztRQUVKLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNk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Q0FBQyxJQUFVO1FBQzdCLFFBQVE7UUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQUssRUFBRSxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLElBQUksZ0JBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFOUMsT0FBTztRQUNQLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVyQyxNQUFNLFlBQVksR0FBRyxnQkFBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFO1lBQzNELFlBQVksRUFBRSxhQUFhO1NBQzVCLENBQUMsQ0FBQztRQUVILE9BQU87UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhwZWN0LCBoYXZlUmVzb3VyY2UgfSBmcm9tICdAYXdzLWNkay9hc3NlcnQnO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdAYXdzLWNkay9jZGsnO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcbmltcG9ydCB7IElFdmVudFJ1bGVUYXJnZXQgfSBmcm9tICcuLi9saWInO1xuaW1wb3J0IHsgRXZlbnRSdWxlIH0gZnJvbSAnLi4vbGliL3J1bGUnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpvYmplY3QtbGl0ZXJhbC1rZXktcXVvdGVzXG5cbmV4cG9ydCA9IHtcbiAgJ2RlZmF1bHQgcnVsZScodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgbmV3IEV2ZW50UnVsZShzdGFjaywgJ015UnVsZScsIHtcbiAgICAgIHNjaGVkdWxlRXhwcmVzc2lvbjogJ3JhdGUoMTAgbWludXRlcyknXG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICBcIk15UnVsZUE0NEFCODMxXCI6IHtcbiAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFdmVudHM6OlJ1bGVcIixcbiAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICBcIlNjaGVkdWxlRXhwcmVzc2lvblwiOiBcInJhdGUoMTAgbWludXRlcylcIixcbiAgICAgICAgICBcIlN0YXRlXCI6IFwiRU5BQkxFRFwiXG4gICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdydWxlIHdpdGggcGh5c2ljYWwgbmFtZScodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICAvLyBXSEVOXG4gICAgbmV3IEV2ZW50UnVsZShzdGFjaywgJ015UnVsZScsIHtcbiAgICBydWxlTmFtZTogJ1BoeXNpY2FsTmFtZScsXG4gICAgc2NoZWR1bGVFeHByZXNzaW9uOiAncmF0ZSgxMCBtaW51dGVzKSdcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpFdmVudHM6OlJ1bGUnLCB7XG4gICAgTmFtZTogJ1BoeXNpY2FsTmFtZSdcbiAgICB9KSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnZXZlbnRQYXR0ZXJuIGlzIHJlbmRlcmVkIHByb3Blcmx5Jyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICBuZXcgRXZlbnRSdWxlKHN0YWNrLCAnTXlSdWxlJywge1xuICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgIGFjY291bnQ6IFsgJ2FjY291bnQxJywgJ2FjY291bnQyJyBdLFxuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBmb286IFsgMSwgMiBdLFxuICAgICAgICB9LFxuICAgICAgICBkZXRhaWxUeXBlOiBbICdkZXRhaWxUeXBlMScgXSxcbiAgICAgICAgaWQ6IFsgJ2lkMScsICdpZDInIF0sXG4gICAgICAgIHJlZ2lvbjogWyAncmVnaW9uMScsICdyZWdpb24yJywgJ3JlZ2lvbjMnIF0sXG4gICAgICAgIHJlc291cmNlczogWyAncjEnIF0sXG4gICAgICAgIHNvdXJjZTogWyAnc3JjMScsICdzcmMyJyBdLFxuICAgICAgICB0aW1lOiBbICd0MScgXSxcbiAgICAgICAgdmVyc2lvbjogWyAnMCcgXVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwZWN0KHN0YWNrKS50b01hdGNoKHtcbiAgICAgIFwiUmVzb3VyY2VzXCI6IHtcbiAgICAgICAgXCJNeVJ1bGVBNDRBQjgzMVwiOiB7XG4gICAgICAgIFwiVHlwZVwiOiBcIkFXUzo6RXZlbnRzOjpSdWxlXCIsXG4gICAgICAgIFwiUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgXCJFdmVudFBhdHRlcm5cIjoge1xuICAgICAgICAgICAgYWNjb3VudDogWyAnYWNjb3VudDEnLCAnYWNjb3VudDInIF0sXG4gICAgICAgICAgICBkZXRhaWw6IHsgZm9vOiBbIDEsIDIgXSB9LFxuICAgICAgICAgICAgJ2RldGFpbC10eXBlJzogWyAnZGV0YWlsVHlwZTEnIF0sXG4gICAgICAgICAgICBpZDogWyAnaWQxJywgJ2lkMicgXSxcbiAgICAgICAgICAgIHJlZ2lvbjogWyAncmVnaW9uMScsICdyZWdpb24yJywgJ3JlZ2lvbjMnIF0sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFsgJ3IxJyBdLFxuICAgICAgICAgICAgc291cmNlOiBbICdzcmMxJywgJ3NyYzInIF0sXG4gICAgICAgICAgICB0aW1lOiBbICd0MScgXSxcbiAgICAgICAgICAgIHZlcnNpb246IFsgJzAnIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiU3RhdGVcIjogXCJFTkFCTEVEXCJcbiAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnZmFpbHMgc3ludGhlc2lzIGlmIG5laXRoZXIgZXZlbnRQYXR0ZXJuIG5vciBzY2hldWRsZUV4cHJlc3Npb24gYXJlIHNwZWNpZmllZCcodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ015U3RhY2snKTtcbiAgICBuZXcgRXZlbnRSdWxlKHN0YWNrLCAnUnVsZScpO1xuICAgIHRlc3QudGhyb3dzKCgpID0+IGFwcC5zeW50aGVzaXplU3RhY2soc3RhY2submFtZSksIC9FaXRoZXIgJ2V2ZW50UGF0dGVybicgb3IgJ3NjaGVkdWxlRXhwcmVzc2lvbicgbXVzdCBiZSBkZWZpbmVkLyk7XG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2FkZEV2ZW50UGF0dGVybiBjYW4gYmUgdXNlZCB0byBhZGQgZmlsdGVycycodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBFdmVudFJ1bGUoc3RhY2ssICdNeVJ1bGUnKTtcbiAgICBydWxlLmFkZEV2ZW50UGF0dGVybih7XG4gICAgICBhY2NvdW50OiBbICcxMjM0NScgXSxcbiAgICAgIGRldGFpbDoge1xuICAgICAgICBmb286IFsgJ2hlbGxvJyBdXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBydWxlLmFkZEV2ZW50UGF0dGVybih7XG4gICAgICBzb3VyY2U6IFsgJ2F3cy5zb3VyY2UnIF0sXG4gICAgICBkZXRhaWw6IHtcbiAgICAgICAgZm9vOiBbICdiYXInIF0sXG4gICAgICAgIGdvbzoge1xuICAgICAgICAgIGhlbGxvOiBbICd3b3JsZCcgXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICBcIk15UnVsZUE0NEFCODMxXCI6IHtcbiAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFdmVudHM6OlJ1bGVcIixcbiAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICBcIkV2ZW50UGF0dGVyblwiOiB7XG4gICAgICAgICAgXCJhY2NvdW50XCI6IFtcbiAgICAgICAgICAgIFwiMTIzNDVcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgXCJkZXRhaWxcIjoge1xuICAgICAgICAgICAgXCJmb29cIjogW1xuICAgICAgICAgICAgXCJoZWxsb1wiLFxuICAgICAgICAgICAgXCJiYXJcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwiZ29vXCI6IHtcbiAgICAgICAgICAgIFwiaGVsbG9cIjogW1xuICAgICAgICAgICAgICBcIndvcmxkXCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFwic291cmNlXCI6IFtcbiAgICAgICAgICAgIFwiYXdzLnNvdXJjZVwiXG4gICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJTdGF0ZVwiOiBcIkVOQUJMRURcIlxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAndGFyZ2V0cyBjYW4gYmUgYWRkZWQgdmlhIHByb3BzIG9yIGFkZFRhcmdldCB3aXRoIGlucHV0IHRyYW5zZm9ybWVyJyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gICAgY29uc3QgdDE6IElFdmVudFJ1bGVUYXJnZXQgPSB7XG4gICAgICBhc0V2ZW50UnVsZVRhcmdldDogKCkgPT4gKHtcbiAgICAgICAgaWQ6ICdUMScsXG4gICAgICAgIGFybjogJ0FSTjEnLFxuICAgICAgICBraW5lc2lzUGFyYW1ldGVyczogeyBwYXJ0aXRpb25LZXlQYXRoOiAncGFydGl0aW9uS2V5UGF0aCcgfVxuICAgICAgfSlcbiAgICB9O1xuXG4gICAgY29uc3QgdDI6IElFdmVudFJ1bGVUYXJnZXQgPSB7XG4gICAgICBhc0V2ZW50UnVsZVRhcmdldDogKCkgPT4gKHtcbiAgICAgICAgaWQ6ICdUMicsXG4gICAgICAgIGFybjogJ0FSTjInLFxuICAgICAgICByb2xlQXJuOiAnSUFNLVJPTEUtQVJOJ1xuICAgICAgfSlcbiAgICB9O1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBFdmVudFJ1bGUoc3RhY2ssICdFdmVudFJ1bGUnLCB7XG4gICAgICB0YXJnZXRzOiBbIHQxIF0sXG4gICAgICBzY2hlZHVsZUV4cHJlc3Npb246ICdyYXRlKDUgbWludXRlcyknXG4gICAgfSk7XG5cbiAgICBydWxlLmFkZFRhcmdldCh0Miwge1xuICAgICAgdGV4dFRlbXBsYXRlOiAnVGhpcyBpcyA8YmxhPicsXG4gICAgICBwYXRoc01hcDoge1xuICAgICAgICBibGE6ICckLmRldGFpbC5ibGEnXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICBcIkV2ZW50UnVsZTVBNDkxRDJDXCI6IHtcbiAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFdmVudHM6OlJ1bGVcIixcbiAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICBcIlNjaGVkdWxlRXhwcmVzc2lvblwiOiBcInJhdGUoNSBtaW51dGVzKVwiLFxuICAgICAgICAgIFwiU3RhdGVcIjogXCJFTkFCTEVEXCIsXG4gICAgICAgICAgXCJUYXJnZXRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcIkFyblwiOiBcIkFSTjFcIixcbiAgICAgICAgICAgIFwiSWRcIjogXCJUMVwiLFxuICAgICAgICAgICAgXCJLaW5lc2lzUGFyYW1ldGVyc1wiOiB7XG4gICAgICAgICAgICBcIlBhcnRpdGlvbktleVBhdGhcIjogXCJwYXJ0aXRpb25LZXlQYXRoXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiQXJuXCI6IFwiQVJOMlwiLFxuICAgICAgICAgICAgXCJJZFwiOiBcIlQyXCIsXG4gICAgICAgICAgICBcIklucHV0VHJhbnNmb3JtZXJcIjoge1xuICAgICAgICAgICAgXCJJbnB1dFBhdGhzTWFwXCI6IHtcbiAgICAgICAgICAgICAgXCJibGFcIjogXCIkLmRldGFpbC5ibGFcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiSW5wdXRUZW1wbGF0ZVwiOiBcIlxcXCJUaGlzIGlzIDxibGE+XFxcIlwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJSb2xlQXJuXCI6IFwiSUFNLVJPTEUtQVJOXCJcbiAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnaW5wdXQgdGVtcGxhdGUgY2FuIGNvbnRhaW4gdG9rZW5zJyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gICAgY29uc3QgdDE6IElFdmVudFJ1bGVUYXJnZXQgPSB7XG4gICAgICBhc0V2ZW50UnVsZVRhcmdldDogKCkgPT4gKHtcbiAgICAgICAgaWQ6ICdUMScsIGFybjogJ0FSTjEnLCBraW5lc2lzUGFyYW1ldGVyczogeyBwYXJ0aXRpb25LZXlQYXRoOiAncGFydGl0aW9uS2V5UGF0aCcgfVxuICAgICAgfSlcbiAgICB9O1xuXG4gICAgY29uc3QgdDI6IElFdmVudFJ1bGVUYXJnZXQgPSB7IGFzRXZlbnRSdWxlVGFyZ2V0OiAoKSA9PiAoeyBpZDogJ1QyJywgYXJuOiAnQVJOMicsIHJvbGVBcm46ICdJQU0tUk9MRS1BUk4nIH0pIH07XG4gICAgY29uc3QgdDM6IElFdmVudFJ1bGVUYXJnZXQgPSB7IGFzRXZlbnRSdWxlVGFyZ2V0OiAoKSA9PiAoeyBpZDogJ1QzJywgYXJuOiAnQVJOMycgfSkgfTtcbiAgICBjb25zdCB0NDogSUV2ZW50UnVsZVRhcmdldCA9IHsgYXNFdmVudFJ1bGVUYXJnZXQ6ICgpID0+ICh7IGlkOiAnVDQnLCBhcm46ICdBUk40JyB9KSB9O1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBFdmVudFJ1bGUoc3RhY2ssICdFdmVudFJ1bGUnLCB7IHNjaGVkdWxlRXhwcmVzc2lvbjogJ3JhdGUoMSBtaW51dGUpJyB9KTtcblxuICAgIC8vIGEgcGxhaW4gc3RyaW5nIHNob3VsZCBqdXN0IGJlIHN0cmluZ2lmaWVkIChpLmUuIGRvdWJsZSBxdW90ZXMgYWRkZWQgYW5kIGVzY2FwZWQpXG4gICAgcnVsZS5hZGRUYXJnZXQodDIsIHtcbiAgICAgIHRleHRUZW1wbGF0ZTogJ0hlbGxvLCBcIndvcmxkXCInXG4gICAgfSk7XG5cbiAgICAvLyB0b2tlbnMgYXJlIHVzZWQgaGVyZSAoRm5Db25jYXQpLCBidXQgdGhpcyBpcyBhIHRleHQgdGVtcGxhdGUgc28gd2VcbiAgICAvLyBleHBlY3QgaXQgdG8gYmUgd3JhcHBlZCBpbiBkb3VibGUgcXVvdGVzIGF1dG9tYXRpY2FsbHkgZm9yIHVzLlxuICAgIHJ1bGUuYWRkVGFyZ2V0KHQxLCB7XG4gICAgICB0ZXh0VGVtcGxhdGU6IGNkay5Gbi5qb2luKCcnLCBbICdhJywgJ2InIF0pLnRvU3RyaW5nKClcbiAgICB9KTtcblxuICAgIC8vIGpzb25UZW1wbGF0ZSBjYW4gYmUgdXNlZCB0byBmb3JtYXQgSlNPTiBkb2N1bWVudHMgd2l0aCByZXBsYWNlbWVudHNcbiAgICBydWxlLmFkZFRhcmdldCh0Mywge1xuICAgICAganNvblRlbXBsYXRlOiAneyBcImZvb1wiOiA8YmFyPiB9JyxcbiAgICAgIHBhdGhzTWFwOiB7XG4gICAgICAgIGJhcjogJyQuZGV0YWlsLmJhcidcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIHRva2VucyBjYW4gYWxzbyB1c2VkIGZvciBKU09OIHRlbXBsYXRlcywgYnV0IHRoYXQgbWVhbnMgZXNjYXBpbmcgaXNcbiAgICAvLyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIHVzZXIuXG4gICAgcnVsZS5hZGRUYXJnZXQodDQsIHtcbiAgICAgIGpzb25UZW1wbGF0ZTogY2RrLkZuLmpvaW4oJyAnLCBbJ1wiJywgJ2hlbGxvJywgJ1xcXCJ3b3JsZFxcXCInLCAnXCInXSksXG4gICAgfSk7XG5cbiAgICBleHBlY3Qoc3RhY2spLnRvTWF0Y2goe1xuICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICBcIkV2ZW50UnVsZTVBNDkxRDJDXCI6IHtcbiAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpFdmVudHM6OlJ1bGVcIixcbiAgICAgICAgXCJQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICBcIlN0YXRlXCI6IFwiRU5BQkxFRFwiLFxuICAgICAgICAgIFwiU2NoZWR1bGVFeHByZXNzaW9uXCI6IFwicmF0ZSgxIG1pbnV0ZSlcIixcbiAgICAgICAgICBcIlRhcmdldHNcIjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgXCJBcm5cIjogXCJBUk4yXCIsXG4gICAgICAgICAgICBcIklkXCI6IFwiVDJcIixcbiAgICAgICAgICAgIFwiSW5wdXRUcmFuc2Zvcm1lclwiOiB7XG4gICAgICAgICAgICAgIFwiSW5wdXRUZW1wbGF0ZVwiOiBcIlxcXCJIZWxsbywgXFxcXFxcXCJ3b3JsZFxcXFxcXFwiXFxcIlwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJSb2xlQXJuXCI6IFwiSUFNLVJPTEUtQVJOXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICBcIkFyblwiOiBcIkFSTjFcIixcbiAgICAgICAgICAgIFwiSWRcIjogXCJUMVwiLFxuICAgICAgICAgICAgXCJJbnB1dFRyYW5zZm9ybWVyXCI6IHtcbiAgICAgICAgICAgICAgXCJJbnB1dFRlbXBsYXRlXCI6IFwiXFxcImFiXFxcIlwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJLaW5lc2lzUGFyYW1ldGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiUGFydGl0aW9uS2V5UGF0aFwiOiBcInBhcnRpdGlvbktleVBhdGhcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiQXJuXCI6IFwiQVJOM1wiLFxuICAgICAgICAgICAgXCJJZFwiOiBcIlQzXCIsXG4gICAgICAgICAgICBcIklucHV0VHJhbnNmb3JtZXJcIjoge1xuICAgICAgICAgICAgICBcIklucHV0UGF0aHNNYXBcIjoge1xuICAgICAgICAgICAgICBcImJhclwiOiBcIiQuZGV0YWlsLmJhclwiXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFwiSW5wdXRUZW1wbGF0ZVwiOiBcInsgXFxcImZvb1xcXCI6IDxiYXI+IH1cIlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiQXJuXCI6IFwiQVJONFwiLFxuICAgICAgICAgICAgXCJJZFwiOiBcIlQ0XCIsXG4gICAgICAgICAgICBcIklucHV0VHJhbnNmb3JtZXJcIjoge1xuICAgICAgICAgICAgICBcIklucHV0VGVtcGxhdGVcIjogXCJcXFwiIGhlbGxvIFxcXCJ3b3JsZFxcXCIgXFxcIlwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdhc0V2ZW50UnVsZVRhcmdldCBjYW4gdXNlIHRoZSBydWxlQXJuIGFuZCBhIHVuaXF1ZUlkIG9mIHRoZSBydWxlJyh0ZXN0OiBUZXN0KSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICBsZXQgcmVjZWl2ZWRSdWxlQXJuID0gJ0ZBSUwnO1xuICAgIGxldCByZWNlaXZlZFJ1bGVJZCA9ICdGQUlMJztcblxuICAgIGNvbnN0IHQxOiBJRXZlbnRSdWxlVGFyZ2V0ID0ge1xuICAgICAgYXNFdmVudFJ1bGVUYXJnZXQ6IChydWxlQXJuOiBzdHJpbmcsIHJ1bGVJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJlY2VpdmVkUnVsZUFybiA9IHJ1bGVBcm47XG4gICAgICAgIHJlY2VpdmVkUnVsZUlkID0gcnVsZUlkO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6ICdUMScsXG4gICAgICAgICAgYXJuOiAnQVJOMScsXG4gICAgICAgICAga2luZXNpc1BhcmFtZXRlcnM6IHsgcGFydGl0aW9uS2V5UGF0aDogJ3BhcnRpdGlvbktleVBhdGgnIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBFdmVudFJ1bGUoc3RhY2ssICdFdmVudFJ1bGUnKTtcbiAgICBydWxlLmFkZFRhcmdldCh0MSk7XG5cbiAgICB0ZXN0LmRlZXBFcXVhbChzdGFjay5ub2RlLnJlc29sdmUocmVjZWl2ZWRSdWxlQXJuKSwgc3RhY2subm9kZS5yZXNvbHZlKHJ1bGUucnVsZUFybikpO1xuICAgIHRlc3QuZGVlcEVxdWFsKHJlY2VpdmVkUnVsZUlkLCBydWxlLm5vZGUudW5pcXVlSWQpO1xuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdpbXBvcnQvZXhwb3J0IHJ1bGUnKHRlc3Q6IFRlc3QpIHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gICAgY29uc3QgbXlSdWxlID0gbmV3IEV2ZW50UnVsZShzdGFjaywgJ015UnVsZScpO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IGV4cG9ydGVkUnVsZSA9IG15UnVsZS5leHBvcnQoKTtcblxuICAgIGNvbnN0IGltcG9ydGVkUnVsZSA9IEV2ZW50UnVsZS5pbXBvcnQoc3RhY2ssICdJbXBvcnRlZFJ1bGUnLCB7XG4gICAgICBldmVudFJ1bGVBcm46ICdhcm46b2Y6cnVsZSdcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICB0ZXN0LmRlZXBFcXVhbChzdGFjay5ub2RlLnJlc29sdmUoZXhwb3J0ZWRSdWxlKSwgeyBldmVudFJ1bGVBcm46IHsgJ0ZuOjpJbXBvcnRWYWx1ZSc6ICdNeVJ1bGVSdWxlQXJuREIxM0FEQjEnIH0gfSk7XG4gICAgdGVzdC5kZWVwRXF1YWwoaW1wb3J0ZWRSdWxlLnJ1bGVBcm4sICdhcm46b2Y6cnVsZScpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH1cbn07XG4iXX0=

@@ -25,5 +25,23 @@ {

"strictNullChecks": true,
"target": "ES2018"
"target": "ES2018",
"composite": true
},
"include": [
"**/*.ts"
],
"exclude": [
"node_modules"
],
"references": [
{
"path": "../aws-iam"
},
{
"path": "../cdk"
},
{
"path": "../assert"
}
],
"_generated_by_jsii_": "Generated by jsii - safe to delete, and ideally should be in .gitignore"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc