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."
        }
      ]
    }
  }
}