openapi: 3.0.0
info:
version: 2015-05-28
x-release: v4
title: AWS IoT Accept Certificate Transfer Rules API
description: '
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.
The service endpoints that expose this API are listed in Amazon Web Services IoT Core Endpoints and Quotas. You must use the endpoint for the region that has the resources you want to access.
The service name used by Amazon Web Services Signature Version 4 to sign the request is: execute-api.
For more information about how IoT works, see the Developer Guide.
For information about how to use the credentials provider for IoT, see Authorizing Direct Calls to Amazon Web Services Services.
' 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: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.
Requires permission to access the CreateTopicRule action.
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: 'Metadata which can be used to manage the topic rule.
For URI Request parameters use format: ...key1=value1&key2=value2...
For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..."
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
Deletes the rule.
Requires permission to access the DeleteTopicRule action.
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:Gets information about the rule.
Requires permission to access the GetTopicRule action.
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: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.
Requires permission to access the ReplaceTopicRule action.
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 IoT SQL Reference in the IoT Developer Guide. 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:Disables the rule.
Requires permission to access the DisableTopicRule action.
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:Enables the rule.
Requires permission to access the EnableTopicRule action.
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:Lists the rules for the specific topic.
Requires permission to access the ListTopicRules action.
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, thenextToken value from a previous response; otherwise null 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: 'Specifies the DynamoDB table to which the message data will be written. For example:
{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }
Each attribute in the message payload will be written to a separate column in the DynamoDB database.
' description:Describes an action to write to a DynamoDB table.
This DynamoDB action writes each attribute in the message payload into it's own column in the DynamoDB table.
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 MQTT 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${operation}, but the substitution must result in one of the following: INSERT, UPDATE, or DELETE.'
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: 'Describes an action to write to a DynamoDB table.
The tableName, hashKeyField, and rangeKeyField values must match the values used when you created the table.
The hashKeyValue and rangeKeyvalue fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${sql-expression}.
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:
"hashKeyValue": "${topic(3)}"
The following field uses the timestamp:
"rangeKeyValue": "${timestamp()}"
Specifies an application-defined value to replace the default value assigned to the Timestream record's timestamp in the time column.
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.
If omitted, the topic rule action assigns the timestamp, in milliseconds, at the time it processed the rule.
description: 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. 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 (true or false) 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 which the location is updated.
deviceId:
allOf:
- $ref: '#/components/schemas/String'
- description: The unique ID of the device providing the location data.
timestamp:
allOf:
- $ref: '#/components/schemas/LocationTimestamp'
- description: The time that the location data was sampled. The default value is the time the MQTT message was processed.
latitude:
allOf:
- $ref: '#/components/schemas/String'
- description: A string that evaluates to a double value that represents the latitude of the device's location.
longitude:
allOf:
- $ref: '#/components/schemas/String'
- description: A string that evaluates to a double value that represents the longitude of the device's location.
description: The Amazon Location rule action sends device location updates from an MQTT message to an Amazon Location tracker resource.
ElasticsearchAction:
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 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.
The Elasticsearch action can only be used by existing rule actions. To create a new rule action or to update an existing rule action, use the OpenSearch rule action instead. For more information, see OpenSearchAction.
The precision of the timestamp value that results from the expression described in value.
Valid values: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. The default is MILLISECONDS.
The precision of the timestamp value that results from the expression described in value.
Valid values: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. The default is MILLISECONDS.
propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.
propertyId:
allOf:
- $ref: '#/components/schemas/AssetPropertyId'
- description: The ID of the asset's property. You must specify either a propertyAlias or both an aliasId and a propertyId. 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 propertyAlias or both an aliasId and a propertyId. 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.
AssetPropertyId:
type: string
AssetPropertyStringValue:
type: string
minLength: 1
maxLength: 1024
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.
RangeKeyValue:
type: string
IotSiteWiseAction:
type: object
required:
- putAssetPropertyValueEntries
- roleArn
properties:
putAssetPropertyValueEntries:
allOf:
- $ref: '#/components/schemas/PutAssetPropertyValueEntryList'
- description: A list of asset property value entries.
roleArn:
allOf:
- $ref: '#/components/schemas/AwsArn'
- description: 'The ARN of the role that grants IoT permission to send an asset property value to IoT SiteWise. ("Action": "iotsitewise:BatchPutAssetPropertyValue"). The trust policy can restrict access to specific asset hierarchy paths.'
description: Describes an action to send data from an MQTT message that triggered the rule to IoT SiteWise asset properties.
AssetPropertyAlias:
type: string
minLength: 1
AssetPropertyTimeInSeconds:
type: string
CloudwatchLogsAction:
type: object
required:
- roleArn
- logGroupName
properties:
roleArn:
allOf:
- $ref: '#/components/schemas/AwsArn'
- description: The IAM role that allows access to the CloudWatch log.
logGroupName:
allOf:
- $ref: '#/components/schemas/LogGroupName'
- description: The CloudWatch log group to which the action sends data.
batchMode:
allOf:
- $ref: '#/components/schemas/BatchMode'
- description: Indicates whether batches of log records will be extracted and uploaded into CloudWatch. Values include true or false (default).
description: Describes an action that sends data to CloudWatch Logs.
InvalidRequestException: {}
MessageId:
type: string
maxLength: 128
UserProperty:
type: object
required:
- key
- value
properties:
key:
allOf:
- $ref: '#/components/schemas/UserPropertyKey'
- description: A key to be specified in UserProperty.
value:
allOf:
- $ref: '#/components/schemas/UserPropertyValue'
- description: A value to be specified in UserProperty.
description: A key-value pair that you define in the header. Both the key and the value are either literal strings or valid substitution templates.
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 GOOD, BAD, or UNCERTAIN.
description: An asset property value entry containing the following information.
RuleName:
type: string
pattern: ^[a-zA-Z0-9_]+$
minLength: 1
maxLength: 128
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.
HttpActionHeader:
type: object
required:
- key
- value
properties:
key:
allOf:
- $ref: '#/components/schemas/HeaderKey'
- description: The HTTP header key.
value:
allOf:
- $ref: '#/components/schemas/HeaderValue'
- description: The HTTP header value. Substitution templates are supported.
description: The HTTP action header.
Key:
type: string
UserProperties:
type: array
items:
$ref: '#/components/schemas/UserProperty'
minItems: 1
maxItems: 100
TimestreamTableName:
type: string
HashKeyValue:
type: string
ClientProperties:
type: object
additionalProperties:
$ref: '#/components/schemas/String'
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.
SalesforceAction:
type: object
required:
- token
- url
properties:
token:
allOf:
- $ref: '#/components/schemas/SalesforceToken'
- description: The token used to authenticate access to the Salesforce IoT Cloud Input Stream. The token is available from the Salesforce IoT Cloud platform after creation of the Input Stream.
url:
allOf:
- $ref: '#/components/schemas/SalesforceEndpoint'
- description: The URL exposed by the Salesforce IoT Cloud Input Stream. The URL is available from the Salesforce IoT Cloud platform after creation of the Input Stream.
description: Describes an action to write a message to a Salesforce IoT Cloud Input Stream.
CorrelationData:
type: string
minLength: 0
maxLength: 1024
MqttHeaders:
type: object
properties:
payloadFormatIndicator:
allOf:
- $ref: '#/components/schemas/PayloadFormatIndicator'
- description: An Enum string value that indicates whether the payload is formatted as UTF-8.
Valid values are UNSPECIFIED_BYTES and UTF8_DATA.
For more information, see Payload Format Indicator from the MQTT Version 5.0 specification.
Supports substitution templates.
contentType: allOf: - $ref: '#/components/schemas/ContentType' - description:A UTF-8 encoded string that describes the content of the publishing message.
For more information, see Content Type from the MQTT Version 5.0 specification.
Supports substitution templates.
responseTopic: allOf: - $ref: '#/components/schemas/ResponseTopic' - description:A UTF-8 encoded string that's used as the topic name for a response message. The response topic is used to describe the topic which the receiver should publish to as part of the request-response flow. The topic must not contain wildcard characters.
For more information, see Response Topic from the MQTT Version 5.0 specification.
Supports substitution templates.
correlationData: allOf: - $ref: '#/components/schemas/CorrelationData' - description:The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received.
For more information, see Correlation Data from the MQTT Version 5.0 specification.
This binary data must be based64-encoded.
Supports substitution templates.
messageExpiry: allOf: - $ref: '#/components/schemas/MessageExpiry' - description:A user-defined integer value that will persist a message at the message broker for a specified amount of time to ensure that the message will expire if it's no longer relevant to the subscriber. The value of messageExpiry represents the number of seconds before it expires. For more information about the limits of messageExpiry, see Amazon Web Services IoT Core message broker and protocol limits and quotas from the Amazon Web Services Reference Guide.
Supports substitution templates.
userProperties: allOf: - $ref: '#/components/schemas/UserProperties' - description: An array of key-value pairs that you define in the MQTT5 header. description: Specifies MQTT Version 5.0 headers information. For more information, see MQTT from Amazon Web Services IoT Core Developer Guide. HeaderKey: type: string minLength: 1 maxLength: 256 ActionList: type: array items: $ref: '#/components/schemas/Action' minItems: 0 maxItems: 10 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. SqsAction: type: object required: - roleArn - queueUrl properties: roleArn: allOf: - $ref: '#/components/schemas/AwsArn' - description: The ARN of the IAM role that grants access. queueUrl: allOf: - $ref: '#/components/schemas/QueueUrl' - description: The URL of the Amazon SQS queue. useBase64: allOf: - $ref: '#/components/schemas/UseBase64' - description: Specifies whether to use Base64 encoding. description: Describes an action to publish data to an Amazon SQS queue. TableName: 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 Signature Version 4 signing process. HttpAuthorization: type: object properties: sigv4: allOf: - $ref: '#/components/schemas/SigV4Authorization' - description: Use Sig V4 authorization. For more information, see Signature Version 4 Signing Process. description: The authorization method used to send messages. RuleArn: type: string SalesforceToken: type: string minLength: 40 DynamoKeyType: type: string enum: - STRING - NUMBER IotAnalyticsAction: type: object properties: channelArn: allOf: - $ref: '#/components/schemas/AwsArn' - description: (deprecated) The ARN of the IoT Analytics channel to which message data will be sent. channelName: allOf: - $ref: '#/components/schemas/ChannelName' - description: The name of the IoT Analytics channel to which message data will be sent. batchMode: allOf: - $ref: '#/components/schemas/BatchMode' - description:Whether to process the action as a batch. The default value is false.
When batchMode is true and the rule SQL statement evaluates to an Array, each Array element is delivered as a separate message when passed by BatchPutMessage to the IoT Analytics channel. The resulting array can't have more than 100 messages.
confirmationUrl. If this is a new destination, a new TopicRuleDestination 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.
PutItemInput:
type: object
required:
- tableName
properties:
tableName:
allOf:
- $ref: '#/components/schemas/TableName'
- description: The table where the message data will be written.
description: The input for the DynamoActionVS action that specifies the DynamoDB table to which the message data will be written.
AwsArn:
type: string
DynamoOperation:
type: string
AssetPropertyDoubleValue:
type: string
ResponseTopic:
type: string
minLength: 0
maxLength: 1024
AssetPropertyEntryId:
type: string
IotEventsAction:
type: object
required:
- inputName
- roleArn
properties:
inputName:
allOf:
- $ref: '#/components/schemas/InputName'
- description: The name of the IoT Events input.
messageId:
allOf:
- $ref: '#/components/schemas/MessageId'
- description: The ID of the message. The default messageId is a new UUID value.
When batchMode is true, you can't specify a messageId--a new UUID value will be assigned.
Assign a value to this property to ensure that only one input (message) with a given messageId will be processed by an IoT Events detector.
Whether to process the event actions as a batch. The default value is false.
When batchMode is true, you can't specify a messageId.
When batchMode is true and the rule SQL statement evaluates to an Array, each Array element is treated as a separate message when it's sent to IoT Events by calling BatchPutMessage . The resulting array can't have more than 10 messages.
Whether to deliver the Kinesis Data Firehose stream as a batch by using PutRecordBatch . The default value is false.
When batchMode is true and the rule's SQL statement evaluates to an Array, each Array element forms one record in the PutRecordBatch request. The resulting array can't have more than 500 records.
The metadata dimension name. This is the name of the column in the Amazon Timestream database table record.
Dimensions cannot be named: measure_name, measure_value, or time. These names are reserved. Dimension names cannot start with ts_ or measure_value and they cannot contain the colon (:) character.
Write data to an Amazon OpenSearch Service domain.
The Elasticsearch action can only be used by existing rule actions. To create a new rule action or to update an existing rule action, use the OpenSearch rule action instead. For more information, see OpenSearchAction.
TopicRuleDestination.
topic:
allOf:
- $ref: '#/components/schemas/String'
- description: The Kafka topic for messages to be sent to the Kafka broker.
key:
allOf:
- $ref: '#/components/schemas/String'
- description: The Kafka message key.
partition:
allOf:
- $ref: '#/components/schemas/String'
- description: The Kafka message partition.
clientProperties:
allOf:
- $ref: '#/components/schemas/ClientProperties'
- description: Properties of the Apache Kafka producer client.
description: Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.
PutAssetPropertyValueEntryList:
type: array
items:
$ref: '#/components/schemas/PutAssetPropertyValueEntry'
minItems: 1
HeaderValue:
type: string
Description:
type: string
Url:
type: string
maxLength: 2000
AssetPropertyOffsetInNanos:
type: string
MessageFormat:
type: string
enum:
- RAW
- JSON
TopicRule:
type: object
properties:
ruleName:
allOf:
- $ref: '#/components/schemas/RuleName'
- description: The name of the rule.
sql:
allOf:
- $ref: '#/components/schemas/SQL'
- description: The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters.
description:
allOf:
- $ref: '#/components/schemas/Description'
- description: The description of the rule.
createdAt:
allOf:
- $ref: '#/components/schemas/CreatedAtDate'
- description: The date and time the rule was created.
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 perform when an error occurs.
description: Describes a rule.
SalesforceEndpoint:
type: string
pattern: https://ingestion-[a-zA-Z0-9]{1,12}\.[a-zA-Z0-9]+\.((sfdc-matrix\.net)|(sfdcnow\.com))/streams/\w{1,20}/\w{1,20}/event
maxLength: 2000
HeaderList:
type: array
items:
$ref: '#/components/schemas/HttpActionHeader'
minItems: 0
maxItems: 100
StateMachineName:
type: string
parameters:
X-Amz-Security-Token:
name: X-Amz-Security-Token
in: header
schema:
type: string
required: false
X-Amz-Date:
name: X-Amz-Date
in: header
schema:
type: string
required: false
X-Amz-Content-Sha256:
name: X-Amz-Content-Sha256
in: header
schema:
type: string
required: false
X-Amz-Credential:
name: X-Amz-Credential
in: header
schema:
type: string
required: false
X-Amz-Signature:
name: X-Amz-Signature
in: header
schema:
type: string
required: false
X-Amz-SignedHeaders:
name: X-Amz-SignedHeaders
in: header
schema:
type: string
required: false
X-Amz-Algorithm:
name: X-Amz-Algorithm
in: header
schema:
type: string
required: false
securitySchemes:
hmac:
type: apiKey
name: Authorization
in: header
description: Amazon Signature authorization v4
x-amazon-apigateway-authtype: awsSigv4
externalDocs:
description: Amazon Web Services documentation
url: https://docs.aws.amazon.com/iot/
x-hasEquivalentPaths: true