:doc:`IoTEvents <../../iotevents>` / Client / describe_detector_model

***********************
describe_detector_model
***********************



.. py:method:: IoTEvents.Client.describe_detector_model(**kwargs)

  

  Describes a detector model. If the ``version`` parameter is not specified, information about the latest version is returned.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeDetectorModel>`_  


  **Request Syntax**
  ::

    response = client.describe_detector_model(
        detectorModelName='string',
        detectorModelVersion='string'
    )
    
  :type detectorModelName: string
  :param detectorModelName: **[REQUIRED]** 

    The name of the detector model.

    

  
  :type detectorModelVersion: string
  :param detectorModelVersion: 

    The version of the detector model.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'detectorModel': {
              'detectorModelDefinition': {
                  'states': [
                      {
                          'stateName': 'string',
                          'onInput': {
                              'events': [
                                  {
                                      'eventName': 'string',
                                      'condition': 'string',
                                      'actions': [
                                          {
                                              'setVariable': {
                                                  'variableName': 'string',
                                                  'value': 'string'
                                              },
                                              'sns': {
                                                  'targetArn': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotTopicPublish': {
                                                  'mqttTopic': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'setTimer': {
                                                  'timerName': 'string',
                                                  'seconds': 123,
                                                  'durationExpression': 'string'
                                              },
                                              'clearTimer': {
                                                  'timerName': 'string'
                                              },
                                              'resetTimer': {
                                                  'timerName': 'string'
                                              },
                                              'lambda': {
                                                  'functionArn': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotEvents': {
                                                  'inputName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'sqs': {
                                                  'queueUrl': 'string',
                                                  'useBase64': True|False,
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'firehose': {
                                                  'deliveryStreamName': 'string',
                                                  'separator': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'dynamoDB': {
                                                  'hashKeyType': 'string',
                                                  'hashKeyField': 'string',
                                                  'hashKeyValue': 'string',
                                                  'rangeKeyType': 'string',
                                                  'rangeKeyField': 'string',
                                                  'rangeKeyValue': 'string',
                                                  'operation': 'string',
                                                  'payloadField': 'string',
                                                  'tableName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'dynamoDBv2': {
                                                  'tableName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotSiteWise': {
                                                  'entryId': 'string',
                                                  'assetId': 'string',
                                                  'propertyId': 'string',
                                                  'propertyAlias': 'string',
                                                  'propertyValue': {
                                                      'value': {
                                                          'stringValue': 'string',
                                                          'integerValue': 'string',
                                                          'doubleValue': 'string',
                                                          'booleanValue': 'string'
                                                      },
                                                      'timestamp': {
                                                          'timeInSeconds': 'string',
                                                          'offsetInNanos': 'string'
                                                      },
                                                      'quality': 'string'
                                                  }
                                              }
                                          },
                                      ]
                                  },
                              ],
                              'transitionEvents': [
                                  {
                                      'eventName': 'string',
                                      'condition': 'string',
                                      'actions': [
                                          {
                                              'setVariable': {
                                                  'variableName': 'string',
                                                  'value': 'string'
                                              },
                                              'sns': {
                                                  'targetArn': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotTopicPublish': {
                                                  'mqttTopic': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'setTimer': {
                                                  'timerName': 'string',
                                                  'seconds': 123,
                                                  'durationExpression': 'string'
                                              },
                                              'clearTimer': {
                                                  'timerName': 'string'
                                              },
                                              'resetTimer': {
                                                  'timerName': 'string'
                                              },
                                              'lambda': {
                                                  'functionArn': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotEvents': {
                                                  'inputName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'sqs': {
                                                  'queueUrl': 'string',
                                                  'useBase64': True|False,
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'firehose': {
                                                  'deliveryStreamName': 'string',
                                                  'separator': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'dynamoDB': {
                                                  'hashKeyType': 'string',
                                                  'hashKeyField': 'string',
                                                  'hashKeyValue': 'string',
                                                  'rangeKeyType': 'string',
                                                  'rangeKeyField': 'string',
                                                  'rangeKeyValue': 'string',
                                                  'operation': 'string',
                                                  'payloadField': 'string',
                                                  'tableName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'dynamoDBv2': {
                                                  'tableName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotSiteWise': {
                                                  'entryId': 'string',
                                                  'assetId': 'string',
                                                  'propertyId': 'string',
                                                  'propertyAlias': 'string',
                                                  'propertyValue': {
                                                      'value': {
                                                          'stringValue': 'string',
                                                          'integerValue': 'string',
                                                          'doubleValue': 'string',
                                                          'booleanValue': 'string'
                                                      },
                                                      'timestamp': {
                                                          'timeInSeconds': 'string',
                                                          'offsetInNanos': 'string'
                                                      },
                                                      'quality': 'string'
                                                  }
                                              }
                                          },
                                      ],
                                      'nextState': 'string'
                                  },
                              ]
                          },
                          'onEnter': {
                              'events': [
                                  {
                                      'eventName': 'string',
                                      'condition': 'string',
                                      'actions': [
                                          {
                                              'setVariable': {
                                                  'variableName': 'string',
                                                  'value': 'string'
                                              },
                                              'sns': {
                                                  'targetArn': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotTopicPublish': {
                                                  'mqttTopic': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'setTimer': {
                                                  'timerName': 'string',
                                                  'seconds': 123,
                                                  'durationExpression': 'string'
                                              },
                                              'clearTimer': {
                                                  'timerName': 'string'
                                              },
                                              'resetTimer': {
                                                  'timerName': 'string'
                                              },
                                              'lambda': {
                                                  'functionArn': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotEvents': {
                                                  'inputName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'sqs': {
                                                  'queueUrl': 'string',
                                                  'useBase64': True|False,
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'firehose': {
                                                  'deliveryStreamName': 'string',
                                                  'separator': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'dynamoDB': {
                                                  'hashKeyType': 'string',
                                                  'hashKeyField': 'string',
                                                  'hashKeyValue': 'string',
                                                  'rangeKeyType': 'string',
                                                  'rangeKeyField': 'string',
                                                  'rangeKeyValue': 'string',
                                                  'operation': 'string',
                                                  'payloadField': 'string',
                                                  'tableName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'dynamoDBv2': {
                                                  'tableName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotSiteWise': {
                                                  'entryId': 'string',
                                                  'assetId': 'string',
                                                  'propertyId': 'string',
                                                  'propertyAlias': 'string',
                                                  'propertyValue': {
                                                      'value': {
                                                          'stringValue': 'string',
                                                          'integerValue': 'string',
                                                          'doubleValue': 'string',
                                                          'booleanValue': 'string'
                                                      },
                                                      'timestamp': {
                                                          'timeInSeconds': 'string',
                                                          'offsetInNanos': 'string'
                                                      },
                                                      'quality': 'string'
                                                  }
                                              }
                                          },
                                      ]
                                  },
                              ]
                          },
                          'onExit': {
                              'events': [
                                  {
                                      'eventName': 'string',
                                      'condition': 'string',
                                      'actions': [
                                          {
                                              'setVariable': {
                                                  'variableName': 'string',
                                                  'value': 'string'
                                              },
                                              'sns': {
                                                  'targetArn': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotTopicPublish': {
                                                  'mqttTopic': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'setTimer': {
                                                  'timerName': 'string',
                                                  'seconds': 123,
                                                  'durationExpression': 'string'
                                              },
                                              'clearTimer': {
                                                  'timerName': 'string'
                                              },
                                              'resetTimer': {
                                                  'timerName': 'string'
                                              },
                                              'lambda': {
                                                  'functionArn': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotEvents': {
                                                  'inputName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'sqs': {
                                                  'queueUrl': 'string',
                                                  'useBase64': True|False,
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'firehose': {
                                                  'deliveryStreamName': 'string',
                                                  'separator': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'dynamoDB': {
                                                  'hashKeyType': 'string',
                                                  'hashKeyField': 'string',
                                                  'hashKeyValue': 'string',
                                                  'rangeKeyType': 'string',
                                                  'rangeKeyField': 'string',
                                                  'rangeKeyValue': 'string',
                                                  'operation': 'string',
                                                  'payloadField': 'string',
                                                  'tableName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'dynamoDBv2': {
                                                  'tableName': 'string',
                                                  'payload': {
                                                      'contentExpression': 'string',
                                                      'type': 'STRING'|'JSON'
                                                  }
                                              },
                                              'iotSiteWise': {
                                                  'entryId': 'string',
                                                  'assetId': 'string',
                                                  'propertyId': 'string',
                                                  'propertyAlias': 'string',
                                                  'propertyValue': {
                                                      'value': {
                                                          'stringValue': 'string',
                                                          'integerValue': 'string',
                                                          'doubleValue': 'string',
                                                          'booleanValue': 'string'
                                                      },
                                                      'timestamp': {
                                                          'timeInSeconds': 'string',
                                                          'offsetInNanos': 'string'
                                                      },
                                                      'quality': 'string'
                                                  }
                                              }
                                          },
                                      ]
                                  },
                              ]
                          }
                      },
                  ],
                  'initialStateName': 'string'
              },
              'detectorModelConfiguration': {
                  'detectorModelName': 'string',
                  'detectorModelVersion': 'string',
                  'detectorModelDescription': 'string',
                  'detectorModelArn': 'string',
                  'roleArn': 'string',
                  'creationTime': datetime(2015, 1, 1),
                  'lastUpdateTime': datetime(2015, 1, 1),
                  'status': 'ACTIVE'|'ACTIVATING'|'INACTIVE'|'DEPRECATED'|'DRAFT'|'PAUSED'|'FAILED',
                  'key': 'string',
                  'evaluationMethod': 'BATCH'|'SERIAL'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **detectorModel** *(dict) --* 

        Information about the detector model.

        
        

        - **detectorModelDefinition** *(dict) --* 

          Information that defines how a detector operates.

          
          

          - **states** *(list) --* 

            Information about the states of the detector.

            
            

            - *(dict) --* 

              Information that defines a state of a detector.

              
              

              - **stateName** *(string) --* 

                The name of the state.

                
              

              - **onInput** *(dict) --* 

                When an input is received and the ``condition`` is TRUE, perform the specified ``actions``.

                
                

                - **events** *(list) --* 

                  Specifies the actions performed when the ``condition`` evaluates to TRUE.

                  
                  

                  - *(dict) --* 

                    Specifies the ``actions`` to be performed when the ``condition`` evaluates to TRUE.

                    
                    

                    - **eventName** *(string) --* 

                      The name of the event.

                      
                    

                    - **condition** *(string) --* 

                      Optional. The Boolean expression that, when TRUE, causes the ``actions`` to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).

                      
                    

                    - **actions** *(list) --* 

                      The actions to be performed.

                      
                      

                      - *(dict) --* 

                        An action to be performed when the ``condition`` is TRUE.

                        
                        

                        - **setVariable** *(dict) --* 

                          Sets a variable to a specified value.

                          
                          

                          - **variableName** *(string) --* 

                            The name of the variable.

                            
                          

                          - **value** *(string) --* 

                            The new value of the variable.

                            
                      
                        

                        - **sns** *(dict) --* 

                          Sends an Amazon SNS message.

                          
                          

                          - **targetArn** *(string) --* 

                            The ARN of the Amazon SNS target where the message is sent.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message as an Amazon SNS push notification.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotTopicPublish** *(dict) --* 

                          Publishes an MQTT message with the given topic to the AWS IoT message broker.

                          
                          

                          - **mqttTopic** *(string) --* 

                            The MQTT topic of the message. You can use a string expression that includes variables ( ``$variable.<variable-name>``) and input values ( ``$input.<input-name>.<path-to-datum>``) as the topic string.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you publish a message to an AWS IoT Core topic.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **setTimer** *(dict) --* 

                          Information needed to set the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer.

                            
                          

                          - **seconds** *(integer) --* 

                            The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.

                            
                          

                          - **durationExpression** *(string) --* 

                            The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ( ``$variable.<variable-name>``), and input values ( ``$input.<input-name>.<path-to-datum>``) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.

                            
                      
                        

                        - **clearTimer** *(dict) --* 

                          Information needed to clear the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer to clear.

                            
                      
                        

                        - **resetTimer** *(dict) --* 

                          Information needed to reset the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer to reset.

                            
                      
                        

                        - **lambda** *(dict) --* 

                          Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

                          
                          

                          - **functionArn** *(string) --* 

                            The ARN of the Lambda function that is executed.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to a Lambda function.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotEvents** *(dict) --* 

                          Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

                          
                          

                          - **inputName** *(string) --* 

                            The name of the AWS IoT Events input where the data is sent.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an AWS IoT Events input.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **sqs** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

                          
                          

                          - **queueUrl** *(string) --* 

                            The URL of the SQS queue where the data is written.

                            
                          

                          - **useBase64** *(boolean) --* 

                            Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an Amazon SQS queue.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **firehose** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

                          
                          

                          - **deliveryStreamName** *(string) --* 

                            The name of the Kinesis Data Firehose delivery stream where the data is written.

                            
                          

                          - **separator** *(string) --* 

                            A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows newline), ',' (comma).

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery stream.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **dynamoDB** *(dict) --* 

                          Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the `payload <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html>`__. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see `Actions <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html>`__ in *AWS IoT Events Developer Guide*.

                          
                          

                          - **hashKeyType** *(string) --* 

                            The data type for the hash key (also called the partition key). You can specify the following values:

                             

                            
                            * ``'STRING'`` - The hash key is a string.
                             
                            * ``'NUMBER'`` - The hash key is a number.
                            

                             

                            If you don't specify ``hashKeyType``, the default value is ``'STRING'``.

                            
                          

                          - **hashKeyField** *(string) --* 

                            The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.

                            
                          

                          - **hashKeyValue** *(string) --* 

                            The value of the hash key (also called the partition key).

                            
                          

                          - **rangeKeyType** *(string) --* 

                            The data type for the range key (also called the sort key), You can specify the following values:

                             

                            
                            * ``'STRING'`` - The range key is a string.
                             
                            * ``'NUMBER'`` - The range key is number.
                            

                             

                            If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.

                            
                          

                          - **rangeKeyField** *(string) --* 

                            The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.

                            
                          

                          - **rangeKeyValue** *(string) --* 

                            The value of the range key (also called the sort key).

                            
                          

                          - **operation** *(string) --* 

                            The type of operation to perform. You can specify the following values:

                             

                            
                            * ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.
                             
                            * ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
                             
                            * ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
                            

                             

                            If you don't specify this parameter, AWS IoT Events triggers the ``'INSERT'`` operation.

                            
                          

                          - **payloadField** *(string) --* 

                            The name of the DynamoDB column that receives the action payload.

                             

                            If you don't specify this parameter, the name of the DynamoDB column is ``payload``.

                            
                          

                          - **tableName** *(string) --* 

                            The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.

                            
                          

                          - **payload** *(dict) --* 

                            Information needed to configure the payload.

                             

                            By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **dynamoDBv2** *(dict) --* 

                          Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the `payload <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html>`__. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see `Actions <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html>`__ in *AWS IoT Events Developer Guide*.

                          
                          

                          - **tableName** *(string) --* 

                            The name of the DynamoDB table.

                            
                          

                          - **payload** *(dict) --* 

                            Information needed to configure the payload.

                             

                            By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotSiteWise** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

                          
                          

                          - **entryId** *(string) --* 

                            A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.

                            
                          

                          - **assetId** *(string) --* 

                            The ID of the asset that has the specified property.

                            
                          

                          - **propertyId** *(string) --* 

                            The ID of the asset property.

                            
                          

                          - **propertyAlias** *(string) --* 

                            The alias of the asset property.

                            
                          

                          - **propertyValue** *(dict) --* 

                            The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.

                            
                            

                            - **value** *(dict) --* 

                              The value to send to an asset property.

                              
                              

                              - **stringValue** *(string) --* 

                                The asset property value is a string. You must use an expression, and the evaluated result should be a string.

                                
                              

                              - **integerValue** *(string) --* 

                                The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.

                                
                              

                              - **doubleValue** *(string) --* 

                                The asset property value is a double. You must use an expression, and the evaluated result should be a double.

                                
                              

                              - **booleanValue** *(string) --* 

                                The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.

                                
                          
                            

                            - **timestamp** *(dict) --* 

                              The timestamp associated with the asset property value. The default is the current event time.

                              
                              

                              - **timeInSeconds** *(string) --* 

                                The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.

                                
                              

                              - **offsetInNanos** *(string) --* 

                                The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.

                                
                          
                            

                            - **quality** *(string) --* 

                              The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.

                              
                        
                      
                    
                  
                
              
                

                - **transitionEvents** *(list) --* 

                  Specifies the actions performed, and the next state entered, when a ``condition`` evaluates to TRUE.

                  
                  

                  - *(dict) --* 

                    Specifies the actions performed and the next state entered when a ``condition`` evaluates to TRUE.

                    
                    

                    - **eventName** *(string) --* 

                      The name of the transition event.

                      
                    

                    - **condition** *(string) --* 

                      Required. A Boolean expression that when TRUE causes the actions to be performed and the ``nextState`` to be entered.

                      
                    

                    - **actions** *(list) --* 

                      The actions to be performed.

                      
                      

                      - *(dict) --* 

                        An action to be performed when the ``condition`` is TRUE.

                        
                        

                        - **setVariable** *(dict) --* 

                          Sets a variable to a specified value.

                          
                          

                          - **variableName** *(string) --* 

                            The name of the variable.

                            
                          

                          - **value** *(string) --* 

                            The new value of the variable.

                            
                      
                        

                        - **sns** *(dict) --* 

                          Sends an Amazon SNS message.

                          
                          

                          - **targetArn** *(string) --* 

                            The ARN of the Amazon SNS target where the message is sent.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message as an Amazon SNS push notification.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotTopicPublish** *(dict) --* 

                          Publishes an MQTT message with the given topic to the AWS IoT message broker.

                          
                          

                          - **mqttTopic** *(string) --* 

                            The MQTT topic of the message. You can use a string expression that includes variables ( ``$variable.<variable-name>``) and input values ( ``$input.<input-name>.<path-to-datum>``) as the topic string.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you publish a message to an AWS IoT Core topic.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **setTimer** *(dict) --* 

                          Information needed to set the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer.

                            
                          

                          - **seconds** *(integer) --* 

                            The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.

                            
                          

                          - **durationExpression** *(string) --* 

                            The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ( ``$variable.<variable-name>``), and input values ( ``$input.<input-name>.<path-to-datum>``) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.

                            
                      
                        

                        - **clearTimer** *(dict) --* 

                          Information needed to clear the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer to clear.

                            
                      
                        

                        - **resetTimer** *(dict) --* 

                          Information needed to reset the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer to reset.

                            
                      
                        

                        - **lambda** *(dict) --* 

                          Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

                          
                          

                          - **functionArn** *(string) --* 

                            The ARN of the Lambda function that is executed.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to a Lambda function.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotEvents** *(dict) --* 

                          Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

                          
                          

                          - **inputName** *(string) --* 

                            The name of the AWS IoT Events input where the data is sent.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an AWS IoT Events input.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **sqs** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

                          
                          

                          - **queueUrl** *(string) --* 

                            The URL of the SQS queue where the data is written.

                            
                          

                          - **useBase64** *(boolean) --* 

                            Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an Amazon SQS queue.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **firehose** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

                          
                          

                          - **deliveryStreamName** *(string) --* 

                            The name of the Kinesis Data Firehose delivery stream where the data is written.

                            
                          

                          - **separator** *(string) --* 

                            A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows newline), ',' (comma).

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery stream.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **dynamoDB** *(dict) --* 

                          Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the `payload <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html>`__. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see `Actions <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html>`__ in *AWS IoT Events Developer Guide*.

                          
                          

                          - **hashKeyType** *(string) --* 

                            The data type for the hash key (also called the partition key). You can specify the following values:

                             

                            
                            * ``'STRING'`` - The hash key is a string.
                             
                            * ``'NUMBER'`` - The hash key is a number.
                            

                             

                            If you don't specify ``hashKeyType``, the default value is ``'STRING'``.

                            
                          

                          - **hashKeyField** *(string) --* 

                            The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.

                            
                          

                          - **hashKeyValue** *(string) --* 

                            The value of the hash key (also called the partition key).

                            
                          

                          - **rangeKeyType** *(string) --* 

                            The data type for the range key (also called the sort key), You can specify the following values:

                             

                            
                            * ``'STRING'`` - The range key is a string.
                             
                            * ``'NUMBER'`` - The range key is number.
                            

                             

                            If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.

                            
                          

                          - **rangeKeyField** *(string) --* 

                            The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.

                            
                          

                          - **rangeKeyValue** *(string) --* 

                            The value of the range key (also called the sort key).

                            
                          

                          - **operation** *(string) --* 

                            The type of operation to perform. You can specify the following values:

                             

                            
                            * ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.
                             
                            * ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
                             
                            * ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
                            

                             

                            If you don't specify this parameter, AWS IoT Events triggers the ``'INSERT'`` operation.

                            
                          

                          - **payloadField** *(string) --* 

                            The name of the DynamoDB column that receives the action payload.

                             

                            If you don't specify this parameter, the name of the DynamoDB column is ``payload``.

                            
                          

                          - **tableName** *(string) --* 

                            The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.

                            
                          

                          - **payload** *(dict) --* 

                            Information needed to configure the payload.

                             

                            By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **dynamoDBv2** *(dict) --* 

                          Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the `payload <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html>`__. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see `Actions <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html>`__ in *AWS IoT Events Developer Guide*.

                          
                          

                          - **tableName** *(string) --* 

                            The name of the DynamoDB table.

                            
                          

                          - **payload** *(dict) --* 

                            Information needed to configure the payload.

                             

                            By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotSiteWise** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

                          
                          

                          - **entryId** *(string) --* 

                            A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.

                            
                          

                          - **assetId** *(string) --* 

                            The ID of the asset that has the specified property.

                            
                          

                          - **propertyId** *(string) --* 

                            The ID of the asset property.

                            
                          

                          - **propertyAlias** *(string) --* 

                            The alias of the asset property.

                            
                          

                          - **propertyValue** *(dict) --* 

                            The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.

                            
                            

                            - **value** *(dict) --* 

                              The value to send to an asset property.

                              
                              

                              - **stringValue** *(string) --* 

                                The asset property value is a string. You must use an expression, and the evaluated result should be a string.

                                
                              

                              - **integerValue** *(string) --* 

                                The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.

                                
                              

                              - **doubleValue** *(string) --* 

                                The asset property value is a double. You must use an expression, and the evaluated result should be a double.

                                
                              

                              - **booleanValue** *(string) --* 

                                The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.

                                
                          
                            

                            - **timestamp** *(dict) --* 

                              The timestamp associated with the asset property value. The default is the current event time.

                              
                              

                              - **timeInSeconds** *(string) --* 

                                The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.

                                
                              

                              - **offsetInNanos** *(string) --* 

                                The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.

                                
                          
                            

                            - **quality** *(string) --* 

                              The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.

                              
                        
                      
                    
                  
                    

                    - **nextState** *(string) --* 

                      The next state to enter.

                      
                
              
            
              

              - **onEnter** *(dict) --* 

                When entering this state, perform these ``actions`` if the ``condition`` is TRUE.

                
                

                - **events** *(list) --* 

                  Specifies the actions that are performed when the state is entered and the ``condition`` is ``TRUE``.

                  
                  

                  - *(dict) --* 

                    Specifies the ``actions`` to be performed when the ``condition`` evaluates to TRUE.

                    
                    

                    - **eventName** *(string) --* 

                      The name of the event.

                      
                    

                    - **condition** *(string) --* 

                      Optional. The Boolean expression that, when TRUE, causes the ``actions`` to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).

                      
                    

                    - **actions** *(list) --* 

                      The actions to be performed.

                      
                      

                      - *(dict) --* 

                        An action to be performed when the ``condition`` is TRUE.

                        
                        

                        - **setVariable** *(dict) --* 

                          Sets a variable to a specified value.

                          
                          

                          - **variableName** *(string) --* 

                            The name of the variable.

                            
                          

                          - **value** *(string) --* 

                            The new value of the variable.

                            
                      
                        

                        - **sns** *(dict) --* 

                          Sends an Amazon SNS message.

                          
                          

                          - **targetArn** *(string) --* 

                            The ARN of the Amazon SNS target where the message is sent.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message as an Amazon SNS push notification.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotTopicPublish** *(dict) --* 

                          Publishes an MQTT message with the given topic to the AWS IoT message broker.

                          
                          

                          - **mqttTopic** *(string) --* 

                            The MQTT topic of the message. You can use a string expression that includes variables ( ``$variable.<variable-name>``) and input values ( ``$input.<input-name>.<path-to-datum>``) as the topic string.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you publish a message to an AWS IoT Core topic.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **setTimer** *(dict) --* 

                          Information needed to set the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer.

                            
                          

                          - **seconds** *(integer) --* 

                            The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.

                            
                          

                          - **durationExpression** *(string) --* 

                            The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ( ``$variable.<variable-name>``), and input values ( ``$input.<input-name>.<path-to-datum>``) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.

                            
                      
                        

                        - **clearTimer** *(dict) --* 

                          Information needed to clear the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer to clear.

                            
                      
                        

                        - **resetTimer** *(dict) --* 

                          Information needed to reset the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer to reset.

                            
                      
                        

                        - **lambda** *(dict) --* 

                          Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

                          
                          

                          - **functionArn** *(string) --* 

                            The ARN of the Lambda function that is executed.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to a Lambda function.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotEvents** *(dict) --* 

                          Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

                          
                          

                          - **inputName** *(string) --* 

                            The name of the AWS IoT Events input where the data is sent.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an AWS IoT Events input.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **sqs** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

                          
                          

                          - **queueUrl** *(string) --* 

                            The URL of the SQS queue where the data is written.

                            
                          

                          - **useBase64** *(boolean) --* 

                            Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an Amazon SQS queue.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **firehose** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

                          
                          

                          - **deliveryStreamName** *(string) --* 

                            The name of the Kinesis Data Firehose delivery stream where the data is written.

                            
                          

                          - **separator** *(string) --* 

                            A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows newline), ',' (comma).

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery stream.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **dynamoDB** *(dict) --* 

                          Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the `payload <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html>`__. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see `Actions <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html>`__ in *AWS IoT Events Developer Guide*.

                          
                          

                          - **hashKeyType** *(string) --* 

                            The data type for the hash key (also called the partition key). You can specify the following values:

                             

                            
                            * ``'STRING'`` - The hash key is a string.
                             
                            * ``'NUMBER'`` - The hash key is a number.
                            

                             

                            If you don't specify ``hashKeyType``, the default value is ``'STRING'``.

                            
                          

                          - **hashKeyField** *(string) --* 

                            The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.

                            
                          

                          - **hashKeyValue** *(string) --* 

                            The value of the hash key (also called the partition key).

                            
                          

                          - **rangeKeyType** *(string) --* 

                            The data type for the range key (also called the sort key), You can specify the following values:

                             

                            
                            * ``'STRING'`` - The range key is a string.
                             
                            * ``'NUMBER'`` - The range key is number.
                            

                             

                            If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.

                            
                          

                          - **rangeKeyField** *(string) --* 

                            The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.

                            
                          

                          - **rangeKeyValue** *(string) --* 

                            The value of the range key (also called the sort key).

                            
                          

                          - **operation** *(string) --* 

                            The type of operation to perform. You can specify the following values:

                             

                            
                            * ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.
                             
                            * ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
                             
                            * ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
                            

                             

                            If you don't specify this parameter, AWS IoT Events triggers the ``'INSERT'`` operation.

                            
                          

                          - **payloadField** *(string) --* 

                            The name of the DynamoDB column that receives the action payload.

                             

                            If you don't specify this parameter, the name of the DynamoDB column is ``payload``.

                            
                          

                          - **tableName** *(string) --* 

                            The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.

                            
                          

                          - **payload** *(dict) --* 

                            Information needed to configure the payload.

                             

                            By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **dynamoDBv2** *(dict) --* 

                          Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the `payload <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html>`__. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see `Actions <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html>`__ in *AWS IoT Events Developer Guide*.

                          
                          

                          - **tableName** *(string) --* 

                            The name of the DynamoDB table.

                            
                          

                          - **payload** *(dict) --* 

                            Information needed to configure the payload.

                             

                            By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotSiteWise** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

                          
                          

                          - **entryId** *(string) --* 

                            A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.

                            
                          

                          - **assetId** *(string) --* 

                            The ID of the asset that has the specified property.

                            
                          

                          - **propertyId** *(string) --* 

                            The ID of the asset property.

                            
                          

                          - **propertyAlias** *(string) --* 

                            The alias of the asset property.

                            
                          

                          - **propertyValue** *(dict) --* 

                            The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.

                            
                            

                            - **value** *(dict) --* 

                              The value to send to an asset property.

                              
                              

                              - **stringValue** *(string) --* 

                                The asset property value is a string. You must use an expression, and the evaluated result should be a string.

                                
                              

                              - **integerValue** *(string) --* 

                                The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.

                                
                              

                              - **doubleValue** *(string) --* 

                                The asset property value is a double. You must use an expression, and the evaluated result should be a double.

                                
                              

                              - **booleanValue** *(string) --* 

                                The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.

                                
                          
                            

                            - **timestamp** *(dict) --* 

                              The timestamp associated with the asset property value. The default is the current event time.

                              
                              

                              - **timeInSeconds** *(string) --* 

                                The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.

                                
                              

                              - **offsetInNanos** *(string) --* 

                                The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.

                                
                          
                            

                            - **quality** *(string) --* 

                              The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.

                              
                        
                      
                    
                  
                
              
            
              

              - **onExit** *(dict) --* 

                When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.

                
                

                - **events** *(list) --* 

                  Specifies the ``actions`` that are performed when the state is exited and the ``condition`` is ``TRUE``.

                  
                  

                  - *(dict) --* 

                    Specifies the ``actions`` to be performed when the ``condition`` evaluates to TRUE.

                    
                    

                    - **eventName** *(string) --* 

                      The name of the event.

                      
                    

                    - **condition** *(string) --* 

                      Optional. The Boolean expression that, when TRUE, causes the ``actions`` to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).

                      
                    

                    - **actions** *(list) --* 

                      The actions to be performed.

                      
                      

                      - *(dict) --* 

                        An action to be performed when the ``condition`` is TRUE.

                        
                        

                        - **setVariable** *(dict) --* 

                          Sets a variable to a specified value.

                          
                          

                          - **variableName** *(string) --* 

                            The name of the variable.

                            
                          

                          - **value** *(string) --* 

                            The new value of the variable.

                            
                      
                        

                        - **sns** *(dict) --* 

                          Sends an Amazon SNS message.

                          
                          

                          - **targetArn** *(string) --* 

                            The ARN of the Amazon SNS target where the message is sent.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message as an Amazon SNS push notification.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotTopicPublish** *(dict) --* 

                          Publishes an MQTT message with the given topic to the AWS IoT message broker.

                          
                          

                          - **mqttTopic** *(string) --* 

                            The MQTT topic of the message. You can use a string expression that includes variables ( ``$variable.<variable-name>``) and input values ( ``$input.<input-name>.<path-to-datum>``) as the topic string.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you publish a message to an AWS IoT Core topic.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **setTimer** *(dict) --* 

                          Information needed to set the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer.

                            
                          

                          - **seconds** *(integer) --* 

                            The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.

                            
                          

                          - **durationExpression** *(string) --* 

                            The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ( ``$variable.<variable-name>``), and input values ( ``$input.<input-name>.<path-to-datum>``) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.

                            
                      
                        

                        - **clearTimer** *(dict) --* 

                          Information needed to clear the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer to clear.

                            
                      
                        

                        - **resetTimer** *(dict) --* 

                          Information needed to reset the timer.

                          
                          

                          - **timerName** *(string) --* 

                            The name of the timer to reset.

                            
                      
                        

                        - **lambda** *(dict) --* 

                          Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

                          
                          

                          - **functionArn** *(string) --* 

                            The ARN of the Lambda function that is executed.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to a Lambda function.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotEvents** *(dict) --* 

                          Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

                          
                          

                          - **inputName** *(string) --* 

                            The name of the AWS IoT Events input where the data is sent.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an AWS IoT Events input.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **sqs** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

                          
                          

                          - **queueUrl** *(string) --* 

                            The URL of the SQS queue where the data is written.

                            
                          

                          - **useBase64** *(boolean) --* 

                            Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an Amazon SQS queue.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **firehose** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

                          
                          

                          - **deliveryStreamName** *(string) --* 

                            The name of the Kinesis Data Firehose delivery stream where the data is written.

                            
                          

                          - **separator** *(string) --* 

                            A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows newline), ',' (comma).

                            
                          

                          - **payload** *(dict) --* 

                            You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery stream.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **dynamoDB** *(dict) --* 

                          Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the `payload <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html>`__. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see `Actions <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html>`__ in *AWS IoT Events Developer Guide*.

                          
                          

                          - **hashKeyType** *(string) --* 

                            The data type for the hash key (also called the partition key). You can specify the following values:

                             

                            
                            * ``'STRING'`` - The hash key is a string.
                             
                            * ``'NUMBER'`` - The hash key is a number.
                            

                             

                            If you don't specify ``hashKeyType``, the default value is ``'STRING'``.

                            
                          

                          - **hashKeyField** *(string) --* 

                            The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.

                            
                          

                          - **hashKeyValue** *(string) --* 

                            The value of the hash key (also called the partition key).

                            
                          

                          - **rangeKeyType** *(string) --* 

                            The data type for the range key (also called the sort key), You can specify the following values:

                             

                            
                            * ``'STRING'`` - The range key is a string.
                             
                            * ``'NUMBER'`` - The range key is number.
                            

                             

                            If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.

                            
                          

                          - **rangeKeyField** *(string) --* 

                            The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.

                            
                          

                          - **rangeKeyValue** *(string) --* 

                            The value of the range key (also called the sort key).

                            
                          

                          - **operation** *(string) --* 

                            The type of operation to perform. You can specify the following values:

                             

                            
                            * ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.
                             
                            * ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
                             
                            * ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.
                            

                             

                            If you don't specify this parameter, AWS IoT Events triggers the ``'INSERT'`` operation.

                            
                          

                          - **payloadField** *(string) --* 

                            The name of the DynamoDB column that receives the action payload.

                             

                            If you don't specify this parameter, the name of the DynamoDB column is ``payload``.

                            
                          

                          - **tableName** *(string) --* 

                            The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.

                            
                          

                          - **payload** *(dict) --* 

                            Information needed to configure the payload.

                             

                            By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **dynamoDBv2** *(dict) --* 

                          Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the `payload <https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html>`__. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see `Actions <https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html>`__ in *AWS IoT Events Developer Guide*.

                          
                          

                          - **tableName** *(string) --* 

                            The name of the DynamoDB table.

                            
                          

                          - **payload** *(dict) --* 

                            Information needed to configure the payload.

                             

                            By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.

                            
                            

                            - **contentExpression** *(string) --* 

                              The content of the payload. You can use a string expression that includes quoted strings ( ``'<string>'``), variables ( ``$variable.<variable-name>``), input values ( ``$input.<input-name>.<path-to-datum>``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.

                              
                            

                            - **type** *(string) --* 

                              The value of the payload type can be either ``STRING`` or ``JSON``.

                              
                        
                      
                        

                        - **iotSiteWise** *(dict) --* 

                          Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

                          
                          

                          - **entryId** *(string) --* 

                            A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.

                            
                          

                          - **assetId** *(string) --* 

                            The ID of the asset that has the specified property.

                            
                          

                          - **propertyId** *(string) --* 

                            The ID of the asset property.

                            
                          

                          - **propertyAlias** *(string) --* 

                            The alias of the asset property.

                            
                          

                          - **propertyValue** *(dict) --* 

                            The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.

                            
                            

                            - **value** *(dict) --* 

                              The value to send to an asset property.

                              
                              

                              - **stringValue** *(string) --* 

                                The asset property value is a string. You must use an expression, and the evaluated result should be a string.

                                
                              

                              - **integerValue** *(string) --* 

                                The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.

                                
                              

                              - **doubleValue** *(string) --* 

                                The asset property value is a double. You must use an expression, and the evaluated result should be a double.

                                
                              

                              - **booleanValue** *(string) --* 

                                The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.

                                
                          
                            

                            - **timestamp** *(dict) --* 

                              The timestamp associated with the asset property value. The default is the current event time.

                              
                              

                              - **timeInSeconds** *(string) --* 

                                The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.

                                
                              

                              - **offsetInNanos** *(string) --* 

                                The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.

                                
                          
                            

                            - **quality** *(string) --* 

                              The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.

                              
                        
                      
                    
                  
                
              
            
          
        
          

          - **initialStateName** *(string) --* 

            The state that is entered at the creation of each detector (instance).

            
      
        

        - **detectorModelConfiguration** *(dict) --* 

          Information about how the detector is configured.

          
          

          - **detectorModelName** *(string) --* 

            The name of the detector model.

            
          

          - **detectorModelVersion** *(string) --* 

            The version of the detector model.

            
          

          - **detectorModelDescription** *(string) --* 

            A brief description of the detector model.

            
          

          - **detectorModelArn** *(string) --* 

            The ARN of the detector model.

            
          

          - **roleArn** *(string) --* 

            The ARN of the role that grants permission to AWS IoT Events to perform its operations.

            
          

          - **creationTime** *(datetime) --* 

            The time the detector model was created.

            
          

          - **lastUpdateTime** *(datetime) --* 

            The time the detector model was last updated.

            
          

          - **status** *(string) --* 

            The status of the detector model.

            
          

          - **key** *(string) --* 

            The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.

             

            This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.

            
          

          - **evaluationMethod** *(string) --* 

            Information about the order in which events are evaluated and how actions are executed.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`IoTEvents.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`IoTEvents.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`IoTEvents.Client.exceptions.ThrottlingException`

  
  *   :py:class:`IoTEvents.Client.exceptions.InternalFailureException`

  
  *   :py:class:`IoTEvents.Client.exceptions.ServiceUnavailableException`

  