Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::IoT::Types::Action

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing Action as input to an Aws::Client method, you can use a vanilla Hash:

{
  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 the actions associated with a rule.

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#cloudwatch_alarmTypes::CloudwatchAlarmAction

Change the state of a CloudWatch alarm.

Returns:

#cloudwatch_logsTypes::CloudwatchLogsAction

Send data to CloudWatch Logs.

Returns:

#cloudwatch_metricTypes::CloudwatchMetricAction

Capture a CloudWatch metric.

Returns:

#dynamo_d_bv_2Types::DynamoDBv2Action

Write to a DynamoDB table. This is a new version of the DynamoDB action. It allows you to write each attribute in an MQTT message payload into a separate DynamoDB column.

Returns:

#dynamo_dbTypes::DynamoDBAction

Write to a DynamoDB table.

Returns:

#elasticsearchTypes::ElasticsearchAction

Write data to an Amazon Elasticsearch Service domain.

Returns:

#firehoseTypes::FirehoseAction

Write to an Amazon Kinesis Firehose stream.

Returns:

#httpTypes::HttpAction

Send data to an HTTPS endpoint.

Returns:

#iot_analyticsTypes::IotAnalyticsAction

Sends message data to an AWS IoT Analytics channel.

Returns:

#iot_eventsTypes::IotEventsAction

Sends an input to an AWS IoT Events detector.

Returns:

#iot_site_wiseTypes::IotSiteWiseAction

Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise asset properties.

Returns:

  • (Types::IotSiteWiseAction)

    Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise asset properties.

#kinesisTypes::KinesisAction

Write data to an Amazon Kinesis stream.

Returns:

#lambdaTypes::LambdaAction

Invoke a Lambda function.

Returns:

#republishTypes::RepublishAction

Publish to another MQTT topic.

Returns:

#s3Types::S3Action

Write to an Amazon S3 bucket.

Returns:

#salesforceTypes::SalesforceAction

Send a message to a Salesforce IoT Cloud Input Stream.

Returns:

#snsTypes::SnsAction

Publish to an Amazon SNS topic.

Returns:

#sqsTypes::SqsAction

Publish to an Amazon SQS queue.

Returns:

#step_functionsTypes::StepFunctionsAction

Starts execution of a Step Functions state machine.

Returns:

#timestreamTypes::TimestreamAction

The Timestream rule action writes attributes (measures) from an MQTT message into an Amazon Timestream table. For more information, see the Timestream topic rule action documentation.

Returns:

  • (Types::TimestreamAction)

    The Timestream rule action writes attributes (measures) from an MQTT message into an Amazon Timestream table.