:doc:`ManagedintegrationsforIoTDeviceManagement <../../iot-managed-integrations>` / Client / create_ota_task_configuration

*****************************
create_ota_task_configuration
*****************************



.. py:method:: ManagedintegrationsforIoTDeviceManagement.Client.create_ota_task_configuration(**kwargs)

  

  Create a configuraiton for the over-the-air (OTA) task.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iot-managed-integrations-2025-03-03/CreateOtaTaskConfiguration>`_  


  **Request Syntax**
  ::

    response = client.create_ota_task_configuration(
        Description='string',
        Name='string',
        PushConfig={
            'AbortConfig': {
                'AbortConfigCriteriaList': [
                    {
                        'Action': 'CANCEL',
                        'FailureType': 'FAILED'|'REJECTED'|'TIMED_OUT'|'ALL',
                        'MinNumberOfExecutedThings': 123,
                        'ThresholdPercentage': 123.0
                    },
                ]
            },
            'RolloutConfig': {
                'ExponentialRolloutRate': {
                    'BaseRatePerMinute': 123,
                    'IncrementFactor': 123.0,
                    'RateIncreaseCriteria': {
                        'numberOfNotifiedThings': 123,
                        'numberOfSucceededThings': 123
                    }
                },
                'MaximumPerMinute': 123
            },
            'TimeoutConfig': {
                'InProgressTimeoutInMinutes': 123
            }
        },
        ClientToken='string'
    )
    
  :type Description: string
  :param Description: 

    A description of the over-the-air (OTA) task configuration.

    

  
  :type Name: string
  :param Name: 

    The name of the over-the-air (OTA) task.

    

  
  :type PushConfig: dict
  :param PushConfig: 

    Describes the type of configuration used for the over-the-air (OTA) task.

    

  
    - **AbortConfig** *(dict) --* 

      Structure representing one abort config.

      

    
      - **AbortConfigCriteriaList** *(list) --* 

        The list of criteria for the abort config.

        

      
        - *(dict) --* 

          Structure representing one abort config criteria.

          

        
          - **Action** *(string) --* 

            The action taken by the abort configuration.

            

          
          - **FailureType** *(string) --* 

            Over-the-air (OTA) task abort criteria failure type.

            

          
          - **MinNumberOfExecutedThings** *(integer) --* 

            The minimum number of things that must receive task execution notifications before the task can be aborted.

            

          
          - **ThresholdPercentage** *(float) --* 

            The minimum percentage of over-the-air (OTA) task execution failures that must occur to initiate the last abort.

            

          
        
    
    
    - **RolloutConfig** *(dict) --* 

      Structure representing one rollout config.

      

    
      - **ExponentialRolloutRate** *(dict) --* 

        Structure representing exponential rate of rollout for an over-the-air (OTA) task.

        

      
        - **BaseRatePerMinute** *(integer) --* 

          The base rate per minute for the rollout of an over-the-air (OTA) task.

          

        
        - **IncrementFactor** *(float) --* 

          The incremental factor for increasing the rollout rate of an over-the-air (OTA) task.

          

        
        - **RateIncreaseCriteria** *(dict) --* 

          The criteria for increasing the rollout rate of an over-the-air (OTA) task.

          

        
          - **numberOfNotifiedThings** *(integer) --* 

            The threshold for number of notified things that will initiate the increase in rate of rollout.

            

          
          - **numberOfSucceededThings** *(integer) --* 

            The threshold for number of succeeded things that will initiate the increase in rate of rollout.

            

          
        
      
      - **MaximumPerMinute** *(integer) --* 

        The maximum number of things that will be notified of a pending task, per minute.

        

      
    
    - **TimeoutConfig** *(dict) --* 

      Structure representing one timeout config.

      

    
      - **InProgressTimeoutInMinutes** *(integer) --* 

        Specifies the amount of time the device has to finish execution of this task. The timeout interval can be anywhere between 1 minute and 7 days.

        

      
    
  
  :type ClientToken: string
  :param ClientToken: 

    An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.

    This field is autopopulated if not provided.

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

    
    ::

      {
          'TaskConfigurationId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **TaskConfigurationId** *(string) --* 

        The identifier of the over-the-air (OTA) task configuration.

        
  
  **Exceptions**
  
  *   :py:class:`ManagedintegrationsforIoTDeviceManagement.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`ManagedintegrationsforIoTDeviceManagement.Client.exceptions.ValidationException`

  
  *   :py:class:`ManagedintegrationsforIoTDeviceManagement.Client.exceptions.InternalServerException`

  
  *   :py:class:`ManagedintegrationsforIoTDeviceManagement.Client.exceptions.ConflictException`

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

  