AWS::IoT::TopicRule - Amazon CloudFormation
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

AWS::IoT::TopicRule

Use the AWS::IoT::TopicRule resource to declare an Amazon IoT rule. For information about working with Amazon IoT rules, see Rules for Amazon IoT in the Amazon IoT Developer Guide.

Syntax

To declare this entity in your Amazon CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::IoT::TopicRule", "Properties" : { "RuleName" : String, "Tags" : [ Tag, ... ], "TopicRulePayload" : TopicRulePayload } }

YAML

Type: AWS::IoT::TopicRule Properties: RuleName: String Tags: - Tag TopicRulePayload: TopicRulePayload

Properties

RuleName

The name of the rule.

Pattern: [a-zA-Z0-9:_-]+

Required: No

Type: String

Update requires: Replacement

Tags

Metadata which can be used to manage the topic rule.

Note

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..."

For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."

Required: No

Type: Array of Tag

Update requires: No interruption

TopicRulePayload

The rule payload.

Required: Yes

Type: TopicRulePayload

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the topic rule name. For example:

{ "Ref": "MyTopicRule" }

For a stack named My-Stack (the - character is omitted), a value similar to the following is returned:

MyStackMyTopicRule12ABC3D456EFG

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

Arn

The Amazon Resource Name (ARN) of the Amazon IoT rule, such as arn:aws:iot:us-east-2:123456789012:rule/MyIoTRule.

Examples

The following example declares an Amazon IoT rule.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MyTopicRule": { "Type": "AWS::IoT::TopicRule", "Properties": { "RuleName": { "Ref": "NameParameter" }, "TopicRulePayload": { "RuleDisabled": "true", "Sql": "SELECT temp FROM 'SomeTopic' WHERE temp > 60", "Actions": [{ "S3": { "BucketName": { "Ref": "MyBucket" }, "RoleArn": { "Fn::GetAtt": [ "MyRole", "Arn" ] }, "Key": "MyKey.txt" } }] } } } } }

YAML

AWSTemplateFormatVersion: '2010-09-09' Resources: MyTopicRule: Type: AWS::IoT::TopicRule Properties: RuleName: Ref: NameParameter TopicRulePayload: RuleDisabled: 'true' Sql: SELECT temp FROM 'SomeTopic' WHERE temp > 60 Actions: - S3: BucketName: Ref: MyBucket RoleArn: Fn::GetAtt: - MyRole - Arn Key: MyKey.txt