aws.iot.TopicRule
Explore with Pulumi AI
Creates and manages an AWS IoT topic rule.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const mytopic = new aws.sns.Topic("mytopic", {name: "mytopic"});
const myerrortopic = new aws.sns.Topic("myerrortopic", {name: "myerrortopic"});
const rule = new aws.iot.TopicRule("rule", {
    name: "MyRule",
    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 assumeRole = aws.iam.getPolicyDocument({
    statements: [{
        effect: "Allow",
        principals: [{
            type: "Service",
            identifiers: ["iot.amazonaws.com"],
        }],
        actions: ["sts:AssumeRole"],
    }],
});
const myrole = new aws.iam.Role("myrole", {
    name: "myrole",
    assumeRolePolicy: assumeRole.then(assumeRole => assumeRole.json),
});
const mypolicy = mytopic.arn.apply(arn => aws.iam.getPolicyDocumentOutput({
    statements: [{
        effect: "Allow",
        actions: ["sns:Publish"],
        resources: [arn],
    }],
}));
const mypolicyRolePolicy = new aws.iam.RolePolicy("mypolicy", {
    name: "mypolicy",
    role: myrole.id,
    policy: mypolicy.apply(mypolicy => mypolicy.json),
});
import pulumi
import pulumi_aws as aws
mytopic = aws.sns.Topic("mytopic", name="mytopic")
myerrortopic = aws.sns.Topic("myerrortopic", name="myerrortopic")
rule = aws.iot.TopicRule("rule",
    name="MyRule",
    description="Example rule",
    enabled=True,
    sql="SELECT * FROM 'topic/test'",
    sql_version="2016-03-23",
    sns=[{
        "message_format": "RAW",
        "role_arn": role["arn"],
        "target_arn": mytopic.arn,
    }],
    error_action={
        "sns": {
            "message_format": "RAW",
            "role_arn": role["arn"],
            "target_arn": myerrortopic.arn,
        },
    })
assume_role = aws.iam.get_policy_document(statements=[{
    "effect": "Allow",
    "principals": [{
        "type": "Service",
        "identifiers": ["iot.amazonaws.com"],
    }],
    "actions": ["sts:AssumeRole"],
}])
myrole = aws.iam.Role("myrole",
    name="myrole",
    assume_role_policy=assume_role.json)
mypolicy = mytopic.arn.apply(lambda arn: aws.iam.get_policy_document_output(statements=[{
    "effect": "Allow",
    "actions": ["sns:Publish"],
    "resources": [arn],
}]))
mypolicy_role_policy = aws.iam.RolePolicy("mypolicy",
    name="mypolicy",
    role=myrole.id,
    policy=mypolicy.json)
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iot"
	"github.com/pulumi/pulumi-aws/sdk/v6/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", &sns.TopicArgs{
Name: pulumi.String("mytopic"),
})
if err != nil {
return err
}
myerrortopic, err := sns.NewTopic(ctx, "myerrortopic", &sns.TopicArgs{
Name: pulumi.String("myerrortopic"),
})
if err != nil {
return err
}
_, err = iot.NewTopicRule(ctx, "rule", &iot.TopicRuleArgs{
Name: pulumi.String("MyRule"),
Description: pulumi.String("Example rule"),
Enabled: pulumi.Bool(true),
Sql: pulumi.String("SELECT * FROM 'topic/test'"),
SqlVersion: pulumi.String("2016-03-23"),
Sns: iot.TopicRuleSnsArray{
&iot.TopicRuleSnsArgs{
MessageFormat: pulumi.String("RAW"),
RoleArn: pulumi.Any(role.Arn),
TargetArn: mytopic.Arn,
},
},
ErrorAction: &iot.TopicRuleErrorActionArgs{
Sns: &iot.TopicRuleErrorActionSnsArgs{
MessageFormat: pulumi.String("RAW"),
RoleArn: pulumi.Any(role.Arn),
TargetArn: myerrortopic.Arn,
},
},
})
if err != nil {
return err
}
assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
Statements: []iam.GetPolicyDocumentStatement{
{
Effect: pulumi.StringRef("Allow"),
Principals: []iam.GetPolicyDocumentStatementPrincipal{
{
Type: "Service",
Identifiers: []string{
"iot.amazonaws.com",
},
},
},
Actions: []string{
"sts:AssumeRole",
},
},
},
}, nil);
if err != nil {
return err
}
myrole, err := iam.NewRole(ctx, "myrole", &iam.RoleArgs{
Name: pulumi.String("myrole"),
AssumeRolePolicy: pulumi.String(assumeRole.Json),
})
if err != nil {
return err
}
mypolicy := mytopic.Arn.ApplyT(func(arn string) (iam.GetPolicyDocumentResult, error) {
return iam.GetPolicyDocumentResult(interface{}(iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
Statements: []iam.GetPolicyDocumentStatement{
{
Effect: "Allow",
Actions: []string{
"sns:Publish",
},
Resources: interface{}{
arn,
},
},
},
}, nil))), nil
}).(iam.GetPolicyDocumentResultOutput)
_, err = iam.NewRolePolicy(ctx, "mypolicy", &iam.RolePolicyArgs{
Name: pulumi.String("mypolicy"),
Role: myrole.ID(),
Policy: pulumi.String(mypolicy.ApplyT(func(mypolicy iam.GetPolicyDocumentResult) (*string, error) {
return &mypolicy.Json, nil
}).(pulumi.StringPtrOutput)),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var mytopic = new Aws.Sns.Topic("mytopic", new()
    {
        Name = "mytopic",
    });
    var myerrortopic = new Aws.Sns.Topic("myerrortopic", new()
    {
        Name = "myerrortopic",
    });
    var rule = new Aws.Iot.TopicRule("rule", new()
    {
        Name = "MyRule",
        Description = "Example rule",
        Enabled = true,
        Sql = "SELECT * FROM 'topic/test'",
        SqlVersion = "2016-03-23",
        Sns = new[]
        {
            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 assumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()
    {
        Statements = new[]
        {
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Effect = "Allow",
                Principals = new[]
                {
                    new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                    {
                        Type = "Service",
                        Identifiers = new[]
                        {
                            "iot.amazonaws.com",
                        },
                    },
                },
                Actions = new[]
                {
                    "sts:AssumeRole",
                },
            },
        },
    });
    var myrole = new Aws.Iam.Role("myrole", new()
    {
        Name = "myrole",
        AssumeRolePolicy = assumeRole.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
    });
    var mypolicy = Aws.Iam.GetPolicyDocument.Invoke(new()
    {
        Statements = new[]
        {
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Effect = "Allow",
                Actions = new[]
                {
                    "sns:Publish",
                },
                Resources = new[]
                {
                    mytopic.Arn,
                },
            },
        },
    });
    var mypolicyRolePolicy = new Aws.Iam.RolePolicy("mypolicy", new()
    {
        Name = "mypolicy",
        Role = myrole.Id,
        Policy = mypolicy.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sns.Topic;
import com.pulumi.aws.sns.TopicArgs;
import com.pulumi.aws.iot.TopicRule;
import com.pulumi.aws.iot.TopicRuleArgs;
import com.pulumi.aws.iot.inputs.TopicRuleSnsArgs;
import com.pulumi.aws.iot.inputs.TopicRuleErrorActionArgs;
import com.pulumi.aws.iot.inputs.TopicRuleErrorActionSnsArgs;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.iam.RolePolicy;
import com.pulumi.aws.iam.RolePolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var mytopic = new Topic("mytopic", TopicArgs.builder()
            .name("mytopic")
            .build());
        var myerrortopic = new Topic("myerrortopic", TopicArgs.builder()
            .name("myerrortopic")
            .build());
        var rule = new TopicRule("rule", TopicRuleArgs.builder()
            .name("MyRule")
            .description("Example rule")
            .enabled(true)
            .sql("SELECT * FROM 'topic/test'")
            .sqlVersion("2016-03-23")
            .sns(TopicRuleSnsArgs.builder()
                .messageFormat("RAW")
                .roleArn(role.arn())
                .targetArn(mytopic.arn())
                .build())
            .errorAction(TopicRuleErrorActionArgs.builder()
                .sns(TopicRuleErrorActionSnsArgs.builder()
                    .messageFormat("RAW")
                    .roleArn(role.arn())
                    .targetArn(myerrortopic.arn())
                    .build())
                .build())
            .build());
        final var assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(GetPolicyDocumentStatementArgs.builder()
                .effect("Allow")
                .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                    .type("Service")
                    .identifiers("iot.amazonaws.com")
                    .build())
                .actions("sts:AssumeRole")
                .build())
            .build());
        var myrole = new Role("myrole", RoleArgs.builder()
            .name("myrole")
            .assumeRolePolicy(assumeRole.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
            .build());
        final var mypolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(GetPolicyDocumentStatementArgs.builder()
                .effect("Allow")
                .actions("sns:Publish")
                .resources(mytopic.arn())
                .build())
            .build());
        var mypolicyRolePolicy = new RolePolicy("mypolicyRolePolicy", RolePolicyArgs.builder()
            .name("mypolicy")
            .role(myrole.id())
            .policy(mypolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(mypolicy -> mypolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
            .build());
    }
}
resources:
  rule:
    type: aws:iot:TopicRule
    properties:
      name: MyRule
      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}
  mytopic:
    type: aws:sns:Topic
    properties:
      name: mytopic
  myerrortopic:
    type: aws:sns:Topic
    properties:
      name: myerrortopic
  myrole:
    type: aws:iam:Role
    properties:
      name: myrole
      assumeRolePolicy: ${assumeRole.json}
  mypolicyRolePolicy:
    type: aws:iam:RolePolicy
    name: mypolicy
    properties:
      name: mypolicy
      role: ${myrole.id}
      policy: ${mypolicy.json}
variables:
  assumeRole:
    fn::invoke:
      function: aws:iam:getPolicyDocument
      arguments:
        statements:
          - effect: Allow
            principals:
              - type: Service
                identifiers:
                  - iot.amazonaws.com
            actions:
              - sts:AssumeRole
  mypolicy:
    fn::invoke:
      function: aws:iam:getPolicyDocument
      arguments:
        statements:
          - effect: Allow
            actions:
              - sns:Publish
            resources:
              - ${mytopic.arn}
Create TopicRule Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new TopicRule(name: string, args: TopicRuleArgs, opts?: CustomResourceOptions);@overload
def TopicRule(resource_name: str,
              args: TopicRuleArgs,
              opts: Optional[ResourceOptions] = None)
@overload
def TopicRule(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              enabled: Optional[bool] = None,
              sql_version: Optional[str] = None,
              sql: Optional[str] = None,
              iot_events: Optional[Sequence[TopicRuleIotEventArgs]] = None,
              kineses: Optional[Sequence[TopicRuleKinesisArgs]] = None,
              dynamodbv2s: Optional[Sequence[TopicRuleDynamodbv2Args]] = None,
              elasticsearch: Optional[Sequence[TopicRuleElasticsearchArgs]] = None,
              description: Optional[str] = None,
              error_action: Optional[TopicRuleErrorActionArgs] = None,
              firehoses: Optional[Sequence[TopicRuleFirehoseArgs]] = None,
              https: Optional[Sequence[TopicRuleHttpArgs]] = None,
              iot_analytics: Optional[Sequence[TopicRuleIotAnalyticArgs]] = None,
              cloudwatch_alarms: Optional[Sequence[TopicRuleCloudwatchAlarmArgs]] = None,
              kafkas: Optional[Sequence[TopicRuleKafkaArgs]] = None,
              dynamodbs: Optional[Sequence[TopicRuleDynamodbArgs]] = None,
              lambdas: Optional[Sequence[TopicRuleLambdaArgs]] = None,
              name: Optional[str] = None,
              republishes: Optional[Sequence[TopicRuleRepublishArgs]] = None,
              s3: Optional[Sequence[TopicRuleS3Args]] = None,
              sns: Optional[Sequence[TopicRuleSnsArgs]] = None,
              cloudwatch_metrics: Optional[Sequence[TopicRuleCloudwatchMetricArgs]] = None,
              cloudwatch_logs: Optional[Sequence[TopicRuleCloudwatchLogArgs]] = None,
              sqs: Optional[Sequence[TopicRuleSqsArgs]] = None,
              step_functions: Optional[Sequence[TopicRuleStepFunctionArgs]] = None,
              tags: Optional[Mapping[str, str]] = None,
              timestreams: Optional[Sequence[TopicRuleTimestreamArgs]] = None)func NewTopicRule(ctx *Context, name string, args TopicRuleArgs, opts ...ResourceOption) (*TopicRule, error)public TopicRule(string name, TopicRuleArgs args, CustomResourceOptions? opts = null)
public TopicRule(String name, TopicRuleArgs args)
public TopicRule(String name, TopicRuleArgs args, CustomResourceOptions options)
type: aws:iot:TopicRule
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- 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.
- name String
- The unique name of the resource.
- args TopicRuleArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var topicRuleResource = new Aws.Iot.TopicRule("topicRuleResource", new()
{
    Enabled = false,
    SqlVersion = "string",
    Sql = "string",
    IotEvents = new[]
    {
        new Aws.Iot.Inputs.TopicRuleIotEventArgs
        {
            InputName = "string",
            RoleArn = "string",
            BatchMode = false,
            MessageId = "string",
        },
    },
    Kineses = new[]
    {
        new Aws.Iot.Inputs.TopicRuleKinesisArgs
        {
            RoleArn = "string",
            StreamName = "string",
            PartitionKey = "string",
        },
    },
    Dynamodbv2s = new[]
    {
        new Aws.Iot.Inputs.TopicRuleDynamodbv2Args
        {
            RoleArn = "string",
            PutItem = new Aws.Iot.Inputs.TopicRuleDynamodbv2PutItemArgs
            {
                TableName = "string",
            },
        },
    },
    Elasticsearch = new[]
    {
        new Aws.Iot.Inputs.TopicRuleElasticsearchArgs
        {
            Endpoint = "string",
            Id = "string",
            Index = "string",
            RoleArn = "string",
            Type = "string",
        },
    },
    Description = "string",
    ErrorAction = new Aws.Iot.Inputs.TopicRuleErrorActionArgs
    {
        CloudwatchAlarm = new Aws.Iot.Inputs.TopicRuleErrorActionCloudwatchAlarmArgs
        {
            AlarmName = "string",
            RoleArn = "string",
            StateReason = "string",
            StateValue = "string",
        },
        CloudwatchLogs = new Aws.Iot.Inputs.TopicRuleErrorActionCloudwatchLogsArgs
        {
            LogGroupName = "string",
            RoleArn = "string",
            BatchMode = false,
        },
        CloudwatchMetric = new Aws.Iot.Inputs.TopicRuleErrorActionCloudwatchMetricArgs
        {
            MetricName = "string",
            MetricNamespace = "string",
            MetricUnit = "string",
            MetricValue = "string",
            RoleArn = "string",
            MetricTimestamp = "string",
        },
        Dynamodb = new Aws.Iot.Inputs.TopicRuleErrorActionDynamodbArgs
        {
            HashKeyField = "string",
            HashKeyValue = "string",
            RoleArn = "string",
            TableName = "string",
            HashKeyType = "string",
            Operation = "string",
            PayloadField = "string",
            RangeKeyField = "string",
            RangeKeyType = "string",
            RangeKeyValue = "string",
        },
        Dynamodbv2 = new Aws.Iot.Inputs.TopicRuleErrorActionDynamodbv2Args
        {
            RoleArn = "string",
            PutItem = new Aws.Iot.Inputs.TopicRuleErrorActionDynamodbv2PutItemArgs
            {
                TableName = "string",
            },
        },
        Elasticsearch = new Aws.Iot.Inputs.TopicRuleErrorActionElasticsearchArgs
        {
            Endpoint = "string",
            Id = "string",
            Index = "string",
            RoleArn = "string",
            Type = "string",
        },
        Firehose = new Aws.Iot.Inputs.TopicRuleErrorActionFirehoseArgs
        {
            DeliveryStreamName = "string",
            RoleArn = "string",
            BatchMode = false,
            Separator = "string",
        },
        Http = new Aws.Iot.Inputs.TopicRuleErrorActionHttpArgs
        {
            Url = "string",
            ConfirmationUrl = "string",
            HttpHeaders = new[]
            {
                new Aws.Iot.Inputs.TopicRuleErrorActionHttpHttpHeaderArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
        },
        IotAnalytics = new Aws.Iot.Inputs.TopicRuleErrorActionIotAnalyticsArgs
        {
            ChannelName = "string",
            RoleArn = "string",
            BatchMode = false,
        },
        IotEvents = new Aws.Iot.Inputs.TopicRuleErrorActionIotEventsArgs
        {
            InputName = "string",
            RoleArn = "string",
            BatchMode = false,
            MessageId = "string",
        },
        Kafka = new Aws.Iot.Inputs.TopicRuleErrorActionKafkaArgs
        {
            ClientProperties = 
            {
                { "string", "string" },
            },
            DestinationArn = "string",
            Topic = "string",
            Headers = new[]
            {
                new Aws.Iot.Inputs.TopicRuleErrorActionKafkaHeaderArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            Key = "string",
            Partition = "string",
        },
        Kinesis = new Aws.Iot.Inputs.TopicRuleErrorActionKinesisArgs
        {
            RoleArn = "string",
            StreamName = "string",
            PartitionKey = "string",
        },
        Lambda = new Aws.Iot.Inputs.TopicRuleErrorActionLambdaArgs
        {
            FunctionArn = "string",
        },
        Republish = new Aws.Iot.Inputs.TopicRuleErrorActionRepublishArgs
        {
            RoleArn = "string",
            Topic = "string",
            Qos = 0,
        },
        S3 = new Aws.Iot.Inputs.TopicRuleErrorActionS3Args
        {
            BucketName = "string",
            Key = "string",
            RoleArn = "string",
            CannedAcl = "string",
        },
        Sns = new Aws.Iot.Inputs.TopicRuleErrorActionSnsArgs
        {
            RoleArn = "string",
            TargetArn = "string",
            MessageFormat = "string",
        },
        Sqs = new Aws.Iot.Inputs.TopicRuleErrorActionSqsArgs
        {
            QueueUrl = "string",
            RoleArn = "string",
            UseBase64 = false,
        },
        StepFunctions = new Aws.Iot.Inputs.TopicRuleErrorActionStepFunctionsArgs
        {
            RoleArn = "string",
            StateMachineName = "string",
            ExecutionNamePrefix = "string",
        },
        Timestream = new Aws.Iot.Inputs.TopicRuleErrorActionTimestreamArgs
        {
            DatabaseName = "string",
            Dimensions = new[]
            {
                new Aws.Iot.Inputs.TopicRuleErrorActionTimestreamDimensionArgs
                {
                    Name = "string",
                    Value = "string",
                },
            },
            RoleArn = "string",
            TableName = "string",
            Timestamp = new Aws.Iot.Inputs.TopicRuleErrorActionTimestreamTimestampArgs
            {
                Unit = "string",
                Value = "string",
            },
        },
    },
    Firehoses = new[]
    {
        new Aws.Iot.Inputs.TopicRuleFirehoseArgs
        {
            DeliveryStreamName = "string",
            RoleArn = "string",
            BatchMode = false,
            Separator = "string",
        },
    },
    Https = new[]
    {
        new Aws.Iot.Inputs.TopicRuleHttpArgs
        {
            Url = "string",
            ConfirmationUrl = "string",
            HttpHeaders = new[]
            {
                new Aws.Iot.Inputs.TopicRuleHttpHttpHeaderArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
        },
    },
    IotAnalytics = new[]
    {
        new Aws.Iot.Inputs.TopicRuleIotAnalyticArgs
        {
            ChannelName = "string",
            RoleArn = "string",
            BatchMode = false,
        },
    },
    CloudwatchAlarms = new[]
    {
        new Aws.Iot.Inputs.TopicRuleCloudwatchAlarmArgs
        {
            AlarmName = "string",
            RoleArn = "string",
            StateReason = "string",
            StateValue = "string",
        },
    },
    Kafkas = new[]
    {
        new Aws.Iot.Inputs.TopicRuleKafkaArgs
        {
            ClientProperties = 
            {
                { "string", "string" },
            },
            DestinationArn = "string",
            Topic = "string",
            Headers = new[]
            {
                new Aws.Iot.Inputs.TopicRuleKafkaHeaderArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            Key = "string",
            Partition = "string",
        },
    },
    Dynamodbs = new[]
    {
        new Aws.Iot.Inputs.TopicRuleDynamodbArgs
        {
            HashKeyField = "string",
            HashKeyValue = "string",
            RoleArn = "string",
            TableName = "string",
            HashKeyType = "string",
            Operation = "string",
            PayloadField = "string",
            RangeKeyField = "string",
            RangeKeyType = "string",
            RangeKeyValue = "string",
        },
    },
    Lambdas = new[]
    {
        new Aws.Iot.Inputs.TopicRuleLambdaArgs
        {
            FunctionArn = "string",
        },
    },
    Name = "string",
    Republishes = new[]
    {
        new Aws.Iot.Inputs.TopicRuleRepublishArgs
        {
            RoleArn = "string",
            Topic = "string",
            Qos = 0,
        },
    },
    S3 = new[]
    {
        new Aws.Iot.Inputs.TopicRuleS3Args
        {
            BucketName = "string",
            Key = "string",
            RoleArn = "string",
            CannedAcl = "string",
        },
    },
    Sns = new[]
    {
        new Aws.Iot.Inputs.TopicRuleSnsArgs
        {
            RoleArn = "string",
            TargetArn = "string",
            MessageFormat = "string",
        },
    },
    CloudwatchMetrics = new[]
    {
        new Aws.Iot.Inputs.TopicRuleCloudwatchMetricArgs
        {
            MetricName = "string",
            MetricNamespace = "string",
            MetricUnit = "string",
            MetricValue = "string",
            RoleArn = "string",
            MetricTimestamp = "string",
        },
    },
    CloudwatchLogs = new[]
    {
        new Aws.Iot.Inputs.TopicRuleCloudwatchLogArgs
        {
            LogGroupName = "string",
            RoleArn = "string",
            BatchMode = false,
        },
    },
    Sqs = new[]
    {
        new Aws.Iot.Inputs.TopicRuleSqsArgs
        {
            QueueUrl = "string",
            RoleArn = "string",
            UseBase64 = false,
        },
    },
    StepFunctions = new[]
    {
        new Aws.Iot.Inputs.TopicRuleStepFunctionArgs
        {
            RoleArn = "string",
            StateMachineName = "string",
            ExecutionNamePrefix = "string",
        },
    },
    Tags = 
    {
        { "string", "string" },
    },
    Timestreams = new[]
    {
        new Aws.Iot.Inputs.TopicRuleTimestreamArgs
        {
            DatabaseName = "string",
            Dimensions = new[]
            {
                new Aws.Iot.Inputs.TopicRuleTimestreamDimensionArgs
                {
                    Name = "string",
                    Value = "string",
                },
            },
            RoleArn = "string",
            TableName = "string",
            Timestamp = new Aws.Iot.Inputs.TopicRuleTimestreamTimestampArgs
            {
                Unit = "string",
                Value = "string",
            },
        },
    },
});
example, err := iot.NewTopicRule(ctx, "topicRuleResource", &iot.TopicRuleArgs{
	Enabled:    pulumi.Bool(false),
	SqlVersion: pulumi.String("string"),
	Sql:        pulumi.String("string"),
	IotEvents: iot.TopicRuleIotEventArray{
		&iot.TopicRuleIotEventArgs{
			InputName: pulumi.String("string"),
			RoleArn:   pulumi.String("string"),
			BatchMode: pulumi.Bool(false),
			MessageId: pulumi.String("string"),
		},
	},
	Kineses: iot.TopicRuleKinesisArray{
		&iot.TopicRuleKinesisArgs{
			RoleArn:      pulumi.String("string"),
			StreamName:   pulumi.String("string"),
			PartitionKey: pulumi.String("string"),
		},
	},
	Dynamodbv2s: iot.TopicRuleDynamodbv2Array{
		&iot.TopicRuleDynamodbv2Args{
			RoleArn: pulumi.String("string"),
			PutItem: &iot.TopicRuleDynamodbv2PutItemArgs{
				TableName: pulumi.String("string"),
			},
		},
	},
	Elasticsearch: iot.TopicRuleElasticsearchArray{
		&iot.TopicRuleElasticsearchArgs{
			Endpoint: pulumi.String("string"),
			Id:       pulumi.String("string"),
			Index:    pulumi.String("string"),
			RoleArn:  pulumi.String("string"),
			Type:     pulumi.String("string"),
		},
	},
	Description: pulumi.String("string"),
	ErrorAction: &iot.TopicRuleErrorActionArgs{
		CloudwatchAlarm: &iot.TopicRuleErrorActionCloudwatchAlarmArgs{
			AlarmName:   pulumi.String("string"),
			RoleArn:     pulumi.String("string"),
			StateReason: pulumi.String("string"),
			StateValue:  pulumi.String("string"),
		},
		CloudwatchLogs: &iot.TopicRuleErrorActionCloudwatchLogsArgs{
			LogGroupName: pulumi.String("string"),
			RoleArn:      pulumi.String("string"),
			BatchMode:    pulumi.Bool(false),
		},
		CloudwatchMetric: &iot.TopicRuleErrorActionCloudwatchMetricArgs{
			MetricName:      pulumi.String("string"),
			MetricNamespace: pulumi.String("string"),
			MetricUnit:      pulumi.String("string"),
			MetricValue:     pulumi.String("string"),
			RoleArn:         pulumi.String("string"),
			MetricTimestamp: pulumi.String("string"),
		},
		Dynamodb: &iot.TopicRuleErrorActionDynamodbArgs{
			HashKeyField:  pulumi.String("string"),
			HashKeyValue:  pulumi.String("string"),
			RoleArn:       pulumi.String("string"),
			TableName:     pulumi.String("string"),
			HashKeyType:   pulumi.String("string"),
			Operation:     pulumi.String("string"),
			PayloadField:  pulumi.String("string"),
			RangeKeyField: pulumi.String("string"),
			RangeKeyType:  pulumi.String("string"),
			RangeKeyValue: pulumi.String("string"),
		},
		Dynamodbv2: &iot.TopicRuleErrorActionDynamodbv2Args{
			RoleArn: pulumi.String("string"),
			PutItem: &iot.TopicRuleErrorActionDynamodbv2PutItemArgs{
				TableName: pulumi.String("string"),
			},
		},
		Elasticsearch: &iot.TopicRuleErrorActionElasticsearchArgs{
			Endpoint: pulumi.String("string"),
			Id:       pulumi.String("string"),
			Index:    pulumi.String("string"),
			RoleArn:  pulumi.String("string"),
			Type:     pulumi.String("string"),
		},
		Firehose: &iot.TopicRuleErrorActionFirehoseArgs{
			DeliveryStreamName: pulumi.String("string"),
			RoleArn:            pulumi.String("string"),
			BatchMode:          pulumi.Bool(false),
			Separator:          pulumi.String("string"),
		},
		Http: &iot.TopicRuleErrorActionHttpArgs{
			Url:             pulumi.String("string"),
			ConfirmationUrl: pulumi.String("string"),
			HttpHeaders: iot.TopicRuleErrorActionHttpHttpHeaderArray{
				&iot.TopicRuleErrorActionHttpHttpHeaderArgs{
					Key:   pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
		},
		IotAnalytics: &iot.TopicRuleErrorActionIotAnalyticsArgs{
			ChannelName: pulumi.String("string"),
			RoleArn:     pulumi.String("string"),
			BatchMode:   pulumi.Bool(false),
		},
		IotEvents: &iot.TopicRuleErrorActionIotEventsArgs{
			InputName: pulumi.String("string"),
			RoleArn:   pulumi.String("string"),
			BatchMode: pulumi.Bool(false),
			MessageId: pulumi.String("string"),
		},
		Kafka: &iot.TopicRuleErrorActionKafkaArgs{
			ClientProperties: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			DestinationArn: pulumi.String("string"),
			Topic:          pulumi.String("string"),
			Headers: iot.TopicRuleErrorActionKafkaHeaderArray{
				&iot.TopicRuleErrorActionKafkaHeaderArgs{
					Key:   pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			Key:       pulumi.String("string"),
			Partition: pulumi.String("string"),
		},
		Kinesis: &iot.TopicRuleErrorActionKinesisArgs{
			RoleArn:      pulumi.String("string"),
			StreamName:   pulumi.String("string"),
			PartitionKey: pulumi.String("string"),
		},
		Lambda: &iot.TopicRuleErrorActionLambdaArgs{
			FunctionArn: pulumi.String("string"),
		},
		Republish: &iot.TopicRuleErrorActionRepublishArgs{
			RoleArn: pulumi.String("string"),
			Topic:   pulumi.String("string"),
			Qos:     pulumi.Int(0),
		},
		S3: &iot.TopicRuleErrorActionS3Args{
			BucketName: pulumi.String("string"),
			Key:        pulumi.String("string"),
			RoleArn:    pulumi.String("string"),
			CannedAcl:  pulumi.String("string"),
		},
		Sns: &iot.TopicRuleErrorActionSnsArgs{
			RoleArn:       pulumi.String("string"),
			TargetArn:     pulumi.String("string"),
			MessageFormat: pulumi.String("string"),
		},
		Sqs: &iot.TopicRuleErrorActionSqsArgs{
			QueueUrl:  pulumi.String("string"),
			RoleArn:   pulumi.String("string"),
			UseBase64: pulumi.Bool(false),
		},
		StepFunctions: &iot.TopicRuleErrorActionStepFunctionsArgs{
			RoleArn:             pulumi.String("string"),
			StateMachineName:    pulumi.String("string"),
			ExecutionNamePrefix: pulumi.String("string"),
		},
		Timestream: &iot.TopicRuleErrorActionTimestreamArgs{
			DatabaseName: pulumi.String("string"),
			Dimensions: iot.TopicRuleErrorActionTimestreamDimensionArray{
				&iot.TopicRuleErrorActionTimestreamDimensionArgs{
					Name:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			RoleArn:   pulumi.String("string"),
			TableName: pulumi.String("string"),
			Timestamp: &iot.TopicRuleErrorActionTimestreamTimestampArgs{
				Unit:  pulumi.String("string"),
				Value: pulumi.String("string"),
			},
		},
	},
	Firehoses: iot.TopicRuleFirehoseArray{
		&iot.TopicRuleFirehoseArgs{
			DeliveryStreamName: pulumi.String("string"),
			RoleArn:            pulumi.String("string"),
			BatchMode:          pulumi.Bool(false),
			Separator:          pulumi.String("string"),
		},
	},
	Https: iot.TopicRuleHttpArray{
		&iot.TopicRuleHttpArgs{
			Url:             pulumi.String("string"),
			ConfirmationUrl: pulumi.String("string"),
			HttpHeaders: iot.TopicRuleHttpHttpHeaderArray{
				&iot.TopicRuleHttpHttpHeaderArgs{
					Key:   pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
		},
	},
	IotAnalytics: iot.TopicRuleIotAnalyticArray{
		&iot.TopicRuleIotAnalyticArgs{
			ChannelName: pulumi.String("string"),
			RoleArn:     pulumi.String("string"),
			BatchMode:   pulumi.Bool(false),
		},
	},
	CloudwatchAlarms: iot.TopicRuleCloudwatchAlarmArray{
		&iot.TopicRuleCloudwatchAlarmArgs{
			AlarmName:   pulumi.String("string"),
			RoleArn:     pulumi.String("string"),
			StateReason: pulumi.String("string"),
			StateValue:  pulumi.String("string"),
		},
	},
	Kafkas: iot.TopicRuleKafkaArray{
		&iot.TopicRuleKafkaArgs{
			ClientProperties: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			DestinationArn: pulumi.String("string"),
			Topic:          pulumi.String("string"),
			Headers: iot.TopicRuleKafkaHeaderArray{
				&iot.TopicRuleKafkaHeaderArgs{
					Key:   pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			Key:       pulumi.String("string"),
			Partition: pulumi.String("string"),
		},
	},
	Dynamodbs: iot.TopicRuleDynamodbArray{
		&iot.TopicRuleDynamodbArgs{
			HashKeyField:  pulumi.String("string"),
			HashKeyValue:  pulumi.String("string"),
			RoleArn:       pulumi.String("string"),
			TableName:     pulumi.String("string"),
			HashKeyType:   pulumi.String("string"),
			Operation:     pulumi.String("string"),
			PayloadField:  pulumi.String("string"),
			RangeKeyField: pulumi.String("string"),
			RangeKeyType:  pulumi.String("string"),
			RangeKeyValue: pulumi.String("string"),
		},
	},
	Lambdas: iot.TopicRuleLambdaArray{
		&iot.TopicRuleLambdaArgs{
			FunctionArn: pulumi.String("string"),
		},
	},
	Name: pulumi.String("string"),
	Republishes: iot.TopicRuleRepublishArray{
		&iot.TopicRuleRepublishArgs{
			RoleArn: pulumi.String("string"),
			Topic:   pulumi.String("string"),
			Qos:     pulumi.Int(0),
		},
	},
	S3: iot.TopicRuleS3Array{
		&iot.TopicRuleS3Args{
			BucketName: pulumi.String("string"),
			Key:        pulumi.String("string"),
			RoleArn:    pulumi.String("string"),
			CannedAcl:  pulumi.String("string"),
		},
	},
	Sns: iot.TopicRuleSnsArray{
		&iot.TopicRuleSnsArgs{
			RoleArn:       pulumi.String("string"),
			TargetArn:     pulumi.String("string"),
			MessageFormat: pulumi.String("string"),
		},
	},
	CloudwatchMetrics: iot.TopicRuleCloudwatchMetricArray{
		&iot.TopicRuleCloudwatchMetricArgs{
			MetricName:      pulumi.String("string"),
			MetricNamespace: pulumi.String("string"),
			MetricUnit:      pulumi.String("string"),
			MetricValue:     pulumi.String("string"),
			RoleArn:         pulumi.String("string"),
			MetricTimestamp: pulumi.String("string"),
		},
	},
	CloudwatchLogs: iot.TopicRuleCloudwatchLogArray{
		&iot.TopicRuleCloudwatchLogArgs{
			LogGroupName: pulumi.String("string"),
			RoleArn:      pulumi.String("string"),
			BatchMode:    pulumi.Bool(false),
		},
	},
	Sqs: iot.TopicRuleSqsArray{
		&iot.TopicRuleSqsArgs{
			QueueUrl:  pulumi.String("string"),
			RoleArn:   pulumi.String("string"),
			UseBase64: pulumi.Bool(false),
		},
	},
	StepFunctions: iot.TopicRuleStepFunctionArray{
		&iot.TopicRuleStepFunctionArgs{
			RoleArn:             pulumi.String("string"),
			StateMachineName:    pulumi.String("string"),
			ExecutionNamePrefix: pulumi.String("string"),
		},
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Timestreams: iot.TopicRuleTimestreamArray{
		&iot.TopicRuleTimestreamArgs{
			DatabaseName: pulumi.String("string"),
			Dimensions: iot.TopicRuleTimestreamDimensionArray{
				&iot.TopicRuleTimestreamDimensionArgs{
					Name:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			RoleArn:   pulumi.String("string"),
			TableName: pulumi.String("string"),
			Timestamp: &iot.TopicRuleTimestreamTimestampArgs{
				Unit:  pulumi.String("string"),
				Value: pulumi.String("string"),
			},
		},
	},
})
var topicRuleResource = new TopicRule("topicRuleResource", TopicRuleArgs.builder()
    .enabled(false)
    .sqlVersion("string")
    .sql("string")
    .iotEvents(TopicRuleIotEventArgs.builder()
        .inputName("string")
        .roleArn("string")
        .batchMode(false)
        .messageId("string")
        .build())
    .kineses(TopicRuleKinesisArgs.builder()
        .roleArn("string")
        .streamName("string")
        .partitionKey("string")
        .build())
    .dynamodbv2s(TopicRuleDynamodbv2Args.builder()
        .roleArn("string")
        .putItem(TopicRuleDynamodbv2PutItemArgs.builder()
            .tableName("string")
            .build())
        .build())
    .elasticsearch(TopicRuleElasticsearchArgs.builder()
        .endpoint("string")
        .id("string")
        .index("string")
        .roleArn("string")
        .type("string")
        .build())
    .description("string")
    .errorAction(TopicRuleErrorActionArgs.builder()
        .cloudwatchAlarm(TopicRuleErrorActionCloudwatchAlarmArgs.builder()
            .alarmName("string")
            .roleArn("string")
            .stateReason("string")
            .stateValue("string")
            .build())
        .cloudwatchLogs(TopicRuleErrorActionCloudwatchLogsArgs.builder()
            .logGroupName("string")
            .roleArn("string")
            .batchMode(false)
            .build())
        .cloudwatchMetric(TopicRuleErrorActionCloudwatchMetricArgs.builder()
            .metricName("string")
            .metricNamespace("string")
            .metricUnit("string")
            .metricValue("string")
            .roleArn("string")
            .metricTimestamp("string")
            .build())
        .dynamodb(TopicRuleErrorActionDynamodbArgs.builder()
            .hashKeyField("string")
            .hashKeyValue("string")
            .roleArn("string")
            .tableName("string")
            .hashKeyType("string")
            .operation("string")
            .payloadField("string")
            .rangeKeyField("string")
            .rangeKeyType("string")
            .rangeKeyValue("string")
            .build())
        .dynamodbv2(TopicRuleErrorActionDynamodbv2Args.builder()
            .roleArn("string")
            .putItem(TopicRuleErrorActionDynamodbv2PutItemArgs.builder()
                .tableName("string")
                .build())
            .build())
        .elasticsearch(TopicRuleErrorActionElasticsearchArgs.builder()
            .endpoint("string")
            .id("string")
            .index("string")
            .roleArn("string")
            .type("string")
            .build())
        .firehose(TopicRuleErrorActionFirehoseArgs.builder()
            .deliveryStreamName("string")
            .roleArn("string")
            .batchMode(false)
            .separator("string")
            .build())
        .http(TopicRuleErrorActionHttpArgs.builder()
            .url("string")
            .confirmationUrl("string")
            .httpHeaders(TopicRuleErrorActionHttpHttpHeaderArgs.builder()
                .key("string")
                .value("string")
                .build())
            .build())
        .iotAnalytics(TopicRuleErrorActionIotAnalyticsArgs.builder()
            .channelName("string")
            .roleArn("string")
            .batchMode(false)
            .build())
        .iotEvents(TopicRuleErrorActionIotEventsArgs.builder()
            .inputName("string")
            .roleArn("string")
            .batchMode(false)
            .messageId("string")
            .build())
        .kafka(TopicRuleErrorActionKafkaArgs.builder()
            .clientProperties(Map.of("string", "string"))
            .destinationArn("string")
            .topic("string")
            .headers(TopicRuleErrorActionKafkaHeaderArgs.builder()
                .key("string")
                .value("string")
                .build())
            .key("string")
            .partition("string")
            .build())
        .kinesis(TopicRuleErrorActionKinesisArgs.builder()
            .roleArn("string")
            .streamName("string")
            .partitionKey("string")
            .build())
        .lambda(TopicRuleErrorActionLambdaArgs.builder()
            .functionArn("string")
            .build())
        .republish(TopicRuleErrorActionRepublishArgs.builder()
            .roleArn("string")
            .topic("string")
            .qos(0)
            .build())
        .s3(TopicRuleErrorActionS3Args.builder()
            .bucketName("string")
            .key("string")
            .roleArn("string")
            .cannedAcl("string")
            .build())
        .sns(TopicRuleErrorActionSnsArgs.builder()
            .roleArn("string")
            .targetArn("string")
            .messageFormat("string")
            .build())
        .sqs(TopicRuleErrorActionSqsArgs.builder()
            .queueUrl("string")
            .roleArn("string")
            .useBase64(false)
            .build())
        .stepFunctions(TopicRuleErrorActionStepFunctionsArgs.builder()
            .roleArn("string")
            .stateMachineName("string")
            .executionNamePrefix("string")
            .build())
        .timestream(TopicRuleErrorActionTimestreamArgs.builder()
            .databaseName("string")
            .dimensions(TopicRuleErrorActionTimestreamDimensionArgs.builder()
                .name("string")
                .value("string")
                .build())
            .roleArn("string")
            .tableName("string")
            .timestamp(TopicRuleErrorActionTimestreamTimestampArgs.builder()
                .unit("string")
                .value("string")
                .build())
            .build())
        .build())
    .firehoses(TopicRuleFirehoseArgs.builder()
        .deliveryStreamName("string")
        .roleArn("string")
        .batchMode(false)
        .separator("string")
        .build())
    .https(TopicRuleHttpArgs.builder()
        .url("string")
        .confirmationUrl("string")
        .httpHeaders(TopicRuleHttpHttpHeaderArgs.builder()
            .key("string")
            .value("string")
            .build())
        .build())
    .iotAnalytics(TopicRuleIotAnalyticArgs.builder()
        .channelName("string")
        .roleArn("string")
        .batchMode(false)
        .build())
    .cloudwatchAlarms(TopicRuleCloudwatchAlarmArgs.builder()
        .alarmName("string")
        .roleArn("string")
        .stateReason("string")
        .stateValue("string")
        .build())
    .kafkas(TopicRuleKafkaArgs.builder()
        .clientProperties(Map.of("string", "string"))
        .destinationArn("string")
        .topic("string")
        .headers(TopicRuleKafkaHeaderArgs.builder()
            .key("string")
            .value("string")
            .build())
        .key("string")
        .partition("string")
        .build())
    .dynamodbs(TopicRuleDynamodbArgs.builder()
        .hashKeyField("string")
        .hashKeyValue("string")
        .roleArn("string")
        .tableName("string")
        .hashKeyType("string")
        .operation("string")
        .payloadField("string")
        .rangeKeyField("string")
        .rangeKeyType("string")
        .rangeKeyValue("string")
        .build())
    .lambdas(TopicRuleLambdaArgs.builder()
        .functionArn("string")
        .build())
    .name("string")
    .republishes(TopicRuleRepublishArgs.builder()
        .roleArn("string")
        .topic("string")
        .qos(0)
        .build())
    .s3(TopicRuleS3Args.builder()
        .bucketName("string")
        .key("string")
        .roleArn("string")
        .cannedAcl("string")
        .build())
    .sns(TopicRuleSnsArgs.builder()
        .roleArn("string")
        .targetArn("string")
        .messageFormat("string")
        .build())
    .cloudwatchMetrics(TopicRuleCloudwatchMetricArgs.builder()
        .metricName("string")
        .metricNamespace("string")
        .metricUnit("string")
        .metricValue("string")
        .roleArn("string")
        .metricTimestamp("string")
        .build())
    .cloudwatchLogs(TopicRuleCloudwatchLogArgs.builder()
        .logGroupName("string")
        .roleArn("string")
        .batchMode(false)
        .build())
    .sqs(TopicRuleSqsArgs.builder()
        .queueUrl("string")
        .roleArn("string")
        .useBase64(false)
        .build())
    .stepFunctions(TopicRuleStepFunctionArgs.builder()
        .roleArn("string")
        .stateMachineName("string")
        .executionNamePrefix("string")
        .build())
    .tags(Map.of("string", "string"))
    .timestreams(TopicRuleTimestreamArgs.builder()
        .databaseName("string")
        .dimensions(TopicRuleTimestreamDimensionArgs.builder()
            .name("string")
            .value("string")
            .build())
        .roleArn("string")
        .tableName("string")
        .timestamp(TopicRuleTimestreamTimestampArgs.builder()
            .unit("string")
            .value("string")
            .build())
        .build())
    .build());
topic_rule_resource = aws.iot.TopicRule("topicRuleResource",
    enabled=False,
    sql_version="string",
    sql="string",
    iot_events=[{
        "input_name": "string",
        "role_arn": "string",
        "batch_mode": False,
        "message_id": "string",
    }],
    kineses=[{
        "role_arn": "string",
        "stream_name": "string",
        "partition_key": "string",
    }],
    dynamodbv2s=[{
        "role_arn": "string",
        "put_item": {
            "table_name": "string",
        },
    }],
    elasticsearch=[{
        "endpoint": "string",
        "id": "string",
        "index": "string",
        "role_arn": "string",
        "type": "string",
    }],
    description="string",
    error_action={
        "cloudwatch_alarm": {
            "alarm_name": "string",
            "role_arn": "string",
            "state_reason": "string",
            "state_value": "string",
        },
        "cloudwatch_logs": {
            "log_group_name": "string",
            "role_arn": "string",
            "batch_mode": False,
        },
        "cloudwatch_metric": {
            "metric_name": "string",
            "metric_namespace": "string",
            "metric_unit": "string",
            "metric_value": "string",
            "role_arn": "string",
            "metric_timestamp": "string",
        },
        "dynamodb": {
            "hash_key_field": "string",
            "hash_key_value": "string",
            "role_arn": "string",
            "table_name": "string",
            "hash_key_type": "string",
            "operation": "string",
            "payload_field": "string",
            "range_key_field": "string",
            "range_key_type": "string",
            "range_key_value": "string",
        },
        "dynamodbv2": {
            "role_arn": "string",
            "put_item": {
                "table_name": "string",
            },
        },
        "elasticsearch": {
            "endpoint": "string",
            "id": "string",
            "index": "string",
            "role_arn": "string",
            "type": "string",
        },
        "firehose": {
            "delivery_stream_name": "string",
            "role_arn": "string",
            "batch_mode": False,
            "separator": "string",
        },
        "http": {
            "url": "string",
            "confirmation_url": "string",
            "http_headers": [{
                "key": "string",
                "value": "string",
            }],
        },
        "iot_analytics": {
            "channel_name": "string",
            "role_arn": "string",
            "batch_mode": False,
        },
        "iot_events": {
            "input_name": "string",
            "role_arn": "string",
            "batch_mode": False,
            "message_id": "string",
        },
        "kafka": {
            "client_properties": {
                "string": "string",
            },
            "destination_arn": "string",
            "topic": "string",
            "headers": [{
                "key": "string",
                "value": "string",
            }],
            "key": "string",
            "partition": "string",
        },
        "kinesis": {
            "role_arn": "string",
            "stream_name": "string",
            "partition_key": "string",
        },
        "lambda_": {
            "function_arn": "string",
        },
        "republish": {
            "role_arn": "string",
            "topic": "string",
            "qos": 0,
        },
        "s3": {
            "bucket_name": "string",
            "key": "string",
            "role_arn": "string",
            "canned_acl": "string",
        },
        "sns": {
            "role_arn": "string",
            "target_arn": "string",
            "message_format": "string",
        },
        "sqs": {
            "queue_url": "string",
            "role_arn": "string",
            "use_base64": False,
        },
        "step_functions": {
            "role_arn": "string",
            "state_machine_name": "string",
            "execution_name_prefix": "string",
        },
        "timestream": {
            "database_name": "string",
            "dimensions": [{
                "name": "string",
                "value": "string",
            }],
            "role_arn": "string",
            "table_name": "string",
            "timestamp": {
                "unit": "string",
                "value": "string",
            },
        },
    },
    firehoses=[{
        "delivery_stream_name": "string",
        "role_arn": "string",
        "batch_mode": False,
        "separator": "string",
    }],
    https=[{
        "url": "string",
        "confirmation_url": "string",
        "http_headers": [{
            "key": "string",
            "value": "string",
        }],
    }],
    iot_analytics=[{
        "channel_name": "string",
        "role_arn": "string",
        "batch_mode": False,
    }],
    cloudwatch_alarms=[{
        "alarm_name": "string",
        "role_arn": "string",
        "state_reason": "string",
        "state_value": "string",
    }],
    kafkas=[{
        "client_properties": {
            "string": "string",
        },
        "destination_arn": "string",
        "topic": "string",
        "headers": [{
            "key": "string",
            "value": "string",
        }],
        "key": "string",
        "partition": "string",
    }],
    dynamodbs=[{
        "hash_key_field": "string",
        "hash_key_value": "string",
        "role_arn": "string",
        "table_name": "string",
        "hash_key_type": "string",
        "operation": "string",
        "payload_field": "string",
        "range_key_field": "string",
        "range_key_type": "string",
        "range_key_value": "string",
    }],
    lambdas=[{
        "function_arn": "string",
    }],
    name="string",
    republishes=[{
        "role_arn": "string",
        "topic": "string",
        "qos": 0,
    }],
    s3=[{
        "bucket_name": "string",
        "key": "string",
        "role_arn": "string",
        "canned_acl": "string",
    }],
    sns=[{
        "role_arn": "string",
        "target_arn": "string",
        "message_format": "string",
    }],
    cloudwatch_metrics=[{
        "metric_name": "string",
        "metric_namespace": "string",
        "metric_unit": "string",
        "metric_value": "string",
        "role_arn": "string",
        "metric_timestamp": "string",
    }],
    cloudwatch_logs=[{
        "log_group_name": "string",
        "role_arn": "string",
        "batch_mode": False,
    }],
    sqs=[{
        "queue_url": "string",
        "role_arn": "string",
        "use_base64": False,
    }],
    step_functions=[{
        "role_arn": "string",
        "state_machine_name": "string",
        "execution_name_prefix": "string",
    }],
    tags={
        "string": "string",
    },
    timestreams=[{
        "database_name": "string",
        "dimensions": [{
            "name": "string",
            "value": "string",
        }],
        "role_arn": "string",
        "table_name": "string",
        "timestamp": {
            "unit": "string",
            "value": "string",
        },
    }])
const topicRuleResource = new aws.iot.TopicRule("topicRuleResource", {
    enabled: false,
    sqlVersion: "string",
    sql: "string",
    iotEvents: [{
        inputName: "string",
        roleArn: "string",
        batchMode: false,
        messageId: "string",
    }],
    kineses: [{
        roleArn: "string",
        streamName: "string",
        partitionKey: "string",
    }],
    dynamodbv2s: [{
        roleArn: "string",
        putItem: {
            tableName: "string",
        },
    }],
    elasticsearch: [{
        endpoint: "string",
        id: "string",
        index: "string",
        roleArn: "string",
        type: "string",
    }],
    description: "string",
    errorAction: {
        cloudwatchAlarm: {
            alarmName: "string",
            roleArn: "string",
            stateReason: "string",
            stateValue: "string",
        },
        cloudwatchLogs: {
            logGroupName: "string",
            roleArn: "string",
            batchMode: false,
        },
        cloudwatchMetric: {
            metricName: "string",
            metricNamespace: "string",
            metricUnit: "string",
            metricValue: "string",
            roleArn: "string",
            metricTimestamp: "string",
        },
        dynamodb: {
            hashKeyField: "string",
            hashKeyValue: "string",
            roleArn: "string",
            tableName: "string",
            hashKeyType: "string",
            operation: "string",
            payloadField: "string",
            rangeKeyField: "string",
            rangeKeyType: "string",
            rangeKeyValue: "string",
        },
        dynamodbv2: {
            roleArn: "string",
            putItem: {
                tableName: "string",
            },
        },
        elasticsearch: {
            endpoint: "string",
            id: "string",
            index: "string",
            roleArn: "string",
            type: "string",
        },
        firehose: {
            deliveryStreamName: "string",
            roleArn: "string",
            batchMode: false,
            separator: "string",
        },
        http: {
            url: "string",
            confirmationUrl: "string",
            httpHeaders: [{
                key: "string",
                value: "string",
            }],
        },
        iotAnalytics: {
            channelName: "string",
            roleArn: "string",
            batchMode: false,
        },
        iotEvents: {
            inputName: "string",
            roleArn: "string",
            batchMode: false,
            messageId: "string",
        },
        kafka: {
            clientProperties: {
                string: "string",
            },
            destinationArn: "string",
            topic: "string",
            headers: [{
                key: "string",
                value: "string",
            }],
            key: "string",
            partition: "string",
        },
        kinesis: {
            roleArn: "string",
            streamName: "string",
            partitionKey: "string",
        },
        lambda: {
            functionArn: "string",
        },
        republish: {
            roleArn: "string",
            topic: "string",
            qos: 0,
        },
        s3: {
            bucketName: "string",
            key: "string",
            roleArn: "string",
            cannedAcl: "string",
        },
        sns: {
            roleArn: "string",
            targetArn: "string",
            messageFormat: "string",
        },
        sqs: {
            queueUrl: "string",
            roleArn: "string",
            useBase64: false,
        },
        stepFunctions: {
            roleArn: "string",
            stateMachineName: "string",
            executionNamePrefix: "string",
        },
        timestream: {
            databaseName: "string",
            dimensions: [{
                name: "string",
                value: "string",
            }],
            roleArn: "string",
            tableName: "string",
            timestamp: {
                unit: "string",
                value: "string",
            },
        },
    },
    firehoses: [{
        deliveryStreamName: "string",
        roleArn: "string",
        batchMode: false,
        separator: "string",
    }],
    https: [{
        url: "string",
        confirmationUrl: "string",
        httpHeaders: [{
            key: "string",
            value: "string",
        }],
    }],
    iotAnalytics: [{
        channelName: "string",
        roleArn: "string",
        batchMode: false,
    }],
    cloudwatchAlarms: [{
        alarmName: "string",
        roleArn: "string",
        stateReason: "string",
        stateValue: "string",
    }],
    kafkas: [{
        clientProperties: {
            string: "string",
        },
        destinationArn: "string",
        topic: "string",
        headers: [{
            key: "string",
            value: "string",
        }],
        key: "string",
        partition: "string",
    }],
    dynamodbs: [{
        hashKeyField: "string",
        hashKeyValue: "string",
        roleArn: "string",
        tableName: "string",
        hashKeyType: "string",
        operation: "string",
        payloadField: "string",
        rangeKeyField: "string",
        rangeKeyType: "string",
        rangeKeyValue: "string",
    }],
    lambdas: [{
        functionArn: "string",
    }],
    name: "string",
    republishes: [{
        roleArn: "string",
        topic: "string",
        qos: 0,
    }],
    s3: [{
        bucketName: "string",
        key: "string",
        roleArn: "string",
        cannedAcl: "string",
    }],
    sns: [{
        roleArn: "string",
        targetArn: "string",
        messageFormat: "string",
    }],
    cloudwatchMetrics: [{
        metricName: "string",
        metricNamespace: "string",
        metricUnit: "string",
        metricValue: "string",
        roleArn: "string",
        metricTimestamp: "string",
    }],
    cloudwatchLogs: [{
        logGroupName: "string",
        roleArn: "string",
        batchMode: false,
    }],
    sqs: [{
        queueUrl: "string",
        roleArn: "string",
        useBase64: false,
    }],
    stepFunctions: [{
        roleArn: "string",
        stateMachineName: "string",
        executionNamePrefix: "string",
    }],
    tags: {
        string: "string",
    },
    timestreams: [{
        databaseName: "string",
        dimensions: [{
            name: "string",
            value: "string",
        }],
        roleArn: "string",
        tableName: "string",
        timestamp: {
            unit: "string",
            value: "string",
        },
    }],
});
type: aws:iot:TopicRule
properties:
    cloudwatchAlarms:
        - alarmName: string
          roleArn: string
          stateReason: string
          stateValue: string
    cloudwatchLogs:
        - batchMode: false
          logGroupName: string
          roleArn: string
    cloudwatchMetrics:
        - metricName: string
          metricNamespace: string
          metricTimestamp: string
          metricUnit: string
          metricValue: string
          roleArn: string
    description: string
    dynamodbs:
        - hashKeyField: string
          hashKeyType: string
          hashKeyValue: string
          operation: string
          payloadField: string
          rangeKeyField: string
          rangeKeyType: string
          rangeKeyValue: string
          roleArn: string
          tableName: string
    dynamodbv2s:
        - putItem:
            tableName: string
          roleArn: string
    elasticsearch:
        - endpoint: string
          id: string
          index: string
          roleArn: string
          type: string
    enabled: false
    errorAction:
        cloudwatchAlarm:
            alarmName: string
            roleArn: string
            stateReason: string
            stateValue: string
        cloudwatchLogs:
            batchMode: false
            logGroupName: string
            roleArn: string
        cloudwatchMetric:
            metricName: string
            metricNamespace: string
            metricTimestamp: string
            metricUnit: string
            metricValue: string
            roleArn: string
        dynamodb:
            hashKeyField: string
            hashKeyType: string
            hashKeyValue: string
            operation: string
            payloadField: string
            rangeKeyField: string
            rangeKeyType: string
            rangeKeyValue: string
            roleArn: string
            tableName: string
        dynamodbv2:
            putItem:
                tableName: string
            roleArn: string
        elasticsearch:
            endpoint: string
            id: string
            index: string
            roleArn: string
            type: string
        firehose:
            batchMode: false
            deliveryStreamName: string
            roleArn: string
            separator: string
        http:
            confirmationUrl: string
            httpHeaders:
                - key: string
                  value: string
            url: string
        iotAnalytics:
            batchMode: false
            channelName: string
            roleArn: string
        iotEvents:
            batchMode: false
            inputName: string
            messageId: string
            roleArn: string
        kafka:
            clientProperties:
                string: string
            destinationArn: string
            headers:
                - key: string
                  value: string
            key: string
            partition: string
            topic: string
        kinesis:
            partitionKey: string
            roleArn: string
            streamName: string
        lambda:
            functionArn: string
        republish:
            qos: 0
            roleArn: string
            topic: string
        s3:
            bucketName: string
            cannedAcl: string
            key: string
            roleArn: string
        sns:
            messageFormat: string
            roleArn: string
            targetArn: string
        sqs:
            queueUrl: string
            roleArn: string
            useBase64: false
        stepFunctions:
            executionNamePrefix: string
            roleArn: string
            stateMachineName: string
        timestream:
            databaseName: string
            dimensions:
                - name: string
                  value: string
            roleArn: string
            tableName: string
            timestamp:
                unit: string
                value: string
    firehoses:
        - batchMode: false
          deliveryStreamName: string
          roleArn: string
          separator: string
    https:
        - confirmationUrl: string
          httpHeaders:
            - key: string
              value: string
          url: string
    iotAnalytics:
        - batchMode: false
          channelName: string
          roleArn: string
    iotEvents:
        - batchMode: false
          inputName: string
          messageId: string
          roleArn: string
    kafkas:
        - clientProperties:
            string: string
          destinationArn: string
          headers:
            - key: string
              value: string
          key: string
          partition: string
          topic: string
    kineses:
        - partitionKey: string
          roleArn: string
          streamName: string
    lambdas:
        - functionArn: string
    name: string
    republishes:
        - qos: 0
          roleArn: string
          topic: string
    s3:
        - bucketName: string
          cannedAcl: string
          key: string
          roleArn: string
    sns:
        - messageFormat: string
          roleArn: string
          targetArn: string
    sql: string
    sqlVersion: string
    sqs:
        - queueUrl: string
          roleArn: string
          useBase64: false
    stepFunctions:
        - executionNamePrefix: string
          roleArn: string
          stateMachineName: string
    tags:
        string: string
    timestreams:
        - databaseName: string
          dimensions:
            - name: string
              value: string
          roleArn: string
          tableName: string
          timestamp:
            unit: string
            value: string
TopicRule Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
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.
- CloudwatchAlarms List<TopicRule Cloudwatch Alarm> 
- CloudwatchLogs List<TopicRule Cloudwatch Log> 
- CloudwatchMetrics List<TopicRule Cloudwatch Metric> 
- Description string
- The description of the rule.
- Dynamodbs
List<TopicRule Dynamodb> 
- Dynamodbv2s
List<TopicRule Dynamodbv2> 
- Elasticsearch
List<TopicRule Elasticsearch> 
- ErrorAction TopicRule Error Action 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- Firehoses
List<TopicRule Firehose> 
- Https
List<TopicRule Http> 
- IotAnalytics List<TopicRule Iot Analytic> 
- IotEvents List<TopicRule Iot Event> 
- Kafkas
List<TopicRule Kafka> 
- Kineses
List<TopicRule Kinesis> 
- Lambdas
List<TopicRule Lambda> 
- Name string
- The name of the rule.
- Republishes
List<TopicRule Republish> 
- S3
List<TopicRule S3> 
- Sns
List<TopicRule Sns> 
- Sqs
List<TopicRule Sqs> 
- StepFunctions List<TopicRule Step Function> 
- Dictionary<string, string>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Timestreams
List<TopicRule Timestream> 
- 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.
- CloudwatchAlarms []TopicRule Cloudwatch Alarm Args 
- CloudwatchLogs []TopicRule Cloudwatch Log Args 
- CloudwatchMetrics []TopicRule Cloudwatch Metric Args 
- Description string
- The description of the rule.
- Dynamodbs
[]TopicRule Dynamodb Args 
- Dynamodbv2s
[]TopicRule Dynamodbv2Args 
- Elasticsearch
[]TopicRule Elasticsearch Args 
- ErrorAction TopicRule Error Action Args 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- Firehoses
[]TopicRule Firehose Args 
- Https
[]TopicRule Http Args 
- IotAnalytics []TopicRule Iot Analytic Args 
- IotEvents []TopicRule Iot Event Args 
- Kafkas
[]TopicRule Kafka Args 
- Kineses
[]TopicRule Kinesis Args 
- Lambdas
[]TopicRule Lambda Args 
- Name string
- The name of the rule.
- Republishes
[]TopicRule Republish Args 
- S3
[]TopicRule S3Args 
- Sns
[]TopicRule Sns Args 
- Sqs
[]TopicRule Sqs Args 
- StepFunctions []TopicRule Step Function Args 
- map[string]string
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Timestreams
[]TopicRule Timestream Args 
- 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.
- cloudwatchAlarms List<TopicRule Cloudwatch Alarm> 
- cloudwatchLogs List<TopicRule Cloudwatch Log> 
- cloudwatchMetrics List<TopicRule Cloudwatch Metric> 
- description String
- The description of the rule.
- dynamodbs
List<TopicRule Dynamodb> 
- dynamodbv2s
List<TopicRule Dynamodbv2> 
- elasticsearch
List<TopicRule Elasticsearch> 
- errorAction TopicRule Error Action 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- firehoses
List<TopicRule Firehose> 
- https
List<TopicRule Http> 
- iotAnalytics List<TopicRule Iot Analytic> 
- iotEvents List<TopicRule Iot Event> 
- kafkas
List<TopicRule Kafka> 
- kineses
List<TopicRule Kinesis> 
- lambdas
List<TopicRule Lambda> 
- name String
- The name of the rule.
- republishes
List<TopicRule Republish> 
- s3
List<TopicRule S3> 
- sns
List<TopicRule Sns> 
- sqs
List<TopicRule Sqs> 
- stepFunctions List<TopicRule Step Function> 
- Map<String,String>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- timestreams
List<TopicRule Timestream> 
- 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.
- cloudwatchAlarms TopicRule Cloudwatch Alarm[] 
- cloudwatchLogs TopicRule Cloudwatch Log[] 
- cloudwatchMetrics TopicRule Cloudwatch Metric[] 
- description string
- The description of the rule.
- dynamodbs
TopicRule Dynamodb[] 
- dynamodbv2s
TopicRule Dynamodbv2[] 
- elasticsearch
TopicRule Elasticsearch[] 
- errorAction TopicRule Error Action 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- firehoses
TopicRule Firehose[] 
- https
TopicRule Http[] 
- iotAnalytics TopicRule Iot Analytic[] 
- iotEvents TopicRule Iot Event[] 
- kafkas
TopicRule Kafka[] 
- kineses
TopicRule Kinesis[] 
- lambdas
TopicRule Lambda[] 
- name string
- The name of the rule.
- republishes
TopicRule Republish[] 
- s3
TopicRule S3[] 
- sns
TopicRule Sns[] 
- sqs
TopicRule Sqs[] 
- stepFunctions TopicRule Step Function[] 
- {[key: string]: string}
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- timestreams
TopicRule Timestream[] 
- 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_alarms Sequence[TopicRule Cloudwatch Alarm Args] 
- cloudwatch_logs Sequence[TopicRule Cloudwatch Log Args] 
- cloudwatch_metrics Sequence[TopicRule Cloudwatch Metric Args] 
- description str
- The description of the rule.
- dynamodbs
Sequence[TopicRule Dynamodb Args] 
- dynamodbv2s
Sequence[TopicRule Dynamodbv2Args] 
- elasticsearch
Sequence[TopicRule Elasticsearch Args] 
- error_action TopicRule Error Action Args 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- firehoses
Sequence[TopicRule Firehose Args] 
- https
Sequence[TopicRule Http Args] 
- iot_analytics Sequence[TopicRule Iot Analytic Args] 
- iot_events Sequence[TopicRule Iot Event Args] 
- kafkas
Sequence[TopicRule Kafka Args] 
- kineses
Sequence[TopicRule Kinesis Args] 
- lambdas
Sequence[TopicRule Lambda Args] 
- name str
- The name of the rule.
- republishes
Sequence[TopicRule Republish Args] 
- s3
Sequence[TopicRule S3Args] 
- sns
Sequence[TopicRule Sns Args] 
- sqs
Sequence[TopicRule Sqs Args] 
- step_functions Sequence[TopicRule Step Function Args] 
- Mapping[str, str]
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- timestreams
Sequence[TopicRule Timestream Args] 
- 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.
- cloudwatchAlarms List<Property Map>
- cloudwatchLogs List<Property Map>
- cloudwatchMetrics List<Property Map>
- description String
- The description of the rule.
- dynamodbs List<Property Map>
- dynamodbv2s List<Property Map>
- elasticsearch List<Property Map>
- errorAction Property Map
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- firehoses List<Property Map>
- https List<Property Map>
- iotAnalytics List<Property Map>
- iotEvents List<Property Map>
- kafkas List<Property Map>
- kineses List<Property Map>
- lambdas List<Property Map>
- name String
- The name of the rule.
- republishes List<Property Map>
- s3 List<Property Map>
- sns List<Property Map>
- sqs List<Property Map>
- stepFunctions List<Property Map>
- Map<String>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- timestreams List<Property Map>
Outputs
All input properties are implicitly available as output properties. Additionally, the TopicRule resource produces the following output properties:
Look up 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_alarms: Optional[Sequence[TopicRuleCloudwatchAlarmArgs]] = None,
        cloudwatch_logs: Optional[Sequence[TopicRuleCloudwatchLogArgs]] = None,
        cloudwatch_metrics: Optional[Sequence[TopicRuleCloudwatchMetricArgs]] = None,
        description: Optional[str] = None,
        dynamodbs: Optional[Sequence[TopicRuleDynamodbArgs]] = None,
        dynamodbv2s: Optional[Sequence[TopicRuleDynamodbv2Args]] = None,
        elasticsearch: Optional[Sequence[TopicRuleElasticsearchArgs]] = None,
        enabled: Optional[bool] = None,
        error_action: Optional[TopicRuleErrorActionArgs] = None,
        firehoses: Optional[Sequence[TopicRuleFirehoseArgs]] = None,
        https: Optional[Sequence[TopicRuleHttpArgs]] = None,
        iot_analytics: Optional[Sequence[TopicRuleIotAnalyticArgs]] = None,
        iot_events: Optional[Sequence[TopicRuleIotEventArgs]] = None,
        kafkas: Optional[Sequence[TopicRuleKafkaArgs]] = None,
        kineses: Optional[Sequence[TopicRuleKinesisArgs]] = None,
        lambdas: Optional[Sequence[TopicRuleLambdaArgs]] = None,
        name: Optional[str] = None,
        republishes: Optional[Sequence[TopicRuleRepublishArgs]] = None,
        s3: Optional[Sequence[TopicRuleS3Args]] = None,
        sns: Optional[Sequence[TopicRuleSnsArgs]] = None,
        sql: Optional[str] = None,
        sql_version: Optional[str] = None,
        sqs: Optional[Sequence[TopicRuleSqsArgs]] = None,
        step_functions: Optional[Sequence[TopicRuleStepFunctionArgs]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        timestreams: Optional[Sequence[TopicRuleTimestreamArgs]] = None) -> TopicRulefunc 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)public static TopicRule get(String name, Output<String> id, TopicRuleState state, CustomResourceOptions options)resources:  _:    type: aws:iot:TopicRule    get:      id: ${id}- 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.
- 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.
- Arn string
- The ARN of the topic rule
- CloudwatchAlarms List<TopicRule Cloudwatch Alarm> 
- CloudwatchLogs List<TopicRule Cloudwatch Log> 
- CloudwatchMetrics List<TopicRule Cloudwatch Metric> 
- Description string
- The description of the rule.
- Dynamodbs
List<TopicRule Dynamodb> 
- Dynamodbv2s
List<TopicRule Dynamodbv2> 
- Elasticsearch
List<TopicRule Elasticsearch> 
- Enabled bool
- Specifies whether the rule is enabled.
- ErrorAction TopicRule Error Action 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- Firehoses
List<TopicRule Firehose> 
- Https
List<TopicRule Http> 
- IotAnalytics List<TopicRule Iot Analytic> 
- IotEvents List<TopicRule Iot Event> 
- Kafkas
List<TopicRule Kafka> 
- Kineses
List<TopicRule Kinesis> 
- Lambdas
List<TopicRule Lambda> 
- Name string
- The name of the rule.
- Republishes
List<TopicRule Republish> 
- S3
List<TopicRule S3> 
- Sns
List<TopicRule Sns> 
- 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
List<TopicRule Sqs> 
- StepFunctions List<TopicRule Step Function> 
- Dictionary<string, string>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Dictionary<string, string>
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Timestreams
List<TopicRule Timestream> 
- Arn string
- The ARN of the topic rule
- CloudwatchAlarms []TopicRule Cloudwatch Alarm Args 
- CloudwatchLogs []TopicRule Cloudwatch Log Args 
- CloudwatchMetrics []TopicRule Cloudwatch Metric Args 
- Description string
- The description of the rule.
- Dynamodbs
[]TopicRule Dynamodb Args 
- Dynamodbv2s
[]TopicRule Dynamodbv2Args 
- Elasticsearch
[]TopicRule Elasticsearch Args 
- Enabled bool
- Specifies whether the rule is enabled.
- ErrorAction TopicRule Error Action Args 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- Firehoses
[]TopicRule Firehose Args 
- Https
[]TopicRule Http Args 
- IotAnalytics []TopicRule Iot Analytic Args 
- IotEvents []TopicRule Iot Event Args 
- Kafkas
[]TopicRule Kafka Args 
- Kineses
[]TopicRule Kinesis Args 
- Lambdas
[]TopicRule Lambda Args 
- Name string
- The name of the rule.
- Republishes
[]TopicRule Republish Args 
- S3
[]TopicRule S3Args 
- Sns
[]TopicRule Sns Args 
- 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
[]TopicRule Sqs Args 
- StepFunctions []TopicRule Step Function Args 
- map[string]string
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- map[string]string
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Timestreams
[]TopicRule Timestream Args 
- arn String
- The ARN of the topic rule
- cloudwatchAlarms List<TopicRule Cloudwatch Alarm> 
- cloudwatchLogs List<TopicRule Cloudwatch Log> 
- cloudwatchMetrics List<TopicRule Cloudwatch Metric> 
- description String
- The description of the rule.
- dynamodbs
List<TopicRule Dynamodb> 
- dynamodbv2s
List<TopicRule Dynamodbv2> 
- elasticsearch
List<TopicRule Elasticsearch> 
- enabled Boolean
- Specifies whether the rule is enabled.
- errorAction TopicRule Error Action 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- firehoses
List<TopicRule Firehose> 
- https
List<TopicRule Http> 
- iotAnalytics List<TopicRule Iot Analytic> 
- iotEvents List<TopicRule Iot Event> 
- kafkas
List<TopicRule Kafka> 
- kineses
List<TopicRule Kinesis> 
- lambdas
List<TopicRule Lambda> 
- name String
- The name of the rule.
- republishes
List<TopicRule Republish> 
- s3
List<TopicRule S3> 
- sns
List<TopicRule Sns> 
- 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
List<TopicRule Sqs> 
- stepFunctions List<TopicRule Step Function> 
- Map<String,String>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String,String>
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- timestreams
List<TopicRule Timestream> 
- arn string
- The ARN of the topic rule
- cloudwatchAlarms TopicRule Cloudwatch Alarm[] 
- cloudwatchLogs TopicRule Cloudwatch Log[] 
- cloudwatchMetrics TopicRule Cloudwatch Metric[] 
- description string
- The description of the rule.
- dynamodbs
TopicRule Dynamodb[] 
- dynamodbv2s
TopicRule Dynamodbv2[] 
- elasticsearch
TopicRule Elasticsearch[] 
- enabled boolean
- Specifies whether the rule is enabled.
- errorAction TopicRule Error Action 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- firehoses
TopicRule Firehose[] 
- https
TopicRule Http[] 
- iotAnalytics TopicRule Iot Analytic[] 
- iotEvents TopicRule Iot Event[] 
- kafkas
TopicRule Kafka[] 
- kineses
TopicRule Kinesis[] 
- lambdas
TopicRule Lambda[] 
- name string
- The name of the rule.
- republishes
TopicRule Republish[] 
- s3
TopicRule S3[] 
- sns
TopicRule Sns[] 
- 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
TopicRule Sqs[] 
- stepFunctions TopicRule Step Function[] 
- {[key: string]: string}
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- {[key: string]: string}
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- timestreams
TopicRule Timestream[] 
- arn str
- The ARN of the topic rule
- cloudwatch_alarms Sequence[TopicRule Cloudwatch Alarm Args] 
- cloudwatch_logs Sequence[TopicRule Cloudwatch Log Args] 
- cloudwatch_metrics Sequence[TopicRule Cloudwatch Metric Args] 
- description str
- The description of the rule.
- dynamodbs
Sequence[TopicRule Dynamodb Args] 
- dynamodbv2s
Sequence[TopicRule Dynamodbv2Args] 
- elasticsearch
Sequence[TopicRule Elasticsearch Args] 
- enabled bool
- Specifies whether the rule is enabled.
- error_action TopicRule Error Action Args 
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- firehoses
Sequence[TopicRule Firehose Args] 
- https
Sequence[TopicRule Http Args] 
- iot_analytics Sequence[TopicRule Iot Analytic Args] 
- iot_events Sequence[TopicRule Iot Event Args] 
- kafkas
Sequence[TopicRule Kafka Args] 
- kineses
Sequence[TopicRule Kinesis Args] 
- lambdas
Sequence[TopicRule Lambda Args] 
- name str
- The name of the rule.
- republishes
Sequence[TopicRule Republish Args] 
- s3
Sequence[TopicRule S3Args] 
- sns
Sequence[TopicRule Sns Args] 
- 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
Sequence[TopicRule Sqs Args] 
- step_functions Sequence[TopicRule Step Function Args] 
- Mapping[str, str]
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Mapping[str, str]
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- timestreams
Sequence[TopicRule Timestream Args] 
- arn String
- The ARN of the topic rule
- cloudwatchAlarms List<Property Map>
- cloudwatchLogs List<Property Map>
- cloudwatchMetrics List<Property Map>
- description String
- The description of the rule.
- dynamodbs List<Property Map>
- dynamodbv2s List<Property Map>
- elasticsearch List<Property Map>
- enabled Boolean
- Specifies whether the rule is enabled.
- errorAction Property Map
- Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm,cloudwatch_logs,cloudwatch_metric,dynamodb,dynamodbv2,elasticsearch,firehose,http,iot_analytics,iot_events,kafka,kinesis,lambda,republish,s3,sns,sqs,step_functions,timestreamconfiguration blocks for further configuration details.
- firehoses List<Property Map>
- https List<Property Map>
- iotAnalytics List<Property Map>
- iotEvents List<Property Map>
- kafkas List<Property Map>
- kineses List<Property Map>
- lambdas List<Property Map>
- name String
- The name of the rule.
- republishes List<Property Map>
- s3 List<Property Map>
- sns List<Property Map>
- 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 List<Property Map>
- stepFunctions List<Property Map>
- Map<String>
- Key-value map of resource tags. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String>
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- timestreams List<Property Map>
Supporting Types
TopicRuleCloudwatchAlarm, TopicRuleCloudwatchAlarmArgs        
- 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.
- 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.
- 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.
TopicRuleCloudwatchLog, TopicRuleCloudwatchLogArgs        
- LogGroup stringName 
- The CloudWatch log group name.
- RoleArn string
- The IAM role ARN that allows access to the CloudWatch alarm.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- LogGroup stringName 
- The CloudWatch log group name.
- RoleArn string
- The IAM role ARN that allows access to the CloudWatch alarm.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- logGroup StringName 
- The CloudWatch log group name.
- roleArn String
- The IAM role ARN that allows access to the CloudWatch alarm.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- logGroup stringName 
- The CloudWatch log group name.
- roleArn string
- The IAM role ARN that allows access to the CloudWatch alarm.
- batchMode boolean
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- log_group_ strname 
- The CloudWatch log group name.
- role_arn str
- The IAM role ARN that allows access to the CloudWatch alarm.
- batch_mode bool
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- logGroup StringName 
- The CloudWatch log group name.
- roleArn String
- The IAM role ARN that allows access to the CloudWatch alarm.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
TopicRuleCloudwatchMetric, TopicRuleCloudwatchMetricArgs        
- 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).
- 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).
- 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).
TopicRuleDynamodb, TopicRuleDynamodbArgs      
- HashKey stringField 
- The hash key name.
- HashKey stringValue 
- 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.
- HashKey stringType 
- 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.
- RangeKey stringField 
- The range key name.
- RangeKey stringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- RangeKey stringValue 
- The range key value.
- HashKey stringField 
- The hash key name.
- HashKey stringValue 
- 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.
- HashKey stringType 
- 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.
- RangeKey stringField 
- The range key name.
- RangeKey stringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- RangeKey stringValue 
- The range key value.
- hashKey StringField 
- The hash key name.
- hashKey StringValue 
- 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.
- hashKey StringType 
- 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.
- rangeKey StringField 
- The range key name.
- rangeKey StringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- rangeKey StringValue 
- The range key value.
- hashKey stringField 
- The hash key name.
- hashKey stringValue 
- 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.
- hashKey stringType 
- 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.
- rangeKey stringField 
- The range key name.
- rangeKey stringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- rangeKey stringValue 
- The range key value.
- hash_key_ strfield 
- The hash key name.
- hash_key_ strvalue 
- 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_ strtype 
- 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_ strfield 
- The range key name.
- range_key_ strtype 
- The range key type. Valid values are "STRING" or "NUMBER".
- range_key_ strvalue 
- The range key value.
- hashKey StringField 
- The hash key name.
- hashKey StringValue 
- 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.
- hashKey StringType 
- 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.
- rangeKey StringField 
- The range key name.
- rangeKey StringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- rangeKey StringValue 
- The range key value.
TopicRuleDynamodbv2, TopicRuleDynamodbv2Args      
- RoleArn string
- The ARN of the IAM role that grants access to the DynamoDB table.
- PutItem TopicRule Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- RoleArn string
- The ARN of the IAM role that grants access to the DynamoDB table.
- PutItem TopicRule Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- roleArn String
- The ARN of the IAM role that grants access to the DynamoDB table.
- putItem TopicRule Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- roleArn string
- The ARN of the IAM role that grants access to the DynamoDB table.
- putItem TopicRule Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- role_arn str
- The ARN of the IAM role that grants access to the DynamoDB table.
- put_item TopicRule Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- roleArn String
- The ARN of the IAM role that grants access to the DynamoDB table.
- putItem Property Map
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
TopicRuleDynamodbv2PutItem, TopicRuleDynamodbv2PutItemArgs        
- TableName string
- The name of the DynamoDB table.
- 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.
- tableName String
- The name of the DynamoDB table.
TopicRuleElasticsearch, TopicRuleElasticsearchArgs      
- 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 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.
TopicRuleErrorAction, TopicRuleErrorActionArgs        
- CloudwatchAlarm TopicRule Error Action Cloudwatch Alarm 
- CloudwatchLogs TopicRule Error Action Cloudwatch Logs 
- CloudwatchMetric TopicRule Error Action Cloudwatch Metric 
- Dynamodb
TopicRule Error Action Dynamodb 
- Dynamodbv2
TopicRule Error Action Dynamodbv2 
- Elasticsearch
TopicRule Error Action Elasticsearch 
- Firehose
TopicRule Error Action Firehose 
- Http
TopicRule Error Action Http 
- IotAnalytics TopicRule Error Action Iot Analytics 
- IotEvents TopicRule Error Action Iot Events 
- Kafka
TopicRule Error Action Kafka 
- Kinesis
TopicRule Error Action Kinesis 
- Lambda
TopicRule Error Action Lambda 
- Republish
TopicRule Error Action Republish 
- S3
TopicRule Error Action S3 
- Sns
TopicRule Error Action Sns 
- Sqs
TopicRule Error Action Sqs 
- StepFunctions TopicRule Error Action Step Functions 
- Timestream
TopicRule Error Action Timestream 
- CloudwatchAlarm TopicRule Error Action Cloudwatch Alarm 
- CloudwatchLogs TopicRule Error Action Cloudwatch Logs 
- CloudwatchMetric TopicRule Error Action Cloudwatch Metric 
- Dynamodb
TopicRule Error Action Dynamodb 
- Dynamodbv2
TopicRule Error Action Dynamodbv2 
- Elasticsearch
TopicRule Error Action Elasticsearch 
- Firehose
TopicRule Error Action Firehose 
- Http
TopicRule Error Action Http 
- IotAnalytics TopicRule Error Action Iot Analytics 
- IotEvents TopicRule Error Action Iot Events 
- Kafka
TopicRule Error Action Kafka 
- Kinesis
TopicRule Error Action Kinesis 
- Lambda
TopicRule Error Action Lambda 
- Republish
TopicRule Error Action Republish 
- S3
TopicRule Error Action S3 
- Sns
TopicRule Error Action Sns 
- Sqs
TopicRule Error Action Sqs 
- StepFunctions TopicRule Error Action Step Functions 
- Timestream
TopicRule Error Action Timestream 
- cloudwatchAlarm TopicRule Error Action Cloudwatch Alarm 
- cloudwatchLogs TopicRule Error Action Cloudwatch Logs 
- cloudwatchMetric TopicRule Error Action Cloudwatch Metric 
- dynamodb
TopicRule Error Action Dynamodb 
- dynamodbv2
TopicRule Error Action Dynamodbv2 
- elasticsearch
TopicRule Error Action Elasticsearch 
- firehose
TopicRule Error Action Firehose 
- http
TopicRule Error Action Http 
- iotAnalytics TopicRule Error Action Iot Analytics 
- iotEvents TopicRule Error Action Iot Events 
- kafka
TopicRule Error Action Kafka 
- kinesis
TopicRule Error Action Kinesis 
- lambda
TopicRule Error Action Lambda 
- republish
TopicRule Error Action Republish 
- s3
TopicRule Error Action S3 
- sns
TopicRule Error Action Sns 
- sqs
TopicRule Error Action Sqs 
- stepFunctions TopicRule Error Action Step Functions 
- timestream
TopicRule Error Action Timestream 
- cloudwatchAlarm TopicRule Error Action Cloudwatch Alarm 
- cloudwatchLogs TopicRule Error Action Cloudwatch Logs 
- cloudwatchMetric TopicRule Error Action Cloudwatch Metric 
- dynamodb
TopicRule Error Action Dynamodb 
- dynamodbv2
TopicRule Error Action Dynamodbv2 
- elasticsearch
TopicRule Error Action Elasticsearch 
- firehose
TopicRule Error Action Firehose 
- http
TopicRule Error Action Http 
- iotAnalytics TopicRule Error Action Iot Analytics 
- iotEvents TopicRule Error Action Iot Events 
- kafka
TopicRule Error Action Kafka 
- kinesis
TopicRule Error Action Kinesis 
- lambda
TopicRule Error Action Lambda 
- republish
TopicRule Error Action Republish 
- s3
TopicRule Error Action S3 
- sns
TopicRule Error Action Sns 
- sqs
TopicRule Error Action Sqs 
- stepFunctions TopicRule Error Action Step Functions 
- timestream
TopicRule Error Action Timestream 
- cloudwatch_alarm TopicRule Error Action Cloudwatch Alarm 
- cloudwatch_logs TopicRule Error Action Cloudwatch Logs 
- cloudwatch_metric TopicRule Error Action Cloudwatch Metric 
- dynamodb
TopicRule Error Action Dynamodb 
- dynamodbv2
TopicRule Error Action Dynamodbv2 
- elasticsearch
TopicRule Error Action Elasticsearch 
- firehose
TopicRule Error Action Firehose 
- http
TopicRule Error Action Http 
- iot_analytics TopicRule Error Action Iot Analytics 
- iot_events TopicRule Error Action Iot Events 
- kafka
TopicRule Error Action Kafka 
- kinesis
TopicRule Error Action Kinesis 
- lambda_
TopicRule Error Action Lambda 
- republish
TopicRule Error Action Republish 
- s3
TopicRule Error Action S3 
- sns
TopicRule Error Action Sns 
- sqs
TopicRule Error Action Sqs 
- step_functions TopicRule Error Action Step Functions 
- timestream
TopicRule Error Action Timestream 
- cloudwatchAlarm Property Map
- cloudwatchLogs Property Map
- cloudwatchMetric Property Map
- dynamodb Property Map
- dynamodbv2 Property Map
- elasticsearch Property Map
- firehose Property Map
- http Property Map
- iotAnalytics Property Map
- iotEvents Property Map
- kafka Property Map
- kinesis Property Map
- lambda Property Map
- republish Property Map
- s3 Property Map
- sns Property Map
- sqs Property Map
- stepFunctions Property Map
- timestream Property Map
TopicRuleErrorActionCloudwatchAlarm, TopicRuleErrorActionCloudwatchAlarmArgs            
- 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.
- 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.
- 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.
TopicRuleErrorActionCloudwatchLogs, TopicRuleErrorActionCloudwatchLogsArgs            
- LogGroup stringName 
- The CloudWatch log group name.
- RoleArn string
- The IAM role ARN that allows access to the CloudWatch alarm.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- LogGroup stringName 
- The CloudWatch log group name.
- RoleArn string
- The IAM role ARN that allows access to the CloudWatch alarm.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- logGroup StringName 
- The CloudWatch log group name.
- roleArn String
- The IAM role ARN that allows access to the CloudWatch alarm.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- logGroup stringName 
- The CloudWatch log group name.
- roleArn string
- The IAM role ARN that allows access to the CloudWatch alarm.
- batchMode boolean
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- log_group_ strname 
- The CloudWatch log group name.
- role_arn str
- The IAM role ARN that allows access to the CloudWatch alarm.
- batch_mode bool
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
- logGroup StringName 
- The CloudWatch log group name.
- roleArn String
- The IAM role ARN that allows access to the CloudWatch alarm.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to CloudWatch via a batch call.
TopicRuleErrorActionCloudwatchMetric, TopicRuleErrorActionCloudwatchMetricArgs            
- 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).
- 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).
- 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).
TopicRuleErrorActionDynamodb, TopicRuleErrorActionDynamodbArgs          
- HashKey stringField 
- The hash key name.
- HashKey stringValue 
- 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.
- HashKey stringType 
- 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.
- RangeKey stringField 
- The range key name.
- RangeKey stringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- RangeKey stringValue 
- The range key value.
- HashKey stringField 
- The hash key name.
- HashKey stringValue 
- 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.
- HashKey stringType 
- 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.
- RangeKey stringField 
- The range key name.
- RangeKey stringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- RangeKey stringValue 
- The range key value.
- hashKey StringField 
- The hash key name.
- hashKey StringValue 
- 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.
- hashKey StringType 
- 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.
- rangeKey StringField 
- The range key name.
- rangeKey StringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- rangeKey StringValue 
- The range key value.
- hashKey stringField 
- The hash key name.
- hashKey stringValue 
- 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.
- hashKey stringType 
- 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.
- rangeKey stringField 
- The range key name.
- rangeKey stringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- rangeKey stringValue 
- The range key value.
- hash_key_ strfield 
- The hash key name.
- hash_key_ strvalue 
- 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_ strtype 
- 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_ strfield 
- The range key name.
- range_key_ strtype 
- The range key type. Valid values are "STRING" or "NUMBER".
- range_key_ strvalue 
- The range key value.
- hashKey StringField 
- The hash key name.
- hashKey StringValue 
- 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.
- hashKey StringType 
- 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.
- rangeKey StringField 
- The range key name.
- rangeKey StringType 
- The range key type. Valid values are "STRING" or "NUMBER".
- rangeKey StringValue 
- The range key value.
TopicRuleErrorActionDynamodbv2, TopicRuleErrorActionDynamodbv2Args          
- RoleArn string
- The ARN of the IAM role that grants access to the DynamoDB table.
- PutItem TopicRule Error Action Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- RoleArn string
- The ARN of the IAM role that grants access to the DynamoDB table.
- PutItem TopicRule Error Action Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- roleArn String
- The ARN of the IAM role that grants access to the DynamoDB table.
- putItem TopicRule Error Action Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- roleArn string
- The ARN of the IAM role that grants access to the DynamoDB table.
- putItem TopicRule Error Action Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- role_arn str
- The ARN of the IAM role that grants access to the DynamoDB table.
- put_item TopicRule Error Action Dynamodbv2Put Item 
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
- roleArn String
- The ARN of the IAM role that grants access to the DynamoDB table.
- putItem Property Map
- Configuration block with DynamoDB Table to which the message will be written. Nested arguments below.
TopicRuleErrorActionDynamodbv2PutItem, TopicRuleErrorActionDynamodbv2PutItemArgs            
- TableName string
- The name of the DynamoDB table.
- 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.
- tableName String
- The name of the DynamoDB table.
TopicRuleErrorActionElasticsearch, TopicRuleErrorActionElasticsearchArgs          
- 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 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.
TopicRuleErrorActionFirehose, TopicRuleErrorActionFirehoseArgs          
- DeliveryStream stringName 
- The delivery stream name.
- RoleArn string
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
- DeliveryStream stringName 
- The delivery stream name.
- RoleArn string
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
- deliveryStream StringName 
- The delivery stream name.
- roleArn String
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
- deliveryStream stringName 
- The delivery stream name.
- roleArn string
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- batchMode boolean
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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_ strname 
- The delivery stream name.
- role_arn str
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- batch_mode bool
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
- deliveryStream StringName 
- The delivery stream name.
- roleArn String
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
TopicRuleErrorActionHttp, TopicRuleErrorActionHttpArgs          
- Url string
- The HTTPS URL.
- ConfirmationUrl string
- The HTTPS URL used to verify ownership of url.
- HttpHeaders List<TopicRule Error Action Http Http Header> 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- Url string
- The HTTPS URL.
- ConfirmationUrl string
- The HTTPS URL used to verify ownership of url.
- HttpHeaders []TopicRule Error Action Http Http Header 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- url String
- The HTTPS URL.
- confirmationUrl String
- The HTTPS URL used to verify ownership of url.
- httpHeaders List<TopicRule Error Action Http Http Header> 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- url string
- The HTTPS URL.
- confirmationUrl string
- The HTTPS URL used to verify ownership of url.
- httpHeaders TopicRule Error Action Http Http Header[] 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- url str
- The HTTPS URL.
- confirmation_url str
- The HTTPS URL used to verify ownership of url.
- http_headers Sequence[TopicRule Error Action Http Http Header] 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- url String
- The HTTPS URL.
- confirmationUrl String
- The HTTPS URL used to verify ownership of url.
- httpHeaders List<Property Map>
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
TopicRuleErrorActionHttpHttpHeader, TopicRuleErrorActionHttpHttpHeaderArgs              
TopicRuleErrorActionIotAnalytics, TopicRuleErrorActionIotAnalyticsArgs            
- ChannelName string
- Name of AWS IOT Analytics channel.
- RoleArn string
- The ARN of the IAM role that grants access.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- ChannelName string
- Name of AWS IOT Analytics channel.
- RoleArn string
- The ARN of the IAM role that grants access.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- channelName String
- Name of AWS IOT Analytics channel.
- roleArn String
- The ARN of the IAM role that grants access.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- channelName string
- Name of AWS IOT Analytics channel.
- roleArn string
- The ARN of the IAM role that grants access.
- batchMode boolean
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- channel_name str
- Name of AWS IOT Analytics channel.
- role_arn str
- The ARN of the IAM role that grants access.
- batch_mode bool
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- channelName String
- Name of AWS IOT Analytics channel.
- roleArn String
- The ARN of the IAM role that grants access.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
TopicRuleErrorActionIotEvents, TopicRuleErrorActionIotEventsArgs            
- InputName string
- The name of the AWS IoT Events input.
- RoleArn string
- The ARN of the IAM role that grants access.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- 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.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- 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.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- 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.
- batchMode boolean
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- 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.
- batch_mode bool
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- message_id str
- 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.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- messageId String
- Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.
TopicRuleErrorActionKafka, TopicRuleErrorActionKafkaArgs          
- ClientProperties Dictionary<string, string>
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- DestinationArn string
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- Topic string
- The Kafka topic for messages to be sent to the Kafka broker.
- Headers
List<TopicRule Error Action Kafka Header> 
- The list of Kafka headers that you specify. Nested arguments below.
- Key string
- The Kafka message key.
- Partition string
- The Kafka message partition.
- ClientProperties map[string]string
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- DestinationArn string
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- Topic string
- The Kafka topic for messages to be sent to the Kafka broker.
- Headers
[]TopicRule Error Action Kafka Header 
- The list of Kafka headers that you specify. Nested arguments below.
- Key string
- The Kafka message key.
- Partition string
- The Kafka message partition.
- clientProperties Map<String,String>
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- destinationArn String
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- topic String
- The Kafka topic for messages to be sent to the Kafka broker.
- headers
List<TopicRule Error Action Kafka Header> 
- The list of Kafka headers that you specify. Nested arguments below.
- key String
- The Kafka message key.
- partition String
- The Kafka message partition.
- clientProperties {[key: string]: string}
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- destinationArn string
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- topic string
- The Kafka topic for messages to be sent to the Kafka broker.
- headers
TopicRule Error Action Kafka Header[] 
- The list of Kafka headers that you specify. Nested arguments below.
- key string
- The Kafka message key.
- partition string
- The Kafka message partition.
- client_properties Mapping[str, str]
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- destination_arn str
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- topic str
- The Kafka topic for messages to be sent to the Kafka broker.
- headers
Sequence[TopicRule Error Action Kafka Header] 
- The list of Kafka headers that you specify. Nested arguments below.
- key str
- The Kafka message key.
- partition str
- The Kafka message partition.
- clientProperties Map<String>
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- destinationArn String
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- topic String
- The Kafka topic for messages to be sent to the Kafka broker.
- headers List<Property Map>
- The list of Kafka headers that you specify. Nested arguments below.
- key String
- The Kafka message key.
- partition String
- The Kafka message partition.
TopicRuleErrorActionKafkaHeader, TopicRuleErrorActionKafkaHeaderArgs            
TopicRuleErrorActionKinesis, TopicRuleErrorActionKinesisArgs          
- 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.
- 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.
- 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.
TopicRuleErrorActionLambda, TopicRuleErrorActionLambdaArgs          
- FunctionArn string
- The ARN of the Lambda function.
- 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.
- functionArn String
- The ARN of the Lambda function.
TopicRuleErrorActionRepublish, TopicRuleErrorActionRepublishArgs          
TopicRuleErrorActionS3, TopicRuleErrorActionS3Args          
- BucketName string
- The Amazon S3 bucket name.
- Key string
- The object key.
- RoleArn string
- The ARN of the IAM role that grants access.
- CannedAcl string
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- BucketName string
- The Amazon S3 bucket name.
- Key string
- The object key.
- RoleArn string
- The ARN of the IAM role that grants access.
- CannedAcl string
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- bucketName String
- The Amazon S3 bucket name.
- key String
- The object key.
- roleArn String
- The ARN of the IAM role that grants access.
- cannedAcl String
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- bucketName string
- The Amazon S3 bucket name.
- key string
- The object key.
- roleArn string
- The ARN of the IAM role that grants access.
- cannedAcl string
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- bucket_name str
- The Amazon S3 bucket name.
- key str
- The object key.
- role_arn str
- The ARN of the IAM role that grants access.
- canned_acl str
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- bucketName String
- The Amazon S3 bucket name.
- key String
- The object key.
- roleArn String
- The ARN of the IAM role that grants access.
- cannedAcl String
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
TopicRuleErrorActionSns, TopicRuleErrorActionSnsArgs          
- 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".
- 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".
- 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".
TopicRuleErrorActionSqs, TopicRuleErrorActionSqsArgs          
- 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, TopicRuleErrorActionStepFunctionsArgs            
- RoleArn string
- The ARN of the IAM role that grants access to start execution of the state machine.
- StateMachine stringName 
- The name of the Step Functions state machine whose execution will be started.
- ExecutionName stringPrefix 
- 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.
- StateMachine stringName 
- The name of the Step Functions state machine whose execution will be started.
- ExecutionName stringPrefix 
- 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.
- stateMachine StringName 
- The name of the Step Functions state machine whose execution will be started.
- executionName StringPrefix 
- 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.
- stateMachine stringName 
- The name of the Step Functions state machine whose execution will be started.
- executionName stringPrefix 
- 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_ strname 
- The name of the Step Functions state machine whose execution will be started.
- execution_name_ strprefix 
- 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.
- stateMachine StringName 
- The name of the Step Functions state machine whose execution will be started.
- executionName StringPrefix 
- The prefix used to generate, along with a UUID, the unique state machine execution name.
TopicRuleErrorActionTimestream, TopicRuleErrorActionTimestreamArgs          
- DatabaseName string
- The name of an Amazon Timestream database.
- Dimensions
List<TopicRule Error Action Timestream Dimension> 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- RoleArn string
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- TableName string
- The name of the database table into which to write the measure records.
- Timestamp
TopicRule Error Action Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- DatabaseName string
- The name of an Amazon Timestream database.
- Dimensions
[]TopicRule Error Action Timestream Dimension 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- RoleArn string
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- TableName string
- The name of the database table into which to write the measure records.
- Timestamp
TopicRule Error Action Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- databaseName String
- The name of an Amazon Timestream database.
- dimensions
List<TopicRule Error Action Timestream Dimension> 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- roleArn String
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- tableName String
- The name of the database table into which to write the measure records.
- timestamp
TopicRule Error Action Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- databaseName string
- The name of an Amazon Timestream database.
- dimensions
TopicRule Error Action Timestream Dimension[] 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- roleArn string
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- tableName string
- The name of the database table into which to write the measure records.
- timestamp
TopicRule Error Action Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- database_name str
- The name of an Amazon Timestream database.
- dimensions
Sequence[TopicRule Error Action Timestream Dimension] 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- role_arn str
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- table_name str
- The name of the database table into which to write the measure records.
- timestamp
TopicRule Error Action Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- databaseName String
- The name of an Amazon Timestream database.
- dimensions List<Property Map>
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- roleArn String
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- tableName String
- The name of the database table into which to write the measure records.
- timestamp Property Map
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
TopicRuleErrorActionTimestreamDimension, TopicRuleErrorActionTimestreamDimensionArgs            
TopicRuleErrorActionTimestreamTimestamp, TopicRuleErrorActionTimestreamTimestampArgs            
TopicRuleFirehose, TopicRuleFirehoseArgs      
- DeliveryStream stringName 
- The delivery stream name.
- RoleArn string
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
- DeliveryStream stringName 
- The delivery stream name.
- RoleArn string
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
- deliveryStream StringName 
- The delivery stream name.
- roleArn String
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
- deliveryStream stringName 
- The delivery stream name.
- roleArn string
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- batchMode boolean
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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_ strname 
- The delivery stream name.
- role_arn str
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- batch_mode bool
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
- deliveryStream StringName 
- The delivery stream name.
- roleArn String
- The IAM role ARN that grants access to the Amazon Kinesis Firehose stream.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to Kinesis Firehose via a batch call.
- 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).
TopicRuleHttp, TopicRuleHttpArgs      
- Url string
- The HTTPS URL.
- ConfirmationUrl string
- The HTTPS URL used to verify ownership of url.
- HttpHeaders List<TopicRule Http Http Header> 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- Url string
- The HTTPS URL.
- ConfirmationUrl string
- The HTTPS URL used to verify ownership of url.
- HttpHeaders []TopicRule Http Http Header 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- url String
- The HTTPS URL.
- confirmationUrl String
- The HTTPS URL used to verify ownership of url.
- httpHeaders List<TopicRule Http Http Header> 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- url string
- The HTTPS URL.
- confirmationUrl string
- The HTTPS URL used to verify ownership of url.
- httpHeaders TopicRule Http Http Header[] 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- url str
- The HTTPS URL.
- confirmation_url str
- The HTTPS URL used to verify ownership of url.
- http_headers Sequence[TopicRule Http Http Header] 
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
- url String
- The HTTPS URL.
- confirmationUrl String
- The HTTPS URL used to verify ownership of url.
- httpHeaders List<Property Map>
- Custom HTTP header IoT Core should send. It is possible to define more than one custom header.
TopicRuleHttpHttpHeader, TopicRuleHttpHttpHeaderArgs          
TopicRuleIotAnalytic, TopicRuleIotAnalyticArgs        
- ChannelName string
- Name of AWS IOT Analytics channel.
- RoleArn string
- The ARN of the IAM role that grants access.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- ChannelName string
- Name of AWS IOT Analytics channel.
- RoleArn string
- The ARN of the IAM role that grants access.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- channelName String
- Name of AWS IOT Analytics channel.
- roleArn String
- The ARN of the IAM role that grants access.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- channelName string
- Name of AWS IOT Analytics channel.
- roleArn string
- The ARN of the IAM role that grants access.
- batchMode boolean
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- channel_name str
- Name of AWS IOT Analytics channel.
- role_arn str
- The ARN of the IAM role that grants access.
- batch_mode bool
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
- channelName String
- Name of AWS IOT Analytics channel.
- roleArn String
- The ARN of the IAM role that grants access.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to IoT Analytics via a batch call.
TopicRuleIotEvent, TopicRuleIotEventArgs        
- InputName string
- The name of the AWS IoT Events input.
- RoleArn string
- The ARN of the IAM role that grants access.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- 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.
- BatchMode bool
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- 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.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- 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.
- batchMode boolean
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- 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.
- batch_mode bool
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- message_id str
- 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.
- batchMode Boolean
- The payload that contains a JSON array of records will be sent to IoT Events via a batch call.
- messageId String
- Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector.
TopicRuleKafka, TopicRuleKafkaArgs      
- ClientProperties Dictionary<string, string>
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- DestinationArn string
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- Topic string
- The Kafka topic for messages to be sent to the Kafka broker.
- Headers
List<TopicRule Kafka Header> 
- The list of Kafka headers that you specify. Nested arguments below.
- Key string
- The Kafka message key.
- Partition string
- The Kafka message partition.
- ClientProperties map[string]string
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- DestinationArn string
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- Topic string
- The Kafka topic for messages to be sent to the Kafka broker.
- Headers
[]TopicRule Kafka Header 
- The list of Kafka headers that you specify. Nested arguments below.
- Key string
- The Kafka message key.
- Partition string
- The Kafka message partition.
- clientProperties Map<String,String>
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- destinationArn String
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- topic String
- The Kafka topic for messages to be sent to the Kafka broker.
- headers
List<TopicRule Kafka Header> 
- The list of Kafka headers that you specify. Nested arguments below.
- key String
- The Kafka message key.
- partition String
- The Kafka message partition.
- clientProperties {[key: string]: string}
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- destinationArn string
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- topic string
- The Kafka topic for messages to be sent to the Kafka broker.
- headers
TopicRule Kafka Header[] 
- The list of Kafka headers that you specify. Nested arguments below.
- key string
- The Kafka message key.
- partition string
- The Kafka message partition.
- client_properties Mapping[str, str]
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- destination_arn str
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- topic str
- The Kafka topic for messages to be sent to the Kafka broker.
- headers
Sequence[TopicRule Kafka Header] 
- The list of Kafka headers that you specify. Nested arguments below.
- key str
- The Kafka message key.
- partition str
- The Kafka message partition.
- clientProperties Map<String>
- Properties of the Apache Kafka producer client. For more info, see the AWS documentation.
- destinationArn String
- The ARN of Kafka action's VPC aws.iot.TopicRuleDestination.
- topic String
- The Kafka topic for messages to be sent to the Kafka broker.
- headers List<Property Map>
- The list of Kafka headers that you specify. Nested arguments below.
- key String
- The Kafka message key.
- partition String
- The Kafka message partition.
TopicRuleKafkaHeader, TopicRuleKafkaHeaderArgs        
TopicRuleKinesis, TopicRuleKinesisArgs      
- 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.
- 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.
- 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.
TopicRuleLambda, TopicRuleLambdaArgs      
- FunctionArn string
- The ARN of the Lambda function.
- 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.
- functionArn String
- The ARN of the Lambda function.
TopicRuleRepublish, TopicRuleRepublishArgs      
TopicRuleS3, TopicRuleS3Args      
- BucketName string
- The Amazon S3 bucket name.
- Key string
- The object key.
- RoleArn string
- The ARN of the IAM role that grants access.
- CannedAcl string
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- BucketName string
- The Amazon S3 bucket name.
- Key string
- The object key.
- RoleArn string
- The ARN of the IAM role that grants access.
- CannedAcl string
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- bucketName String
- The Amazon S3 bucket name.
- key String
- The object key.
- roleArn String
- The ARN of the IAM role that grants access.
- cannedAcl String
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- bucketName string
- The Amazon S3 bucket name.
- key string
- The object key.
- roleArn string
- The ARN of the IAM role that grants access.
- cannedAcl string
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- bucket_name str
- The Amazon S3 bucket name.
- key str
- The object key.
- role_arn str
- The ARN of the IAM role that grants access.
- canned_acl str
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
- bucketName String
- The Amazon S3 bucket name.
- key String
- The object key.
- roleArn String
- The ARN of the IAM role that grants access.
- cannedAcl String
- The Amazon S3 canned ACL that controls access to the object identified by the object key. Valid values.
TopicRuleSns, TopicRuleSnsArgs      
- 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".
- 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".
- 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".
TopicRuleSqs, TopicRuleSqsArgs      
- 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, TopicRuleStepFunctionArgs        
- RoleArn string
- The ARN of the IAM role that grants access to start execution of the state machine.
- StateMachine stringName 
- The name of the Step Functions state machine whose execution will be started.
- ExecutionName stringPrefix 
- 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.
- StateMachine stringName 
- The name of the Step Functions state machine whose execution will be started.
- ExecutionName stringPrefix 
- 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.
- stateMachine StringName 
- The name of the Step Functions state machine whose execution will be started.
- executionName StringPrefix 
- 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.
- stateMachine stringName 
- The name of the Step Functions state machine whose execution will be started.
- executionName stringPrefix 
- 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_ strname 
- The name of the Step Functions state machine whose execution will be started.
- execution_name_ strprefix 
- 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.
- stateMachine StringName 
- The name of the Step Functions state machine whose execution will be started.
- executionName StringPrefix 
- The prefix used to generate, along with a UUID, the unique state machine execution name.
TopicRuleTimestream, TopicRuleTimestreamArgs      
- DatabaseName string
- The name of an Amazon Timestream database.
- Dimensions
List<TopicRule Timestream Dimension> 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- RoleArn string
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- TableName string
- The name of the database table into which to write the measure records.
- Timestamp
TopicRule Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- DatabaseName string
- The name of an Amazon Timestream database.
- Dimensions
[]TopicRule Timestream Dimension 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- RoleArn string
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- TableName string
- The name of the database table into which to write the measure records.
- Timestamp
TopicRule Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- databaseName String
- The name of an Amazon Timestream database.
- dimensions
List<TopicRule Timestream Dimension> 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- roleArn String
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- tableName String
- The name of the database table into which to write the measure records.
- timestamp
TopicRule Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- databaseName string
- The name of an Amazon Timestream database.
- dimensions
TopicRule Timestream Dimension[] 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- roleArn string
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- tableName string
- The name of the database table into which to write the measure records.
- timestamp
TopicRule Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- database_name str
- The name of an Amazon Timestream database.
- dimensions
Sequence[TopicRule Timestream Dimension] 
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- role_arn str
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- table_name str
- The name of the database table into which to write the measure records.
- timestamp
TopicRule Timestream Timestamp 
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
- databaseName String
- The name of an Amazon Timestream database.
- dimensions List<Property Map>
- Configuration blocks with metadata attributes of the time series that are written in each measure record. Nested arguments below.
- roleArn String
- The ARN of the role that grants permission to write to the Amazon Timestream database table.
- tableName String
- The name of the database table into which to write the measure records.
- timestamp Property Map
- Configuration block specifying an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column. Nested arguments below.
TopicRuleTimestreamDimension, TopicRuleTimestreamDimensionArgs        
TopicRuleTimestreamTimestamp, TopicRuleTimestreamTimestampArgs        
Import
Using pulumi import, import IoT Topic Rules using the name. For example:
$ pulumi import aws:iot/topicRule:TopicRule rule <name>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the awsTerraform Provider.