Action

Describes the actions associated with a rule.

ComplianceIoTSecurityVulnerability Management

Properties

Name Type Description
dynamoDB object
dynamoDBv2 object
lambda object
sns object
sqs object
kinesis object
republish object
s3 object
firehose object
cloudwatchMetric object
cloudwatchAlarm object
cloudwatchLogs object
elasticsearch object
salesforce object
iotAnalytics object
iotEvents object
iotSiteWise object
stepFunctions object
timestream object
http object
kafka object
openSearch object
location object
View JSON Schema on GitHub

JSON Schema

iot-device-defender-action-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-iot-device-defender/refs/heads/main/json-schema/iot-device-defender-action-schema.json",
  "title": "Action",
  "description": "Describes the actions associated with a rule.",
  "type": "object",
  "properties": {
    "dynamoDB": {
      "allOf": [
        {
          "$ref": "#/components/schemas/DynamoDBAction"
        },
        {
          "description": "Write to a DynamoDB table."
        }
      ]
    },
    "dynamoDBv2": {
      "allOf": [
        {
          "$ref": "#/components/schemas/DynamoDBv2Action"
        },
        {
          "description": "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."
        }
      ]
    },
    "lambda": {
      "allOf": [
        {
          "$ref": "#/components/schemas/LambdaAction"
        },
        {
          "description": "Invoke a Lambda function."
        }
      ]
    },
    "sns": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SnsAction"
        },
        {
          "description": "Publish to an Amazon SNS topic."
        }
      ]
    },
    "sqs": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SqsAction"
        },
        {
          "description": "Publish to an Amazon SQS queue."
        }
      ]
    },
    "kinesis": {
      "allOf": [
        {
          "$ref": "#/components/schemas/KinesisAction"
        },
        {
          "description": "Write data to an Amazon Kinesis stream."
        }
      ]
    },
    "republish": {
      "allOf": [
        {
          "$ref": "#/components/schemas/RepublishAction"
        },
        {
          "description": "Publish to another MQTT topic."
        }
      ]
    },
    "s3": {
      "allOf": [
        {
          "$ref": "#/components/schemas/S3Action"
        },
        {
          "description": "Write to an Amazon S3 bucket."
        }
      ]
    },
    "firehose": {
      "allOf": [
        {
          "$ref": "#/components/schemas/FirehoseAction"
        },
        {
          "description": "Write to an Amazon Kinesis Firehose stream."
        }
      ]
    },
    "cloudwatchMetric": {
      "allOf": [
        {
          "$ref": "#/components/schemas/CloudwatchMetricAction"
        },
        {
          "description": "Capture a CloudWatch metric."
        }
      ]
    },
    "cloudwatchAlarm": {
      "allOf": [
        {
          "$ref": "#/components/schemas/CloudwatchAlarmAction"
        },
        {
          "description": "Change the state of a CloudWatch alarm."
        }
      ]
    },
    "cloudwatchLogs": {
      "allOf": [
        {
          "$ref": "#/components/schemas/CloudwatchLogsAction"
        },
        {
          "description": "Send data to CloudWatch Logs."
        }
      ]
    },
    "elasticsearch": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ElasticsearchAction"
        },
        {
          "description": "<p>Write data to an Amazon OpenSearch Service domain.</p> <note> <p>The <code>Elasticsearch</code> action can only be used by existing rule actions. To create a new rule action or to update an existing rule action, use the <code>OpenSearch</code> rule action instead. For more information, see <a href=\"https://docs.aws.amazon.com/iot/latest/apireference/API_OpenSearchAction.html\">OpenSearchAction</a>.</p> </note>"
        }
      ]
    },
    "salesforce": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SalesforceAction"
        },
        {
          "description": "Send a message to a Salesforce IoT Cloud Input Stream."
        }
      ]
    },
    "iotAnalytics": {
      "allOf": [
        {
          "$ref": "#/components/schemas/IotAnalyticsAction"
        },
        {
          "description": "Sends message data to an IoT Analytics channel."
        }
      ]
    },
    "iotEvents": {
      "allOf": [
        {
          "$ref": "#/components/schemas/IotEventsAction"
        },
        {
          "description": "Sends an input to an IoT Events detector."
        }
      ]
    },
    "iotSiteWise": {
      "allOf": [
        {
          "$ref": "#/components/schemas/IotSiteWiseAction"
        },
        {
          "description": "Sends data from the MQTT message that triggered the rule to IoT SiteWise asset properties."
        }
      ]
    },
    "stepFunctions": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StepFunctionsAction"
        },
        {
          "description": "Starts execution of a Step Functions state machine."
        }
      ]
    },
    "timestream": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TimestreamAction"
        },
        {
          "description": "The Timestream rule action writes attributes (measures) from an MQTT message into an Amazon Timestream table. For more information, see the <a href=\"https://docs.aws.amazon.com/iot/latest/developerguide/timestream-rule-action.html\">Timestream</a> topic rule action documentation."
        }
      ]
    },
    "http": {
      "allOf": [
        {
          "$ref": "#/components/schemas/HttpAction"
        },
        {
          "description": "Send data to an HTTPS endpoint."
        }
      ]
    },
    "kafka": {
      "allOf": [
        {
          "$ref": "#/components/schemas/KafkaAction"
        },
        {
          "description": "Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster."
        }
      ]
    },
    "openSearch": {
      "allOf": [
        {
          "$ref": "#/components/schemas/OpenSearchAction"
        },
        {
          "description": "Write data to an Amazon OpenSearch Service domain."
        }
      ]
    },
    "location": {
      "allOf": [
        {
          "$ref": "#/components/schemas/LocationAction"
        },
        {
          "description": "The Amazon Location Service rule action sends device location updates from an MQTT message to an Amazon Location tracker resource."
        }
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/iot-device-defender-action"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.