interface CfnTopicRuleMixinProps
| Language | Type name |
|---|---|
.NET | Amazon.CDK.Mixins.Preview.AWS.IoT.Mixins.CfnTopicRuleMixinProps |
Go | github.com/aws/aws-cdk-go/awscdkmixinspreview/v2/awsiot/mixins#CfnTopicRuleMixinProps |
Java | software.amazon.awscdk.mixins.preview.services.iot.mixins.CfnTopicRuleMixinProps |
Python | aws_cdk.mixins_preview.aws_iot.mixins.CfnTopicRuleMixinProps |
TypeScript | @aws-cdk/mixins-preview » aws_iot » mixins » CfnTopicRuleMixinProps |
Properties for CfnTopicRulePropsMixin.
See also: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { mixins as iot_mixins } from '@aws-cdk/mixins-preview/aws-iot';
const cfnTopicRuleMixinProps: iot_mixins.CfnTopicRuleMixinProps = {
ruleName: 'ruleName',
tags: [{
key: 'key',
value: 'value',
}],
topicRulePayload: {
actions: [{
cloudwatchAlarm: {
alarmName: 'alarmName',
roleArn: 'roleArn',
stateReason: 'stateReason',
stateValue: 'stateValue',
},
cloudwatchLogs: {
batchMode: false,
logGroupName: 'logGroupName',
roleArn: 'roleArn',
},
cloudwatchMetric: {
metricName: 'metricName',
metricNamespace: 'metricNamespace',
metricTimestamp: 'metricTimestamp',
metricUnit: 'metricUnit',
metricValue: 'metricValue',
roleArn: 'roleArn',
},
dynamoDb: {
hashKeyField: 'hashKeyField',
hashKeyType: 'hashKeyType',
hashKeyValue: 'hashKeyValue',
payloadField: 'payloadField',
rangeKeyField: 'rangeKeyField',
rangeKeyType: 'rangeKeyType',
rangeKeyValue: 'rangeKeyValue',
roleArn: 'roleArn',
tableName: 'tableName',
},
dynamoDBv2: {
putItem: {
tableName: 'tableName',
},
roleArn: 'roleArn',
},
elasticsearch: {
endpoint: 'endpoint',
id: 'id',
index: 'index',
roleArn: 'roleArn',
type: 'type',
},
firehose: {
batchMode: false,
deliveryStreamName: 'deliveryStreamName',
roleArn: 'roleArn',
separator: 'separator',
},
http: {
auth: {
sigv4: {
roleArn: 'roleArn',
serviceName: 'serviceName',
signingRegion: 'signingRegion',
},
},
confirmationUrl: 'confirmationUrl',
headers: [{
key: 'key',
value: 'value',
}],
url: 'url',
},
iotAnalytics: {
batchMode: false,
channelName: 'channelName',
roleArn: 'roleArn',
},
iotEvents: {
batchMode: false,
inputName: 'inputName',
messageId: 'messageId',
roleArn: 'roleArn',
},
iotSiteWise: {
putAssetPropertyValueEntries: [{
assetId: 'assetId',
entryId: 'entryId',
propertyAlias: 'propertyAlias',
propertyId: 'propertyId',
propertyValues: [{
quality: 'quality',
timestamp: {
offsetInNanos: 'offsetInNanos',
timeInSeconds: 'timeInSeconds',
},
value: {
booleanValue: 'booleanValue',
doubleValue: 'doubleValue',
integerValue: 'integerValue',
stringValue: 'stringValue',
},
}],
}],
roleArn: 'roleArn',
},
kafka: {
clientProperties: {
clientPropertiesKey: 'clientProperties',
},
destinationArn: 'destinationArn',
headers: [{
key: 'key',
value: 'value',
}],
key: 'key',
partition: 'partition',
topic: 'topic',
},
kinesis: {
partitionKey: 'partitionKey',
roleArn: 'roleArn',
streamName: 'streamName',
},
lambda: {
functionArn: 'functionArn',
},
location: {
deviceId: 'deviceId',
latitude: 'latitude',
longitude: 'longitude',
roleArn: 'roleArn',
timestamp: {
unit: 'unit',
value: 'value',
},
trackerName: 'trackerName',
},
openSearch: {
endpoint: 'endpoint',
id: 'id',
index: 'index',
roleArn: 'roleArn',
type: 'type',
},
republish: {
headers: {
contentType: 'contentType',
correlationData: 'correlationData',
messageExpiry: 'messageExpiry',
payloadFormatIndicator: 'payloadFormatIndicator',
responseTopic: 'responseTopic',
userProperties: [{
key: 'key',
value: 'value',
}],
},
qos: 123,
roleArn: 'roleArn',
topic: 'topic',
},
s3: {
bucketName: 'bucketName',
cannedAcl: 'cannedAcl',
key: 'key',
roleArn: 'roleArn',
},
sns: {
messageFormat: 'messageFormat',
roleArn: 'roleArn',
targetArn: 'targetArn',
},
sqs: {
queueUrl: 'queueUrl',
roleArn: 'roleArn',
useBase64: false,
},
stepFunctions: {
executionNamePrefix: 'executionNamePrefix',
roleArn: 'roleArn',
stateMachineName: 'stateMachineName',
},
timestream: {
databaseName: 'databaseName',
dimensions: [{
name: 'name',
value: 'value',
}],
roleArn: 'roleArn',
tableName: 'tableName',
timestamp: {
unit: 'unit',
value: 'value',
},
},
}],
awsIotSqlVersion: 'awsIotSqlVersion',
description: 'description',
errorAction: {
cloudwatchAlarm: {
alarmName: 'alarmName',
roleArn: 'roleArn',
stateReason: 'stateReason',
stateValue: 'stateValue',
},
cloudwatchLogs: {
batchMode: false,
logGroupName: 'logGroupName',
roleArn: 'roleArn',
},
cloudwatchMetric: {
metricName: 'metricName',
metricNamespace: 'metricNamespace',
metricTimestamp: 'metricTimestamp',
metricUnit: 'metricUnit',
metricValue: 'metricValue',
roleArn: 'roleArn',
},
dynamoDb: {
hashKeyField: 'hashKeyField',
hashKeyType: 'hashKeyType',
hashKeyValue: 'hashKeyValue',
payloadField: 'payloadField',
rangeKeyField: 'rangeKeyField',
rangeKeyType: 'rangeKeyType',
rangeKeyValue: 'rangeKeyValue',
roleArn: 'roleArn',
tableName: 'tableName',
},
dynamoDBv2: {
putItem: {
tableName: 'tableName',
},
roleArn: 'roleArn',
},
elasticsearch: {
endpoint: 'endpoint',
id: 'id',
index: 'index',
roleArn: 'roleArn',
type: 'type',
},
firehose: {
batchMode: false,
deliveryStreamName: 'deliveryStreamName',
roleArn: 'roleArn',
separator: 'separator',
},
http: {
auth: {
sigv4: {
roleArn: 'roleArn',
serviceName: 'serviceName',
signingRegion: 'signingRegion',
},
},
confirmationUrl: 'confirmationUrl',
headers: [{
key: 'key',
value: 'value',
}],
url: 'url',
},
iotAnalytics: {
batchMode: false,
channelName: 'channelName',
roleArn: 'roleArn',
},
iotEvents: {
batchMode: false,
inputName: 'inputName',
messageId: 'messageId',
roleArn: 'roleArn',
},
iotSiteWise: {
putAssetPropertyValueEntries: [{
assetId: 'assetId',
entryId: 'entryId',
propertyAlias: 'propertyAlias',
propertyId: 'propertyId',
propertyValues: [{
quality: 'quality',
timestamp: {
offsetInNanos: 'offsetInNanos',
timeInSeconds: 'timeInSeconds',
},
value: {
booleanValue: 'booleanValue',
doubleValue: 'doubleValue',
integerValue: 'integerValue',
stringValue: 'stringValue',
},
}],
}],
roleArn: 'roleArn',
},
kafka: {
clientProperties: {
clientPropertiesKey: 'clientProperties',
},
destinationArn: 'destinationArn',
headers: [{
key: 'key',
value: 'value',
}],
key: 'key',
partition: 'partition',
topic: 'topic',
},
kinesis: {
partitionKey: 'partitionKey',
roleArn: 'roleArn',
streamName: 'streamName',
},
lambda: {
functionArn: 'functionArn',
},
location: {
deviceId: 'deviceId',
latitude: 'latitude',
longitude: 'longitude',
roleArn: 'roleArn',
timestamp: {
unit: 'unit',
value: 'value',
},
trackerName: 'trackerName',
},
openSearch: {
endpoint: 'endpoint',
id: 'id',
index: 'index',
roleArn: 'roleArn',
type: 'type',
},
republish: {
headers: {
contentType: 'contentType',
correlationData: 'correlationData',
messageExpiry: 'messageExpiry',
payloadFormatIndicator: 'payloadFormatIndicator',
responseTopic: 'responseTopic',
userProperties: [{
key: 'key',
value: 'value',
}],
},
qos: 123,
roleArn: 'roleArn',
topic: 'topic',
},
s3: {
bucketName: 'bucketName',
cannedAcl: 'cannedAcl',
key: 'key',
roleArn: 'roleArn',
},
sns: {
messageFormat: 'messageFormat',
roleArn: 'roleArn',
targetArn: 'targetArn',
},
sqs: {
queueUrl: 'queueUrl',
roleArn: 'roleArn',
useBase64: false,
},
stepFunctions: {
executionNamePrefix: 'executionNamePrefix',
roleArn: 'roleArn',
stateMachineName: 'stateMachineName',
},
timestream: {
databaseName: 'databaseName',
dimensions: [{
name: 'name',
value: 'value',
}],
roleArn: 'roleArn',
tableName: 'tableName',
timestamp: {
unit: 'unit',
value: 'value',
},
},
},
ruleDisabled: false,
sql: 'sql',
},
};
Properties
| Name | Type | Description |
|---|---|---|
| rule | string | The name of the rule. |
| tags? | Cfn[] | Metadata which can be used to manage the topic rule. |
| topic | IResolvable | Topic | The rule payload. |
ruleName?
Type:
string
(optional)
The name of the rule.
tags?
Type:
Cfn[]
(optional)
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..."
topicRulePayload?
Type:
IResolvable | Topic
(optional)
The rule payload.

.NET
Go
Java
Python
TypeScript