TopicRule

Import

IoT Topic Rules can be imported using the name, e.g.

 $ pulumi import aws:iot/topicRule:TopicRule rule <name>

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var mytopic = new Aws.Sns.Topic("mytopic", new Aws.Sns.TopicArgs
        {
        });
        var myerrortopic = new Aws.Sns.Topic("myerrortopic", new Aws.Sns.TopicArgs
        {
        });
        var role = new Aws.Iam.Role("role", new Aws.Iam.RoleArgs
        {
            AssumeRolePolicy = @"{
  ""Version"": ""2012-10-17"",
  ""Statement"": [
    {
      ""Effect"": ""Allow"",
      ""Principal"": {
        ""Service"": ""iot.amazonaws.com""
      },
      ""Action"": ""sts:AssumeRole""
    }
  ]
}
",
        });
        var rule = new Aws.Iot.TopicRule("rule", new Aws.Iot.TopicRuleArgs
        {
            Description = "Example rule",
            Enabled = true,
            Sql = "SELECT * FROM 'topic/test'",
            SqlVersion = "2016-03-23",
            Sns = new Aws.Iot.Inputs.TopicRuleSnsArgs
            {
                MessageFormat = "RAW",
                RoleArn = role.Arn,
                TargetArn = mytopic.Arn,
            },
            ErrorAction = new Aws.Iot.Inputs.TopicRuleErrorActionArgs
            {
                Sns = new Aws.Iot.Inputs.TopicRuleErrorActionSnsArgs
                {
                    MessageFormat = "RAW",
                    RoleArn = role.Arn,
                    TargetArn = myerrortopic.Arn,
                },
            },
        });
        var iamPolicyForLambda = new Aws.Iam.RolePolicy("iamPolicyForLambda", new Aws.Iam.RolePolicyArgs
        {
            Role = role.Id,
            Policy = mytopic.Arn.Apply(arn => @$"{{
  ""Version"": ""2012-10-17"",
  ""Statement"": [
    {{
        ""Effect"": ""Allow"",
        ""Action"": [
            ""sns:Publish""
        ],
        ""Resource"": ""{arn}""
    }}
  ]
}}
"),
        });
    }

}
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/iam"
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/iot"
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sns"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mytopic, err := sns.NewTopic(ctx, "mytopic", nil)
		if err != nil {
			return err
		}
		myerrortopic, err := sns.NewTopic(ctx, "myerrortopic", nil)
		if err != nil {
			return err
		}
		role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Effect\": \"Allow\",\n", "      \"Principal\": {\n", "        \"Service\": \"iot.amazonaws.com\"\n", "      },\n", "      \"Action\": \"sts:AssumeRole\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		_, err = iot.NewTopicRule(ctx, "rule", &iot.TopicRuleArgs{
			Description: pulumi.String("Example rule"),
			Enabled:     pulumi.Bool(true),
			Sql:         pulumi.String("SELECT * FROM 'topic/test'"),
			SqlVersion:  pulumi.String("2016-03-23"),
			Sns: &iot.TopicRuleSnsArgs{
				MessageFormat: pulumi.String("RAW"),
				RoleArn:       role.Arn,
				TargetArn:     mytopic.Arn,
			},
			ErrorAction: &iot.TopicRuleErrorActionArgs{
				Sns: &iot.TopicRuleErrorActionSnsArgs{
					MessageFormat: pulumi.String("RAW"),
					RoleArn:       role.Arn,
					TargetArn:     myerrortopic.Arn,
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicy(ctx, "iamPolicyForLambda", &iam.RolePolicyArgs{
			Role: role.ID(),
			Policy: mytopic.Arn.ApplyT(func(arn string) (string, error) {
				return fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "        \"Effect\": \"Allow\",\n", "        \"Action\": [\n", "            \"sns:Publish\"\n", "        ],\n", "        \"Resource\": \"", arn, "\"\n", "    }\n", "  ]\n", "}\n"), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_aws as aws

mytopic = aws.sns.Topic("mytopic")
myerrortopic = aws.sns.Topic("myerrortopic")
role = aws.iam.Role("role", assume_role_policy="""{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iot.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
""")
rule = aws.iot.TopicRule("rule",
    description="Example rule",
    enabled=True,
    sql="SELECT * FROM 'topic/test'",
    sql_version="2016-03-23",
    sns=aws.iot.TopicRuleSnsArgs(
        message_format="RAW",
        role_arn=role.arn,
        target_arn=mytopic.arn,
    ),
    error_action=aws.iot.TopicRuleErrorActionArgs(
        sns=aws.iot.TopicRuleErrorActionSnsArgs(
            message_format="RAW",
            role_arn=role.arn,
            target_arn=myerrortopic.arn,
        ),
    ))
iam_policy_for_lambda = aws.iam.RolePolicy("iamPolicyForLambda",
    role=role.id,
    policy=mytopic.arn.apply(lambda arn: f"""{{
  "Version": "2012-10-17",
  "Statement": [
    {{
        "Effect": "Allow",
        "Action": [
            "sns:Publish"
        ],
        "Resource": "{arn}"
    }}
  ]
}}
"""))
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const mytopic = new aws.sns.Topic("mytopic", {});
const myerrortopic = new aws.sns.Topic("myerrortopic", {});
const role = new aws.iam.Role("role", {assumeRolePolicy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iot.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
`});
const rule = new aws.iot.TopicRule("rule", {
    description: "Example rule",
    enabled: true,
    sql: "SELECT * FROM 'topic/test'",
    sqlVersion: "2016-03-23",
    sns: {
        messageFormat: "RAW",
        roleArn: role.arn,
        targetArn: mytopic.arn,
    },
    errorAction: {
        sns: {
            messageFormat: "RAW",
            roleArn: role.arn,
            targetArn: myerrortopic.arn,
        },
    },
});
const iamPolicyForLambda = new aws.iam.RolePolicy("iamPolicyForLambda", {
    role: role.id,
    policy: pulumi.interpolate`{
  "Version": "2012-10-17",
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "sns:Publish"
        ],
        "Resource": "${mytopic.arn}"
    }
  ]
}
`,
});

Create a TopicRule Resource

new TopicRule(name: string, args: TopicRuleArgs, opts?: CustomResourceOptions);
@overload
def TopicRule(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              cloudwatch_alarm: Optional[TopicRuleCloudwatchAlarmArgs] = None,
              cloudwatch_metric: Optional[TopicRuleCloudwatchMetricArgs] = None,
              description: Optional[str] = None,
              dynamodb: Optional[TopicRuleDynamodbArgs] = None,
              dynamodbv2s: Optional[Sequence[TopicRuleDynamodbv2Args]] = None,
              elasticsearch: Optional[TopicRuleElasticsearchArgs] = None,
              enabled: Optional[bool] = None,
              error_action: Optional[TopicRuleErrorActionArgs] = None,
              firehose: Optional[TopicRuleFirehoseArgs] = None,
              iot_analytics: Optional[Sequence[TopicRuleIotAnalyticArgs]] = None,
              iot_events: Optional[Sequence[TopicRuleIotEventArgs]] = None,
              kinesis: Optional[TopicRuleKinesisArgs] = None,
              lambda_: Optional[TopicRuleLambdaArgs] = None,
              name: Optional[str] = None,
              republish: Optional[TopicRuleRepublishArgs] = None,
              s3: Optional[TopicRuleS3Args] = None,
              sns: Optional[TopicRuleSnsArgs] = None,
              sql: Optional[str] = None,
              sql_version: Optional[str] = None,
              sqs: Optional[TopicRuleSqsArgs] = None,
              step_functions: Optional[Sequence[TopicRuleStepFunctionArgs]] = None,
              tags: Optional[Mapping[str, str]] = None,
              tags_all: Optional[Mapping[str, str]] = None)
@overload
def TopicRule(resource_name: str,
              args: TopicRuleArgs,
              opts: Optional[ResourceOptions] = None)
func NewTopicRule(ctx *Context, name string, args TopicRuleArgs, opts ...ResourceOption) (*TopicRule, error)
public TopicRule(string name, TopicRuleArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args TopicRuleArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args TopicRuleArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args TopicRuleArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args TopicRuleArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

TopicRule Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The TopicRule resource accepts the following input properties:

Enabled bool
Specifies whether the rule is enabled.
Sql string
The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
SqlVersion string
The version of the SQL rules engine to use when evaluating the rule.
CloudwatchAlarm TopicRuleCloudwatchAlarmArgs
CloudwatchMetric TopicRuleCloudwatchMetricArgs
Description string
The description of the rule.
Dynamodb TopicRuleDynamodbArgs
Dynamodbv2s List<TopicRuleDynamodbv2Args>
Elasticsearch TopicRuleElasticsearchArgs
ErrorAction TopicRuleErrorActionArgs
Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, iot_analytics, iot_events, kinesis, lambda, republish, s3, step_functions, sns, sqs configuration blocks for further configuration details.
Firehose TopicRuleFirehoseArgs
IotAnalytics List<TopicRuleIotAnalyticArgs>
IotEvents List<TopicRuleIotEventArgs>
Kinesis TopicRuleKinesisArgs
Lambda TopicRuleLambdaArgs
Name string
The name of the rule.
Republish TopicRuleRepublishArgs
S3 TopicRuleS3Args
Sns TopicRuleSnsArgs
Sqs TopicRuleSqsArgs
StepFunctions List<TopicRuleStepFunctionArgs>
Tags Dictionary<string, string>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider .
Enabled bool
Specifies whether the rule is enabled.
Sql string
The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
SqlVersion string
The version of the SQL rules engine to use when evaluating the rule.
CloudwatchAlarm TopicRuleCloudwatchAlarm
CloudwatchMetric TopicRuleCloudwatchMetric
Description string
The description of the rule.
Dynamodb TopicRuleDynamodb
Dynamodbv2s []TopicRuleDynamodbv2
Elasticsearch TopicRuleElasticsearch
ErrorAction TopicRuleErrorAction
Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, iot_analytics, iot_events, kinesis, lambda, republish, s3, step_functions, sns, sqs configuration blocks for further configuration details.
Firehose TopicRuleFirehose
IotAnalytics []TopicRuleIotAnalytic
IotEvents []TopicRuleIotEvent
Kinesis TopicRuleKinesis
Lambda TopicRuleLambda
Name string
The name of the rule.
Republish TopicRuleRepublish
S3 TopicRuleS3
Sns TopicRuleSns
Sqs TopicRuleSqs
StepFunctions []TopicRuleStepFunction
Tags map[string]string
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider .
enabled boolean
Specifies whether the rule is enabled.
sql string
The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
sqlVersion string
The version of the SQL rules engine to use when evaluating the rule.
cloudwatchAlarm TopicRuleCloudwatchAlarmArgs
cloudwatchMetric TopicRuleCloudwatchMetricArgs
description string
The description of the rule.
dynamodb TopicRuleDynamodbArgs
dynamodbv2s TopicRuleDynamodbv2Args[]
elasticsearch TopicRuleElasticsearchArgs
errorAction TopicRuleErrorActionArgs
Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, iot_analytics, iot_events, kinesis, lambda, republish, s3, step_functions, sns, sqs configuration blocks for further configuration details.
firehose TopicRuleFirehoseArgs
iotAnalytics TopicRuleIotAnalyticArgs[]
iotEvents TopicRuleIotEventArgs[]
kinesis TopicRuleKinesisArgs
lambda TopicRuleLambdaArgs
name string
The name of the rule.
republish TopicRuleRepublishArgs
s3 TopicRuleS3Args
sns TopicRuleSnsArgs
sqs TopicRuleSqsArgs
stepFunctions TopicRuleStepFunctionArgs[]
tags {[key: string]: string}
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider .
enabled bool
Specifies whether the rule is enabled.
sql str
The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
sql_version str
The version of the SQL rules engine to use when evaluating the rule.
cloudwatch_alarm TopicRuleCloudwatchAlarmArgs
cloudwatch_metric TopicRuleCloudwatchMetricArgs
description str
The description of the rule.
dynamodb TopicRuleDynamodbArgs
dynamodbv2s Sequence[TopicRuleDynamodbv2Args]
elasticsearch TopicRuleElasticsearchArgs
error_action TopicRuleErrorActionArgs
Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, iot_analytics, iot_events, kinesis, lambda, republish, s3, step_functions, sns, sqs configuration blocks for further configuration details.
firehose TopicRuleFirehoseArgs
iot_analytics Sequence[TopicRuleIotAnalyticArgs]
iot_events Sequence[TopicRuleIotEventArgs]
kinesis TopicRuleKinesisArgs
lambda_ TopicRuleLambdaArgs
name str
The name of the rule.
republish TopicRuleRepublishArgs
s3 TopicRuleS3Args
sns TopicRuleSnsArgs
sqs TopicRuleSqsArgs
step_functions Sequence[TopicRuleStepFunctionArgs]
tags Mapping[str, str]
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider .

Outputs

All input properties are implicitly available as output properties. Additionally, the TopicRule resource produces the following output properties:

Arn string
The ARN of the topic rule
Id string
The provider-assigned unique ID for this managed resource.
Arn string
The ARN of the topic rule
Id string
The provider-assigned unique ID for this managed resource.
arn string
The ARN of the topic rule
id string
The provider-assigned unique ID for this managed resource.
arn str
The ARN of the topic rule
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing TopicRule Resource

Get an existing TopicRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: TopicRuleState, opts?: CustomResourceOptions): TopicRule
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        cloudwatch_alarm: Optional[TopicRuleCloudwatchAlarmArgs] = None,
        cloudwatch_metric: Optional[TopicRuleCloudwatchMetricArgs] = None,
        description: Optional[str] = None,
        dynamodb: Optional[TopicRuleDynamodbArgs] = None,
        dynamodbv2s: Optional[Sequence[TopicRuleDynamodbv2Args]] = None,
        elasticsearch: Optional[TopicRuleElasticsearchArgs] = None,
        enabled: Optional[bool] = None,
        error_action: Optional[TopicRuleErrorActionArgs] = None,
        firehose: Optional[TopicRuleFirehoseArgs] = None,
        iot_analytics: Optional[Sequence[TopicRuleIotAnalyticArgs]] = None,
        iot_events: Optional[Sequence[TopicRuleIotEventArgs]] = None,
        kinesis: Optional[TopicRuleKinesisArgs] = None,
        lambda_: Optional[TopicRuleLambdaArgs] = None,
        name: Optional[str] = None,
        republish: Optional[TopicRuleRepublishArgs] = None,
        s3: Optional[TopicRuleS3Args] = None,
        sns: Optional[TopicRuleSnsArgs] = None,
        sql: Optional[str] = None,
        sql_version: Optional[str] = None,
        sqs: Optional[TopicRuleSqsArgs] = None,
        step_functions: Optional[Sequence[TopicRuleStepFunctionArgs]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> TopicRule
func GetTopicRule(ctx *Context, name string, id IDInput, state *TopicRuleState, opts ...ResourceOption) (*TopicRule, error)
public static TopicRule Get(string name, Input<string> id, TopicRuleState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Arn string
The ARN of the topic rule
CloudwatchAlarm TopicRuleCloudwatchAlarmArgs
CloudwatchMetric TopicRuleCloudwatchMetricArgs
Description string
The description of the rule.
Dynamodb TopicRuleDynamodbArgs
Dynamodbv2s List<TopicRuleDynamodbv2Args>
Elasticsearch TopicRuleElasticsearchArgs
Enabled bool
Specifies whether the rule is enabled.
ErrorAction TopicRuleErrorActionArgs
Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, iot_analytics, iot_events, kinesis, lambda, republish, s3, step_functions, sns, sqs configuration blocks for further configuration details.
Firehose TopicRuleFirehoseArgs
IotAnalytics List<TopicRuleIotAnalyticArgs>
IotEvents List<TopicRuleIotEventArgs>
Kinesis TopicRuleKinesisArgs
Lambda TopicRuleLambdaArgs
Name string
The name of the rule.
Republish TopicRuleRepublishArgs
S3 TopicRuleS3Args
Sns TopicRuleSnsArgs
Sql string
The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
SqlVersion string
The version of the SQL rules engine to use when evaluating the rule.
Sqs TopicRuleSqsArgs
StepFunctions List<TopicRuleStepFunctionArgs>
Tags Dictionary<string, string>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider .
Arn string
The ARN of the topic rule
CloudwatchAlarm TopicRuleCloudwatchAlarm
CloudwatchMetric TopicRuleCloudwatchMetric
Description string
The description of the rule.
Dynamodb TopicRuleDynamodb
Dynamodbv2s []TopicRuleDynamodbv2
Elasticsearch TopicRuleElasticsearch
Enabled bool
Specifies whether the rule is enabled.
ErrorAction TopicRuleErrorAction
Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, iot_analytics, iot_events, kinesis, lambda, republish, s3, step_functions, sns, sqs configuration blocks for further configuration details.
Firehose TopicRuleFirehose
IotAnalytics []TopicRuleIotAnalytic
IotEvents []TopicRuleIotEvent
Kinesis TopicRuleKinesis
Lambda TopicRuleLambda
Name string
The name of the rule.
Republish TopicRuleRepublish
S3 TopicRuleS3
Sns TopicRuleSns
Sql string
The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
SqlVersion string
The version of the SQL rules engine to use when evaluating the rule.
Sqs TopicRuleSqs
StepFunctions []TopicRuleStepFunction
Tags map[string]string
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider .
arn string
The ARN of the topic rule
cloudwatchAlarm TopicRuleCloudwatchAlarmArgs
cloudwatchMetric TopicRuleCloudwatchMetricArgs
description string
The description of the rule.
dynamodb TopicRuleDynamodbArgs
dynamodbv2s TopicRuleDynamodbv2Args[]
elasticsearch TopicRuleElasticsearchArgs
enabled boolean
Specifies whether the rule is enabled.
errorAction TopicRuleErrorActionArgs
Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, iot_analytics, iot_events, kinesis, lambda, republish, s3, step_functions, sns, sqs configuration blocks for further configuration details.
firehose TopicRuleFirehoseArgs
iotAnalytics TopicRuleIotAnalyticArgs[]
iotEvents TopicRuleIotEventArgs[]
kinesis TopicRuleKinesisArgs
lambda TopicRuleLambdaArgs
name string
The name of the rule.
republish TopicRuleRepublishArgs
s3 TopicRuleS3Args
sns TopicRuleSnsArgs
sql string
The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
sqlVersion string
The version of the SQL rules engine to use when evaluating the rule.
sqs TopicRuleSqsArgs
stepFunctions TopicRuleStepFunctionArgs[]
tags {[key: string]: string}
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider .
arn str
The ARN of the topic rule
cloudwatch_alarm TopicRuleCloudwatchAlarmArgs
cloudwatch_metric TopicRuleCloudwatchMetricArgs
description str
The description of the rule.
dynamodb TopicRuleDynamodbArgs
dynamodbv2s Sequence[TopicRuleDynamodbv2Args]
elasticsearch TopicRuleElasticsearchArgs
enabled bool
Specifies whether the rule is enabled.
error_action TopicRuleErrorActionArgs
Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, iot_analytics, iot_events, kinesis, lambda, republish, s3, step_functions, sns, sqs configuration blocks for further configuration details.
firehose TopicRuleFirehoseArgs
iot_analytics Sequence[TopicRuleIotAnalyticArgs]
iot_events Sequence[TopicRuleIotEventArgs]
kinesis TopicRuleKinesisArgs
lambda_ TopicRuleLambdaArgs
name str
The name of the rule.
republish TopicRuleRepublishArgs
s3 TopicRuleS3Args
sns TopicRuleSnsArgs
sql str
The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
sql_version str
The version of the SQL rules engine to use when evaluating the rule.
sqs TopicRuleSqsArgs
step_functions Sequence[TopicRuleStepFunctionArgs]
tags Mapping[str, str]
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider .

Supporting Types

TopicRuleCloudwatchAlarm

AlarmName string
The CloudWatch alarm name.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
StateReason string
The reason for the alarm change.
StateValue string
The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.
AlarmName string
The CloudWatch alarm name.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
StateReason string
The reason for the alarm change.
StateValue string
The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.
alarmName string
The CloudWatch alarm name.
roleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
stateReason string
The reason for the alarm change.
stateValue string
The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.
alarm_name str
The CloudWatch alarm name.
role_arn str
The IAM role ARN that allows access to the CloudWatch alarm.
state_reason str
The reason for the alarm change.
state_value str
The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.

TopicRuleCloudwatchMetric

MetricName string
The CloudWatch metric name.
MetricNamespace string
The CloudWatch metric namespace name.
MetricUnit string
The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit)
MetricValue string
The CloudWatch metric value.
RoleArn string
The IAM role ARN that allows access to the CloudWatch metric.
MetricTimestamp string
An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp).
MetricName string
The CloudWatch metric name.
MetricNamespace string
The CloudWatch metric namespace name.
MetricUnit string
The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit)
MetricValue string
The CloudWatch metric value.
RoleArn string
The IAM role ARN that allows access to the CloudWatch metric.
MetricTimestamp string
An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp).
metricName string
The CloudWatch metric name.
metricNamespace string
The CloudWatch metric namespace name.
metricUnit string
The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit)
metricValue string
The CloudWatch metric value.
roleArn string
The IAM role ARN that allows access to the CloudWatch metric.
metricTimestamp string
An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp).
metric_name str
The CloudWatch metric name.
metric_namespace str
The CloudWatch metric namespace name.
metric_unit str
The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit)
metric_value str
The CloudWatch metric value.
role_arn str
The IAM role ARN that allows access to the CloudWatch metric.
metric_timestamp str
An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp).

TopicRuleDynamodb

HashKeyField string
The hash key name.
HashKeyValue string
The hash key value.
RoleArn string
The ARN of the IAM role that grants access to the DynamoDB table.
TableName string
The name of the DynamoDB table.
HashKeyType string
The hash key type. Valid values are “STRING” or “NUMBER”.
Operation string
The operation. Valid values are “INSERT”, “UPDATE”, or “DELETE”.
PayloadField string
The action payload.
RangeKeyField string
The range key name.
RangeKeyType string
The range key type. Valid values are “STRING” or “NUMBER”.
RangeKeyValue string
The range key value.
HashKeyField string
The hash key name.
HashKeyValue string
The hash key value.
RoleArn string
The ARN of the IAM role that grants access to the DynamoDB table.
TableName string
The name of the DynamoDB table.
HashKeyType string
The hash key type. Valid values are “STRING” or “NUMBER”.
Operation string
The operation. Valid values are “INSERT”, “UPDATE”, or “DELETE”.
PayloadField string
The action payload.
RangeKeyField string
The range key name.
RangeKeyType string
The range key type. Valid values are “STRING” or “NUMBER”.
RangeKeyValue string
The range key value.
hashKeyField string
The hash key name.
hashKeyValue string
The hash key value.
roleArn string
The ARN of the IAM role that grants access to the DynamoDB table.
tableName string
The name of the DynamoDB table.
hashKeyType string
The hash key type. Valid values are “STRING” or “NUMBER”.
operation string
The operation. Valid values are “INSERT”, “UPDATE”, or “DELETE”.
payloadField string
The action payload.
rangeKeyField string
The range key name.
rangeKeyType string
The range key type. Valid values are “STRING” or “NUMBER”.
rangeKeyValue string
The range key value.
hash_key_field str
The hash key name.
hash_key_value str
The hash key value.
role_arn str
The ARN of the IAM role that grants access to the DynamoDB table.
table_name str
The name of the DynamoDB table.
hash_key_type str
The hash key type. Valid values are “STRING” or “NUMBER”.
operation str
The operation. Valid values are “INSERT”, “UPDATE”, or “DELETE”.
payload_field str
The action payload.
range_key_field str
The range key name.
range_key_type str
The range key type. Valid values are “STRING” or “NUMBER”.
range_key_value str
The range key value.

TopicRuleDynamodbv2

RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
PutItem TopicRuleDynamodbv2PutItemArgs
Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
PutItem TopicRuleDynamodbv2PutItem
Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
roleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
putItem TopicRuleDynamodbv2PutItemArgs
Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
role_arn str
The IAM role ARN that allows access to the CloudWatch alarm.
put_item TopicRuleDynamodbv2PutItemArgs
Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.

TopicRuleDynamodbv2PutItem

TableName string
The name of the DynamoDB table.
TableName string
The name of the DynamoDB table.
tableName string
The name of the DynamoDB table.
table_name str
The name of the DynamoDB table.

TopicRuleElasticsearch

Endpoint string
The endpoint of your Elasticsearch domain.
Id string
The unique identifier for the document you are storing.
Index string
The Elasticsearch index where you want to store your data.
RoleArn string
The IAM role ARN that has access to Elasticsearch.
Type string
The type of document you are storing.
Endpoint string
The endpoint of your Elasticsearch domain.
Id string
The unique identifier for the document you are storing.
Index string
The Elasticsearch index where you want to store your data.
RoleArn string
The IAM role ARN that has access to Elasticsearch.
Type string
The type of document you are storing.
endpoint string
The endpoint of your Elasticsearch domain.
id string
The unique identifier for the document you are storing.
index string
The Elasticsearch index where you want to store your data.
roleArn string
The IAM role ARN that has access to Elasticsearch.
type string
The type of document you are storing.
endpoint str
The endpoint of your Elasticsearch domain.
id str
The unique identifier for the document you are storing.
index str
The Elasticsearch index where you want to store your data.
role_arn str
The IAM role ARN that has access to Elasticsearch.
type str
The type of document you are storing.

TopicRuleErrorAction

TopicRuleErrorActionCloudwatchAlarm

AlarmName string
The CloudWatch alarm name.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
StateReason string
The reason for the alarm change.
StateValue string
The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.
AlarmName string
The CloudWatch alarm name.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
StateReason string
The reason for the alarm change.
StateValue string
The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.
alarmName string
The CloudWatch alarm name.
roleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
stateReason string
The reason for the alarm change.
stateValue string
The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.
alarm_name str
The CloudWatch alarm name.
role_arn str
The IAM role ARN that allows access to the CloudWatch alarm.
state_reason str
The reason for the alarm change.
state_value str
The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.

TopicRuleErrorActionCloudwatchMetric

MetricName string
The CloudWatch metric name.
MetricNamespace string
The CloudWatch metric namespace name.
MetricUnit string
The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit)
MetricValue string
The CloudWatch metric value.
RoleArn string
The IAM role ARN that allows access to the CloudWatch metric.
MetricTimestamp string
An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp).
MetricName string
The CloudWatch metric name.
MetricNamespace string
The CloudWatch metric namespace name.
MetricUnit string
The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit)
MetricValue string
The CloudWatch metric value.
RoleArn string
The IAM role ARN that allows access to the CloudWatch metric.
MetricTimestamp string
An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp).
metricName string
The CloudWatch metric name.
metricNamespace string
The CloudWatch metric namespace name.
metricUnit string
The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit)
metricValue string
The CloudWatch metric value.
roleArn string
The IAM role ARN that allows access to the CloudWatch metric.
metricTimestamp string
An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp).
metric_name str
The CloudWatch metric name.
metric_namespace str
The CloudWatch metric namespace name.
metric_unit str
The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit)
metric_value str
The CloudWatch metric value.
role_arn str
The IAM role ARN that allows access to the CloudWatch metric.
metric_timestamp str
An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp).

TopicRuleErrorActionDynamodb

HashKeyField string
The hash key name.
HashKeyValue string
The hash key value.
RoleArn string
The ARN of the IAM role that grants access to the DynamoDB table.
TableName string
The name of the DynamoDB table.
HashKeyType string
The hash key type. Valid values are “STRING” or “NUMBER”.
Operation string
The operation. Valid values are “INSERT”, “UPDATE”, or “DELETE”.
PayloadField string
The action payload.
RangeKeyField string
The range key name.
RangeKeyType string
The range key type. Valid values are “STRING” or “NUMBER”.
RangeKeyValue string
The range key value.
HashKeyField string
The hash key name.
HashKeyValue string
The hash key value.
RoleArn string
The ARN of the IAM role that grants access to the DynamoDB table.
TableName string
The name of the DynamoDB table.
HashKeyType string
The hash key type. Valid values are “STRING” or “NUMBER”.
Operation string
The operation. Valid values are “INSERT”, “UPDATE”, or “DELETE”.
PayloadField string
The action payload.
RangeKeyField string
The range key name.
RangeKeyType string
The range key type. Valid values are “STRING” or “NUMBER”.
RangeKeyValue string
The range key value.
hashKeyField string
The hash key name.
hashKeyValue string
The hash key value.
roleArn string
The ARN of the IAM role that grants access to the DynamoDB table.
tableName string
The name of the DynamoDB table.
hashKeyType string
The hash key type. Valid values are “STRING” or “NUMBER”.
operation string
The operation. Valid values are “INSERT”, “UPDATE”, or “DELETE”.
payloadField string
The action payload.
rangeKeyField string
The range key name.
rangeKeyType string
The range key type. Valid values are “STRING” or “NUMBER”.
rangeKeyValue string
The range key value.
hash_key_field str
The hash key name.
hash_key_value str
The hash key value.
role_arn str
The ARN of the IAM role that grants access to the DynamoDB table.
table_name str
The name of the DynamoDB table.
hash_key_type str
The hash key type. Valid values are “STRING” or “NUMBER”.
operation str
The operation. Valid values are “INSERT”, “UPDATE”, or “DELETE”.
payload_field str
The action payload.
range_key_field str
The range key name.
range_key_type str
The range key type. Valid values are “STRING” or “NUMBER”.
range_key_value str
The range key value.

TopicRuleErrorActionDynamodbv2

RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
PutItem TopicRuleErrorActionDynamodbv2PutItemArgs
Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
PutItem TopicRuleErrorActionDynamodbv2PutItem
Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
roleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
putItem TopicRuleErrorActionDynamodbv2PutItemArgs
Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
role_arn str
The IAM role ARN that allows access to the CloudWatch alarm.
put_item TopicRuleErrorActionDynamodbv2PutItemArgs
Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.

TopicRuleErrorActionDynamodbv2PutItem

TableName string
The name of the DynamoDB table.
TableName string
The name of the DynamoDB table.
tableName string
The name of the DynamoDB table.
table_name str
The name of the DynamoDB table.

TopicRuleErrorActionElasticsearch

Endpoint string
The endpoint of your Elasticsearch domain.
Id string
The unique identifier for the document you are storing.
Index string
The Elasticsearch index where you want to store your data.
RoleArn string
The IAM role ARN that has access to Elasticsearch.
Type string
The type of document you are storing.
Endpoint string
The endpoint of your Elasticsearch domain.
Id string
The unique identifier for the document you are storing.
Index string
The Elasticsearch index where you want to store your data.
RoleArn string
The IAM role ARN that has access to Elasticsearch.
Type string
The type of document you are storing.
endpoint string
The endpoint of your Elasticsearch domain.
id string
The unique identifier for the document you are storing.
index string
The Elasticsearch index where you want to store your data.
roleArn string
The IAM role ARN that has access to Elasticsearch.
type string
The type of document you are storing.
endpoint str
The endpoint of your Elasticsearch domain.
id str
The unique identifier for the document you are storing.
index str
The Elasticsearch index where you want to store your data.
role_arn str
The IAM role ARN that has access to Elasticsearch.
type str
The type of document you are storing.

TopicRuleErrorActionFirehose

DeliveryStreamName string
The delivery stream name.
RoleArn string
The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
Separator string
A character separator that is used to separate records written to the Firehose stream. Valid values are: ‘\n’ (newline), ‘\t’ (tab), ‘\r\n’ (Windows newline), ‘,’ (comma).
DeliveryStreamName string
The delivery stream name.
RoleArn string
The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
Separator string
A character separator that is used to separate records written to the Firehose stream. Valid values are: ‘\n’ (newline), ‘\t’ (tab), ‘\r\n’ (Windows newline), ‘,’ (comma).
deliveryStreamName string
The delivery stream name.
roleArn string
The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
separator string
A character separator that is used to separate records written to the Firehose stream. Valid values are: ‘\n’ (newline), ‘\t’ (tab), ‘\r\n’ (Windows newline), ‘,’ (comma).
delivery_stream_name str
The delivery stream name.
role_arn str
The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
separator str
A character separator that is used to separate records written to the Firehose stream. Valid values are: ‘\n’ (newline), ‘\t’ (tab), ‘\r\n’ (Windows newline), ‘,’ (comma).

TopicRuleErrorActionIotAnalytics

ChannelName string
Name of AWS IOT Analytics channel.
RoleArn string
The ARN of the IAM role that grants access.
ChannelName string
Name of AWS IOT Analytics channel.
RoleArn string
The ARN of the IAM role that grants access.
channelName string
Name of AWS IOT Analytics channel.
roleArn string
The ARN of the IAM role that grants access.
channel_name str
Name of AWS IOT Analytics channel.
role_arn str
The ARN of the IAM role that grants access.

TopicRuleErrorActionIotEvents

InputName string
The name of the AWS IoT Events input.
RoleArn string
The ARN of the IAM role that grants access.
MessageId string
Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.
InputName string
The name of the AWS IoT Events input.
RoleArn string
The ARN of the IAM role that grants access.
MessageId string
Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.
inputName string
The name of the AWS IoT Events input.
roleArn string
The ARN of the IAM role that grants access.
messageId string
Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.
input_name str
The name of the AWS IoT Events input.
role_arn str
The ARN of the IAM role that grants access.
message_id str
Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.

TopicRuleErrorActionKinesis

RoleArn string
The ARN of the IAM role that grants access to the Amazon Kinesis stream.
StreamName string
The name of the Amazon Kinesis stream.
PartitionKey string
The partition key.
RoleArn string
The ARN of the IAM role that grants access to the Amazon Kinesis stream.
StreamName string
The name of the Amazon Kinesis stream.
PartitionKey string
The partition key.
roleArn string
The ARN of the IAM role that grants access to the Amazon Kinesis stream.
streamName string
The name of the Amazon Kinesis stream.
partitionKey string
The partition key.
role_arn str
The ARN of the IAM role that grants access to the Amazon Kinesis stream.
stream_name str
The name of the Amazon Kinesis stream.
partition_key str
The partition key.

TopicRuleErrorActionLambda

FunctionArn string
The ARN of the Lambda function.
FunctionArn string
The ARN of the Lambda function.
functionArn string
The ARN of the Lambda function.
function_arn str
The ARN of the Lambda function.

TopicRuleErrorActionRepublish

RoleArn string
The ARN of the IAM role that grants access.
Topic string
The name of the MQTT topic the message should be republished to.
Qos int
The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0.
RoleArn string
The ARN of the IAM role that grants access.
Topic string
The name of the MQTT topic the message should be republished to.
Qos int
The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0.
roleArn string
The ARN of the IAM role that grants access.
topic string
The name of the MQTT topic the message should be republished to.
qos number
The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0.
role_arn str
The ARN of the IAM role that grants access.
topic str
The name of the MQTT topic the message should be republished to.
qos int
The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0.

TopicRuleErrorActionS3

BucketName string
The Amazon S3 bucket name.
Key string
The object key.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
BucketName string
The Amazon S3 bucket name.
Key string
The object key.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
bucketName string
The Amazon S3 bucket name.
key string
The object key.
roleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
bucket_name str
The Amazon S3 bucket name.
key str
The object key.
role_arn str
The IAM role ARN that allows access to the CloudWatch alarm.

TopicRuleErrorActionSns

RoleArn string
The ARN of the IAM role that grants access.
TargetArn string
The ARN of the SNS topic.
MessageFormat string
The message format of the message to publish. Accepted values are “JSON” and “RAW”.
RoleArn string
The ARN of the IAM role that grants access.
TargetArn string
The ARN of the SNS topic.
MessageFormat string
The message format of the message to publish. Accepted values are “JSON” and “RAW”.
roleArn string
The ARN of the IAM role that grants access.
targetArn string
The ARN of the SNS topic.
messageFormat string
The message format of the message to publish. Accepted values are “JSON” and “RAW”.
role_arn str
The ARN of the IAM role that grants access.
target_arn str
The ARN of the SNS topic.
message_format str
The message format of the message to publish. Accepted values are “JSON” and “RAW”.

TopicRuleErrorActionSqs

QueueUrl string
The URL of the Amazon SQS queue.
RoleArn string
The ARN of the IAM role that grants access.
UseBase64 bool
Specifies whether to use Base64 encoding.
QueueUrl string
The URL of the Amazon SQS queue.
RoleArn string
The ARN of the IAM role that grants access.
UseBase64 bool
Specifies whether to use Base64 encoding.
queueUrl string
The URL of the Amazon SQS queue.
roleArn string
The ARN of the IAM role that grants access.
useBase64 boolean
Specifies whether to use Base64 encoding.
queue_url str
The URL of the Amazon SQS queue.
role_arn str
The ARN of the IAM role that grants access.
use_base64 bool
Specifies whether to use Base64 encoding.

TopicRuleErrorActionStepFunctions

RoleArn string
The ARN of the IAM role that grants access to start execution of the state machine.
StateMachineName string
The name of the Step Functions state machine whose execution will be started.
ExecutionNamePrefix string
The prefix used to generate, along with a UUID, the unique state machine execution name.
RoleArn string
The ARN of the IAM role that grants access to start execution of the state machine.
StateMachineName string
The name of the Step Functions state machine whose execution will be started.
ExecutionNamePrefix string
The prefix used to generate, along with a UUID, the unique state machine execution name.
roleArn string
The ARN of the IAM role that grants access to start execution of the state machine.
stateMachineName string
The name of the Step Functions state machine whose execution will be started.
executionNamePrefix string
The prefix used to generate, along with a UUID, the unique state machine execution name.
role_arn str
The ARN of the IAM role that grants access to start execution of the state machine.
state_machine_name str
The name of the Step Functions state machine whose execution will be started.
execution_name_prefix str
The prefix used to generate, along with a UUID, the unique state machine execution name.

TopicRuleFirehose

DeliveryStreamName string
The delivery stream name.
RoleArn string
The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
Separator string
A character separator that is used to separate records written to the Firehose stream. Valid values are: ‘\n’ (newline), ‘\t’ (tab), ‘\r\n’ (Windows newline), ‘,’ (comma).
DeliveryStreamName string
The delivery stream name.
RoleArn string
The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
Separator string
A character separator that is used to separate records written to the Firehose stream. Valid values are: ‘\n’ (newline), ‘\t’ (tab), ‘\r\n’ (Windows newline), ‘,’ (comma).
deliveryStreamName string
The delivery stream name.
roleArn string
The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
separator string
A character separator that is used to separate records written to the Firehose stream. Valid values are: ‘\n’ (newline), ‘\t’ (tab), ‘\r\n’ (Windows newline), ‘,’ (comma).
delivery_stream_name str
The delivery stream name.
role_arn str
The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
separator str
A character separator that is used to separate records written to the Firehose stream. Valid values are: ‘\n’ (newline), ‘\t’ (tab), ‘\r\n’ (Windows newline), ‘,’ (comma).

TopicRuleIotAnalytic

ChannelName string
Name of AWS IOT Analytics channel.
RoleArn string
The ARN of the IAM role that grants access.
ChannelName string
Name of AWS IOT Analytics channel.
RoleArn string
The ARN of the IAM role that grants access.
channelName string
Name of AWS IOT Analytics channel.
roleArn string
The ARN of the IAM role that grants access.
channel_name str
Name of AWS IOT Analytics channel.
role_arn str
The ARN of the IAM role that grants access.

TopicRuleIotEvent

InputName string
The name of the AWS IoT Events input.
RoleArn string
The ARN of the IAM role that grants access.
MessageId string
Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.
InputName string
The name of the AWS IoT Events input.
RoleArn string
The ARN of the IAM role that grants access.
MessageId string
Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.
inputName string
The name of the AWS IoT Events input.
roleArn string
The ARN of the IAM role that grants access.
messageId string
Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.
input_name str
The name of the AWS IoT Events input.
role_arn str
The ARN of the IAM role that grants access.
message_id str
Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.

TopicRuleKinesis

RoleArn string
The ARN of the IAM role that grants access to the Amazon Kinesis stream.
StreamName string
The name of the Amazon Kinesis stream.
PartitionKey string
The partition key.
RoleArn string
The ARN of the IAM role that grants access to the Amazon Kinesis stream.
StreamName string
The name of the Amazon Kinesis stream.
PartitionKey string
The partition key.
roleArn string
The ARN of the IAM role that grants access to the Amazon Kinesis stream.
streamName string
The name of the Amazon Kinesis stream.
partitionKey string
The partition key.
role_arn str
The ARN of the IAM role that grants access to the Amazon Kinesis stream.
stream_name str
The name of the Amazon Kinesis stream.
partition_key str
The partition key.

TopicRuleLambda

FunctionArn string
The ARN of the Lambda function.
FunctionArn string
The ARN of the Lambda function.
functionArn string
The ARN of the Lambda function.
function_arn str
The ARN of the Lambda function.

TopicRuleRepublish

RoleArn string
The ARN of the IAM role that grants access.
Topic string
The name of the MQTT topic the message should be republished to.
Qos int
The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0.
RoleArn string
The ARN of the IAM role that grants access.
Topic string
The name of the MQTT topic the message should be republished to.
Qos int
The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0.
roleArn string
The ARN of the IAM role that grants access.
topic string
The name of the MQTT topic the message should be republished to.
qos number
The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0.
role_arn str
The ARN of the IAM role that grants access.
topic str
The name of the MQTT topic the message should be republished to.
qos int
The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0.

TopicRuleS3

BucketName string
The Amazon S3 bucket name.
Key string
The object key.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
BucketName string
The Amazon S3 bucket name.
Key string
The object key.
RoleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
bucketName string
The Amazon S3 bucket name.
key string
The object key.
roleArn string
The IAM role ARN that allows access to the CloudWatch alarm.
bucket_name str
The Amazon S3 bucket name.
key str
The object key.
role_arn str
The IAM role ARN that allows access to the CloudWatch alarm.

TopicRuleSns

RoleArn string
The ARN of the IAM role that grants access.
TargetArn string
The ARN of the SNS topic.
MessageFormat string
The message format of the message to publish. Accepted values are “JSON” and “RAW”.
RoleArn string
The ARN of the IAM role that grants access.
TargetArn string
The ARN of the SNS topic.
MessageFormat string
The message format of the message to publish. Accepted values are “JSON” and “RAW”.
roleArn string
The ARN of the IAM role that grants access.
targetArn string
The ARN of the SNS topic.
messageFormat string
The message format of the message to publish. Accepted values are “JSON” and “RAW”.
role_arn str
The ARN of the IAM role that grants access.
target_arn str
The ARN of the SNS topic.
message_format str
The message format of the message to publish. Accepted values are “JSON” and “RAW”.

TopicRuleSqs

QueueUrl string
The URL of the Amazon SQS queue.
RoleArn string
The ARN of the IAM role that grants access.
UseBase64 bool
Specifies whether to use Base64 encoding.
QueueUrl string
The URL of the Amazon SQS queue.
RoleArn string
The ARN of the IAM role that grants access.
UseBase64 bool
Specifies whether to use Base64 encoding.
queueUrl string
The URL of the Amazon SQS queue.
roleArn string
The ARN of the IAM role that grants access.
useBase64 boolean
Specifies whether to use Base64 encoding.
queue_url str
The URL of the Amazon SQS queue.
role_arn str
The ARN of the IAM role that grants access.
use_base64 bool
Specifies whether to use Base64 encoding.

TopicRuleStepFunction

RoleArn string
The ARN of the IAM role that grants access to start execution of the state machine.
StateMachineName string
The name of the Step Functions state machine whose execution will be started.
ExecutionNamePrefix string
The prefix used to generate, along with a UUID, the unique state machine execution name.
RoleArn string
The ARN of the IAM role that grants access to start execution of the state machine.
StateMachineName string
The name of the Step Functions state machine whose execution will be started.
ExecutionNamePrefix string
The prefix used to generate, along with a UUID, the unique state machine execution name.
roleArn string
The ARN of the IAM role that grants access to start execution of the state machine.
stateMachineName string
The name of the Step Functions state machine whose execution will be started.
executionNamePrefix string
The prefix used to generate, along with a UUID, the unique state machine execution name.
role_arn str
The ARN of the IAM role that grants access to start execution of the state machine.
state_machine_name str
The name of the Step Functions state machine whose execution will be started.
execution_name_prefix str
The prefix used to generate, along with a UUID, the unique state machine execution name.

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.