1. Packages
  2. AWS
  3. API Docs
  4. iot
  5. TopicRule
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

aws.iot.TopicRule

Explore with Pulumi AI

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

    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<TopicRuleCloudwatchAlarm>
    CloudwatchLogs List<TopicRuleCloudwatchLog>
    CloudwatchMetrics List<TopicRuleCloudwatchMetric>
    Description string
    The description of the rule.
    Dynamodbs List<TopicRuleDynamodb>
    Dynamodbv2s List<TopicRuleDynamodbv2>
    Elasticsearch List<TopicRuleElasticsearch>
    ErrorAction TopicRuleErrorAction
    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, timestream configuration blocks for further configuration details.
    Firehoses List<TopicRuleFirehose>
    Https List<TopicRuleHttp>
    IotAnalytics List<TopicRuleIotAnalytic>
    IotEvents List<TopicRuleIotEvent>
    Kafkas List<TopicRuleKafka>
    Kineses List<TopicRuleKinesis>
    Lambdas List<TopicRuleLambda>
    Name string
    The name of the rule.
    Republishes List<TopicRuleRepublish>
    S3 List<TopicRuleS3>
    Sns List<TopicRuleSns>
    Sqs List<TopicRuleSqs>
    StepFunctions List<TopicRuleStepFunction>
    Tags Dictionary<string, string>
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    Timestreams List<TopicRuleTimestream>
    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 []TopicRuleCloudwatchAlarmArgs
    CloudwatchLogs []TopicRuleCloudwatchLogArgs
    CloudwatchMetrics []TopicRuleCloudwatchMetricArgs
    Description string
    The description of the rule.
    Dynamodbs []TopicRuleDynamodbArgs
    Dynamodbv2s []TopicRuleDynamodbv2Args
    Elasticsearch []TopicRuleElasticsearchArgs
    ErrorAction TopicRuleErrorActionArgs
    Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_logs, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, http, iot_analytics, iot_events, kafka, kinesis, lambda, republish, s3, sns, sqs, step_functions, timestream configuration blocks for further configuration details.
    Firehoses []TopicRuleFirehoseArgs
    Https []TopicRuleHttpArgs
    IotAnalytics []TopicRuleIotAnalyticArgs
    IotEvents []TopicRuleIotEventArgs
    Kafkas []TopicRuleKafkaArgs
    Kineses []TopicRuleKinesisArgs
    Lambdas []TopicRuleLambdaArgs
    Name string
    The name of the rule.
    Republishes []TopicRuleRepublishArgs
    S3 []TopicRuleS3Args
    Sns []TopicRuleSnsArgs
    Sqs []TopicRuleSqsArgs
    StepFunctions []TopicRuleStepFunctionArgs
    Tags map[string]string
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    Timestreams []TopicRuleTimestreamArgs
    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<TopicRuleCloudwatchAlarm>
    cloudwatchLogs List<TopicRuleCloudwatchLog>
    cloudwatchMetrics List<TopicRuleCloudwatchMetric>
    description String
    The description of the rule.
    dynamodbs List<TopicRuleDynamodb>
    dynamodbv2s List<TopicRuleDynamodbv2>
    elasticsearch List<TopicRuleElasticsearch>
    errorAction TopicRuleErrorAction
    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, timestream configuration blocks for further configuration details.
    firehoses List<TopicRuleFirehose>
    https List<TopicRuleHttp>
    iotAnalytics List<TopicRuleIotAnalytic>
    iotEvents List<TopicRuleIotEvent>
    kafkas List<TopicRuleKafka>
    kineses List<TopicRuleKinesis>
    lambdas List<TopicRuleLambda>
    name String
    The name of the rule.
    republishes List<TopicRuleRepublish>
    s3 List<TopicRuleS3>
    sns List<TopicRuleSns>
    sqs List<TopicRuleSqs>
    stepFunctions List<TopicRuleStepFunction>
    tags Map<String,String>
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timestreams List<TopicRuleTimestream>
    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 TopicRuleCloudwatchAlarm[]
    cloudwatchLogs TopicRuleCloudwatchLog[]
    cloudwatchMetrics TopicRuleCloudwatchMetric[]
    description string
    The description of the rule.
    dynamodbs TopicRuleDynamodb[]
    dynamodbv2s TopicRuleDynamodbv2[]
    elasticsearch TopicRuleElasticsearch[]
    errorAction TopicRuleErrorAction
    Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_logs, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, http, iot_analytics, iot_events, kafka, kinesis, lambda, republish, s3, sns, sqs, step_functions, timestream configuration blocks for further configuration details.
    firehoses TopicRuleFirehose[]
    https TopicRuleHttp[]
    iotAnalytics TopicRuleIotAnalytic[]
    iotEvents TopicRuleIotEvent[]
    kafkas TopicRuleKafka[]
    kineses TopicRuleKinesis[]
    lambdas TopicRuleLambda[]
    name string
    The name of the rule.
    republishes TopicRuleRepublish[]
    s3 TopicRuleS3[]
    sns TopicRuleSns[]
    sqs TopicRuleSqs[]
    stepFunctions TopicRuleStepFunction[]
    tags {[key: string]: string}
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timestreams TopicRuleTimestream[]
    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[TopicRuleCloudwatchAlarmArgs]
    cloudwatch_logs Sequence[TopicRuleCloudwatchLogArgs]
    cloudwatch_metrics Sequence[TopicRuleCloudwatchMetricArgs]
    description str
    The description of the rule.
    dynamodbs Sequence[TopicRuleDynamodbArgs]
    dynamodbv2s Sequence[TopicRuleDynamodbv2Args]
    elasticsearch Sequence[TopicRuleElasticsearchArgs]
    error_action TopicRuleErrorActionArgs
    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, timestream configuration blocks for further configuration details.
    firehoses Sequence[TopicRuleFirehoseArgs]
    https Sequence[TopicRuleHttpArgs]
    iot_analytics Sequence[TopicRuleIotAnalyticArgs]
    iot_events Sequence[TopicRuleIotEventArgs]
    kafkas Sequence[TopicRuleKafkaArgs]
    kineses Sequence[TopicRuleKinesisArgs]
    lambdas Sequence[TopicRuleLambdaArgs]
    name str
    The name of the rule.
    republishes Sequence[TopicRuleRepublishArgs]
    s3 Sequence[TopicRuleS3Args]
    sns Sequence[TopicRuleSnsArgs]
    sqs Sequence[TopicRuleSqsArgs]
    step_functions Sequence[TopicRuleStepFunctionArgs]
    tags Mapping[str, str]
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timestreams Sequence[TopicRuleTimestreamArgs]
    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, timestream configuration 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>
    tags Map<String>
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timestreams List<Property Map>

    Outputs

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

    Arn string
    The ARN of the topic rule
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Arn string
    The ARN of the topic rule
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    The ARN of the topic rule
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn string
    The ARN of the topic rule
    id string
    The provider-assigned unique ID for this managed resource.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn str
    The ARN of the topic rule
    id str
    The provider-assigned unique ID for this managed resource.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    The ARN of the topic rule
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    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) -> TopicRule
    func GetTopicRule(ctx *Context, name string, id IDInput, state *TopicRuleState, opts ...ResourceOption) (*TopicRule, error)
    public static TopicRule Get(string name, Input<string> id, TopicRuleState? state, CustomResourceOptions? opts = null)
    public static TopicRule get(String name, Output<String> id, TopicRuleState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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.
    The following state arguments are supported:
    Arn string
    The ARN of the topic rule
    CloudwatchAlarms List<TopicRuleCloudwatchAlarm>
    CloudwatchLogs List<TopicRuleCloudwatchLog>
    CloudwatchMetrics List<TopicRuleCloudwatchMetric>
    Description string
    The description of the rule.
    Dynamodbs List<TopicRuleDynamodb>
    Dynamodbv2s List<TopicRuleDynamodbv2>
    Elasticsearch List<TopicRuleElasticsearch>
    Enabled bool
    Specifies whether the rule is enabled.
    ErrorAction TopicRuleErrorAction
    Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_logs, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, http, iot_analytics, iot_events, kafka, kinesis, lambda, republish, s3, sns, sqs, step_functions, timestream configuration blocks for further configuration details.
    Firehoses List<TopicRuleFirehose>
    Https List<TopicRuleHttp>
    IotAnalytics List<TopicRuleIotAnalytic>
    IotEvents List<TopicRuleIotEvent>
    Kafkas List<TopicRuleKafka>
    Kineses List<TopicRuleKinesis>
    Lambdas List<TopicRuleLambda>
    Name string
    The name of the rule.
    Republishes List<TopicRuleRepublish>
    S3 List<TopicRuleS3>
    Sns List<TopicRuleSns>
    Sql string
    The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
    SqlVersion string
    The version of the SQL rules engine to use when evaluating the rule.
    Sqs List<TopicRuleSqs>
    StepFunctions List<TopicRuleStepFunction>
    Tags Dictionary<string, string>
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Timestreams List<TopicRuleTimestream>
    Arn string
    The ARN of the topic rule
    CloudwatchAlarms []TopicRuleCloudwatchAlarmArgs
    CloudwatchLogs []TopicRuleCloudwatchLogArgs
    CloudwatchMetrics []TopicRuleCloudwatchMetricArgs
    Description string
    The description of the rule.
    Dynamodbs []TopicRuleDynamodbArgs
    Dynamodbv2s []TopicRuleDynamodbv2Args
    Elasticsearch []TopicRuleElasticsearchArgs
    Enabled bool
    Specifies whether the rule is enabled.
    ErrorAction TopicRuleErrorActionArgs
    Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_logs, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, http, iot_analytics, iot_events, kafka, kinesis, lambda, republish, s3, sns, sqs, step_functions, timestream configuration blocks for further configuration details.
    Firehoses []TopicRuleFirehoseArgs
    Https []TopicRuleHttpArgs
    IotAnalytics []TopicRuleIotAnalyticArgs
    IotEvents []TopicRuleIotEventArgs
    Kafkas []TopicRuleKafkaArgs
    Kineses []TopicRuleKinesisArgs
    Lambdas []TopicRuleLambdaArgs
    Name string
    The name of the rule.
    Republishes []TopicRuleRepublishArgs
    S3 []TopicRuleS3Args
    Sns []TopicRuleSnsArgs
    Sql string
    The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
    SqlVersion string
    The version of the SQL rules engine to use when evaluating the rule.
    Sqs []TopicRuleSqsArgs
    StepFunctions []TopicRuleStepFunctionArgs
    Tags map[string]string
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Timestreams []TopicRuleTimestreamArgs
    arn String
    The ARN of the topic rule
    cloudwatchAlarms List<TopicRuleCloudwatchAlarm>
    cloudwatchLogs List<TopicRuleCloudwatchLog>
    cloudwatchMetrics List<TopicRuleCloudwatchMetric>
    description String
    The description of the rule.
    dynamodbs List<TopicRuleDynamodb>
    dynamodbv2s List<TopicRuleDynamodbv2>
    elasticsearch List<TopicRuleElasticsearch>
    enabled Boolean
    Specifies whether the rule is enabled.
    errorAction TopicRuleErrorAction
    Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_logs, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, http, iot_analytics, iot_events, kafka, kinesis, lambda, republish, s3, sns, sqs, step_functions, timestream configuration blocks for further configuration details.
    firehoses List<TopicRuleFirehose>
    https List<TopicRuleHttp>
    iotAnalytics List<TopicRuleIotAnalytic>
    iotEvents List<TopicRuleIotEvent>
    kafkas List<TopicRuleKafka>
    kineses List<TopicRuleKinesis>
    lambdas List<TopicRuleLambda>
    name String
    The name of the rule.
    republishes List<TopicRuleRepublish>
    s3 List<TopicRuleS3>
    sns List<TopicRuleSns>
    sql String
    The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
    sqlVersion String
    The version of the SQL rules engine to use when evaluating the rule.
    sqs List<TopicRuleSqs>
    stepFunctions List<TopicRuleStepFunction>
    tags Map<String,String>
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    timestreams List<TopicRuleTimestream>
    arn string
    The ARN of the topic rule
    cloudwatchAlarms TopicRuleCloudwatchAlarm[]
    cloudwatchLogs TopicRuleCloudwatchLog[]
    cloudwatchMetrics TopicRuleCloudwatchMetric[]
    description string
    The description of the rule.
    dynamodbs TopicRuleDynamodb[]
    dynamodbv2s TopicRuleDynamodbv2[]
    elasticsearch TopicRuleElasticsearch[]
    enabled boolean
    Specifies whether the rule is enabled.
    errorAction TopicRuleErrorAction
    Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_logs, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, http, iot_analytics, iot_events, kafka, kinesis, lambda, republish, s3, sns, sqs, step_functions, timestream configuration blocks for further configuration details.
    firehoses TopicRuleFirehose[]
    https TopicRuleHttp[]
    iotAnalytics TopicRuleIotAnalytic[]
    iotEvents TopicRuleIotEvent[]
    kafkas TopicRuleKafka[]
    kineses TopicRuleKinesis[]
    lambdas TopicRuleLambda[]
    name string
    The name of the rule.
    republishes TopicRuleRepublish[]
    s3 TopicRuleS3[]
    sns TopicRuleSns[]
    sql string
    The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
    sqlVersion string
    The version of the SQL rules engine to use when evaluating the rule.
    sqs TopicRuleSqs[]
    stepFunctions TopicRuleStepFunction[]
    tags {[key: string]: string}
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    timestreams TopicRuleTimestream[]
    arn str
    The ARN of the topic rule
    cloudwatch_alarms Sequence[TopicRuleCloudwatchAlarmArgs]
    cloudwatch_logs Sequence[TopicRuleCloudwatchLogArgs]
    cloudwatch_metrics Sequence[TopicRuleCloudwatchMetricArgs]
    description str
    The description of the rule.
    dynamodbs Sequence[TopicRuleDynamodbArgs]
    dynamodbv2s Sequence[TopicRuleDynamodbv2Args]
    elasticsearch Sequence[TopicRuleElasticsearchArgs]
    enabled bool
    Specifies whether the rule is enabled.
    error_action TopicRuleErrorActionArgs
    Configuration block with error action to be associated with the rule. See the documentation for cloudwatch_alarm, cloudwatch_logs, cloudwatch_metric, dynamodb, dynamodbv2, elasticsearch, firehose, http, iot_analytics, iot_events, kafka, kinesis, lambda, republish, s3, sns, sqs, step_functions, timestream configuration blocks for further configuration details.
    firehoses Sequence[TopicRuleFirehoseArgs]
    https Sequence[TopicRuleHttpArgs]
    iot_analytics Sequence[TopicRuleIotAnalyticArgs]
    iot_events Sequence[TopicRuleIotEventArgs]
    kafkas Sequence[TopicRuleKafkaArgs]
    kineses Sequence[TopicRuleKinesisArgs]
    lambdas Sequence[TopicRuleLambdaArgs]
    name str
    The name of the rule.
    republishes Sequence[TopicRuleRepublishArgs]
    s3 Sequence[TopicRuleS3Args]
    sns Sequence[TopicRuleSnsArgs]
    sql str
    The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
    sql_version str
    The version of the SQL rules engine to use when evaluating the rule.
    sqs Sequence[TopicRuleSqsArgs]
    step_functions Sequence[TopicRuleStepFunctionArgs]
    tags Mapping[str, str]
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    timestreams Sequence[TopicRuleTimestreamArgs]
    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, timestream configuration 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>
    tags Map<String>
    Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    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

    LogGroupName string
    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.
    LogGroupName string
    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.
    logGroupName String
    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.
    logGroupName string
    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_name str
    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.
    logGroupName String
    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

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

    TopicRuleDynamodbv2, TopicRuleDynamodbv2Args

    RoleArn string
    The ARN of the IAM role that grants access to the DynamoDB table.
    PutItem TopicRuleDynamodbv2PutItem
    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 TopicRuleDynamodbv2PutItem
    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 TopicRuleDynamodbv2PutItem
    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 TopicRuleDynamodbv2PutItem
    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 TopicRuleDynamodbv2PutItem
    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 str
    The endpoint of your Elasticsearch domain.
    id str
    The unique identifier for the document you are storing.
    index str
    The Elasticsearch index where you want to store your data.
    role_arn str
    The IAM role ARN that has access to Elasticsearch.
    type str
    The type of document you are storing.
    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

    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

    LogGroupName string
    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.
    LogGroupName string
    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.
    logGroupName String
    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.
    logGroupName string
    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_name str
    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.
    logGroupName String
    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

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

    TopicRuleErrorActionDynamodbv2, TopicRuleErrorActionDynamodbv2Args

    RoleArn string
    The ARN of the IAM role that grants access to the DynamoDB table.
    PutItem TopicRuleErrorActionDynamodbv2PutItem
    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 TopicRuleErrorActionDynamodbv2PutItem
    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 TopicRuleErrorActionDynamodbv2PutItem
    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 TopicRuleErrorActionDynamodbv2PutItem
    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 TopicRuleErrorActionDynamodbv2PutItem
    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 str
    The endpoint of your Elasticsearch domain.
    id str
    The unique identifier for the document you are storing.
    index str
    The Elasticsearch index where you want to store your data.
    role_arn str
    The IAM role ARN that has access to Elasticsearch.
    type str
    The type of document you are storing.
    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

    DeliveryStreamName string
    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).
    DeliveryStreamName string
    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).
    deliveryStreamName String
    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).
    deliveryStreamName string
    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_name str
    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).
    deliveryStreamName String
    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<TopicRuleErrorActionHttpHttpHeader>
    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 []TopicRuleErrorActionHttpHttpHeader
    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<TopicRuleErrorActionHttpHttpHeader>
    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 TopicRuleErrorActionHttpHttpHeader[]
    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[TopicRuleErrorActionHttpHttpHeader]
    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

    Key string
    The name of the HTTP header.
    Value string
    The value of the HTTP header.
    Key string
    The name of the HTTP header.
    Value string
    The value of the HTTP header.
    key String
    The name of the HTTP header.
    value String
    The value of the HTTP header.
    key string
    The name of the HTTP header.
    value string
    The value of the HTTP header.
    key str
    The name of the HTTP header.
    value str
    The value of the HTTP header.
    key String
    The name of the HTTP header.
    value String
    The value of the HTTP header.

    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<TopicRuleErrorActionKafkaHeader>
    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 []TopicRuleErrorActionKafkaHeader
    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<TopicRuleErrorActionKafkaHeader>
    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 TopicRuleErrorActionKafkaHeader[]
    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[TopicRuleErrorActionKafkaHeader]
    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

    Key string
    The key of the Kafka header.
    Value string
    The value of the Kafka header.
    Key string
    The key of the Kafka header.
    Value string
    The value of the Kafka header.
    key String
    The key of the Kafka header.
    value String
    The value of the Kafka header.
    key string
    The key of the Kafka header.
    value string
    The value of the Kafka header.
    key str
    The key of the Kafka header.
    value str
    The value of the Kafka header.
    key String
    The key of the Kafka header.
    value String
    The value of the Kafka header.

    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

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

    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

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

    TopicRuleErrorActionStepFunctions, TopicRuleErrorActionStepFunctionsArgs

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

    TopicRuleErrorActionTimestream, TopicRuleErrorActionTimestreamArgs

    DatabaseName string
    The name of an Amazon Timestream database.
    Dimensions List<TopicRuleErrorActionTimestreamDimension>
    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 TopicRuleErrorActionTimestreamTimestamp
    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 []TopicRuleErrorActionTimestreamDimension
    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 TopicRuleErrorActionTimestreamTimestamp
    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<TopicRuleErrorActionTimestreamDimension>
    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 TopicRuleErrorActionTimestreamTimestamp
    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 TopicRuleErrorActionTimestreamDimension[]
    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 TopicRuleErrorActionTimestreamTimestamp
    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[TopicRuleErrorActionTimestreamDimension]
    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 TopicRuleErrorActionTimestreamTimestamp
    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

    Name string
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    Value string
    The value to write in this column of the database record.
    Name string
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    Value string
    The value to write in this column of the database record.
    name String
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    value String
    The value to write in this column of the database record.
    name string
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    value string
    The value to write in this column of the database record.
    name str
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    value str
    The value to write in this column of the database record.
    name String
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    value String
    The value to write in this column of the database record.

    TopicRuleErrorActionTimestreamTimestamp, TopicRuleErrorActionTimestreamTimestampArgs

    Unit string
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    Value string
    An expression that returns a long epoch time value.
    Unit string
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    Value string
    An expression that returns a long epoch time value.
    unit String
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    value String
    An expression that returns a long epoch time value.
    unit string
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    value string
    An expression that returns a long epoch time value.
    unit str
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    value str
    An expression that returns a long epoch time value.
    unit String
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    value String
    An expression that returns a long epoch time value.

    TopicRuleFirehose, TopicRuleFirehoseArgs

    DeliveryStreamName string
    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).
    DeliveryStreamName string
    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).
    deliveryStreamName String
    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).
    deliveryStreamName string
    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_name str
    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).
    deliveryStreamName String
    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<TopicRuleHttpHttpHeader>
    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 []TopicRuleHttpHttpHeader
    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<TopicRuleHttpHttpHeader>
    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 TopicRuleHttpHttpHeader[]
    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[TopicRuleHttpHttpHeader]
    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

    Key string
    The name of the HTTP header.
    Value string
    The value of the HTTP header.
    Key string
    The name of the HTTP header.
    Value string
    The value of the HTTP header.
    key String
    The name of the HTTP header.
    value String
    The value of the HTTP header.
    key string
    The name of the HTTP header.
    value string
    The value of the HTTP header.
    key str
    The name of the HTTP header.
    value str
    The value of the HTTP header.
    key String
    The name of the HTTP header.
    value String
    The value of the HTTP header.

    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<TopicRuleKafkaHeader>
    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 []TopicRuleKafkaHeader
    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<TopicRuleKafkaHeader>
    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 TopicRuleKafkaHeader[]
    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[TopicRuleKafkaHeader]
    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

    Key string
    The key of the Kafka header.
    Value string
    The value of the Kafka header.
    Key string
    The key of the Kafka header.
    Value string
    The value of the Kafka header.
    key String
    The key of the Kafka header.
    value String
    The value of the Kafka header.
    key string
    The key of the Kafka header.
    value string
    The value of the Kafka header.
    key str
    The key of the Kafka header.
    value str
    The value of the Kafka header.
    key String
    The key of the Kafka header.
    value String
    The value of the Kafka header.

    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

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

    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

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

    TopicRuleStepFunction, TopicRuleStepFunctionArgs

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

    TopicRuleTimestream, TopicRuleTimestreamArgs

    DatabaseName string
    The name of an Amazon Timestream database.
    Dimensions List<TopicRuleTimestreamDimension>
    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 TopicRuleTimestreamTimestamp
    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 []TopicRuleTimestreamDimension
    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 TopicRuleTimestreamTimestamp
    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<TopicRuleTimestreamDimension>
    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 TopicRuleTimestreamTimestamp
    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 TopicRuleTimestreamDimension[]
    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 TopicRuleTimestreamTimestamp
    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[TopicRuleTimestreamDimension]
    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 TopicRuleTimestreamTimestamp
    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

    Name string
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    Value string
    The value to write in this column of the database record.
    Name string
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    Value string
    The value to write in this column of the database record.
    name String
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    value String
    The value to write in this column of the database record.
    name string
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    value string
    The value to write in this column of the database record.
    name str
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    value str
    The value to write in this column of the database record.
    name String
    The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
    value String
    The value to write in this column of the database record.

    TopicRuleTimestreamTimestamp, TopicRuleTimestreamTimestampArgs

    Unit string
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    Value string
    An expression that returns a long epoch time value.
    Unit string
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    Value string
    An expression that returns a long epoch time value.
    unit String
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    value String
    An expression that returns a long epoch time value.
    unit string
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    value string
    An expression that returns a long epoch time value.
    unit str
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    value str
    An expression that returns a long epoch time value.
    unit String
    The precision of the timestamp value that results from the expression described in value. Valid values: SECONDS, MILLISECONDS, MICROSECONDS, NANOSECONDS.
    value String
    An expression that returns a long epoch time value.

    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 aws Terraform Provider.
    aws logo
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi