Show / Hide Table of Contents

Class CfnTopicRule

Use the AWS::IoT::TopicRule resource to declare an AWS IoT rule.

Inheritance
object
CfnElement
CfnRefElement
CfnResource
CfnTopicRule
Implements
IInspectable
ITaggable
Inherited Members
CfnResource.IsCfnResource(object)
CfnResource.AddDeletionOverride(string)
CfnResource.AddDependency(CfnResource)
CfnResource.AddDependsOn(CfnResource)
CfnResource.AddMetadata(string, object)
CfnResource.AddOverride(string, object)
CfnResource.AddPropertyDeletionOverride(string)
CfnResource.AddPropertyOverride(string, object)
CfnResource.ApplyRemovalPolicy(RemovalPolicy?, IRemovalPolicyOptions)
CfnResource.GetAtt(string, ResolutionTypeHint?)
CfnResource.GetMetadata(string)
CfnResource.ObtainDependencies()
CfnResource.ObtainResourceDependencies()
CfnResource.RemoveDependency(CfnResource)
CfnResource.ReplaceDependency(CfnResource, CfnResource)
CfnResource.ShouldSynthesize()
CfnResource.ToString()
CfnResource.ValidateProperties(object)
CfnResource.CfnOptions
CfnResource.CfnResourceType
CfnResource.UpdatedProperites
CfnResource.UpdatedProperties
CfnRefElement.Ref
CfnElement.IsCfnElement(object)
CfnElement.OverrideLogicalId(string)
CfnElement.CreationStack
CfnElement.LogicalId
CfnElement.Stack
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

CfnTopicRule(Construct, string, ICfnTopicRuleProps)

Use the AWS::IoT::TopicRule resource to declare an AWS IoT rule.

Properties

AttrArn

The Amazon Resource Name (ARN) of the AWS IoT rule, such as arn:aws:iot:us-east-2:123456789012:rule/MyIoTRule .

CFN_RESOURCE_TYPE_NAME

The CloudFormation resource type name for this resource class.

CfnProperties

Use the AWS::IoT::TopicRule resource to declare an AWS IoT rule.

RuleName

The name of the rule.

Tags

Tag Manager which manages the tags for this resource.

TagsRaw

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>)

Use the AWS::IoT::TopicRule resource to declare an AWS IoT rule.

Constructors

CfnTopicRule(Construct, string, ICfnTopicRuleProps)

Use the AWS::IoT::TopicRule resource to declare an AWS IoT rule.

public CfnTopicRule(Construct scope, string id, ICfnTopicRuleProps props)
Parameters
scope Construct

Scope in which this resource is defined.

id string

Construct identifier for this resource (unique in its scope).

props ICfnTopicRuleProps

Resource properties.

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

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

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

string

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

CfnProperties

Use the AWS::IoT::TopicRule resource to declare an AWS IoT rule.

protected override IDictionary<string, object> CfnProperties { get; }
Property Value

IDictionary<string, object>

Overrides
CfnResource.CfnProperties
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

RuleName

The name of the rule.

public virtual string? RuleName { get; set; }
Property Value

string

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

Tags

Tag Manager which manages the tags for this resource.

public virtual TagManager Tags { get; }
Property Value

TagManager

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

TagsRaw

Metadata which can be used to manage the topic rule.

public virtual ICfnTag[]? TagsRaw { get; set; }
Property Value

ICfnTag[]

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

TopicRulePayload

The rule payload.

public virtual object TopicRulePayload { get; set; }
Property Value

object

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

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.

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

RenderProperties(IDictionary<string, object>)

Use the AWS::IoT::TopicRule resource to declare an AWS IoT rule.

protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
props IDictionary<string, object>
Returns

IDictionary<string, object>

Overrides
CfnResource.RenderProperties(IDictionary<string, object>)
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

Implements

IInspectable
ITaggable
Back to top Generated by DocFX