Show / Hide Table of Contents

Class CfnTopicRule

A CloudFormation AWS::IoT::TopicRule.

Inheritance
System.Object
Construct
CfnElement
CfnRefElement
CfnResource
CfnTopicRule
Implements
IConstruct
Constructs.IConstruct
IDependable
IInspectable
Inherited Members
CfnResource.IsCfnResource(IConstruct)
CfnResource.AddDeletionOverride(String)
CfnResource.AddDependsOn(CfnResource)
CfnResource.AddMetadata(String, Object)
CfnResource.AddOverride(String, Object)
CfnResource.AddPropertyDeletionOverride(String)
CfnResource.AddPropertyOverride(String, Object)
CfnResource.ApplyRemovalPolicy(Nullable<RemovalPolicy>, IRemovalPolicyOptions)
CfnResource.GetAtt(String)
CfnResource.GetMetadata(String)
CfnResource.ShouldSynthesize()
CfnResource.ToString()
CfnResource.ValidateProperties(Object)
CfnResource.CfnOptions
CfnResource.CfnResourceType
CfnResource.UpdatedProperites
CfnRefElement.Ref
CfnElement.IsCfnElement(Object)
CfnElement.OverrideLogicalId(String)
CfnElement.CreationStack
CfnElement.LogicalId
CfnElement.Stack
Construct.IsConstruct(Object)
Construct.OnPrepare()
Construct.OnSynthesize(ISynthesisSession)
Construct.OnValidate()
Construct.Prepare()
Construct.Synthesize(ISynthesisSession)
Construct.Validate()
Construct.Node
Namespace: Amazon.CDK.AWS.IoT
Assembly: Amazon.CDK.AWS.IoT.dll
Syntax (csharp)
public class CfnTopicRule : CfnResource, IConstruct, IConstruct, IDependable, IInspectable
Syntax (vb)
Public Class CfnTopicRule
    Inherits CfnResource
    Implements IConstruct, 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;

CfnTopicRule 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"
            },
            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"
            },
            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
                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
                BatchMode = false,
                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"
            },
            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"
            },
            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
                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
                BatchMode = false,
                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 AWS::IoT::TopicRule.

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 arn:aws:iot:us-east-2:123456789012:rule/MyIoTRule .

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

RuleName

The name of the rule.

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

System.String

Remarks

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-rulename

Tags

Metadata which can be used to manage the topic rule.

public virtual TagManager Tags { get; }
Property Value

TagManager

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..."

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-tags

TopicRulePayload

The rule payload.

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

System.Object

Remarks

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-topicrulepayload

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>

Overrides
CfnResource.RenderProperties(IDictionary<String, Object>)

Implements

IConstruct
Constructs.IConstruct
IDependable
IInspectable
Back to top Generated by DocFX