@aws-cdk/aws-iot-alpha 2.0.0-alpha.4 → 2.0.0-alpha.8

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.
@@ -0,0 +1,41 @@
1
+ function _aws_cdk_aws_iot_alpha_IotSqlConfig(p) {
2
+ }
3
+ function _aws_cdk_aws_iot_alpha_ITopicRule(p) {
4
+ }
5
+ function _aws_cdk_aws_iot_alpha_ActionConfig(p) {
6
+ }
7
+ function _aws_cdk_aws_iot_alpha_IAction(p) {
8
+ }
9
+ function _aws_cdk_aws_iot_alpha_TopicRuleProps(p) {
10
+ if (p == null)
11
+ return;
12
+ visitedObjects.add(p);
13
+ if (!visitedObjects.has(p.sql))
14
+ _aws_cdk_aws_iot_alpha_IotSql(p.sql);
15
+ if (!visitedObjects.has(p.actions))
16
+ _aws_cdk_aws_iot_alpha_IAction(p.actions);
17
+ if (!visitedObjects.has(p.errorAction))
18
+ _aws_cdk_aws_iot_alpha_IAction(p.errorAction);
19
+ visitedObjects.delete(p);
20
+ }
21
+ function _aws_cdk_aws_iot_alpha_IotSql(p) {
22
+ }
23
+ function _aws_cdk_aws_iot_alpha_TopicRule(p) {
24
+ }
25
+ function print(name, deprecationMessage) {
26
+ const deprecated = process.env.JSII_DEPRECATED;
27
+ const deprecationMode = ["warn", "fail", "quiet"].includes(deprecated) ? deprecated : "warn";
28
+ const message = `${name} is deprecated.\n ${deprecationMessage}\n This API will be removed in the next major release.`;
29
+ switch (deprecationMode) {
30
+ case "fail":
31
+ throw new DeprecationError(message);
32
+ case "warn":
33
+ console.warn("[WARNING]", message);
34
+ break;
35
+ }
36
+ }
37
+ const visitedObjects = new Set();
38
+ class DeprecationError extends Error {
39
+ }
40
+ module.exports = { print, _aws_cdk_aws_iot_alpha_IotSqlConfig, _aws_cdk_aws_iot_alpha_ITopicRule, _aws_cdk_aws_iot_alpha_ActionConfig, _aws_cdk_aws_iot_alpha_IAction, _aws_cdk_aws_iot_alpha_TopicRuleProps, _aws_cdk_aws_iot_alpha_IotSql, _aws_cdk_aws_iot_alpha_TopicRule };
41
+ module.exports.DeprecationError = DeprecationError;
package/README.md CHANGED
@@ -3,12 +3,6 @@
3
3
 
4
4
  ---
5
5
 
6
- ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
7
-
8
- > All classes with the `Cfn` prefix in this module ([CFN Resources]) are always stable and safe to use.
9
- >
10
- > [CFN Resources]: https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib
11
-
12
6
  ![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)
13
7
 
14
8
  > The APIs of higher level constructs in this module are experimental and under active development.
@@ -35,21 +29,69 @@ $ npm i @aws-cdk/aws-iot
35
29
  Import it into your code:
36
30
 
37
31
  ```ts
38
- import * as iot from '@aws-cdk/aws-iot';
32
+ import * as iot from '@aws-cdk/aws-iot-alpha';
39
33
  ```
40
34
 
41
35
  ## `TopicRule`
42
36
 
43
- The `TopicRule` construct defined Rules that give your devices the ability to
44
- interact with AWS services.
45
-
46
- For example, to define a rule:
37
+ Create a topic rule that give your devices the ability to interact with AWS services.
38
+ You can create a topic rule with an action that invoke the Lambda action as following:
47
39
 
48
40
  ```ts
49
- new iot.TopicRule(stack, 'MyTopicRule', {
50
- topicRuleName: 'MyRuleName', // optional property
51
- sql: iot.IotSql.fromStringAsVer20160323(
52
- "SELECT topic(2) as device_id, temperature FROM 'device/+/data'",
41
+ import * as iot from '@aws-cdk/aws-iot-alpha';
42
+ import * as actions from '@aws-cdk/aws-iot-actions-alpha';
43
+ import * as lambda from 'aws-cdk-lib/aws-lambda';
44
+
45
+ const func = new lambda.Function(this, 'MyFunction', {
46
+ runtime: lambda.Runtime.NODEJS_14_X,
47
+ handler: 'index.handler',
48
+ code: lambda.Code.fromInline(`
49
+ exports.handler = (event) => {
50
+ console.log("It is test for lambda action of AWS IoT Rule.", event);
51
+ };`
53
52
  ),
54
53
  });
54
+
55
+ new iot.TopicRule(this, 'TopicRule', {
56
+ topicRuleName: 'MyTopicRule', // optional
57
+ description: 'invokes the lambda finction', // optional
58
+ sql: iot.IotSql.fromStringAsVer20160323("SELECT topic(2) as device_id, timestamp() as timestamp FROM 'device/+/data'"),
59
+ actions: [new actions.LambdaFunctionAction(func)],
60
+ });
61
+ ```
62
+
63
+ Or, you can add an action after constructing the `TopicRule` instance as following:
64
+
65
+ ```ts
66
+ const topicRule = new iot.TopicRule(this, 'TopicRule', {
67
+ sql: iot.IotSql.fromStringAsVer20160323("SELECT topic(2) as device_id, timestamp() as timestamp FROM 'device/+/data'"),
68
+ });
69
+ topicRule.addAction(new actions.LambdaFunctionAction(func))
55
70
  ```
