Class: Aws::IoT::Types::CreateTopicRuleRequest
- Inherits:
-
Struct
- Object
- Struct
- Aws::IoT::Types::CreateTopicRuleRequest
- Includes:
- Structure
- Defined in:
- lib/aws-sdk-iot/types.rb
Overview
Note:
When making an API call, you may pass CreateTopicRuleRequest data as a hash:
{
rule_name: "RuleName", # required
topic_rule_payload: { # required
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
},
},
},
kafka: {
destination_arn: "AwsArn", # required
topic: "String", # required
key: "String",
partition: "String",
client_properties: { # required
"String" => "String",
},
},
open_search: {
role_arn: "AwsArn", # required
endpoint: "ElasticsearchEndpoint", # required
index: "ElasticsearchIndex", # required
type: "ElasticsearchType", # required
id: "ElasticsearchId", # required
},
location: {
role_arn: "AwsArn", # required
tracker_name: "String", # required
device_id: "String", # required
timestamp: {
value: "String", # required
unit: "String",
},
latitude: "String", # required
longitude: "String", # 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
},
},
},
kafka: {
destination_arn: "AwsArn", # required
topic: "String", # required
key: "String",
partition: "String",
client_properties: { # required
"String" => "String",
},
},
open_search: {
role_arn: "AwsArn", # required
endpoint: "ElasticsearchEndpoint", # required
index: "ElasticsearchIndex", # required
type: "ElasticsearchType", # required
id: "ElasticsearchId", # required
},
location: {
role_arn: "AwsArn", # required
tracker_name: "String", # required
device_id: "String", # required
timestamp: {
value: "String", # required
unit: "String",
},
latitude: "String", # required
longitude: "String", # required
},
},
},
tags: "String",
}
The input for the CreateTopicRule operation.
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#rule_name ⇒ String
The name of the rule.
-
#tags ⇒ String
Metadata which can be used to manage the topic rule.
-
#topic_rule_payload ⇒ Types::TopicRulePayload
The rule payload.
Instance Attribute Details
#rule_name ⇒ String
The name of the rule.
5603 5604 5605 5606 5607 5608 5609 |
# File 'lib/aws-sdk-iot/types.rb', line 5603 class CreateTopicRuleRequest < Struct.new( :rule_name, :topic_rule_payload, :tags) SENSITIVE = [] include Aws::Structure end |
#tags ⇒ String
Metadata which can be used to manage the topic rule.
<note markdown=“1”> 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…”
</note>
5603 5604 5605 5606 5607 5608 5609 |
# File 'lib/aws-sdk-iot/types.rb', line 5603 class CreateTopicRuleRequest < Struct.new( :rule_name, :topic_rule_payload, :tags) SENSITIVE = [] include Aws::Structure end |
#topic_rule_payload ⇒ Types::TopicRulePayload
The rule payload.
5603 5604 5605 5606 5607 5608 5609 |
# File 'lib/aws-sdk-iot/types.rb', line 5603 class CreateTopicRuleRequest < Struct.new( :rule_name, :topic_rule_payload, :tags) SENSITIVE = [] include Aws::Structure end |