@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.
- package/.jsii +258 -1455
- package/.warnings.jsii.js +41 -0
- package/README.md +57 -15
- package/lib/action.d.ts +29 -0
- package/lib/action.js +3 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/iot-canned-metrics.generated.d.ts +4 -4
- package/lib/iot-canned-metrics.generated.js +5 -5
- package/lib/iot-sql.js +2 -2
- package/lib/topic-rule.d.ts +40 -3
- package/lib/topic-rule.js +31 -3
- package/package.json +10 -13
|
@@ -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
|
-

|
|
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
|

|
|
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
|
-
|
|
44
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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.
|
package/lib/action.d.ts
ADDED
|
@@ -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
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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.
|
|
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,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW90LXNxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvdC1zcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVlBLE1BQXNCLE1BQU07Ozs7Ozs7O0lBRW5CLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFXO1FBQy9DLE9BQU8sSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQzFDOzs7Ozs7OztJQUdNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFXO1FBQy9DLE9BQU8sSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQzFDOzs7Ozs7Ozs7OztJQUdNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxHQUFXO1FBQ3JELE9BQU8sSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQ3BDOztBQWRILHdCQWtCQzs7O0FBRUQsTUFBTSxVQUFXLFNBQVEsTUFBTTtJQUM3QixZQUE2QixPQUFlLEVBQW1CLEdBQVc7UUFDeEUsS0FBSyxFQUFFLENBQUM7UUFEbUIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFtQixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBR3hFLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtLQUNGO0lBRUQsSUFBSSxDQUFDLE1BQWlCO1FBQ3BCLE9BQU87WUFDTCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTztZQUM5QixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZCxDQUFDO0tBQ0g7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgSW90U3FsQ29uZmlnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXdzSW90U3FsVmVyc2lvbjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzcWw6IHN0cmluZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElvdFNxbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVN0cmluZ0FzVmVyMjAxNTEwMDgoc3FsOiBzdHJpbmcpOiBJb3RTcWwge1xuICAgIHJldHVybiBuZXcgSW90U3FsSW1wbCgnMjAxNS0xMC0wOCcsIHNxbCk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGZyb21TdHJpbmdBc1ZlcjIwMTYwMzIzKHNxbDogc3RyaW5nKTogSW90U3FsIHtcbiAgICByZXR1cm4gbmV3IElvdFNxbEltcGwoJzIwMTYtMDMtMjMnLCBzcWwpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBmcm9tU3RyaW5nQXNWZXJOZXdlc3RVbnN0YWJsZShzcWw6IHN0cmluZyk6IElvdFNxbCB7XG4gICAgcmV0dXJuIG5ldyBJb3RTcWxJbXBsKCdiZXRhJywgc3FsKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFic3RyYWN0IGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IElvdFNxbENvbmZpZztcbn1cblxuY2xhc3MgSW90U3FsSW1wbCBleHRlbmRzIElvdFNxbCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IHNxbDogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChzcWwgPT09ICcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lvVCBTUUwgc3RyaW5nIGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cbiAgfVxuXG4gIGJpbmQoX3Njb3BlOiBDb25zdHJ1Y3QpOiBJb3RTcWxDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBhd3NJb3RTcWxWZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICBzcWw6IHRoaXMuc3FsLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
package/lib/topic-rule.d.ts
CHANGED
|
@@ -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.
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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.
|
|
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.
|
|
80
|
-
"@aws-cdk/cdk-integ-tools": "2.0.0-rc.
|
|
81
|
-
"@aws-cdk/cfn2ts": "2.0.0-rc.
|
|
82
|
-
"@aws-cdk/pkglint": "2.0.0-rc.
|
|
83
|
-
"@types/jest": "^
|
|
84
|
-
"jest": "^
|
|
85
|
-
"aws-cdk-lib": "2.0.0-rc.
|
|
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.
|
|
89
|
+
"aws-cdk-lib": "^2.0.0-rc.31",
|
|
93
90
|
"constructs": "^10.0.0"
|
|
94
91
|
},
|
|
95
92
|
"engines": {
|