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.