Experimental
@aws-cdk/aws-iot-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.
ActionConfig Struct
Properties for an topic rule action.
Example
ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as iot_alpha from '@aws-cdk/aws-iot-alpha';
const actionConfig: iot_alpha.ActionConfig = {
configuration: {
cloudwatchAlarm: {
alarmName: 'alarmName',
roleArn: 'roleArn',
stateReason: 'stateReason',
stateValue: 'stateValue',
},
cloudwatchLogs: {
logGroupName: 'logGroupName',
roleArn: 'roleArn',
// the properties below are optional
batchMode: false,
},
cloudwatchMetric: {
metricName: 'metricName',
metricNamespace: 'metricNamespace',
metricUnit: 'metricUnit',
metricValue: 'metricValue',
roleArn: 'roleArn',
// the properties below are optional
metricTimestamp: 'metricTimestamp',
},
dynamoDb: {
hashKeyField: 'hashKeyField',
hashKeyValue: 'hashKeyValue',
roleArn: 'roleArn',
tableName: 'tableName',
// the properties below are optional
hashKeyType: 'hashKeyType',
payloadField: 'payloadField',
rangeKeyField: 'rangeKeyField',
rangeKeyType: 'rangeKeyType',
rangeKeyValue: 'rangeKeyValue',
},
dynamoDBv2: {
putItem: {
tableName: 'tableName',
},
roleArn: 'roleArn',
},
elasticsearch: {
endpoint: 'endpoint',
id: 'id',
index: 'index',
roleArn: 'roleArn',
type: 'type',
},
firehose: {
deliveryStreamName: 'deliveryStreamName',
roleArn: 'roleArn',
// the properties below are optional
batchMode: false,
separator: 'separator',
},
http: {
url: 'url',
// the properties below are optional
auth: {
sigv4: {
roleArn: 'roleArn',
serviceName: 'serviceName',
signingRegion: 'signingRegion',
},
},
batchConfig: {
batchAcrossTopics: false,
maxBatchOpenMs: 123,
maxBatchSize: 123,
maxBatchSizeBytes: 123,
},
confirmationUrl: 'confirmationUrl',
enableBatching: false,
headers: [{
key: 'key',
value: 'value',
}],
},
influxDb: {
databaseName: 'databaseName',
destinationArn: 'destinationArn',
roleArn: 'roleArn',
tableName: 'tableName',
// the properties below are optional
batchConfig: {
batchAcrossTopics: false,
maxBatchOpenMs: 123,
maxBatchSize: 123,
maxBatchSizeBytes: 123,
},
organization: 'organization',
tags: {
tagsKey: 'tags',
},
timestampUnit: 'timestampUnit',
},
iotAnalytics: {
channelName: 'channelName',
roleArn: 'roleArn',
// the properties below are optional
batchMode: false,
},
iotEvents: {
inputName: 'inputName',
roleArn: 'roleArn',
// the properties below are optional
batchMode: false,
messageId: 'messageId',
},
iotSiteWise: {
putAssetPropertyValueEntries: [{
propertyValues: [{
timestamp: {
timeInSeconds: 'timeInSeconds',
// the properties below are optional
offsetInNanos: 'offsetInNanos',
},
value: {
booleanValue: 'booleanValue',
doubleValue: 'doubleValue',
integerValue: 'integerValue',
stringValue: 'stringValue',
},
// the properties below are optional
quality: 'quality',
}],
// the properties below are optional
assetId: 'assetId',
entryId: 'entryId',
propertyAlias: 'propertyAlias',
propertyId: 'propertyId',
}],
roleArn: 'roleArn',
},
kafka: {
clientProperties: {
clientPropertiesKey: 'clientProperties',
},
destinationArn: 'destinationArn',
topic: 'topic',
// the properties below are optional
headers: [{
key: 'key',
value: 'value',
}],
key: 'key',
partition: 'partition',
},
kinesis: {
roleArn: 'roleArn',
streamName: 'streamName',
// the properties below are optional
partitionKey: 'partitionKey',
},
lambda: {
functionArn: 'functionArn',
},
location: {
deviceId: 'deviceId',
latitude: 'latitude',
longitude: 'longitude',
roleArn: 'roleArn',
trackerName: 'trackerName',
// the properties below are optional
timestamp: {
value: 'value',
// the properties below are optional
unit: 'unit',
},
},
openSearch: {
endpoint: 'endpoint',
id: 'id',
index: 'index',
roleArn: 'roleArn',
type: 'type',
},
republish: {
roleArn: 'roleArn',
topic: 'topic',
// the properties below are optional
headers: {
contentType: 'contentType',
correlationData: 'correlationData',
messageExpiry: 'messageExpiry',
payloadFormatIndicator: 'payloadFormatIndicator',
responseTopic: 'responseTopic',
userProperties: [{
key: 'key',
value: 'value',
}],
},
qos: 123,
},
s3: {
bucketName: 'bucketName',
key: 'key',
roleArn: 'roleArn',
// the properties below are optional
cannedAcl: 'cannedAcl',
},
sns: {
roleArn: 'roleArn',
targetArn: 'targetArn',
// the properties below are optional
messageFormat: 'messageFormat',
},
sqs: {
queueUrl: 'queueUrl',
roleArn: 'roleArn',
// the properties below are optional
useBase64: false,
},
stepFunctions: {
roleArn: 'roleArn',
stateMachineName: 'stateMachineName',
// the properties below are optional
executionNamePrefix: 'executionNamePrefix',
},
timestream: {
databaseName: 'databaseName',
dimensions: [{
name: 'name',
value: 'value',
}],
roleArn: 'roleArn',
tableName: 'tableName',
// the properties below are optional
timestamp: {
unit: 'unit',
value: 'value',
},
},
},
};
python
from aws_cdk.aws_iot.ActionProperty import ActionProperty
from aws_cdk.aws_iot.CloudwatchAlarmActionProperty import CloudwatchAlarmActionProperty
from aws_cdk.aws_iot.CloudwatchLogsActionProperty import CloudwatchLogsActionProperty
from aws_cdk.aws_iot.CloudwatchMetricActionProperty import CloudwatchMetricActionProperty
from aws_cdk.aws_iot.DynamoDBActionProperty import DynamoDBActionProperty
from aws_cdk.aws_iot.DynamoDBv2ActionProperty import DynamoDBv2ActionProperty
from aws_cdk.aws_iot.PutItemInputProperty import PutItemInputProperty
from aws_cdk.aws_iot.ElasticsearchActionProperty import ElasticsearchActionProperty
from aws_cdk.aws_iot.FirehoseActionProperty import FirehoseActionProperty
from aws_cdk.aws_iot.HttpActionProperty import HttpActionProperty
from aws_cdk.aws_iot.HttpAuthorizationProperty import HttpAuthorizationProperty
from aws_cdk.aws_iot.SigV4AuthorizationProperty import SigV4AuthorizationProperty
from aws_cdk.aws_iot.BatchConfigProperty import BatchConfigProperty
from aws_cdk.aws_iot.HttpActionHeaderProperty import HttpActionHeaderProperty
from aws_cdk.aws_iot.InfluxDBActionProperty import InfluxDBActionProperty
from aws_cdk.aws_iot.InfluxDBBatchConfigProperty import InfluxDBBatchConfigProperty
from aws_cdk.aws_iot.IotAnalyticsActionProperty import IotAnalyticsActionProperty
from aws_cdk.aws_iot.IotEventsActionProperty import IotEventsActionProperty
from aws_cdk.aws_iot.IotSiteWiseActionProperty import IotSiteWiseActionProperty
from aws_cdk.aws_iot.PutAssetPropertyValueEntryProperty import PutAssetPropertyValueEntryProperty
from aws_cdk.aws_iot.AssetPropertyValueProperty import AssetPropertyValueProperty
from aws_cdk.aws_iot.AssetPropertyTimestampProperty import AssetPropertyTimestampProperty
from aws_cdk.aws_iot.AssetPropertyVariantProperty import AssetPropertyVariantProperty
from aws_cdk.aws_iot.KafkaActionProperty import KafkaActionProperty
from aws_cdk.aws_iot.KafkaActionHeaderProperty import KafkaActionHeaderProperty
from aws_cdk.aws_iot.KinesisActionProperty import KinesisActionProperty
from aws_cdk.aws_iot.LambdaActionProperty import LambdaActionProperty
from aws_cdk.aws_iot.LocationActionProperty import LocationActionProperty
from aws_cdk.aws_iot.TimestampProperty import TimestampProperty
from aws_cdk.aws_iot.OpenSearchActionProperty import OpenSearchActionProperty
from aws_cdk.aws_iot.RepublishActionProperty import RepublishActionProperty
from aws_cdk.aws_iot.RepublishActionHeadersProperty import RepublishActionHeadersProperty
from aws_cdk.aws_iot.UserPropertyProperty import UserPropertyProperty
from aws_cdk.aws_iot.S3ActionProperty import S3ActionProperty
from aws_cdk.aws_iot.SnsActionProperty import SnsActionProperty
from aws_cdk.aws_iot.SqsActionProperty import SqsActionProperty
from aws_cdk.aws_iot.StepFunctionsActionProperty import StepFunctionsActionProperty
from aws_cdk.aws_iot.TimestreamActionProperty import TimestreamActionProperty
from aws_cdk.aws_iot.TimestreamDimensionProperty import TimestreamDimensionProperty
from aws_cdk.aws_iot.TimestreamTimestampProperty import TimestreamTimestampProperty
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_iot_alpha as iot_alpha
action_config = iot_alpha.ActionConfig(
configuration=ActionProperty(
cloudwatch_alarm=CloudwatchAlarmActionProperty(
alarm_name="alarmName",
role_arn="roleArn",
state_reason="stateReason",
state_value="stateValue"
),
cloudwatch_logs=CloudwatchLogsActionProperty(
log_group_name="logGroupName",
role_arn="roleArn",
# the properties below are optional
batch_mode=False
),
cloudwatch_metric=CloudwatchMetricActionProperty(
metric_name="metricName",
metric_namespace="metricNamespace",
metric_unit="metricUnit",
metric_value="metricValue",
role_arn="roleArn",
# the properties below are optional
metric_timestamp="metricTimestamp"
),
dynamo_db=DynamoDBActionProperty(
hash_key_field="hashKeyField",
hash_key_value="hashKeyValue",
role_arn="roleArn",
table_name="tableName",
# the properties below are optional
hash_key_type="hashKeyType",
payload_field="payloadField",
range_key_field="rangeKeyField",
range_key_type="rangeKeyType",
range_key_value="rangeKeyValue"
),
dynamo_d_bv2=DynamoDBv2ActionProperty(
put_item=PutItemInputProperty(
table_name="tableName"
),
role_arn="roleArn"
),
elasticsearch=ElasticsearchActionProperty(
endpoint="endpoint",
id="id",
index="index",
role_arn="roleArn",
type="type"
),
firehose=FirehoseActionProperty(
delivery_stream_name="deliveryStreamName",
role_arn="roleArn",
# the properties below are optional
batch_mode=False,
separator="separator"
),
http=HttpActionProperty(
url="url",
# the properties below are optional
auth=HttpAuthorizationProperty(
sigv4=SigV4AuthorizationProperty(
role_arn="roleArn",
service_name="serviceName",
signing_region="signingRegion"
)
),
batch_config=BatchConfigProperty(
batch_across_topics=False,
max_batch_open_ms=123,
max_batch_size=123,
max_batch_size_bytes=123
),
confirmation_url="confirmationUrl",
enable_batching=False,
headers=[HttpActionHeaderProperty(
key="key",
value="value"
)]
),
influx_db=InfluxDBActionProperty(
database_name="databaseName",
destination_arn="destinationArn",
role_arn="roleArn",
table_name="tableName",
# the properties below are optional
batch_config=InfluxDBBatchConfigProperty(
batch_across_topics=False,
max_batch_open_ms=123,
max_batch_size=123,
max_batch_size_bytes=123
),
organization="organization",
tags={
"tags_key": "tags"
},
timestamp_unit="timestampUnit"
),
iot_analytics=IotAnalyticsActionProperty(
channel_name="channelName",
role_arn="roleArn",
# the properties below are optional
batch_mode=False
),
iot_events=IotEventsActionProperty(
input_name="inputName",
role_arn="roleArn",
# the properties below are optional
batch_mode=False,
message_id="messageId"
),
iot_site_wise=IotSiteWiseActionProperty(
put_asset_property_value_entries=[PutAssetPropertyValueEntryProperty(
property_values=[AssetPropertyValueProperty(
timestamp=AssetPropertyTimestampProperty(
time_in_seconds="timeInSeconds",
# the properties below are optional
offset_in_nanos="offsetInNanos"
),
value=AssetPropertyVariantProperty(
boolean_value="booleanValue",
double_value="doubleValue",
integer_value="integerValue",
string_value="stringValue"
),
# the properties below are optional
quality="quality"
)],
# the properties below are optional
asset_id="assetId",
entry_id="entryId",
property_alias="propertyAlias",
property_id="propertyId"
)],
role_arn="roleArn"
),
kafka=KafkaActionProperty(
client_properties={
"client_properties_key": "clientProperties"
},
destination_arn="destinationArn",
topic="topic",
# the properties below are optional
headers=[KafkaActionHeaderProperty(
key="key",
value="value"
)],
key="key",
partition="partition"
),
kinesis=KinesisActionProperty(
role_arn="roleArn",
stream_name="streamName",
# the properties below are optional
partition_key="partitionKey"
),
lambda_=LambdaActionProperty(
function_arn="functionArn"
),
location=LocationActionProperty(
device_id="deviceId",
latitude="latitude",
longitude="longitude",
role_arn="roleArn",
tracker_name="trackerName",
# the properties below are optional
timestamp=TimestampProperty(
value="value",
# the properties below are optional
unit="unit"
)
),
open_search=OpenSearchActionProperty(
endpoint="endpoint",
id="id",
index="index",
role_arn="roleArn",
type="type"
),
republish=RepublishActionProperty(
role_arn="roleArn",
topic="topic",
# the properties below are optional
headers=RepublishActionHeadersProperty(
content_type="contentType",
correlation_data="correlationData",
message_expiry="messageExpiry",
payload_format_indicator="payloadFormatIndicator",
response_topic="responseTopic",
user_properties=[UserPropertyProperty(
key="key",
value="value"
)]
),
qos=123
),
s3=S3ActionProperty(
bucket_name="bucketName",
key="key",
role_arn="roleArn",
# the properties below are optional
canned_acl="cannedAcl"
),
sns=SnsActionProperty(
role_arn="roleArn",
target_arn="targetArn",
# the properties below are optional
message_format="messageFormat"
),
sqs=SqsActionProperty(
queue_url="queueUrl",
role_arn="roleArn",
# the properties below are optional
use_base64=False
),
step_functions=StepFunctionsActionProperty(
role_arn="roleArn",
state_machine_name="stateMachineName",
# the properties below are optional
execution_name_prefix="executionNamePrefix"
),
timestream=TimestreamActionProperty(
database_name="databaseName",
dimensions=[TimestreamDimensionProperty(
name="name",
value="value"
)],
role_arn="roleArn",
table_name="tableName",
# the properties below are optional
timestamp=TimestreamTimestampProperty(
unit="unit",
value="value"
)
)
)
)
java
// 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.alpha.*;
ActionConfig actionConfig = ActionConfig.builder()
.configuration(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())
.batchConfig(BatchConfigProperty.builder()
.batchAcrossTopics(false)
.maxBatchOpenMs(123)
.maxBatchSize(123)
.maxBatchSizeBytes(123)
.build())
.confirmationUrl("confirmationUrl")
.enableBatching(false)
.headers(List.of(HttpActionHeaderProperty.builder()
.key("key")
.value("value")
.build()))
.build())
.influxDb(InfluxDBActionProperty.builder()
.databaseName("databaseName")
.destinationArn("destinationArn")
.roleArn("roleArn")
.tableName("tableName")
// the properties below are optional
.batchConfig(InfluxDBBatchConfigProperty.builder()
.batchAcrossTopics(false)
.maxBatchOpenMs(123)
.maxBatchSize(123)
.maxBatchSizeBytes(123)
.build())
.organization("organization")
.tags(Map.of(
"tagsKey", "tags"))
.timestampUnit("timestampUnit")
.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())
.build();
csharp
// Install: dotnet add package Amazon.CDK.AWS.IoT.Alpha
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.IoT.Alpha;
var actionConfig = new ActionConfig {
Configuration = new ActionProperty {
CloudwatchAlarm = new CloudwatchAlarmActionProperty {
AlarmName = "alarmName",
RoleArn = "roleArn",
StateReason = "stateReason",
StateValue = "stateValue"
},
CloudwatchLogs = new CloudwatchLogsActionProperty {
LogGroupName = "logGroupName",
RoleArn = "roleArn",
// the properties below are optional
BatchMode = false
},
CloudwatchMetric = new CloudwatchMetricActionProperty {
MetricName = "metricName",
MetricNamespace = "metricNamespace",
MetricUnit = "metricUnit",
MetricValue = "metricValue",
RoleArn = "roleArn",
// the properties below are optional
MetricTimestamp = "metricTimestamp"
},
DynamoDb = new DynamoDBActionProperty {
HashKeyField = "hashKeyField",
HashKeyValue = "hashKeyValue",
RoleArn = "roleArn",
TableName = "tableName",
// the properties below are optional
HashKeyType = "hashKeyType",
PayloadField = "payloadField",
RangeKeyField = "rangeKeyField",
RangeKeyType = "rangeKeyType",
RangeKeyValue = "rangeKeyValue"
},
DynamoDBv2 = new DynamoDBv2ActionProperty {
PutItem = new PutItemInputProperty {
TableName = "tableName"
},
RoleArn = "roleArn"
},
Elasticsearch = new ElasticsearchActionProperty {
Endpoint = "endpoint",
Id = "id",
Index = "index",
RoleArn = "roleArn",
Type = "type"
},
Firehose = new FirehoseActionProperty {
DeliveryStreamName = "deliveryStreamName",
RoleArn = "roleArn",
// the properties below are optional
BatchMode = false,
Separator = "separator"
},
Http = new HttpActionProperty {
Url = "url",
// the properties below are optional
Auth = new HttpAuthorizationProperty {
Sigv4 = new SigV4AuthorizationProperty {
RoleArn = "roleArn",
ServiceName = "serviceName",
SigningRegion = "signingRegion"
}
},
BatchConfig = new BatchConfigProperty {
BatchAcrossTopics = false,
MaxBatchOpenMs = 123,
MaxBatchSize = 123,
MaxBatchSizeBytes = 123
},
ConfirmationUrl = "confirmationUrl",
EnableBatching = false,
Headers = new [] { new HttpActionHeaderProperty {
Key = "key",
Value = "value"
} }
},
InfluxDb = new InfluxDBActionProperty {
DatabaseName = "databaseName",
DestinationArn = "destinationArn",
RoleArn = "roleArn",
TableName = "tableName",
// the properties below are optional
BatchConfig = new InfluxDBBatchConfigProperty {
BatchAcrossTopics = false,
MaxBatchOpenMs = 123,
MaxBatchSize = 123,
MaxBatchSizeBytes = 123
},
Organization = "organization",
Tags = new Dictionary<string, string> {
{ "tagsKey", "tags" }
},
TimestampUnit = "timestampUnit"
},
IotAnalytics = new IotAnalyticsActionProperty {
ChannelName = "channelName",
RoleArn = "roleArn",
// the properties below are optional
BatchMode = false
},
IotEvents = new IotEventsActionProperty {
InputName = "inputName",
RoleArn = "roleArn",
// the properties below are optional
BatchMode = false,
MessageId = "messageId"
},
IotSiteWise = new IotSiteWiseActionProperty {
PutAssetPropertyValueEntries = new [] { new PutAssetPropertyValueEntryProperty {
PropertyValues = new [] { new AssetPropertyValueProperty {
Timestamp = new AssetPropertyTimestampProperty {
TimeInSeconds = "timeInSeconds",
// the properties below are optional
OffsetInNanos = "offsetInNanos"
},
Value = new AssetPropertyVariantProperty {
BooleanValue = "booleanValue",
DoubleValue = "doubleValue",
IntegerValue = "integerValue",
StringValue = "stringValue"
},
// the properties below are optional
Quality = "quality"
} },
// the properties below are optional
AssetId = "assetId",
EntryId = "entryId",
PropertyAlias = "propertyAlias",
PropertyId = "propertyId"
} },
RoleArn = "roleArn"
},
Kafka = new KafkaActionProperty {
ClientProperties = new Dictionary<string, string> {
{ "clientPropertiesKey", "clientProperties" }
},
DestinationArn = "destinationArn",
Topic = "topic",
// the properties below are optional
Headers = new [] { new KafkaActionHeaderProperty {
Key = "key",
Value = "value"
} },
Key = "key",
Partition = "partition"
},
Kinesis = new KinesisActionProperty {
RoleArn = "roleArn",
StreamName = "streamName",
// the properties below are optional
PartitionKey = "partitionKey"
},
Lambda = new LambdaActionProperty {
FunctionArn = "functionArn"
},
Location = new LocationActionProperty {
DeviceId = "deviceId",
Latitude = "latitude",
Longitude = "longitude",
RoleArn = "roleArn",
TrackerName = "trackerName",
// the properties below are optional
Timestamp = new TimestampProperty {
Value = "value",
// the properties below are optional
Unit = "unit"
}
},
OpenSearch = new OpenSearchActionProperty {
Endpoint = "endpoint",
Id = "id",
Index = "index",
RoleArn = "roleArn",
Type = "type"
},
Republish = new RepublishActionProperty {
RoleArn = "roleArn",
Topic = "topic",
// the properties below are optional
Headers = new RepublishActionHeadersProperty {
ContentType = "contentType",
CorrelationData = "correlationData",
MessageExpiry = "messageExpiry",
PayloadFormatIndicator = "payloadFormatIndicator",
ResponseTopic = "responseTopic",
UserProperties = new [] { new UserPropertyProperty {
Key = "key",
Value = "value"
} }
},
Qos = 123
},
S3 = new S3ActionProperty {
BucketName = "bucketName",
Key = "key",
RoleArn = "roleArn",
// the properties below are optional
CannedAcl = "cannedAcl"
},
Sns = new SnsActionProperty {
RoleArn = "roleArn",
TargetArn = "targetArn",
// the properties below are optional
MessageFormat = "messageFormat"
},
Sqs = new SqsActionProperty {
QueueUrl = "queueUrl",
RoleArn = "roleArn",
// the properties below are optional
UseBase64 = false
},
StepFunctions = new StepFunctionsActionProperty {
RoleArn = "roleArn",
StateMachineName = "stateMachineName",
// the properties below are optional
ExecutionNamePrefix = "executionNamePrefix"
},
Timestream = new TimestreamActionProperty {
DatabaseName = "databaseName",
Dimensions = new [] { new TimestreamDimensionProperty {
Name = "name",
Value = "value"
} },
RoleArn = "roleArn",
TableName = "tableName",
// the properties below are optional
Timestamp = new TimestreamTimestampProperty {
Unit = "unit",
Value = "value"
}
}
}
};
go
// Install: go get github.com/aws/aws-cdk-go/awscdkiotalpha/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import iot_alpha "github.com/aws/aws-cdk-go/awscdkiotalpha"
actionConfig := &ActionConfig{
Configuration: &ActionProperty{
CloudwatchAlarm: &CloudwatchAlarmActionProperty{
AlarmName: jsii.String("alarmName"),
RoleArn: jsii.String("roleArn"),
StateReason: jsii.String("stateReason"),
StateValue: jsii.String("stateValue"),
},
CloudwatchLogs: &CloudwatchLogsActionProperty{
LogGroupName: jsii.String("logGroupName"),
RoleArn: jsii.String("roleArn"),
// the properties below are optional
BatchMode: jsii.Boolean(false),
},
CloudwatchMetric: &CloudwatchMetricActionProperty{
MetricName: jsii.String("metricName"),
MetricNamespace: jsii.String("metricNamespace"),
MetricUnit: jsii.String("metricUnit"),
MetricValue: jsii.String("metricValue"),
RoleArn: jsii.String("roleArn"),
// the properties below are optional
MetricTimestamp: jsii.String("metricTimestamp"),
},
DynamoDb: &DynamoDBActionProperty{
HashKeyField: jsii.String("hashKeyField"),
HashKeyValue: jsii.String("hashKeyValue"),
RoleArn: jsii.String("roleArn"),
TableName: jsii.String("tableName"),
// the properties below are optional
HashKeyType: jsii.String("hashKeyType"),
PayloadField: jsii.String("payloadField"),
RangeKeyField: jsii.String("rangeKeyField"),
RangeKeyType: jsii.String("rangeKeyType"),
RangeKeyValue: jsii.String("rangeKeyValue"),
},
DynamoDBv2: &DynamoDBv2ActionProperty{
PutItem: &PutItemInputProperty{
TableName: jsii.String("tableName"),
},
RoleArn: jsii.String("roleArn"),
},
Elasticsearch: &ElasticsearchActionProperty{
Endpoint: jsii.String("endpoint"),
Id: jsii.String("id"),
Index: jsii.String("index"),
RoleArn: jsii.String("roleArn"),
Type: jsii.String("type"),
},
Firehose: &FirehoseActionProperty{
DeliveryStreamName: jsii.String("deliveryStreamName"),
RoleArn: jsii.String("roleArn"),
// the properties below are optional
BatchMode: jsii.Boolean(false),
Separator: jsii.String("separator"),
},
Http: &HttpActionProperty{
Url: jsii.String("url"),
// the properties below are optional
Auth: &HttpAuthorizationProperty{
Sigv4: &SigV4AuthorizationProperty{
RoleArn: jsii.String("roleArn"),
ServiceName: jsii.String("serviceName"),
SigningRegion: jsii.String("signingRegion"),
},
},
BatchConfig: &BatchConfigProperty{
BatchAcrossTopics: jsii.Boolean(false),
MaxBatchOpenMs: jsii.Number(123),
MaxBatchSize: jsii.Number(123),
MaxBatchSizeBytes: jsii.Number(123),
},
ConfirmationUrl: jsii.String("confirmationUrl"),
EnableBatching: jsii.Boolean(false),
Headers: []interface{}{
&HttpActionHeaderProperty{
Key: jsii.String("key"),
Value: jsii.String("value"),
},
},
},
InfluxDb: &InfluxDBActionProperty{
DatabaseName: jsii.String("databaseName"),
DestinationArn: jsii.String("destinationArn"),
RoleArn: jsii.String("roleArn"),
TableName: jsii.String("tableName"),
// the properties below are optional
BatchConfig: &InfluxDBBatchConfigProperty{
BatchAcrossTopics: jsii.Boolean(false),
MaxBatchOpenMs: jsii.Number(123),
MaxBatchSize: jsii.Number(123),
MaxBatchSizeBytes: jsii.Number(123),
},
Organization: jsii.String("organization"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
TimestampUnit: jsii.String("timestampUnit"),
},
IotAnalytics: &IotAnalyticsActionProperty{
ChannelName: jsii.String("channelName"),
RoleArn: jsii.String("roleArn"),
// the properties below are optional
BatchMode: jsii.Boolean(false),
},
IotEvents: &IotEventsActionProperty{
InputName: jsii.String("inputName"),
RoleArn: jsii.String("roleArn"),
// the properties below are optional
BatchMode: jsii.Boolean(false),
MessageId: jsii.String("messageId"),
},
IotSiteWise: &IotSiteWiseActionProperty{
PutAssetPropertyValueEntries: []interface{}{
&PutAssetPropertyValueEntryProperty{
PropertyValues: []interface{}{
&AssetPropertyValueProperty{
Timestamp: &AssetPropertyTimestampProperty{
TimeInSeconds: jsii.String("timeInSeconds"),
// the properties below are optional
OffsetInNanos: jsii.String("offsetInNanos"),
},
Value: &AssetPropertyVariantProperty{
BooleanValue: jsii.String("booleanValue"),
DoubleValue: jsii.String("doubleValue"),
IntegerValue: jsii.String("integerValue"),
StringValue: jsii.String("stringValue"),
},
// the properties below are optional
Quality: jsii.String("quality"),
},
},
// the properties below are optional
AssetId: jsii.String("assetId"),
EntryId: jsii.String("entryId"),
PropertyAlias: jsii.String("propertyAlias"),
PropertyId: jsii.String("propertyId"),
},
},
RoleArn: jsii.String("roleArn"),
},
Kafka: &KafkaActionProperty{
ClientProperties: map[string]*string{
"clientPropertiesKey": jsii.String("clientProperties"),
},
DestinationArn: jsii.String("destinationArn"),
Topic: jsii.String("topic"),
// the properties below are optional
Headers: []interface{}{
&KafkaActionHeaderProperty{
Key: jsii.String("key"),
Value: jsii.String("value"),
},
},
Key: jsii.String("key"),
Partition: jsii.String("partition"),
},
Kinesis: &KinesisActionProperty{
RoleArn: jsii.String("roleArn"),
StreamName: jsii.String("streamName"),
// the properties below are optional
PartitionKey: jsii.String("partitionKey"),
},
Lambda: &LambdaActionProperty{
FunctionArn: jsii.String("functionArn"),
},
Location: &LocationActionProperty{
DeviceId: jsii.String("deviceId"),
Latitude: jsii.String("latitude"),
Longitude: jsii.String("longitude"),
RoleArn: jsii.String("roleArn"),
TrackerName: jsii.String("trackerName"),
// the properties below are optional
Timestamp: &TimestampProperty{
Value: jsii.String("value"),
// the properties below are optional
Unit: jsii.String("unit"),
},
},
OpenSearch: &OpenSearchActionProperty{
Endpoint: jsii.String("endpoint"),
Id: jsii.String("id"),
Index: jsii.String("index"),
RoleArn: jsii.String("roleArn"),
Type: jsii.String("type"),
},
Republish: &RepublishActionProperty{
RoleArn: jsii.String("roleArn"),
Topic: jsii.String("topic"),
// the properties below are optional
Headers: &RepublishActionHeadersProperty{
ContentType: jsii.String("contentType"),
CorrelationData: jsii.String("correlationData"),
MessageExpiry: jsii.String("messageExpiry"),
PayloadFormatIndicator: jsii.String("payloadFormatIndicator"),
ResponseTopic: jsii.String("responseTopic"),
UserProperties: []interface{}{
&UserPropertyProperty{
Key: jsii.String("key"),
Value: jsii.String("value"),
},
},
},
Qos: jsii.Number(123),
},
S3: &S3ActionProperty{
BucketName: jsii.String("bucketName"),
Key: jsii.String("key"),
RoleArn: jsii.String("roleArn"),
// the properties below are optional
CannedAcl: jsii.String("cannedAcl"),
},
Sns: &SnsActionProperty{
RoleArn: jsii.String("roleArn"),
TargetArn: jsii.String("targetArn"),
// the properties below are optional
MessageFormat: jsii.String("messageFormat"),
},
Sqs: &SqsActionProperty{
QueueUrl: jsii.String("queueUrl"),
RoleArn: jsii.String("roleArn"),
// the properties below are optional
UseBase64: jsii.Boolean(false),
},
StepFunctions: &StepFunctionsActionProperty{
RoleArn: jsii.String("roleArn"),
StateMachineName: jsii.String("stateMachineName"),
// the properties below are optional
ExecutionNamePrefix: jsii.String("executionNamePrefix"),
},
Timestream: &TimestreamActionProperty{
DatabaseName: jsii.String("databaseName"),
Dimensions: []interface{}{
&TimestreamDimensionProperty{
Name: jsii.String("name"),
Value: jsii.String("value"),
},
},
RoleArn: jsii.String("roleArn"),
TableName: jsii.String("tableName"),
// the properties below are optional
Timestamp: &TimestreamTimestampProperty{
Unit: jsii.String("unit"),
Value: jsii.String("value"),
},
},
},
}
Properties
configurationCfnTopicRule.ActionPropertyconfigurationActionPropertyconfigurationActionPropertyConfigurationActionPropertyConfigurationActionPropertyrequired#The configuration for this action.