Amazon IoT Device Management Rules API

The Rules API from Amazon IoT Device Management — 4 operation(s) for rules.

OpenAPI Specification

amazon-iot-device-management-rules-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 2015-05-28
  x-release: v4
  title: AWS IoT Accept Certificate Transfer Rules API
  description: '<fullname>IoT</fullname> <p>IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the Amazon Web Services cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.</p> <p>The service endpoints that expose this API are listed in <a href="https://docs.aws.amazon.com/general/latest/gr/iot-core.html">Amazon Web Services IoT Core Endpoints and Quotas</a>. You must use the endpoint for the region that has the resources you want to access.</p> <p>The service name used by <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Amazon Web Services Signature Version 4</a> to sign the request is: <i>execute-api</i>.</p> <p>For more information about how IoT works, see the <a href="https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-it-works.html">Developer Guide</a>.</p> <p>For information about how to use the credentials provider for IoT, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html">Authorizing Direct Calls to Amazon Web Services Services</a>.</p>'
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
    backgroundColor: '#FFFFFF'
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: mike.ralphson@gmail.com
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: iot
  x-aws-signingName: iot
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/iot-2015-05-28.normal.json
    converter:
      url: https://github.com/mermade/aws2openapi
      version: 1.0.0
    x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
  - cloud
  x-preferred: true
servers:
- url: http://iot.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS IoT multi-region endpoint
- url: https://iot.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS IoT multi-region endpoint
- url: http://iot.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS IoT endpoint for China (Beijing) and China (Ningxia)
- url: https://iot.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS IoT endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: Rules
paths:
  /rules/{ruleName}:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    post:
      operationId: CreateTopicRule
      description: <p>Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">CreateTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: SqlParseException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SqlParseException'
        '481':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '482':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '483':
          description: ResourceAlreadyExistsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceAlreadyExistsException'
        '484':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '485':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      - name: x-amz-tagging
        in: header
        required: false
        description: '<p>Metadata which can be used to manage the topic rule.</p> <note> <p>For URI Request parameters use format: ...key1=value1&amp;key2=value2...</p> <p>For the CLI command-line parameter use format: --tags "key1=value1&amp;key2=value2..."</p> <p>For the cli-input-json file use format: "tags": "key1=value1&amp;key2=value2..."</p> </note>'
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - topicRulePayload
              properties:
                topicRulePayload:
                  description: Describes a rule.
                  type: object
                  properties:
                    sql:
                      allOf:
                      - $ref: '#/components/schemas/SQL'
                      - description: The SQL statement used to query the topic. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html">IoT SQL Reference</a> in the <i>IoT Developer Guide</i>.
                    description:
                      allOf:
                      - $ref: '#/components/schemas/Description'
                      - description: The description of the rule.
                    actions:
                      allOf:
                      - $ref: '#/components/schemas/ActionList'
                      - description: The actions associated with the rule.
                    ruleDisabled:
                      allOf:
                      - $ref: '#/components/schemas/IsDisabled'
                      - description: Specifies whether the rule is disabled.
                    awsIotSqlVersion:
                      allOf:
                      - $ref: '#/components/schemas/AwsIotSqlVersion'
                      - description: The version of the SQL rules engine to use when evaluating the rule.
                    errorAction:
                      allOf:
                      - $ref: '#/components/schemas/Action'
                      - description: The action to take when an error occurs.
      summary: Amazon IoT Device Management Create Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
    delete:
      operationId: DeleteTopicRule
      description: <p>Deletes the rule.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DeleteTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '484':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management Delete Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
    get:
      operationId: GetTopicRule
      description: <p>Gets information about the rule.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">GetTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTopicRuleResponse'
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management Get Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
    patch:
      operationId: ReplaceTopicRule
      description: <p>Replaces the rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">ReplaceTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: SqlParseException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SqlParseException'
        '481':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '482':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '483':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '484':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '485':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - topicRulePayload
              properties:
                topicRulePayload:
                  description: Describes a rule.
                  type: object
                  properties:
                    sql:
                      allOf:
                      - $ref: '#/components/schemas/SQL'
                      - description: The SQL statement used to query the topic. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html">IoT SQL Reference</a> in the <i>IoT Developer Guide</i>.
                    description:
                      allOf:
                      - $ref: '#/components/schemas/Description'
                      - description: The description of the rule.
                    actions:
                      allOf:
                      - $ref: '#/components/schemas/ActionList'
                      - description: The actions associated with the rule.
                    ruleDisabled:
                      allOf:
                      - $ref: '#/components/schemas/IsDisabled'
                      - description: Specifies whether the rule is disabled.
                    awsIotSqlVersion:
                      allOf:
                      - $ref: '#/components/schemas/AwsIotSqlVersion'
                      - description: The version of the SQL rules engine to use when evaluating the rule.
                    errorAction:
                      allOf:
                      - $ref: '#/components/schemas/Action'
                      - description: The action to take when an error occurs.
      summary: Amazon IoT Device Management Replace Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
  /rules/{ruleName}/disable:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    post:
      operationId: DisableTopicRule
      description: <p>Disables the rule.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DisableTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '484':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the rule to disable.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management Disable Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
  /rules/{ruleName}/enable:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    post:
      operationId: EnableTopicRule
      description: <p>Enables the rule.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">EnableTopicRule</a> action.</p>
      responses:
        '200':
          description: Success
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
        '483':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
        '484':
          description: ConflictingResourceUpdateException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictingResourceUpdateException'
      parameters:
      - name: ruleName
        in: path
        required: true
        description: The name of the topic rule to enable.
        schema:
          type: string
          pattern: ^[a-zA-Z0-9_]+$
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Management Enable Topic Rule
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
  /rules:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    get:
      operationId: ListTopicRules
      description: <p>Lists the rules for the specific topic.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">ListTopicRules</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTopicRulesResponse'
        '480':
          description: InternalException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalException'
        '481':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '482':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailableException'
      parameters:
      - name: topic
        in: query
        required: false
        description: The topic.
        schema:
          type: string
      - name: maxResults
        in: query
        required: false
        description: The maximum number of results to return.
        schema:
          type: integer
          minimum: 1
          maximum: 10000
      - name: nextToken
        in: query
        required: false
        description: To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.
        schema:
          type: string
      - name: ruleDisabled
        in: query
        required: false
        description: Specifies whether the rule is disabled.
        schema:
          type: boolean
      summary: Amazon IoT Device Management List Topic Rules
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
components:
  schemas:
    TimestreamDimensionValue:
      type: string
    PartitionKey:
      type: string
    DynamoDBv2Action:
      type: object
      required:
      - roleArn
      - putItem
      properties:
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The ARN of the IAM role that grants access to the DynamoDB table.
        putItem:
          allOf:
          - $ref: '#/components/schemas/PutItemInput'
          - description: '<p>Specifies the DynamoDB table to which the message data will be written. For example:</p> <p> <code>{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }</code> </p> <p>Each attribute in the message payload will be written to a separate column in the DynamoDB database.</p>'
      description: <p>Describes an action to write to a DynamoDB table.</p> <p>This DynamoDB action writes each attribute in the message payload into it's own column in the DynamoDB table.</p>
    RepublishAction:
      type: object
      required:
      - roleArn
      - topic
      properties:
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The ARN of the IAM role that grants access.
        topic:
          allOf:
          - $ref: '#/components/schemas/TopicPattern'
          - description: The name of the MQTT topic.
        qos:
          allOf:
          - $ref: '#/components/schemas/Qos'
          - description: The Quality of Service (QoS) level to use when republishing messages. The default value is 0.
        headers:
          allOf:
          - $ref: '#/components/schemas/MqttHeaders'
          - description: MQTT Version 5.0 headers information. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html"> MQTT</a> from the Amazon Web Services IoT Core Developer Guide.
      description: Describes an action to republish to another topic.
    ServiceUnavailableException: {}
    StateValue:
      type: string
    Qos:
      type: integer
      minimum: 0
      maximum: 1
    DynamoDBAction:
      type: object
      required:
      - tableName
      - roleArn
      - hashKeyField
      - hashKeyValue
      properties:
        tableName:
          allOf:
          - $ref: '#/components/schemas/TableName'
          - description: The name of the DynamoDB table.
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The ARN of the IAM role that grants access to the DynamoDB table.
        operation:
          allOf:
          - $ref: '#/components/schemas/DynamoOperation'
          - description: 'The type of operation to be performed. This follows the substitution template, so it can be <code>${operation}</code>, but the substitution must result in one of the following: <code>INSERT</code>, <code>UPDATE</code>, or <code>DELETE</code>.'
        hashKeyField:
          allOf:
          - $ref: '#/components/schemas/HashKeyField'
          - description: The hash key name.
        hashKeyValue:
          allOf:
          - $ref: '#/components/schemas/HashKeyValue'
          - description: The hash key value.
        hashKeyType:
          allOf:
          - $ref: '#/components/schemas/DynamoKeyType'
          - description: The hash key type. Valid values are "STRING" or "NUMBER"
        rangeKeyField:
          allOf:
          - $ref: '#/components/schemas/RangeKeyField'
          - description: The range key name.
        rangeKeyValue:
          allOf:
          - $ref: '#/components/schemas/RangeKeyValue'
          - description: The range key value.
        rangeKeyType:
          allOf:
          - $ref: '#/components/schemas/DynamoKeyType'
          - description: The range key type. Valid values are "STRING" or "NUMBER"
        payloadField:
          allOf:
          - $ref: '#/components/schemas/PayloadField'
          - description: The action payload. This name can be customized.
      description: '<p>Describes an action to write to a DynamoDB table.</p> <p>The <code>tableName</code>, <code>hashKeyField</code>, and <code>rangeKeyField</code> values must match the values used when you created the table.</p> <p>The <code>hashKeyValue</code> and <code>rangeKeyvalue</code> fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${<i>sql-expression</i>}.</p> <p>You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:</p> <p> <code>"hashKeyValue": "${topic(3)}"</code> </p> <p>The following field uses the timestamp:</p> <p> <code>"rangeKeyValue": "${timestamp()}"</code> </p>'
    ResourceAlreadyExistsException: {}
    GetTopicRuleResponse:
      type: object
      properties:
        ruleArn:
          allOf:
          - $ref: '#/components/schemas/RuleArn'
          - description: The rule ARN.
        rule:
          allOf:
          - $ref: '#/components/schemas/TopicRule'
          - description: The rule.
      description: The output from the GetTopicRule operation.
    BucketName:
      type: string
    BatchMode:
      type: boolean
    TimestreamTimestampValue:
      type: string
    ElasticsearchIndex:
      type: string
    AssetPropertyQuality:
      type: string
    TimestreamAction:
      type: object
      required:
      - roleArn
      - databaseName
      - tableName
      - dimensions
      properties:
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The ARN of the role that grants permission to write to the Amazon Timestream database table.
        databaseName:
          allOf:
          - $ref: '#/components/schemas/TimestreamDatabaseName'
          - description: The name of an Amazon Timestream database.
        tableName:
          allOf:
          - $ref: '#/components/schemas/TimestreamTableName'
          - description: The name of the database table into which to write the measure records.
        dimensions:
          allOf:
          - $ref: '#/components/schemas/TimestreamDimensionList'
          - description: Metadata attributes of the time series that are written in each measure record.
        timestamp:
          allOf:
          - $ref: '#/components/schemas/TimestreamTimestamp'
          - description: <p>Specifies an application-defined value to replace the default value assigned to the Timestream record's timestamp in the <code>time</code> column.</p> <p>You can use this property to specify the value and the precision of the Timestream record's timestamp. You can specify a value from the message payload or a value computed by a substitution template.</p> <p>If omitted, the topic rule action assigns the timestamp, in milliseconds, at the time it processed the rule. </p>
      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.
    SQL:
      type: string
    CreatedAtDate:
      type: string
      format: date-time
    TopicRuleList:
      type: array
      items:
        $ref: '#/components/schemas/TopicRuleListItem'
    ExecutionNamePrefix:
      type: string
    RangeKeyField:
      type: string
    ConflictingResourceUpdateException: {}
    SigningRegion:
      type: string
    PayloadField:
      type: string
    AssetPropertyVariant:
      type: object
      properties:
        stringValue:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyStringValue'
          - description: Optional. The string value of the value entry. Accepts substitution templates.
        integerValue:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyIntegerValue'
          - description: Optional. A string that contains the integer value of the value entry. Accepts substitution templates.
        doubleValue:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyDoubleValue'
          - description: Optional. A string that contains the double value of the value entry. Accepts substitution templates.
        booleanValue:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyBooleanValue'
          - description: Optional. A string that contains the boolean value (<code>true</code> or <code>false</code>) of the value entry. Accepts substitution templates.
      description: Contains an asset property value (of a single type).
    UserPropertyKey:
      type: string
      minLength: 0
      maxLength: 1024
    LocationAction:
      type: object
      required:
      - roleArn
      - trackerName
      - deviceId
      - latitude
      - longitude
      properties:
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The IAM role that grants permission to write to the Amazon Location resource.
        trackerName:
          allOf:
          - $ref: '#/components/schemas/String'
          - description: The name of the tracker resource in Amazon Location in wh

# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-iot-device-management/refs/heads/main/openapi/amazon-iot-device-management-rules-api-openapi.yml