Interface CfnTopicRuleProps
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
CfnTopicRuleProps.Jsii$Proxy
@Generated(value="jsii-pacmak/1.116.0 (build 0eddcff)",
date="2025-10-29T11:15:41.564Z")
@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:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forCfnTopicRulePropsstatic final classAn implementation forCfnTopicRuleProps -
Method Summary
Modifier and TypeMethodDescriptionstatic CfnTopicRuleProps.Builderbuilder()default StringThe name of the rule.getTags()Metadata which can be used to manage the topic rule.The rule payload.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getTopicRulePayload
The rule payload.Returns union: either
IResolvableorCfnTopicRule.TopicRulePayloadProperty- See Also:
-
getRuleName
The name of the rule.- See Also:
-
getTags
Metadata which can be used to manage the topic rule.For URI Request parameters use format: ...key1=value1&key2=value2...
For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..."
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
- See Also:
-
builder
- Returns:
- a
CfnTopicRuleProps.BuilderofCfnTopicRuleProps
-