71
+
72
+ You can also supply `errorAction` as following,
73
+ and the IoT Rule will trigger it if a rule's action is unable to perform:
74
+
75
+ ```ts
76
+ import * as iot from '@aws-cdk/aws-iot-alpha';
77
+ import * as actions from '@aws-cdk/aws-iot-actions-alpha';
78
+ import * as logs from 'aws-cdk-lib/aws-logs';
79
+
80
+ const logGroup = new logs.LogGroup(this, 'MyLogGroup');
81
+
82
+ new iot.TopicRule(this, 'TopicRule', {
83
+ sql: iot.IotSql.fromStringAsVer20160323("SELECT topic(2) as device_id, timestamp() as timestamp FROM 'device/+/data'"),
84
+ errorAction: new actions.CloudWatchLogsAction(logGroup),
85
+ });
86
+ ```
87
+
88
+ If you wanna make the topic rule disable, add property `enabled: false` as following:
89
+
90
+ ```ts
91
+ new iot.TopicRule(this, 'TopicRule', {
92
+ sql: iot.IotSql.fromStringAsVer20160323("SELECT topic(2) as device_id, timestamp() as timestamp FROM 'device/+/data'"),
93
+ enabled: false,
94
+ });
95
+ ```
96
+
97
+ See also [@aws-cdk/aws-iot-actions](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-iot-actions-readme.html) for other actions.
@@ -0,0 +1,29 @@
1
+ import { CfnTopicRule } from 'aws-cdk-lib/aws-iot';
2
+ import { ITopicRule } from './topic-rule';
3
+ /**
4
+ * (experimental) An abstract action for TopicRule.
5
+ *
6
+ * @experimental
7
+ */
8
+ export interface IAction {
9
+ /**
10
+ * (experimental) Returns the topic rule action specification.
11
+ *
12
+ * @param topicRule The TopicRule that would trigger this action.
13
+ * @experimental
14
+ */
15
+ bind(topicRule: ITopicRule): ActionConfig;
16
+ }
17
+ /**
18
+ * (experimental) Properties for an topic rule action.
19
+ *
20
+ * @experimental
21
+ */
22
+ export interface ActionConfig {
23
+ /**
24
+ * (experimental) The configuration for this action.
25
+ *
26
+ * @experimental
27
+ */
28
+ readonly configuration: CfnTopicRule.ActionProperty;
29
+ }
package/lib/action.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5Ub3BpY1J1bGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaW90JztcbmltcG9ydCB7IElUb3BpY1J1bGUgfSBmcm9tICcuL3RvcGljLXJ1bGUnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIGJpbmQodG9waWNSdWxlOiBJVG9waWNSdWxlKTogQWN0aW9uQ29uZmlnO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbmZpZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvbjogQ2ZuVG9waWNSdWxlLkFjdGlvblByb3BlcnR5O1xufVxuIl19
package/lib/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from './action';
1
2
  export * from './iot-sql';
2
3
  export * from './topic-rule';
package/lib/index.js CHANGED
@@ -10,7 +10,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./action"), exports);
13
14
  __exportStar(require("./iot-sql"), exports);
14
15
  __exportStar(require("./topic-rule"), exports);
15
16
  // AWS::IoT CloudFormation Resources:
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMEI7QUFDMUIsK0NBQTZCO0FBRTdCLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW90LXNxbCc7XG5leHBvcnQgKiBmcm9tICcuL3RvcGljLXJ1bGUnO1xuXG4vLyBBV1M6OklvVCBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZXM6XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBeUI7QUFDekIsNENBQTBCO0FBQzFCLCtDQUE2QjtBQUU3QixxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2lvdC1zcWwnO1xuZXhwb3J0ICogZnJvbSAnLi90b3BpYy1ydWxlJztcblxuLy8gQVdTOjpJb1QgQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2VzOlxuIl19
@@ -4,7 +4,7 @@ export declare class IoTMetrics {
4
4
  }): {
5
5
  namespace: string;
6
6
  metricName: string;
7
- dimensions: {
7
+ dimensionsMap: {
8
8
  RuleName: string;
9
9
  };
10
10
  statistic: string;
@@ -14,7 +14,7 @@ export declare class IoTMetrics {
14
14
  }): {
15
15
  namespace: string;
16
16
  metricName: string;
17
- dimensions: {
17
+ dimensionsMap: {
18
18
  RuleName: string;
19
19
  };
20
20
  statistic: string;
@@ -24,7 +24,7 @@ export declare class IoTMetrics {
24
24
  }): {
25
25
  namespace: string;
26
26
  metricName: string;
27
- dimensions: {
27
+ dimensionsMap: {
28
28
  RuleName: string;
29
29
  };
30
30
  statistic: string;
@@ -34,7 +34,7 @@ export declare class IoTMetrics {
34
34
  }): {
35
35
  namespace: string;
36
36
  metricName: string;
37
- dimensions: {
37
+ dimensionsMap: {
38
38
  RuleName: string;
39
39
  };
40
40
  statistic: string;
@@ -8,7 +8,7 @@ class IoTMetrics {
8
8
  return {
9
9
  namespace: 'AWS/IoT',
10
10
  metricName: 'TopicMatch',
11
- dimensions,
11
+ dimensionsMap: dimensions,
12
12
  statistic: 'Sum',
13
13
  };
14
14
  }
@@ -16,7 +16,7 @@ class IoTMetrics {
16
16
  return {
17
17
  namespace: 'AWS/IoT',
18
18
  metricName: 'ParseError',
19
- dimensions,
19
+ dimensionsMap: dimensions,
20
20
  statistic: 'Sum',
21
21
  };
22
22
  }
@@ -24,7 +24,7 @@ class IoTMetrics {
24
24
  return {
25
25
  namespace: 'AWS/IoT',
26
26
  metricName: 'RuleMessageThrottled',
27
- dimensions,
27
+ dimensionsMap: dimensions,
28
28
  statistic: 'Sum',
29
29
  };
30
30
  }
@@ -32,10 +32,10 @@ class IoTMetrics {
32
32
  return {
33
33
  namespace: 'AWS/IoT',
34
34
  metricName: 'RuleNotFound',
35
- dimensions,
35
+ dimensionsMap: dimensions,
36
36
  statistic: 'Sum',
37
37
  };
38
38
  }
39
39
  }
40
40
  exports.IoTMetrics = IoTMetrics;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW90LWNhbm5lZC1tZXRyaWNzLmdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvdC1jYW5uZWQtbWV0cmljcy5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtFQUErRTs7O0FBRS9FLDRCQUE0QixDQUFDLGlFQUFpRTtBQUU5RixNQUFhLFVBQVU7SUFDZCxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQWdDO1FBQzFELE9BQU87WUFDTCxTQUFTLEVBQUUsU0FBUztZQUNwQixVQUFVLEVBQUUsWUFBWTtZQUN4QixVQUFVO1lBQ1YsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFDTSxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQWdDO1FBQzFELE9BQU87WUFDTCxTQUFTLEVBQUUsU0FBUztZQUNwQixVQUFVLEVBQUUsWUFBWTtZQUN4QixVQUFVO1lBQ1YsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFDTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsVUFBZ0M7UUFDcEUsT0FBTztZQUNMLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFVBQVUsRUFBRSxzQkFBc0I7WUFDbEMsVUFBVTtZQUNWLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBQ00sTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFnQztRQUM1RCxPQUFPO1lBQ0wsU0FBUyxFQUFFLFNBQVM7WUFDcEIsVUFBVSxFQUFFLGNBQWM7WUFDMUIsVUFBVTtZQUNWLFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFqQ0QsZ0NBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMTItMjAyMSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovIC8vIFRoaXMgaXMgZ2VuZXJhdGVkIGNvZGUgLSBsaW5lIGxlbmd0aHMgYXJlIGRpZmZpY3VsdCB0byBjb250cm9sXG5cbmV4cG9ydCBjbGFzcyBJb1RNZXRyaWNzIHtcbiAgcHVibGljIHN0YXRpYyB0b3BpY01hdGNoU3VtKGRpbWVuc2lvbnM6IHsgUnVsZU5hbWU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9Jb1QnLFxuICAgICAgbWV0cmljTmFtZTogJ1RvcGljTWF0Y2gnLFxuICAgICAgZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHBhcnNlRXJyb3JTdW0oZGltZW5zaW9uczogeyBSdWxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0lvVCcsXG4gICAgICBtZXRyaWNOYW1lOiAnUGFyc2VFcnJvcicsXG4gICAgICBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgcnVsZU1lc3NhZ2VUaHJvdHRsZWRTdW0oZGltZW5zaW9uczogeyBSdWxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0lvVCcsXG4gICAgICBtZXRyaWNOYW1lOiAnUnVsZU1lc3NhZ2VUaHJvdHRsZWQnLFxuICAgICAgZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHJ1bGVOb3RGb3VuZFN1bShkaW1lbnNpb25zOiB7IFJ1bGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvSW9UJyxcbiAgICAgIG1ldHJpY05hbWU6ICdSdWxlTm90Rm91bmQnLFxuICAgICAgZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW90LWNhbm5lZC1tZXRyaWNzLmdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvdC1jYW5uZWQtbWV0cmljcy5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtFQUErRTs7O0FBRS9FLDRCQUE0QixDQUFDLGlFQUFpRTtBQUU5RixNQUFhLFVBQVU7SUFDZCxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQWdDO1FBQzFELE9BQU87WUFDTCxTQUFTLEVBQUUsU0FBUztZQUNwQixVQUFVLEVBQUUsWUFBWTtZQUN4QixhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7SUFDTSxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQWdDO1FBQzFELE9BQU87WUFDTCxTQUFTLEVBQUUsU0FBUztZQUNwQixVQUFVLEVBQUUsWUFBWTtZQUN4QixhQUFhLEVBQUUsVUFBVTtZQUN6QixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDO0tBQ0g7SUFDTSxNQUFNLENBQUMsdUJBQXVCLENBQUMsVUFBZ0M7UUFDcEUsT0FBTztZQUNMLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFVBQVUsRUFBRSxzQkFBc0I7WUFDbEMsYUFBYSxFQUFFLFVBQVU7WUFDekIsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztLQUNIO0lBQ00sTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFnQztRQUM1RCxPQUFPO1lBQ0wsU0FBUyxFQUFFLFNBQVM7WUFDcEIsVUFBVSxFQUFFLGNBQWM7WUFDMUIsYUFBYSxFQUFFLFVBQVU7WUFDekIsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQztLQUNIO0NBQ0Y7QUFqQ0QsZ0NBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMTItMjAyMSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovIC8vIFRoaXMgaXMgZ2VuZXJhdGVkIGNvZGUgLSBsaW5lIGxlbmd0aHMgYXJlIGRpZmZpY3VsdCB0byBjb250cm9sXG5cbmV4cG9ydCBjbGFzcyBJb1RNZXRyaWNzIHtcbiAgcHVibGljIHN0YXRpYyB0b3BpY01hdGNoU3VtKGRpbWVuc2lvbnM6IHsgUnVsZU5hbWU6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9Jb1QnLFxuICAgICAgbWV0cmljTmFtZTogJ1RvcGljTWF0Y2gnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHBhcnNlRXJyb3JTdW0oZGltZW5zaW9uczogeyBSdWxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0lvVCcsXG4gICAgICBtZXRyaWNOYW1lOiAnUGFyc2VFcnJvcicsXG4gICAgICBkaW1lbnNpb25zTWFwOiBkaW1lbnNpb25zLFxuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgcnVsZU1lc3NhZ2VUaHJvdHRsZWRTdW0oZGltZW5zaW9uczogeyBSdWxlTmFtZTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0lvVCcsXG4gICAgICBtZXRyaWNOYW1lOiAnUnVsZU1lc3NhZ2VUaHJvdHRsZWQnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHJ1bGVOb3RGb3VuZFN1bShkaW1lbnNpb25zOiB7IFJ1bGVOYW1lOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvSW9UJyxcbiAgICAgIG1ldHJpY05hbWU6ICdSdWxlTm90Rm91bmQnLFxuICAgICAgZGltZW5zaW9uc01hcDogZGltZW5zaW9ucyxcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgfTtcbiAgfVxufVxuIl19
package/lib/iot-sql.js CHANGED
@@ -45,7 +45,7 @@ class IotSql {
45
45
  }
46
46
  exports.IotSql = IotSql;
47
47
  _a = JSII_RTTI_SYMBOL_1;
48
- IotSql[_a] = { fqn: "@aws-cdk/aws-iot-alpha.IotSql", version: "2.0.0-alpha.4" };
48
+ IotSql[_a] = { fqn: "@aws-cdk/aws-iot-alpha.IotSql", version: "2.0.0-alpha.8" };
49
49
  class IotSqlImpl extends IotSql {
50
50
  constructor(version, sql) {
51
51
  super();
@@ -62,4 +62,4 @@ class IotSqlImpl extends IotSql {
62
62
  };
63
63
  }
64
64
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW90LXNxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvdC1zcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVlBLE1BQXNCLE1BQU07Ozs7Ozs7O0lBRW5CLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFXO1FBQy9DLE9BQU8sSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7Ozs7O0lBR00sTUFBTSxDQUFDLHVCQUF1QixDQUFDLEdBQVc7UUFDL0MsT0FBTyxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7Ozs7Ozs7Ozs7SUFHTSxNQUFNLENBQUMsNkJBQTZCLENBQUMsR0FBVztRQUNyRCxPQUFPLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDOztBQWRILHdCQWtCQzs7O0FBR0QsTUFBTSxVQUFXLFNBQVEsTUFBTTtJQUM3QixZQUE2QixPQUFlLEVBQW1CLEdBQVc7UUFDeEUsS0FBSyxFQUFFLENBQUM7UUFEbUIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFtQixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBR3hFLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsTUFBaUI7UUFDcEIsT0FBTztZQUNMLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPO1lBQzlCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNkLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIElvdFNxbENvbmZpZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGF3c0lvdFNxbFZlcnNpb246IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgc3FsOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJb3RTcWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGZyb21TdHJpbmdBc1ZlcjIwMTUxMDA4KHNxbDogc3RyaW5nKTogSW90U3FsIHtcbiAgICByZXR1cm4gbmV3IElvdFNxbEltcGwoJzIwMTUtMTAtMDgnLCBzcWwpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBmcm9tU3RyaW5nQXNWZXIyMDE2MDMyMyhzcWw6IHN0cmluZyk6IElvdFNxbCB7XG4gICAgcmV0dXJuIG5ldyBJb3RTcWxJbXBsKCcyMDE2LTAzLTIzJywgc3FsKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVN0cmluZ0FzVmVyTmV3ZXN0VW5zdGFibGUoc3FsOiBzdHJpbmcpOiBJb3RTcWwge1xuICAgIHJldHVybiBuZXcgSW90U3FsSW1wbCgnYmV0YScsIHNxbCk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBJb3RTcWxDb25maWc7XG59XG5cblxuY2xhc3MgSW90U3FsSW1wbCBleHRlbmRzIElvdFNxbCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IHNxbDogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChzcWwgPT09ICcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lvVCBTUUwgc3RyaW5nIGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cbiAgfVxuXG4gIGJpbmQoX3Njb3BlOiBDb25zdHJ1Y3QpOiBJb3RTcWxDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBhd3NJb3RTcWxWZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICBzcWw6IHRoaXMuc3FsLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW90LXNxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvdC1zcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVlBLE1BQXNCLE1BQU07Ozs7Ozs7O0lBRW5CLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFXO1FBQy9DLE9BQU8sSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQzFDOzs7Ozs7OztJQUdNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFXO1FBQy9DLE9BQU8sSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQzFDOzs7Ozs7Ozs7OztJQUdNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxHQUFXO1FBQ3JELE9BQU8sSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3BDOztBQWRILHdCQWtCQzs7O0FBRUQsTUFBTSxVQUFXLFNBQVEsTUFBTTtJQUM3QixZQUE2QixPQUFlLEVBQW1CLEdBQVc7UUFDeEUsS0FBSyxFQUFFLENBQUM7UUFEbUIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFtQixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBR3hFLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtLQUNGO0lBRUQsSUFBSSxDQUFDLE1BQWlCO1FBQ3BCLE9BQU87WUFDTCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTztZQUM5QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZCxDQUFDO0tBQ0g7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgSW90U3FsQ29uZmlnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXdzSW90U3FsVmVyc2lvbjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzcWw6IHN0cmluZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElvdFNxbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVN0cmluZ0FzVmVyMjAxNTEwMDgoc3FsOiBzdHJpbmcpOiBJb3RTcWwge1xuICAgIHJldHVybiBuZXcgSW90U3FsSW1wbCgnMjAxNS0xMC0wOCcsIHNxbCk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGZyb21TdHJpbmdBc1ZlcjIwMTYwMzIzKHNxbDogc3RyaW5nKTogSW90U3FsIHtcbiAgICByZXR1cm4gbmV3IElvdFNxbEltcGwoJzIwMTYtMDMtMjMnLCBzcWwpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBmcm9tU3RyaW5nQXNWZXJOZXdlc3RVbnN0YWJsZShzcWw6IHN0cmluZyk6IElvdFNxbCB7XG4gICAgcmV0dXJuIG5ldyBJb3RTcWxJbXBsKCdiZXRhJywgc3FsKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFic3RyYWN0IGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IElvdFNxbENvbmZpZztcbn1cblxuY2xhc3MgSW90U3FsSW1wbCBleHRlbmRzIElvdFNxbCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IHNxbDogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChzcWwgPT09ICcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lvVCBTUUwgc3RyaW5nIGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cbiAgfVxuXG4gIGJpbmQoX3Njb3BlOiBDb25zdHJ1Y3QpOiBJb3RTcWxDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBhd3NJb3RTcWxWZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICBzcWw6IHRoaXMuc3FsLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { Resource, IResource } from 'aws-cdk-lib';
2
2
  import { Construct } from 'constructs';
3
+ import { IAction } from './action';
3
4
  import { IotSql } from './iot-sql';
4
5
  /**
5
6
  * (experimental) Represents an AWS IoT Rule.
@@ -29,12 +30,40 @@ export interface ITopicRule extends IResource {
29
30
  */
30
31
  export interface TopicRuleProps {
31
32
  /**
32
- * (experimental) The name of the rule.
33
+ * (experimental) The name of the topic rule.
33
34
  *
34
35
  * @default None
35
36
  * @experimental
36
37
  */
37
38
  readonly topicRuleName?: string;
39
+ /**
40
+ * (experimental) The actions associated with the topic rule.
41
+ *
42
+ * @default No actions will be perform
43
+ * @experimental
44
+ */
45
+ readonly actions?: IAction[];
46
+ /**
47
+ * (experimental) A textual description of the topic rule.
48
+ *
49
+ * @default None
50
+ * @experimental
51
+ */
52
+ readonly description?: string;
53
+ /**
54
+ * (experimental) The action AWS IoT performs when it is unable to perform a rule's action.
55
+ *
56
+ * @default - no action will be performed
57
+ * @experimental
58
+ */
59
+ readonly errorAction?: IAction;
60
+ /**
61
+ * (experimental) Specifies whether the rule is enabled.
62
+ *
63
+ * @default true
64
+ * @experimental
65
+ */
66
+ readonly enabled?: boolean;
38
67
  /**
39
68
  * (experimental) A simplified SQL syntax to filter messages received on an MQTT topic and push the data elsewhere.
40
69
  *
@@ -59,21 +88,29 @@ export declare class TopicRule extends Resource implements ITopicRule {
59
88
  */
60
89
  static fromTopicRuleArn(scope: Construct, id: string, topicRuleArn: string): ITopicRule;
61
90
  /**
62
- * (experimental) Arn of this rule.
91
+ * (experimental) Arn of this topic rule.
63
92
  *
64
93
  * @experimental
65
94
  * @attribute true
66
95
  */
67
96
  readonly topicRuleArn: string;
68
97
  /**
69
- * (experimental) Name of this rule.
98
+ * (experimental) Name of this topic rule.
70
99
  *
71
100
  * @experimental
72
101
  * @attribute true
73
102
  */
74
103
  readonly topicRuleName: string;
104
+ private readonly actions;
75
105
  /**
76
106
  * @experimental
77
107
  */
78
108
  constructor(scope: Construct, id: string, props: TopicRuleProps);
109
+ /**
110
+ * (experimental) Add a action to the topic rule.
111
+ *
112
+ * @param action the action to associate with the topic rule.
113
+ * @experimental
114
+ */
115
+ addAction(action: IAction): void;
79
116
  }
package/lib/topic-rule.js CHANGED
@@ -2,6 +2,7 @@
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.TopicRule = void 0;
5
+ const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
5
6
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
8
  const aws_iot_1 = require("aws-cdk-lib/aws-iot");
@@ -15,15 +16,21 @@ class TopicRule extends aws_cdk_lib_1.Resource {
15
16
  * @experimental
16
17
  */
17
18
  constructor(scope, id, props) {
19
+ var _b, _c;
18
20
  super(scope, id, {
19
21
  physicalName: props.topicRuleName,
20
22
  });
23
+ this.actions = [];
24
+ jsiiDeprecationWarnings._aws_cdk_aws_iot_alpha_TopicRuleProps(props);
21
25
  const sqlConfig = props.sql.bind(this);
22
26
  const resource = new aws_iot_1.CfnTopicRule(this, 'Resource', {
23
27
  ruleName: this.physicalName,
24
28
  topicRulePayload: {
25
- actions: [],
29
+ actions: aws_cdk_lib_1.Lazy.any({ produce: () => this.actions }),
26
30
  awsIotSqlVersion: sqlConfig.awsIotSqlVersion,
31
+ description: props.description,
32
+ errorAction: (_b = props.errorAction) === null || _b === void 0 ? void 0 : _b.bind(this).configuration,
33
+ ruleDisabled: props.enabled === undefined ? undefined : !props.enabled,
27
34
  sql: sqlConfig.sql,
28
35
  },
29
36
  });
@@ -33,6 +40,9 @@ class TopicRule extends aws_cdk_lib_1.Resource {
33
40
  resourceName: this.physicalName,
34
41
  });
35
42
  this.topicRuleName = this.getResourceNameAttribute(resource.ref);
43
+ (_c = props.actions) === null || _c === void 0 ? void 0 : _c.forEach(action => {
44
+ this.addAction(action);
45
+ });
36
46
  }
37
47
  /**
38
48
  * (experimental) Import an existing AWS IoT Rule provided an ARN.
@@ -59,8 +69,26 @@ class TopicRule extends aws_cdk_lib_1.Resource {
59
69
  environmentFromArn: topicRuleArn,
60
70
  });
61
71
  }
72
+ /**
73
+ * (experimental) Add a action to the topic rule.
74
+ *
75
+ * @param action the action to associate with the topic rule.
76
+ * @experimental
77
+ */
78
+ addAction(action) {
79
+ jsiiDeprecationWarnings._aws_cdk_aws_iot_alpha_IAction(action);
80
+ const { configuration } = action.bind(this);
81
+ const keys = Object.keys(configuration);
82
+ if (keys.length === 0) {
83
+ throw new Error('An action property cannot be an empty object.');
84
+ }
85
+ if (keys.length > 1) {
86
+ throw new Error(`An action property cannot have multiple keys, received: ${keys}`);
87
+ }
88
+ this.actions.push(configuration);
89
+ }
62
90
  }
63
91
  exports.TopicRule = TopicRule;
64
92
  _a = JSII_RTTI_SYMBOL_1;
65
- TopicRule[_a] = { fqn: "@aws-cdk/aws-iot-alpha.TopicRule", version: "2.0.0-alpha.4" };
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRvcGljLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBb0U7QUFHcEUsaURBQW1EOzs7Ozs7QUFxQm5ELE1BQWEsU0FBVSxTQUFRLHNCQUFROzs7O0lBd0JyQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFCO1FBQzdELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxhQUFhO1NBQ2xDLENBQUMsQ0FBQztRQUVILE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZDLE1BQU0sUUFBUSxHQUFHLElBQUksc0JBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMzQixnQkFBZ0IsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGdCQUFnQjtnQkFDNUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHO2FBQ25CO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNqRSxPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7Ozs7Ozs7O0lBNUNNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxZQUFvQjtRQUMvRSxNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLHVCQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUV4QyxNQUFNLE1BQU8sU0FBUSxzQkFBUTtZQUE3Qjs7Z0JBQ2tCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO2dCQUM1QixrQkFBYSxHQUFHLFlBQVksQ0FBQztZQUMvQyxDQUFDO1NBQUE7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDM0Isa0JBQWtCLEVBQUUsWUFBWTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQWhCSCw4QkErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcm5Gb3JtYXQsIFJlc291cmNlLCBTdGFjaywgSVJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJb3RTcWwgfSBmcm9tICcuL2lvdC1zcWwnO1xuaW1wb3J0IHsgQ2ZuVG9waWNSdWxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlvdCc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgSVRvcGljUnVsZSBleHRlbmRzIElSZXNvdXJjZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdG9waWNSdWxlQXJuOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0b3BpY1J1bGVOYW1lOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFRvcGljUnVsZVByb3BzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0b3BpY1J1bGVOYW1lPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzcWw6IElvdFNxbDtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFRvcGljUnVsZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVRvcGljUnVsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVRvcGljUnVsZUFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCB0b3BpY1J1bGVBcm46IHN0cmluZyk6IElUb3BpY1J1bGUge1xuICAgIGNvbnN0IHBhcnRzID0gU3RhY2sub2Yoc2NvcGUpLnNwbGl0QXJuKHRvcGljUnVsZUFybiwgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpO1xuICAgIGlmICghcGFydHMucmVzb3VyY2VOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgdG9waWMgcnVsZSBuYW1lIGluIEFSTjogJyR7dG9waWNSdWxlQXJufSdgKTtcbiAgICB9XG4gICAgY29uc3QgcmVzb3VyY2VOYW1lID0gcGFydHMucmVzb3VyY2VOYW1lO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJVG9waWNSdWxlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0b3BpY1J1bGVBcm4gPSB0b3BpY1J1bGVBcm47XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdG9waWNSdWxlTmFtZSA9IHJlc291cmNlTmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkLCB7XG4gICAgICBlbnZpcm9ubWVudEZyb21Bcm46IHRvcGljUnVsZUFybixcbiAgICB9KTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSB0b3BpY1J1bGVBcm46IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHRvcGljUnVsZU5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVG9waWNSdWxlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMudG9waWNSdWxlTmFtZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNxbENvbmZpZyA9IHByb3BzLnNxbC5iaW5kKHRoaXMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVG9waWNSdWxlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHJ1bGVOYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIHRvcGljUnVsZVBheWxvYWQ6IHtcbiAgICAgICAgYWN0aW9uczogW10sXG4gICAgICAgIGF3c0lvdFNxbFZlcnNpb246IHNxbENvbmZpZy5hd3NJb3RTcWxWZXJzaW9uLFxuICAgICAgICBzcWw6IHNxbENvbmZpZy5zcWwsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy50b3BpY1J1bGVBcm4gPSB0aGlzLmdldFJlc291cmNlQXJuQXR0cmlidXRlKHJlc291cmNlLmF0dHJBcm4sIHtcbiAgICAgIHNlcnZpY2U6ICdpb3QnLFxuICAgICAgcmVzb3VyY2U6ICdydWxlJyxcbiAgICAgIHJlc291cmNlTmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgfSk7XG4gICAgdGhpcy50b3BpY1J1bGVOYW1lID0gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUocmVzb3VyY2UucmVmKTtcbiAgfVxufVxuIl19
93
+ TopicRule[_a] = { fqn: "@aws-cdk/aws-iot-alpha.TopicRule", version: "2.0.0-alpha.8" };
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRvcGljLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQTBFO0FBSTFFLGlEQUFtRDs7Ozs7O0FBaUNuRCxNQUFhLFNBQVUsU0FBUSxzQkFBUTs7OztJQTBCckMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjs7UUFDN0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLGFBQWE7U0FDbEMsQ0FBQyxDQUFDO1FBTFksWUFBTyxHQUFrQyxFQUFFLENBQUM7O1FBTzNELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZDLE1BQU0sUUFBUSxHQUFHLElBQUksc0JBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMzQixnQkFBZ0IsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLGtCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEQsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGdCQUFnQjtnQkFDNUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUM5QixXQUFXLFFBQUUsS0FBSyxDQUFDLFdBQVcsMENBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhO2dCQUN4RCxZQUFZLEVBQUUsS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFDdEUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHO2FBQ25CO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNqRSxPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakUsTUFBQSxLQUFLLENBQUMsT0FBTywwQ0FBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDLEVBQUU7S0FDSjs7Ozs7Ozs7O0lBckRNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxZQUFvQjtRQUMvRSxNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLHVCQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUV4QyxNQUFNLE1BQU8sU0FBUSxzQkFBUTtZQUE3Qjs7Z0JBQ2tCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO2dCQUM1QixrQkFBYSxHQUFHLFlBQVksQ0FBQztZQUMvQyxDQUFDO1NBQUE7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDM0Isa0JBQWtCLEVBQUUsWUFBWTtTQUNqQyxDQUFDLENBQUM7S0FDSjs7Ozs7OztJQTBDTSxTQUFTLENBQUMsTUFBZTs7UUFDOUIsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4QyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztTQUNsRTtRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNwRjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2xDOztBQXRFSCw4QkF1RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcm5Gb3JtYXQsIFJlc291cmNlLCBTdGFjaywgSVJlc291cmNlLCBMYXp5IH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xuaW1wb3J0IHsgSW90U3FsIH0gZnJvbSAnLi9pb3Qtc3FsJztcbmltcG9ydCB7IENmblRvcGljUnVsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pb3QnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIElUb3BpY1J1bGUgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRvcGljUnVsZUFybjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdG9waWNSdWxlTmFtZTogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBUb3BpY1J1bGVQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdG9waWNSdWxlTmFtZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBhY3Rpb25zPzogSUFjdGlvbltdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZXJyb3JBY3Rpb24/OiBJQWN0aW9uO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNxbDogSW90U3FsO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgVG9waWNSdWxlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJVG9waWNSdWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBmcm9tVG9waWNSdWxlQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHRvcGljUnVsZUFybjogc3RyaW5nKTogSVRvcGljUnVsZSB7XG4gICAgY29uc3QgcGFydHMgPSBTdGFjay5vZihzY29wZSkuc3BsaXRBcm4odG9waWNSdWxlQXJuLCBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSk7XG4gICAgaWYgKCFwYXJ0cy5yZXNvdXJjZU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyB0b3BpYyBydWxlIG5hbWUgaW4gQVJOOiAnJHt0b3BpY1J1bGVBcm59J2ApO1xuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZU5hbWUgPSBwYXJ0cy5yZXNvdXJjZU5hbWU7XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElUb3BpY1J1bGUge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHRvcGljUnVsZUFybiA9IHRvcGljUnVsZUFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0b3BpY1J1bGVOYW1lID0gcmVzb3VyY2VOYW1lO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQsIHtcbiAgICAgIGVudmlyb25tZW50RnJvbUFybjogdG9waWNSdWxlQXJuLFxuICAgIH0pO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHRvcGljUnVsZUFybjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgdG9waWNSdWxlTmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uczogQ2ZuVG9waWNSdWxlLkFjdGlvblByb3BlcnR5W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVG9waWNSdWxlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMudG9waWNSdWxlTmFtZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNxbENvbmZpZyA9IHByb3BzLnNxbC5iaW5kKHRoaXMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVG9waWNSdWxlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHJ1bGVOYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIHRvcGljUnVsZVBheWxvYWQ6IHtcbiAgICAgICAgYWN0aW9uczogTGF6eS5hbnkoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLmFjdGlvbnMgfSksXG4gICAgICAgIGF3c0lvdFNxbFZlcnNpb246IHNxbENvbmZpZy5hd3NJb3RTcWxWZXJzaW9uLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgIGVycm9yQWN0aW9uOiBwcm9wcy5lcnJvckFjdGlvbj8uYmluZCh0aGlzKS5jb25maWd1cmF0aW9uLFxuICAgICAgICBydWxlRGlzYWJsZWQ6IHByb3BzLmVuYWJsZWQgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6ICFwcm9wcy5lbmFibGVkLFxuICAgICAgICBzcWw6IHNxbENvbmZpZy5zcWwsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy50b3BpY1J1bGVBcm4gPSB0aGlzLmdldFJlc291cmNlQXJuQXR0cmlidXRlKHJlc291cmNlLmF0dHJBcm4sIHtcbiAgICAgIHNlcnZpY2U6ICdpb3QnLFxuICAgICAgcmVzb3VyY2U6ICdydWxlJyxcbiAgICAgIHJlc291cmNlTmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgfSk7XG4gICAgdGhpcy50b3BpY1J1bGVOYW1lID0gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUocmVzb3VyY2UucmVmKTtcblxuICAgIHByb3BzLmFjdGlvbnM/LmZvckVhY2goYWN0aW9uID0+IHtcbiAgICAgIHRoaXMuYWRkQWN0aW9uKGFjdGlvbik7XG4gICAgfSk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhZGRBY3Rpb24oYWN0aW9uOiBJQWN0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgeyBjb25maWd1cmF0aW9uIH0gPSBhY3Rpb24uYmluZCh0aGlzKTtcblxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWd1cmF0aW9uKTtcbiAgICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQW4gYWN0aW9uIHByb3BlcnR5IGNhbm5vdCBiZSBhbiBlbXB0eSBvYmplY3QuJyk7XG4gICAgfVxuICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQW4gYWN0aW9uIHByb3BlcnR5IGNhbm5vdCBoYXZlIG11bHRpcGxlIGtleXMsIHJlY2VpdmVkOiAke2tleXN9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5hY3Rpb25zLnB1c2goY29uZmlndXJhdGlvbik7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-iot-alpha",
3
- "version": "2.0.0-alpha.4",
3
+ "version": "2.0.0-alpha.8",
4
4
  "private": false,
5
5
  "description": "The CDK Construct Library for AWS::IoT",
6
6
  "main": "lib/index.js",
@@ -49,7 +49,6 @@
49
49
  "pkglint": "pkglint -f",
50
50
  "package": "cdk-package",
51
51
  "awslint": "cdk-awslint",
52
- "cfn2ts": "cfn2ts",
53
52
  "build+test+package": "yarn build+test && yarn package",
54
53
  "build+test": "yarn build && yarn test",
55
54
  "compat": "cdk-compat",
@@ -58,7 +57,6 @@
58
57
  "build+test+extract": "yarn build+test && yarn rosetta:extract"
59
58
  },
60
59
  "cdk-build": {
61
- "cloudformation": "AWS::IoT",
62
60
  "env": {
63
61
  "AWSLINT_BASE_CONSTRUCT": true
64
62
  }
@@ -76,20 +74,19 @@
76
74
  },
77
75
  "license": "Apache-2.0",
78
76
  "devDependencies": {
79
- "@aws-cdk/cdk-build-tools": "2.0.0-rc.27",
80
- "@aws-cdk/cdk-integ-tools": "2.0.0-rc.27",
81
- "@aws-cdk/cfn2ts": "2.0.0-rc.27",
82
- "@aws-cdk/pkglint": "2.0.0-rc.27",
83
- "@types/jest": "^26.0.24",
84
- "jest": "^26.6.3",
85
- "aws-cdk-lib": "2.0.0-rc.27",
86
- "constructs": "^10.0.0",
87
- "@aws-cdk/assertions-alpha": "2.0.0-alpha.4"
77
+ "@aws-cdk/cdk-build-tools": "2.0.0-rc.31",
78
+ "@aws-cdk/cdk-integ-tools": "2.0.0-rc.31",
79
+ "@aws-cdk/cfn2ts": "2.0.0-rc.31",
80
+ "@aws-cdk/pkglint": "2.0.0-rc.31",
81
+ "@types/jest": "^27.0.2",
82
+ "jest": "^27.3.1",
83
+ "aws-cdk-lib": "2.0.0-rc.31",
84
+ "constructs": "^10.0.0"
88
85
  },
89
86
  "dependencies": {},
90
87
  "homepage": "https://github.com/aws/aws-cdk",
91
88
  "peerDependencies": {
92
- "aws-cdk-lib": "^2.0.0-rc.27",
89
+ "aws-cdk-lib": "^2.0.0-rc.31",
93
90
  "constructs": "^10.0.0"
94
91
  },
95
92
  "engines": {