Amazon IoT Core Rules API

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

OpenAPI Specification

amazon-iot-core-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 Core 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 Core 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 Core 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 Core 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 Core 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 Core 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 Core List Topic Rules
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Rules
components:
  schemas:
    OpenSearchAction:
      type: object
      required:
      - roleArn
      - endpoint
      - index
      - type
      - id
      properties:
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The IAM role ARN that has access to OpenSearch.
        endpoint:
          allOf:
          - $ref: '#/components/schemas/ElasticsearchEndpoint'
          - description: The endpoint of your OpenSearch domain.
        index:
          allOf:
          - $ref: '#/components/schemas/ElasticsearchIndex'
          - description: The OpenSearch index where you want to store your data.
        type:
          allOf:
          - $ref: '#/components/schemas/ElasticsearchType'
          - description: The type of document you are storing.
        id:
          allOf:
          - $ref: '#/components/schemas/ElasticsearchId'
          - description: The unique identifier for the document you are storing.
      description: Describes an action that writes data to an Amazon OpenSearch Service domain.
    AssetPropertyValue:
      type: object
      required:
      - value
      - timestamp
      properties:
        value:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyVariant'
          - description: The value of the asset property.
        timestamp:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyTimestamp'
          - description: The asset property value timestamp.
        quality:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyQuality'
          - description: Optional. A string that describes the quality of the value. Accepts substitution templates. Must be <code>GOOD</code>, <code>BAD</code>, or <code>UNCERTAIN</code>.
      description: An asset property value entry containing the following information.
    AssetPropertyId:
      type: string
    SigV4Authorization:
      type: object
      required:
      - signingRegion
      - serviceName
      - roleArn
      properties:
        signingRegion:
          allOf:
          - $ref: '#/components/schemas/SigningRegion'
          - description: The signing region.
        serviceName:
          allOf:
          - $ref: '#/components/schemas/ServiceName'
          - description: The service name to use while signing with Sig V4.
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The ARN of the signing role.
      description: For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4 signing process</a>.
    AssetPropertyValueList:
      type: array
      items:
        $ref: '#/components/schemas/AssetPropertyValue'
      minItems: 1
    AwsArn:
      type: string
    TopicRuleList:
      type: array
      items:
        $ref: '#/components/schemas/TopicRuleListItem'
    CreatedAtDate:
      type: string
      format: date-time
    TimestreamTimestampValue:
      type: string
    AssetPropertyTimestamp:
      type: object
      required:
      - timeInSeconds
      properties:
        timeInSeconds:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyTimeInSeconds'
          - description: A string that contains the time in seconds since epoch. Accepts substitution templates.
        offsetInNanos:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyOffsetInNanos'
          - description: Optional. A string that contains the nanosecond time offset. Accepts substitution templates.
      description: An asset property timestamp entry containing the following information.
    SQL:
      type: string
    StateReason:
      type: string
    LambdaAction:
      type: object
      required:
      - functionArn
      properties:
        functionArn:
          allOf:
          - $ref: '#/components/schemas/FunctionArn'
          - description: The ARN of the Lambda function.
      description: Describes an action to invoke a Lambda function.
    LogGroupName:
      type: string
    Qos:
      type: integer
      minimum: 0
      maximum: 1
    HttpAction:
      type: object
      required:
      - url
      properties:
        url:
          allOf:
          - $ref: '#/components/schemas/Url'
          - description: The endpoint URL. If substitution templates are used in the URL, you must also specify a <code>confirmationUrl</code>. If this is a new destination, a new <code>TopicRuleDestination</code> is created if possible.
        confirmationUrl:
          allOf:
          - $ref: '#/components/schemas/Url'
          - description: The URL to which IoT sends a confirmation message. The value of the confirmation URL must be a prefix of the endpoint URL. If you do not specify a confirmation URL IoT uses the endpoint URL as the confirmation URL. If you use substitution templates in the confirmationUrl, you must create and enable topic rule destinations that match each possible value of the substitution template before traffic is allowed to your endpoint URL.
        headers:
          allOf:
          - $ref: '#/components/schemas/HeaderList'
          - description: The HTTP headers to send with the message data.
        auth:
          allOf:
          - $ref: '#/components/schemas/HttpAuthorization'
          - description: The authentication method to use when sending data to an HTTPS endpoint.
      description: Send data to an HTTPS endpoint.
    ResourceAlreadyExistsException: {}
    Key:
      type: string
    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.
    ConflictingResourceUpdateException: {}
    HeaderKey:
      type: string
      minLength: 1
      maxLength: 256
    PutAssetPropertyValueEntry:
      type: object
      required:
      - propertyValues
      properties:
        entryId:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyEntryId'
          - description: Optional. A unique identifier for this entry that you can define to better track which message caused an error in case of failure. Accepts substitution templates. Defaults to a new UUID.
        assetId:
          allOf:
          - $ref: '#/components/schemas/AssetId'
          - description: The ID of the IoT SiteWise asset. You must specify either a <code>propertyAlias</code> or both an <code>aliasId</code> and a <code>propertyId</code>. Accepts substitution templates.
        propertyId:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyId'
          - description: The ID of the asset's property. You must specify either a <code>propertyAlias</code> or both an <code>aliasId</code> and a <code>propertyId</code>. Accepts substitution templates.
        propertyAlias:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyAlias'
          - description: The name of the property alias associated with your asset property. You must specify either a <code>propertyAlias</code> or both an <code>aliasId</code> and a <code>propertyId</code>. Accepts substitution templates.
        propertyValues:
          allOf:
          - $ref: '#/components/schemas/AssetPropertyValueList'
          - description: A list of property values to insert that each contain timestamp, quality, and value (TQV) information.
      description: An asset property value entry containing the following information.
    BatchMode:
      type: boolean
    KinesisAction:
      type: object
      required:
      - roleArn
      - streamName
      properties:
        roleArn:
          allOf:
          - $ref: '#/components/schemas/AwsArn'
          - description: The ARN of the IAM role that grants access to the Amazon Kinesis stream.
        streamName:
          allOf:
          - $ref: '#/components/schemas/StreamName'
          - description: The name of the Amazon Kinesis stream.
        partitionKey:
          allOf:
          - $ref: '#/components/schemas/PartitionKey'
          - description: The partition key.
      description: Describes an action to write data to an Amazon Kinesis stream.
    HttpAuthorization:
      type: object
      properties:
        sigv4:
          allOf:
          - $ref: '#/components/schemas/SigV4Authorization'
          - description: Use Sig V4 authorization. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4 Signing Process</a>.
      description: The authorization method used to send messages.
    Times

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