Interface CfnTopicRuleProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnTopicRuleProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-21T06:34:09.562Z") @Stability(Stable) public interface CfnTopicRuleProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnTopicRule.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.iot.*;
 CfnTopicRuleProps cfnTopicRuleProps = CfnTopicRuleProps.builder()
         .topicRulePayload(TopicRulePayloadProperty.builder()
                 .actions(List.of(ActionProperty.builder()
                         .cloudwatchAlarm(CloudwatchAlarmActionProperty.builder()
                                 .alarmName("alarmName")
                                 .roleArn("roleArn")
                                 .stateReason("stateReason")
                                 .stateValue("stateValue")
                                 .build())
                         .cloudwatchLogs(CloudwatchLogsActionProperty.builder()
                                 .logGroupName("logGroupName")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .batchMode(false)
                                 .build())
                         .cloudwatchMetric(CloudwatchMetricActionProperty.builder()
                                 .metricName("metricName")
                                 .metricNamespace("metricNamespace")
                                 .metricUnit("metricUnit")
                                 .metricValue("metricValue")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .metricTimestamp("metricTimestamp")
                                 .build())
                         .dynamoDb(DynamoDBActionProperty.builder()
                                 .hashKeyField("hashKeyField")
                                 .hashKeyValue("hashKeyValue")
                                 .roleArn("roleArn")
                                 .tableName("tableName")
                                 // the properties below are optional
                                 .hashKeyType("hashKeyType")
                                 .payloadField("payloadField")
                                 .rangeKeyField("rangeKeyField")
                                 .rangeKeyType("rangeKeyType")
                                 .rangeKeyValue("rangeKeyValue")
                                 .build())
                         .dynamoDBv2(DynamoDBv2ActionProperty.builder()
                                 .putItem(PutItemInputProperty.builder()
                                         .tableName("tableName")
                                         .build())
                                 .roleArn("roleArn")
                                 .build())
                         .elasticsearch(ElasticsearchActionProperty.builder()
                                 .endpoint("endpoint")
                                 .id("id")
                                 .index("index")
                                 .roleArn("roleArn")
                                 .type("type")
                                 .build())
                         .firehose(FirehoseActionProperty.builder()
                                 .deliveryStreamName("deliveryStreamName")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .batchMode(false)
                                 .separator("separator")
                                 .build())
                         .http(HttpActionProperty.builder()
                                 .url("url")
                                 // the properties below are optional
                                 .auth(HttpAuthorizationProperty.builder()
                                         .sigv4(SigV4AuthorizationProperty.builder()
                                                 .roleArn("roleArn")
                                                 .serviceName("serviceName")
                                                 .signingRegion("signingRegion")
                                                 .build())
                                         .build())
                                 .confirmationUrl("confirmationUrl")
                                 .headers(List.of(HttpActionHeaderProperty.builder()
                                         .key("key")
                                         .value("value")
                                         .build()))
                                 .build())
                         .iotAnalytics(IotAnalyticsActionProperty.builder()
                                 .channelName("channelName")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .batchMode(false)
                                 .build())
                         .iotEvents(IotEventsActionProperty.builder()
                                 .inputName("inputName")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .batchMode(false)
                                 .messageId("messageId")
                                 .build())
                         .iotSiteWise(IotSiteWiseActionProperty.builder()
                                 .putAssetPropertyValueEntries(List.of(PutAssetPropertyValueEntryProperty.builder()
                                         .propertyValues(List.of(AssetPropertyValueProperty.builder()
                                                 .timestamp(AssetPropertyTimestampProperty.builder()
                                                         .timeInSeconds("timeInSeconds")
                                                         // the properties below are optional
                                                         .offsetInNanos("offsetInNanos")
                                                         .build())
                                                 .value(AssetPropertyVariantProperty.builder()
                                                         .booleanValue("booleanValue")
                                                         .doubleValue("doubleValue")
                                                         .integerValue("integerValue")
                                                         .stringValue("stringValue")
                                                         .build())
                                                 // the properties below are optional
                                                 .quality("quality")
                                                 .build()))
                                         // the properties below are optional
                                         .assetId("assetId")
                                         .entryId("entryId")
                                         .propertyAlias("propertyAlias")
                                         .propertyId("propertyId")
                                         .build()))
                                 .roleArn("roleArn")
                                 .build())
                         .kafka(KafkaActionProperty.builder()
                                 .clientProperties(Map.of(
                                         "clientPropertiesKey", "clientProperties"))
                                 .destinationArn("destinationArn")
                                 .topic("topic")
                                 // the properties below are optional
                                 .headers(List.of(KafkaActionHeaderProperty.builder()
                                         .key("key")
                                         .value("value")
                                         .build()))
                                 .key("key")
                                 .partition("partition")
                                 .build())
                         .kinesis(KinesisActionProperty.builder()
                                 .roleArn("roleArn")
                                 .streamName("streamName")
                                 // the properties below are optional
                                 .partitionKey("partitionKey")
                                 .build())
                         .lambda(LambdaActionProperty.builder()
                                 .functionArn("functionArn")
                                 .build())
                         .location(LocationActionProperty.builder()
                                 .deviceId("deviceId")
                                 .latitude("latitude")
                                 .longitude("longitude")
                                 .roleArn("roleArn")
                                 .trackerName("trackerName")
                                 // the properties below are optional
                                 .timestamp(TimestampProperty.builder()
                                         .value("value")
                                         // the properties below are optional
                                         .unit("unit")
                                         .build())
                                 .build())
                         .openSearch(OpenSearchActionProperty.builder()
                                 .endpoint("endpoint")
                                 .id("id")
                                 .index("index")
                                 .roleArn("roleArn")
                                 .type("type")
                                 .build())
                         .republish(RepublishActionProperty.builder()
                                 .roleArn("roleArn")
                                 .topic("topic")
                                 // the properties below are optional
                                 .headers(RepublishActionHeadersProperty.builder()
                                         .contentType("contentType")
                                         .correlationData("correlationData")
                                         .messageExpiry("messageExpiry")
                                         .payloadFormatIndicator("payloadFormatIndicator")
                                         .responseTopic("responseTopic")
                                         .userProperties(List.of(UserPropertyProperty.builder()
                                                 .key("key")
                                                 .value("value")
                                                 .build()))
                                         .build())
                                 .qos(123)
                                 .build())
                         .s3(S3ActionProperty.builder()
                                 .bucketName("bucketName")
                                 .key("key")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .cannedAcl("cannedAcl")
                                 .build())
                         .sns(SnsActionProperty.builder()
                                 .roleArn("roleArn")
                                 .targetArn("targetArn")
                                 // the properties below are optional
                                 .messageFormat("messageFormat")
                                 .build())
                         .sqs(SqsActionProperty.builder()
                                 .queueUrl("queueUrl")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .useBase64(false)
                                 .build())
                         .stepFunctions(StepFunctionsActionProperty.builder()
                                 .roleArn("roleArn")
                                 .stateMachineName("stateMachineName")
                                 // the properties below are optional
                                 .executionNamePrefix("executionNamePrefix")
                                 .build())
                         .timestream(TimestreamActionProperty.builder()
                                 .databaseName("databaseName")
                                 .dimensions(List.of(TimestreamDimensionProperty.builder()
                                         .name("name")
                                         .value("value")
                                         .build()))
                                 .roleArn("roleArn")
                                 .tableName("tableName")
                                 // the properties below are optional
                                 .timestamp(TimestreamTimestampProperty.builder()
                                         .unit("unit")
                                         .value("value")
                                         .build())
                                 .build())
                         .build()))
                 .sql("sql")
                 // the properties below are optional
                 .awsIotSqlVersion("awsIotSqlVersion")
                 .description("description")
                 .errorAction(ActionProperty.builder()
                         .cloudwatchAlarm(CloudwatchAlarmActionProperty.builder()
                                 .alarmName("alarmName")
                                 .roleArn("roleArn")
                                 .stateReason("stateReason")
                                 .stateValue("stateValue")
                                 .build())
                         .cloudwatchLogs(CloudwatchLogsActionProperty.builder()
                                 .logGroupName("logGroupName")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .batchMode(false)
                                 .build())
                         .cloudwatchMetric(CloudwatchMetricActionProperty.builder()
                                 .metricName("metricName")
                                 .metricNamespace("metricNamespace")
                                 .metricUnit("metricUnit")
                                 .metricValue("metricValue")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .metricTimestamp("metricTimestamp")
                                 .build())
                         .dynamoDb(DynamoDBActionProperty.builder()
                                 .hashKeyField("hashKeyField")
                                 .hashKeyValue("hashKeyValue")
                                 .roleArn("roleArn")
                                 .tableName("tableName")
                                 // the properties below are optional
                                 .hashKeyType("hashKeyType")
                                 .payloadField("payloadField")
                                 .rangeKeyField("rangeKeyField")
                                 .rangeKeyType("rangeKeyType")
                                 .rangeKeyValue("rangeKeyValue")
                                 .build())
                         .dynamoDBv2(DynamoDBv2ActionProperty.builder()
                                 .putItem(PutItemInputProperty.builder()
                                         .tableName("tableName")
                                         .build())
                                 .roleArn("roleArn")
                                 .build())
                         .elasticsearch(ElasticsearchActionProperty.builder()
                                 .endpoint("endpoint")
                                 .id("id")
                                 .index("index")
                                 .roleArn("roleArn")
                                 .type("type")
                                 .build())
                         .firehose(FirehoseActionProperty.builder()
                                 .deliveryStreamName("deliveryStreamName")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .batchMode(false)
                                 .separator("separator")
                                 .build())
                         .http(HttpActionProperty.builder()
                                 .url("url")
                                 // the properties below are optional
                                 .auth(HttpAuthorizationProperty.builder()
                                         .sigv4(SigV4AuthorizationProperty.builder()
                                                 .roleArn("roleArn")
                                                 .serviceName("serviceName")
                                                 .signingRegion("signingRegion")
                                                 .build())
                                         .build())
                                 .confirmationUrl("confirmationUrl")
                                 .headers(List.of(HttpActionHeaderProperty.builder()
                                         .key("key")
                                         .value("value")
                                         .build()))
                                 .build())
                         .iotAnalytics(IotAnalyticsActionProperty.builder()
                                 .channelName("channelName")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .batchMode(false)
                                 .build())
                         .iotEvents(IotEventsActionProperty.builder()
                                 .inputName("inputName")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .batchMode(false)
                                 .messageId("messageId")
                                 .build())
                         .iotSiteWise(IotSiteWiseActionProperty.builder()
                                 .putAssetPropertyValueEntries(List.of(PutAssetPropertyValueEntryProperty.builder()
                                         .propertyValues(List.of(AssetPropertyValueProperty.builder()
                                                 .timestamp(AssetPropertyTimestampProperty.builder()
                                                         .timeInSeconds("timeInSeconds")
                                                         // the properties below are optional
                                                         .offsetInNanos("offsetInNanos")
                                                         .build())
                                                 .value(AssetPropertyVariantProperty.builder()
                                                         .booleanValue("booleanValue")
                                                         .doubleValue("doubleValue")
                                                         .integerValue("integerValue")
                                                         .stringValue("stringValue")
                                                         .build())
                                                 // the properties below are optional
                                                 .quality("quality")
                                                 .build()))
                                         // the properties below are optional
                                         .assetId("assetId")
                                         .entryId("entryId")
                                         .propertyAlias("propertyAlias")
                                         .propertyId("propertyId")
                                         .build()))
                                 .roleArn("roleArn")
                                 .build())
                         .kafka(KafkaActionProperty.builder()
                                 .clientProperties(Map.of(
                                         "clientPropertiesKey", "clientProperties"))
                                 .destinationArn("destinationArn")
                                 .topic("topic")
                                 // the properties below are optional
                                 .headers(List.of(KafkaActionHeaderProperty.builder()
                                         .key("key")
                                         .value("value")
                                         .build()))
                                 .key("key")
                                 .partition("partition")
                                 .build())
                         .kinesis(KinesisActionProperty.builder()
                                 .roleArn("roleArn")
                                 .streamName("streamName")
                                 // the properties below are optional
                                 .partitionKey("partitionKey")
                                 .build())
                         .lambda(LambdaActionProperty.builder()
                                 .functionArn("functionArn")
                                 .build())
                         .location(LocationActionProperty.builder()
                                 .deviceId("deviceId")
                                 .latitude("latitude")
                                 .longitude("longitude")
                                 .roleArn("roleArn")
                                 .trackerName("trackerName")
                                 // the properties below are optional
                                 .timestamp(TimestampProperty.builder()
                                         .value("value")
                                         // the properties below are optional
                                         .unit("unit")
                                         .build())
                                 .build())
                         .openSearch(OpenSearchActionProperty.builder()
                                 .endpoint("endpoint")
                                 .id("id")
                                 .index("index")
                                 .roleArn("roleArn")
                                 .type("type")
                                 .build())
                         .republish(RepublishActionProperty.builder()
                                 .roleArn("roleArn")
                                 .topic("topic")
                                 // the properties below are optional
                                 .headers(RepublishActionHeadersProperty.builder()
                                         .contentType("contentType")
                                         .correlationData("correlationData")
                                         .messageExpiry("messageExpiry")
                                         .payloadFormatIndicator("payloadFormatIndicator")
                                         .responseTopic("responseTopic")
                                         .userProperties(List.of(UserPropertyProperty.builder()
                                                 .key("key")
                                                 .value("value")
                                                 .build()))
                                         .build())
                                 .qos(123)
                                 .build())
                         .s3(S3ActionProperty.builder()
                                 .bucketName("bucketName")
                                 .key("key")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .cannedAcl("cannedAcl")
                                 .build())
                         .sns(SnsActionProperty.builder()
                                 .roleArn("roleArn")
                                 .targetArn("targetArn")
                                 // the properties below are optional
                                 .messageFormat("messageFormat")
                                 .build())
                         .sqs(SqsActionProperty.builder()
                                 .queueUrl("queueUrl")
                                 .roleArn("roleArn")
                                 // the properties below are optional
                                 .useBase64(false)
                                 .build())
                         .stepFunctions(StepFunctionsActionProperty.builder()
                                 .roleArn("roleArn")
                                 .stateMachineName("stateMachineName")
                                 // the properties below are optional
                                 .executionNamePrefix("executionNamePrefix")
                                 .build())
                         .timestream(TimestreamActionProperty.builder()
                                 .databaseName("databaseName")
                                 .dimensions(List.of(TimestreamDimensionProperty.builder()
                                         .name("name")
                                         .value("value")
                                         .build()))
                                 .roleArn("roleArn")
                                 .tableName("tableName")
                                 // the properties below are optional
                                 .timestamp(TimestreamTimestampProperty.builder()
                                         .unit("unit")
                                         .value("value")
                                         .build())
                                 .build())
                         .build())
                 .ruleDisabled(false)
                 .build())
         // the properties below are optional
         .ruleName("ruleName")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 

See Also: