Interface CfnTopicRule.ActionProperty

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

@Stability(Stable) public static interface CfnTopicRule.ActionProperty extends software.amazon.jsii.JsiiSerializable
Describes the actions associated with 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.*;
 ActionProperty actionProperty = 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();
 

See Also: