@aws-cdk/aws-iot-actions-alpha
Advanced tools
Comparing version
@@ -1,4 +0,4 @@ | ||
import * as iam from 'aws-cdk-lib/aws-iam'; | ||
import * as iot from '@aws-cdk/aws-iot-alpha'; | ||
import * as logs from 'aws-cdk-lib/aws-logs'; | ||
import { CommonActionProps } from './common-action-props'; | ||
/** | ||
@@ -9,10 +9,3 @@ * (experimental) Configuration properties of an action for CloudWatch Logs. | ||
*/ | ||
export interface CloudWatchLogsActionProps { | ||
/** | ||
* (experimental) The IAM role that allows access to the CloudWatch log group. | ||
* | ||
* @default a new role will be created | ||
* @experimental | ||
*/ | ||
readonly role?: iam.IRole; | ||
export interface CloudWatchLogsActionProps extends CommonActionProps { | ||
} | ||
@@ -19,0 +12,0 @@ /** |
@@ -5,2 +5,3 @@ "use strict"; | ||
exports.CloudWatchLogsAction = void 0; | ||
const jsiiDeprecationWarnings = require("../.warnings.jsii.js"); | ||
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); | ||
@@ -21,2 +22,3 @@ const role_1 = require("./private/role"); | ||
this.logGroup = logGroup; | ||
jsiiDeprecationWarnings._aws_cdk_aws_iot_actions_alpha_CloudWatchLogsActionProps(props); | ||
this.role = props.role; | ||
@@ -46,3 +48,3 @@ } | ||
_a = JSII_RTTI_SYMBOL_1; | ||
CloudWatchLogsAction[_a] = { fqn: "@aws-cdk/aws-iot-actions-alpha.CloudWatchLogsAction", version: "2.0.0-alpha.7" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWR3YXRjaC1sb2dzLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsb3Vkd2F0Y2gtbG9ncy1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSx5Q0FBcUQ7Ozs7OztBQVNyRCxNQUFhLG9CQUFvQjs7Ozs7O0lBSS9CLFlBQ21CLFFBQXdCLEVBQ3pDLFFBQW1DLEVBQUU7UUFEcEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFHekMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3pCLENBQUM7Ozs7OztJQUVELElBQUksQ0FBQyxJQUFvQjs7UUFDdkIsTUFBTSxJQUFJLFNBQUcsSUFBSSxDQUFDLElBQUksbUNBQUksMEJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFFckQsT0FBTztZQUNMLGFBQWEsRUFBRTtnQkFDYixjQUFjLEVBQUU7b0JBQ2QsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWTtvQkFDeEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBeEJILG9EQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGlvdCBmcm9tICdAYXdzLWNkay9hd3MtaW90LWFscGhhJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgc2luZ2xldG9uQWN0aW9uUm9sZSB9IGZyb20gJy4vcHJpdmF0ZS9yb2xlJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkV2F0Y2hMb2dzQWN0aW9uUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENsb3VkV2F0Y2hMb2dzQWN0aW9uIGltcGxlbWVudHMgaW90LklBY3Rpb24ge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dHcm91cDogbG9ncy5JTG9nR3JvdXAsXG4gICAgcHJvcHM6IENsb3VkV2F0Y2hMb2dzQWN0aW9uUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgdGhpcy5yb2xlID0gcHJvcHMucm9sZTtcbiAgfVxuXG4gIGJpbmQocnVsZTogaW90LklUb3BpY1J1bGUpOiBpb3QuQWN0aW9uQ29uZmlnIHtcbiAgICBjb25zdCByb2xlID0gdGhpcy5yb2xlID8/IHNpbmdsZXRvbkFjdGlvblJvbGUocnVsZSk7XG4gICAgdGhpcy5sb2dHcm91cC5ncmFudFdyaXRlKHJvbGUpO1xuICAgIHRoaXMubG9nR3JvdXAuZ3JhbnQocm9sZSwgJ2xvZ3M6RGVzY3JpYmVMb2dTdHJlYW1zJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlndXJhdGlvbjoge1xuICAgICAgICBjbG91ZHdhdGNoTG9nczoge1xuICAgICAgICAgIGxvZ0dyb3VwTmFtZTogdGhpcy5sb2dHcm91cC5sb2dHcm91cE5hbWUsXG4gICAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0= | ||
CloudWatchLogsAction[_a] = { fqn: "@aws-cdk/aws-iot-actions-alpha.CloudWatchLogsAction", version: "2.0.0-alpha.8" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWR3YXRjaC1sb2dzLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsb3Vkd2F0Y2gtbG9ncy1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBSUEseUNBQXFEOzs7Ozs7QUFPckQsTUFBYSxvQkFBb0I7Ozs7OztJQUkvQixZQUNtQixRQUF3QixFQUN6QyxRQUFtQyxFQUFFO1FBRHBCLGFBQVEsR0FBUixRQUFRLENBQWdCOztRQUd6QyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7S0FDeEI7Ozs7OztJQUVELElBQUksQ0FBQyxJQUFvQjs7UUFDdkIsTUFBTSxJQUFJLFNBQUcsSUFBSSxDQUFDLElBQUksbUNBQUksMEJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFFckQsT0FBTztZQUNMLGFBQWEsRUFBRTtnQkFDYixjQUFjLEVBQUU7b0JBQ2QsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWTtvQkFDeEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQztLQUNIOztBQXhCSCxvREF5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBpb3QgZnJvbSAnQGF3cy1jZGsvYXdzLWlvdC1hbHBoYSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbW1vbkFjdGlvblByb3BzIH0gZnJvbSAnLi9jb21tb24tYWN0aW9uLXByb3BzJztcbmltcG9ydCB7IHNpbmdsZXRvbkFjdGlvblJvbGUgfSBmcm9tICcuL3ByaXZhdGUvcm9sZSc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBDbG91ZFdhdGNoTG9nc0FjdGlvblByb3BzIGV4dGVuZHMgQ29tbW9uQWN0aW9uUHJvcHMge1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBDbG91ZFdhdGNoTG9nc0FjdGlvbiBpbXBsZW1lbnRzIGlvdC5JQWN0aW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nR3JvdXA6IGxvZ3MuSUxvZ0dyb3VwLFxuICAgIHByb3BzOiBDbG91ZFdhdGNoTG9nc0FjdGlvblByb3BzID0ge30sXG4gICkge1xuICAgIHRoaXMucm9sZSA9IHByb3BzLnJvbGU7XG4gIH1cblxuICBiaW5kKHJ1bGU6IGlvdC5JVG9waWNSdWxlKTogaW90LkFjdGlvbkNvbmZpZyB7XG4gICAgY29uc3Qgcm9sZSA9IHRoaXMucm9sZSA/PyBzaW5nbGV0b25BY3Rpb25Sb2xlKHJ1bGUpO1xuICAgIHRoaXMubG9nR3JvdXAuZ3JhbnRXcml0ZShyb2xlKTtcbiAgICB0aGlzLmxvZ0dyb3VwLmdyYW50KHJvbGUsICdsb2dzOkRlc2NyaWJlTG9nU3RyZWFtcycpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgY2xvdWR3YXRjaExvZ3M6IHtcbiAgICAgICAgICBsb2dHcm91cE5hbWU6IHRoaXMubG9nR3JvdXAubG9nR3JvdXBOYW1lLFxuICAgICAgICAgIHJvbGVBcm46IHJvbGUucm9sZUFybixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19 |
export * from './cloudwatch-logs-action'; | ||
export * from './common-action-props'; | ||
export * from './firehose-stream-action'; | ||
export * from './lambda-function-action'; | ||
export * from './s3-put-object-action'; |
@@ -14,3 +14,6 @@ "use strict"; | ||
__exportStar(require("./cloudwatch-logs-action"), exports); | ||
__exportStar(require("./common-action-props"), exports); | ||
__exportStar(require("./firehose-stream-action"), exports); | ||
__exportStar(require("./lambda-function-action"), exports); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyREFBeUM7QUFDekMsMkRBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jbG91ZHdhdGNoLWxvZ3MtYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uLWFjdGlvbic7XG4iXX0= | ||
__exportStar(require("./s3-put-object-action"), exports); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyREFBeUM7QUFDekMsd0RBQXNDO0FBQ3RDLDJEQUF5QztBQUN6QywyREFBeUM7QUFDekMseURBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jbG91ZHdhdGNoLWxvZ3MtYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLWFjdGlvbi1wcm9wcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmVob3NlLXN0cmVhbS1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9sYW1iZGEtZnVuY3Rpb24tYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vczMtcHV0LW9iamVjdC1hY3Rpb24nO1xuIl19 |
@@ -7,2 +7,3 @@ "use strict"; | ||
const iam = require("aws-cdk-lib/aws-iam"); | ||
const aws_cdk_lib_1 = require("aws-cdk-lib"); | ||
/** | ||
@@ -27,3 +28,3 @@ * (experimental) The action to invoke an AWS Lambda function, passing in an MQTT message. | ||
bind(topicRule) { | ||
this.func.addPermission('invokedByAwsIotRule', { | ||
this.func.addPermission(`${aws_cdk_lib_1.Names.nodeUniqueId(topicRule.node)}:IotLambdaFunctionAction`, { | ||
action: 'lambda:InvokeFunction', | ||
@@ -45,3 +46,3 @@ principal: new iam.ServicePrincipal('iot.amazonaws.com'), | ||
_a = JSII_RTTI_SYMBOL_1; | ||
LambdaFunctionAction[_a] = { fqn: "@aws-cdk/aws-iot-actions-alpha.LambdaFunctionAction", version: "2.0.0-alpha.7" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWZ1bmN0aW9uLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxhbWJkYS1mdW5jdGlvbi1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBMkM7Ozs7OztBQUszQyxNQUFhLG9CQUFvQjs7Ozs7SUFFL0IsWUFBNkIsSUFBc0I7UUFBdEIsU0FBSSxHQUFKLElBQUksQ0FBa0I7SUFBRyxDQUFDOzs7Ozs7SUFFdkQsSUFBSSxDQUFDLFNBQXlCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFO1lBQzdDLE1BQU0sRUFBRSx1QkFBdUI7WUFDL0IsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDO1lBQ3hELGFBQWEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU87WUFDcEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxZQUFZO1NBQ2xDLENBQUMsQ0FBQztRQUVILE9BQU87WUFDTCxhQUFhLEVBQUU7Z0JBQ2IsTUFBTSxFQUFFO29CQUNOLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7aUJBQ25DO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7QUFuQkgsb0RBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgaW90IGZyb20gJ0Bhd3MtY2RrL2F3cy1pb3QtYWxwaGEnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIExhbWJkYUZ1bmN0aW9uQWN0aW9uIGltcGxlbWVudHMgaW90LklBY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmdW5jOiBsYW1iZGEuSUZ1bmN0aW9uKSB7fVxuXG4gIGJpbmQodG9waWNSdWxlOiBpb3QuSVRvcGljUnVsZSk6IGlvdC5BY3Rpb25Db25maWcge1xuICAgIHRoaXMuZnVuYy5hZGRQZXJtaXNzaW9uKCdpbnZva2VkQnlBd3NJb3RSdWxlJywge1xuICAgICAgYWN0aW9uOiAnbGFtYmRhOkludm9rZUZ1bmN0aW9uJyxcbiAgICAgIHByaW5jaXBhbDogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdpb3QuYW1hem9uYXdzLmNvbScpLFxuICAgICAgc291cmNlQWNjb3VudDogdG9waWNSdWxlLmVudi5hY2NvdW50LFxuICAgICAgc291cmNlQXJuOiB0b3BpY1J1bGUudG9waWNSdWxlQXJuLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgbGFtYmRhOiB7XG4gICAgICAgICAgZnVuY3Rpb25Bcm46IHRoaXMuZnVuYy5mdW5jdGlvbkFybixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19 | ||
LambdaFunctionAction[_a] = { fqn: "@aws-cdk/aws-iot-actions-alpha.LambdaFunctionAction", version: "2.0.0-alpha.8" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWZ1bmN0aW9uLWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxhbWJkYS1mdW5jdGlvbi1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBMkM7QUFHM0MsNkNBQW9DOzs7Ozs7QUFHcEMsTUFBYSxvQkFBb0I7Ozs7O0lBRS9CLFlBQTZCLElBQXNCO1FBQXRCLFNBQUksR0FBSixJQUFJLENBQWtCO0tBQUk7Ozs7OztJQUV2RCxJQUFJLENBQUMsU0FBeUI7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ3ZGLE1BQU0sRUFBRSx1QkFBdUI7WUFDL0IsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDO1lBQ3hELGFBQWEsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU87WUFDcEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxZQUFZO1NBQ2xDLENBQUMsQ0FBQztRQUVILE9BQU87WUFDTCxhQUFhLEVBQUU7Z0JBQ2IsTUFBTSxFQUFFO29CQUNOLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7aUJBQ25DO2FBQ0Y7U0FDRixDQUFDO0tBQ0g7O0FBbkJILG9EQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGlvdCBmcm9tICdAYXdzLWNkay9hd3MtaW90LWFscGhhJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IE5hbWVzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIExhbWJkYUZ1bmN0aW9uQWN0aW9uIGltcGxlbWVudHMgaW90LklBY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmdW5jOiBsYW1iZGEuSUZ1bmN0aW9uKSB7fVxuXG4gIGJpbmQodG9waWNSdWxlOiBpb3QuSVRvcGljUnVsZSk6IGlvdC5BY3Rpb25Db25maWcge1xuICAgIHRoaXMuZnVuYy5hZGRQZXJtaXNzaW9uKGAke05hbWVzLm5vZGVVbmlxdWVJZCh0b3BpY1J1bGUubm9kZSl9OklvdExhbWJkYUZ1bmN0aW9uQWN0aW9uYCwge1xuICAgICAgYWN0aW9uOiAnbGFtYmRhOkludm9rZUZ1bmN0aW9uJyxcbiAgICAgIHByaW5jaXBhbDogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdpb3QuYW1hem9uYXdzLmNvbScpLFxuICAgICAgc291cmNlQWNjb3VudDogdG9waWNSdWxlLmVudi5hY2NvdW50LFxuICAgICAgc291cmNlQXJuOiB0b3BpY1J1bGUudG9waWNSdWxlQXJuLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgbGFtYmRhOiB7XG4gICAgICAgICAgZnVuY3Rpb25Bcm46IHRoaXMuZnVuYy5mdW5jdGlvbkFybixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19 |
{ | ||
"name": "@aws-cdk/aws-iot-actions-alpha", | ||
"version": "2.0.0-alpha.7", | ||
"version": "2.0.0-alpha.8", | ||
"description": "Receipt rule actions for AWS IoT", | ||
@@ -77,18 +77,26 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"@aws-cdk/cdk-build-tools": "2.0.0-rc.30", | ||
"@aws-cdk/cdk-integ-tools": "2.0.0-rc.30", | ||
"@aws-cdk/pkglint": "2.0.0-rc.30", | ||
"@aws-cdk/cdk-build-tools": "2.0.0-rc.31", | ||
"@aws-cdk/cdk-integ-tools": "2.0.0-rc.31", | ||
"@aws-cdk/pkglint": "2.0.0-rc.31", | ||
"@types/jest": "^27.0.2", | ||
"constructs": "^10.0.0", | ||
"jest": "^27.3.1", | ||
"aws-cdk-lib": "2.0.0-rc.30", | ||
"@aws-cdk/aws-iot-alpha": "2.0.0-alpha.7" | ||
"aws-cdk-lib": "2.0.0-rc.31", | ||
"@aws-cdk/aws-kinesisfirehose-destinations-alpha": "2.0.0-alpha.8", | ||
"@aws-cdk/aws-iot-alpha": "2.0.0-alpha.8", | ||
"@aws-cdk/aws-kinesisfirehose-alpha": "2.0.0-alpha.8" | ||
}, | ||
"dependencies": {}, | ||
"dependencies": { | ||
"case": "1.6.3" | ||
}, | ||
"homepage": "https://github.com/aws/aws-cdk", | ||
"peerDependencies": { | ||
"@aws-cdk/aws-iot-alpha": "2.0.0-alpha.7", | ||
"aws-cdk-lib": "^2.0.0-rc.30", | ||
"@aws-cdk/aws-iot-alpha": "2.0.0-alpha.8", | ||
"@aws-cdk/aws-kinesisfirehose-alpha": "2.0.0-alpha.8", | ||
"aws-cdk-lib": "^2.0.0-rc.31", | ||
"constructs": "^10.0.0" | ||
}, | ||
"bundledDependencies": [ | ||
"case" | ||
], | ||
"engines": { | ||
@@ -95,0 +103,0 @@ "node": ">= 14.15.0" |
@@ -25,2 +25,5 @@ # Actions for AWS IoT Rule | ||
- Invoke a Lambda function | ||
- Put objects to a S3 bucket | ||
- Put logs to CloudWatch Logs | ||
- Put records to Kinesis Data Firehose stream | ||
@@ -33,5 +36,5 @@ ## Invoke a Lambda function | ||
```ts | ||
import * as iot from '@aws-cdk/aws-iot'; | ||
import * as actions from '@aws-cdk/aws-iot-actions'; | ||
import * as lambda from '@aws-cdk/aws-lambda'; | ||
import * as iot from '@aws-cdk/aws-iot-alpha'; | ||
import * as actions from '@aws-cdk/aws-iot-actions-alpha'; | ||
import * as lambda from 'aws-cdk-lib/aws-lambda'; | ||
@@ -54,2 +57,55 @@ const func = new lambda.Function(this, 'MyFunction', { | ||
## Put objects to a S3 bucket | ||
The code snippet below creates an AWS IoT Rule that put objects to a S3 bucket | ||
when it is triggered. | ||
```ts | ||
import * as iot from '@aws-cdk/aws-iot-alpha'; | ||
import * as actions from '@aws-cdk/aws-iot-actions-alpha'; | ||
import * as s3 from 'aws-cdk-lib/aws-s3'; | ||
const bucket = new s3.Bucket(this, 'MyBucket'); | ||
new iot.TopicRule(this, 'TopicRule', { | ||
sql: iot.IotSql.fromStringAsVer20160323("SELECT topic(2) as device_id FROM 'device/+/data'"), | ||
actions: [new actions.S3PutObjectAction(bucket)], | ||
}); | ||
``` | ||
The property `key` of `S3PutObjectAction` is given the value `${topic()}/${timestamp()}` by default. This `${topic()}` | ||
and `${timestamp()}` is called Substitution templates. For more information see | ||
[this documentation](https://docs.aws.amazon.com/iot/latest/developerguide/iot-substitution-templates.html). | ||
In above sample, `${topic()}` is replaced by a given MQTT topic as `device/001/data`. And `${timestamp()}` is replaced | ||
by the number of the current timestamp in milliseconds as `1636289461203`. So if the MQTT broker receives an MQTT topic | ||
`device/001/data` on `2021-11-07T00:00:00.000Z`, the S3 bucket object will be put to `device/001/data/1636243200000`. | ||
You can also set specific `key` as following: | ||
```ts | ||
new iot.TopicRule(this, 'TopicRule', { | ||
sql: iot.IotSql.fromStringAsVer20160323( | ||
"SELECT topic(2) as device_id, year, month, day FROM 'device/+/data'", | ||
), | ||
actions: [ | ||
new actions.S3PutObjectAction(bucket, { | ||
key: '${year}/${month}/${day}/${topic(2)}', | ||
}), | ||
], | ||
}); | ||
``` | ||
If you wanna set access control to the S3 bucket object, you can specify `accessControl` as following: | ||
```ts | ||
new iot.TopicRule(this, 'TopicRule', { | ||
sql: iot.IotSql.fromStringAsVer20160323("SELECT * FROM 'device/+/data'"), | ||
actions: [ | ||
new actions.S3PutObjectAction(bucket, { | ||
accessControl: s3.BucketAccessControl.PUBLIC_READ, | ||
}), | ||
], | ||
}); | ||
``` | ||
## Put logs to CloudWatch Logs | ||
@@ -61,5 +117,5 @@ | ||
```ts | ||
import * as iot from '@aws-cdk/aws-iot'; | ||
import * as actions from '@aws-cdk/aws-iot-actions'; | ||
import * as logs from '@aws-cdk/aws-logs'; | ||
import * as iot from '@aws-cdk/aws-iot-alpha'; | ||
import * as actions from '@aws-cdk/aws-iot-actions-alpha'; | ||
import * as logs from 'aws-cdk-lib/aws-logs'; | ||
@@ -73,1 +129,30 @@ const logGroup = new logs.LogGroup(this, 'MyLogGroup'); | ||
``` | ||
## Put records to Kinesis Data Firehose stream | ||
The code snippet below creates an AWS IoT Rule that put records to Put records | ||
to Kinesis Data Firehose stream when it is triggered. | ||
```ts | ||
import * as iot from '@aws-cdk/aws-iot-alpha'; | ||
import * as actions from '@aws-cdk/aws-iot-actions-alpha'; | ||
import * as s3 from 'aws-cdk-lib/aws-s3'; | ||
import * as firehose from '@aws-cdk/aws-kinesisfirehose-alpha'; | ||
import * as destinations from '@aws-cdk/aws-kinesisfirehose-destinations-alpha'; | ||
const bucket = new s3.Bucket(this, 'MyBucket'); | ||
const stream = new firehose.DeliveryStream(this, 'MyStream', { | ||
destinations: [new destinations.S3Bucket(bucket)], | ||
}); | ||
const topicRule = new iot.TopicRule(this, 'TopicRule', { | ||
sql: iot.IotSql.fromStringAsVer20160323("SELECT * FROM 'device/+/data'"), | ||
actions: [ | ||
new actions.FirehoseStreamAction(stream, { | ||
batchMode: true, | ||
recordSeparator: actions.FirehoseStreamRecordSeparator.NEWLINE, | ||
}), | ||
], | ||
}); | ||
``` |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
30
130.77%90
12.5%914
361.62%154
123.19%205464
-82%5
66.67%10
25%1
Infinity%+ Added
+ Added
+ Added
- Removed