You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::IoT::Types::TopicRulePayload
- Inherits:
-
Struct
- Object
- Struct
- Aws::IoT::Types::TopicRulePayload
- Defined in:
- (unknown)
Overview
When passing TopicRulePayload as input to an Aws::Client method, you can use a vanilla Hash:
{
sql: "SQL", # required
description: "Description",
actions: [ # required
{
dynamo_db: {
table_name: "TableName", # required
role_arn: "AwsArn", # required
operation: "DynamoOperation",
hash_key_field: "HashKeyField", # required
hash_key_value: "HashKeyValue", # required
hash_key_type: "STRING", # accepts STRING, NUMBER
range_key_field: "RangeKeyField",
range_key_value: "RangeKeyValue",
range_key_type: "STRING", # accepts STRING, NUMBER
payload_field: "PayloadField",
},
dynamo_d_bv_2: {
role_arn: "AwsArn", # required
put_item: { # required
table_name: "TableName", # required
},
},
lambda: {
function_arn: "FunctionArn", # required
},
sns: {
target_arn: "AwsArn", # required
role_arn: "AwsArn", # required
message_format: "RAW", # accepts RAW, JSON
},
sqs: {
role_arn: "AwsArn", # required
queue_url: "QueueUrl", # required
use_base_64: false,
},
kinesis: {
role_arn: "AwsArn", # required
stream_name: "StreamName", # required
partition_key: "PartitionKey",
},
republish: {
role_arn: "AwsArn", # required
topic: "TopicPattern", # required
qos: 1,
},
s3: {
role_arn: "AwsArn", # required
bucket_name: "BucketName", # required
key: "Key", # required
canned_acl: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control, log-delivery-write
},
firehose: {
role_arn: "AwsArn", # required
delivery_stream_name: "DeliveryStreamName", # required
separator: "FirehoseSeparator",
batch_mode: false,
},
cloudwatch_metric: {
role_arn: "AwsArn", # required
metric_namespace: "String", # required
metric_name: "String", # required
metric_value: "String", # required
metric_unit: "String", # required
metric_timestamp: "String",
},
cloudwatch_alarm: {
role_arn: "AwsArn", # required
alarm_name: "AlarmName", # required
state_reason: "StateReason", # required
state_value: "StateValue", # required
},
cloudwatch_logs: {
role_arn: "AwsArn", # required
log_group_name: "LogGroupName", # required
},
elasticsearch: {
role_arn: "AwsArn", # required
endpoint: "ElasticsearchEndpoint", # required
index: "ElasticsearchIndex", # required
type: "ElasticsearchType", # required
id: "ElasticsearchId", # required
},
salesforce: {
token: "SalesforceToken", # required
url: "SalesforceEndpoint", # required
},
iot_analytics: {
channel_arn: "AwsArn",
channel_name: "ChannelName",
batch_mode: false,
role_arn: "AwsArn",
},
iot_events: {
input_name: "InputName", # required
message_id: "MessageId",
batch_mode: false,
role_arn: "AwsArn", # required
},
iot_site_wise: {
put_asset_property_value_entries: [ # required
{
entry_id: "AssetPropertyEntryId",
asset_id: "AssetId",
property_id: "AssetPropertyId",
property_alias: "AssetPropertyAlias",
property_values: [ # required
{
value: { # required
string_value: "AssetPropertyStringValue",
integer_value: "AssetPropertyIntegerValue",
double_value: "AssetPropertyDoubleValue",
boolean_value: "AssetPropertyBooleanValue",
},
timestamp: { # required
time_in_seconds: "AssetPropertyTimeInSeconds", # required
offset_in_nanos: "AssetPropertyOffsetInNanos",
},
quality: "AssetPropertyQuality",
},
],
},
],
role_arn: "AwsArn", # required
},
step_functions: {
execution_name_prefix: "ExecutionNamePrefix",
state_machine_name: "StateMachineName", # required
role_arn: "AwsArn", # required
},
timestream: {
role_arn: "AwsArn", # required
database_name: "TimestreamDatabaseName", # required
table_name: "TimestreamTableName", # required
dimensions: [ # required
{
name: "TimestreamDimensionName", # required
value: "TimestreamDimensionValue", # required
},
],
timestamp: {
value: "TimestreamTimestampValue", # required
unit: "TimestreamTimestampUnit", # required
},
},
http: {
url: "Url", # required
confirmation_url: "Url",
headers: [
{
key: "HeaderKey", # required
value: "HeaderValue", # required
},
],
auth: {
sigv4: {
signing_region: "SigningRegion", # required
service_name: "ServiceName", # required
role_arn: "AwsArn", # required
},
},
},
},
],
rule_disabled: false,
aws_iot_sql_version: "AwsIotSqlVersion",
error_action: {
dynamo_db: {
table_name: "TableName", # required
role_arn: "AwsArn", # required
operation: "DynamoOperation",
hash_key_field: "HashKeyField", # required
hash_key_value: "HashKeyValue", # required
hash_key_type: "STRING", # accepts STRING, NUMBER
range_key_field: "RangeKeyField",
range_key_value: "RangeKeyValue",
range_key_type: "STRING", # accepts STRING, NUMBER
payload_field: "PayloadField",
},
dynamo_d_bv_2: {
role_arn: "AwsArn", # required
put_item: { # required
table_name: "TableName", # required
},
},
lambda: {
function_arn: "FunctionArn", # required
},
sns: {
target_arn: "AwsArn", # required
role_arn: "AwsArn", # required
message_format: "RAW", # accepts RAW, JSON
},
sqs: {
role_arn: "AwsArn", # required
queue_url: "QueueUrl", # required
use_base_64: false,
},
kinesis: {
role_arn: "AwsArn", # required
stream_name: "StreamName", # required
partition_key: "PartitionKey",
},
republish: {
role_arn: "AwsArn", # required
topic: "TopicPattern", # required
qos: 1,
},
s3: {
role_arn: "AwsArn", # required
bucket_name: "BucketName", # required
key: "Key", # required
canned_acl: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control, log-delivery-write
},
firehose: {
role_arn: "AwsArn", # required
delivery_stream_name: "DeliveryStreamName", # required
separator: "FirehoseSeparator",
batch_mode: false,
},
cloudwatch_metric: {
role_arn: "AwsArn", # required
metric_namespace: "String", # required
metric_name: "String", # required
metric_value: "String", # required
metric_unit: "String", # required
metric_timestamp: "String",
},
cloudwatch_alarm: {
role_arn: "AwsArn", # required
alarm_name: "AlarmName", # required
state_reason: "StateReason", # required
state_value: "StateValue", # required
},
cloudwatch_logs: {
role_arn: "AwsArn", # required
log_group_name: "LogGroupName", # required
},
elasticsearch: {
role_arn: "AwsArn", # required
endpoint: "ElasticsearchEndpoint", # required
index: "ElasticsearchIndex", # required
type: "ElasticsearchType", # required
id: "ElasticsearchId", # required
},
salesforce: {
token: "SalesforceToken", # required
url: "SalesforceEndpoint", # required
},
iot_analytics: {
channel_arn: "AwsArn",
channel_name: "ChannelName",
batch_mode: false,
role_arn: "AwsArn",
},
iot_events: {
input_name: "InputName", # required
message_id: "MessageId",
batch_mode: false,
role_arn: "AwsArn", # required
},
iot_site_wise: {
put_asset_property_value_entries: [ # required
{
entry_id: "AssetPropertyEntryId",
asset_id: "AssetId",
property_id: "AssetPropertyId",
property_alias: "AssetPropertyAlias",
property_values: [ # required
{
value: { # required
string_value: "AssetPropertyStringValue",
integer_value: "AssetPropertyIntegerValue",
double_value: "AssetPropertyDoubleValue",
boolean_value: "AssetPropertyBooleanValue",
},
timestamp: { # required
time_in_seconds: "AssetPropertyTimeInSeconds", # required
offset_in_nanos: "AssetPropertyOffsetInNanos",
},
quality: "AssetPropertyQuality",
},
],
},
],
role_arn: "AwsArn", # required
},
step_functions: {
execution_name_prefix: "ExecutionNamePrefix",
state_machine_name: "StateMachineName", # required
role_arn: "AwsArn", # required
},
timestream: {
role_arn: "AwsArn", # required
database_name: "TimestreamDatabaseName", # required
table_name: "TimestreamTableName", # required
dimensions: [ # required
{
name: "TimestreamDimensionName", # required
value: "TimestreamDimensionValue", # required
},
],
timestamp: {
value: "TimestreamTimestampValue", # required
unit: "TimestreamTimestampUnit", # required
},
},
http: {
url: "Url", # required
confirmation_url: "Url",
headers: [
{
key: "HeaderKey", # required
value: "HeaderValue", # required
},
],
auth: {
sigv4: {
signing_region: "SigningRegion", # required
service_name: "ServiceName", # required
role_arn: "AwsArn", # required
},
},
},
},
}
Describes a rule.
Returned by:
Instance Attribute Summary collapse
-
#actions ⇒ Array<Types::Action>
The actions associated with the rule.
-
#aws_iot_sql_version ⇒ String
The version of the SQL rules engine to use when evaluating the rule.
-
#description ⇒ String
The description of the rule.
-
#error_action ⇒ Types::Action
The action to take when an error occurs.
-
#rule_disabled ⇒ Boolean
Specifies whether the rule is disabled.
-
#sql ⇒ String
The SQL statement used to query the topic.
Instance Attribute Details
#actions ⇒ Array<Types::Action>
The actions associated with the rule.
#aws_iot_sql_version ⇒ String
The version of the SQL rules engine to use when evaluating the rule.
#description ⇒ String
The description of the rule.
#error_action ⇒ Types::Action
The action to take when an error occurs.
#rule_disabled ⇒ Boolean
Specifies whether the rule is disabled.
#sql ⇒ String
The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.