Class CfnTopicRule
Use the AWS::IoT::TopicRule
resource to declare an AWS IoT rule.
Inherited Members
Namespace: Amazon.CDK.AWS.IoT
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnTopicRule : CfnResource, IInspectable, ITaggable
Syntax (vb)
Public Class CfnTopicRule
Inherits CfnResource
Implements IInspectable, ITaggable
Remarks
For information about working with AWS IoT rules, see Rules for AWS IoT in the AWS IoT Developer Guide .
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html
CloudformationResource: AWS::IoT::TopicRule
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
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"
}
}
} },
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
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"
}
}
},
RuleDisabled = false
},
// the properties below are optional
RuleName = "ruleName",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
});
Synopsis
Constructors
Cfn |
Used by jsii to construct an instance of this class from a Javascript-owned object reference |
Cfn |
Used by jsii to construct an instance of this class from DeputyProps |
Cfn |
Properties
Attr |
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. |
Cfn |
|
Rule |
The name of the rule. |
Tags | Tag Manager which manages the tags for this resource. |
Tags |
Metadata which can be used to manage the topic rule. |
Topic |
The rule payload. |
Methods
Inspect(Tree |
Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
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. By Ref Value 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. Deputy Base. Deputy Props The deputy props
CfnTopicRule(Construct, String, ICfnTopicRuleProps)
public CfnTopicRule(Construct scope, string id, ICfnTopicRuleProps props)
Parameters
- scope Constructs.
Construct Scope in which this resource is defined.
- id System.
String Construct identifier for this resource (unique in its scope).
- props ICfn
Topic Rule Props Resource properties.
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.
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.
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.
Overrides
RuleName
The name of the rule.
public virtual string RuleName { get; set; }
Property Value
System.
Tags
Tag Manager which manages the tags for this resource.
public virtual TagManager Tags { get; }
Property Value
TagsRaw
Metadata which can be used to manage the topic rule.
public virtual ICfnTag[] TagsRaw { get; set; }
Property Value
ICfn
TopicRulePayload
The rule payload.
public virtual object TopicRulePayload { get; set; }
Property Value
System.
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector Tree
Inspector 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. <System.Generic. IDictionary String , System.Object >
Returns
System.