Class CfnTopicRule
A CloudFormation AWS::IoT::TopicRule
.
Inherited Members
Namespace: Amazon.CDK.AWS.IoT
Assembly: Amazon.CDK.AWS.IoT.dll
Syntax (csharp)
public class CfnTopicRule : CfnResource, IConstruct, IDependable, IInspectable
Syntax (vb)
Public Class CfnTopicRule
Inherits CfnResource
Implements IConstruct, IDependable, IInspectable
Remarks
Use the AWS::IoT::TopicRule
resource to declare an AWS IoT rule. For information about working with AWS IoT rules, see Rules for AWS IoT in the AWS IoT Developer Guide .
CloudformationResource: AWS::IoT::TopicRule
Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.IoT;
var cfnTopicRule = new CfnTopicRule(this, "MyCfnTopicRule", new CfnTopicRuleProps {
TopicRulePayload = new TopicRulePayloadProperty {
Actions = new [] { 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"
}
},
ConfirmationUrl = "confirmationUrl",
Headers = new [] { new HttpActionHeaderProperty {
Key = "key",
Value = "value"
} }
},
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
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 Date()
},
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"
}
}
} },
Sql = "sql",
// the properties below are optional
AwsIotSqlVersion = "awsIotSqlVersion",
Description = "description",
ErrorAction = 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"
}
},
ConfirmationUrl = "confirmationUrl",
Headers = new [] { new HttpActionHeaderProperty {
Key = "key",
Value = "value"
} }
},
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
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 Date()
},
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"
}
}
},
RuleDisabled = false
},
// the properties below are optional
RuleName = "ruleName",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
});
Synopsis
Constructors
CfnTopicRule(Construct, String, ICfnTopicRuleProps) | Create a new |
CfnTopicRule(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnTopicRule(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
Properties
AttrArn | The Amazon Resource Name (ARN) of the AWS IoT rule, such as |
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
RuleName | The name of the rule. |
Tags | Metadata which can be used to manage the topic rule. |
TopicRulePayload | The rule payload. |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnTopicRule(Construct, String, ICfnTopicRuleProps)
Create a new AWS::IoT::TopicRule
.
public CfnTopicRule(Construct scope, string id, ICfnTopicRuleProps props)
Parameters
- scope Construct
- scope in which this resource is defined.
- id System.String
- scoped id of the resource.
- props ICfnTopicRuleProps
- resource properties.
CfnTopicRule(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnTopicRule(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnTopicRule(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnTopicRule(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
Properties
AttrArn
The Amazon Resource Name (ARN) of the AWS IoT rule, such as arn:aws:iot:us-east-2:123456789012:rule/MyIoTRule
.
public virtual string AttrArn { get; }
Property Value
System.String
Remarks
CloudformationAttribute: Arn
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
RuleName
The name of the rule.
public virtual string RuleName { get; set; }
Property Value
System.String
Remarks
Tags
Metadata which can be used to manage the topic rule.
public virtual TagManager Tags { get; }
Property Value
Remarks
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
The rule payload.
public virtual object TopicRulePayload { get; set; }
Property Value
System.Object
Remarks
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
- tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>