Interface CfnTopicRule.TopicRulePayloadProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnTopicRule.TopicRulePayloadProperty.Jsii$Proxy
Enclosing class:
CfnTopicRule

@Stability(Stable) public static interface CfnTopicRule.TopicRulePayloadProperty extends software.amazon.jsii.JsiiSerializable
Describes a rule.

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.*;
 TopicRulePayloadProperty topicRulePayloadProperty = 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
                         .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(new Date())
                         .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
                         .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(new Date())
                         .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();
 
  • Method Details

    • getActions

      @Stability(Stable) @NotNull Object getActions()
      The actions associated with the rule.
    • getSql

      @Stability(Stable) @NotNull String getSql()
      The SQL statement used to query the topic.

      For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide .

    • getAwsIotSqlVersion

      @Stability(Stable) @Nullable default String getAwsIotSqlVersion()
      The version of the SQL rules engine to use when evaluating the rule.

      The default value is 2015-10-08.

    • getDescription

      @Stability(Stable) @Nullable default String getDescription()
      The description of the rule.
    • getErrorAction

      @Stability(Stable) @Nullable default Object getErrorAction()
      The action to take when an error occurs.
    • getRuleDisabled

      @Stability(Stable) @Nullable default Object getRuleDisabled()
      Specifies whether the rule is disabled.
    • builder

      @Stability(Stable) static CfnTopicRule.TopicRulePayloadProperty.Builder builder()
      Returns:
      a CfnTopicRule.TopicRulePayloadProperty.Builder of CfnTopicRule.TopicRulePayloadProperty