:doc:`IoTFleetWise <../../iotfleetwise>` / Client / batch_update_vehicle

********************
batch_update_vehicle
********************



.. py:method:: IoTFleetWise.Client.batch_update_vehicle(**kwargs)

  

  Updates a group, or batch, of vehicles.

   

  .. note::

    

    You must specify a decoder manifest and a vehicle model (model manifest) for each vehicle.

    

   

  For more information, see `Update multiple vehicles (AWS CLI) <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/update-vehicles-cli.html>`__ in the *Amazon Web Services IoT FleetWise Developer Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iotfleetwise-2021-06-17/BatchUpdateVehicle>`_  


  **Request Syntax**
  ::

    response = client.batch_update_vehicle(
        vehicles=[
            {
                'vehicleName': 'string',
                'modelManifestArn': 'string',
                'decoderManifestArn': 'string',
                'attributes': {
                    'string': 'string'
                },
                'attributeUpdateMode': 'Overwrite'|'Merge',
                'stateTemplatesToAdd': [
                    {
                        'identifier': 'string',
                        'stateTemplateUpdateStrategy': {
                            'periodic': {
                                'stateTemplateUpdateRate': {
                                    'unit': 'MILLISECOND'|'SECOND'|'MINUTE'|'HOUR',
                                    'value': 123
                                }
                            },
                            'onChange': {}
                            
                        }
                    },
                ],
                'stateTemplatesToRemove': [
                    'string',
                ],
                'stateTemplatesToUpdate': [
                    {
                        'identifier': 'string',
                        'stateTemplateUpdateStrategy': {
                            'periodic': {
                                'stateTemplateUpdateRate': {
                                    'unit': 'MILLISECOND'|'SECOND'|'MINUTE'|'HOUR',
                                    'value': 123
                                }
                            },
                            'onChange': {}
                            
                        }
                    },
                ]
            },
        ]
    )
    
  :type vehicles: list
  :param vehicles: **[REQUIRED]** 

    A list of information about the vehicles to update. For more information, see the API data type.

    

  
    - *(dict) --* 

      Information about the vehicle to update.

       

      .. warning::

         

        Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see `Amazon Web Services Region and feature availability <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html>`__ in the *Amazon Web Services IoT FleetWise Developer Guide*.

        

      

    
      - **vehicleName** *(string) --* **[REQUIRED]** 

        The unique ID of the vehicle to update.

        

      
      - **modelManifestArn** *(string) --* 

        The ARN of the vehicle model (model manifest) associated with the vehicle to update.

        

      
      - **decoderManifestArn** *(string) --* 

        The ARN of the signal decoder manifest associated with the vehicle to update.

        

      
      - **attributes** *(dict) --* 

        Static information about a vehicle in a key-value pair. For example:

         

        ``"engineType"`` : ``"1.3 L R2"``

        

      
        - *(string) --* 

        
          - *(string) --* 

          
    
  
      - **attributeUpdateMode** *(string) --* 

        The method the specified attributes will update the existing attributes on the vehicle. Use ``Overwite`` to replace the vehicle attributes with the specified attributes. Or use ``Merge`` to combine all attributes.

         

        This is required if attributes are present in the input.

        

      
      - **stateTemplatesToAdd** *(list) --* 

        Associate additional state templates to track the state of the vehicle. State templates determine which signal updates the vehicle sends to the cloud.

        

      
        - *(dict) --* 

          The state template associated with a vehicle. State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the Amazon Web Services IoT FleetWise Edge and the Amazon Web Services Cloud.

           

          .. warning::

             

            Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see `Amazon Web Services Region and feature availability <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html>`__ in the *Amazon Web Services IoT FleetWise Developer Guide*.

            

          

        
          - **identifier** *(string) --* **[REQUIRED]** 

            The unique ID of the state template.

            

          
          - **stateTemplateUpdateStrategy** *(dict) --* **[REQUIRED]** 

            The update strategy for the state template. Vehicles associated with the state template can stream telemetry data with either an ``onChange`` or ``periodic`` update strategy.

             

            .. warning::

               

              Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see `Amazon Web Services Region and feature availability <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html>`__ in the *Amazon Web Services IoT FleetWise Developer Guide*.

              

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``periodic``, ``onChange``. 

          
            - **periodic** *(dict) --* 

              Vehicles associated with the state template will stream telemetry data during a specified time period.

              

            
              - **stateTemplateUpdateRate** *(dict) --* **[REQUIRED]** 

                The length of time between state template updates.

                

              
                - **unit** *(string) --* **[REQUIRED]** 

                  A unit of time.

                  

                
                - **value** *(integer) --* **[REQUIRED]** 

                  A number of time units.

                  

                
              
            
            - **onChange** *(dict) --* 

              Vehicles associated with the state template will stream telemetry data when there is a change.

              

            
            
          
        
    
      - **stateTemplatesToRemove** *(list) --* 

        Remove existing state template associations from the vehicle.

        

      
        - *(string) --* 

        
    
      - **stateTemplatesToUpdate** *(list) --* 

        Change the ``stateTemplateUpdateStrategy`` of state templates already associated with the vehicle.

        

      
        - *(dict) --* 

          The state template associated with a vehicle. State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the Amazon Web Services IoT FleetWise Edge and the Amazon Web Services Cloud.

           

          .. warning::

             

            Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see `Amazon Web Services Region and feature availability <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html>`__ in the *Amazon Web Services IoT FleetWise Developer Guide*.

            

          

        
          - **identifier** *(string) --* **[REQUIRED]** 

            The unique ID of the state template.

            

          
          - **stateTemplateUpdateStrategy** *(dict) --* **[REQUIRED]** 

            The update strategy for the state template. Vehicles associated with the state template can stream telemetry data with either an ``onChange`` or ``periodic`` update strategy.

             

            .. warning::

               

              Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see `Amazon Web Services Region and feature availability <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html>`__ in the *Amazon Web Services IoT FleetWise Developer Guide*.

              

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``periodic``, ``onChange``. 

          
            - **periodic** *(dict) --* 

              Vehicles associated with the state template will stream telemetry data during a specified time period.

              

            
              - **stateTemplateUpdateRate** *(dict) --* **[REQUIRED]** 

                The length of time between state template updates.

                

              
                - **unit** *(string) --* **[REQUIRED]** 

                  A unit of time.

                  

                
                - **value** *(integer) --* **[REQUIRED]** 

                  A number of time units.

                  

                
              
            
            - **onChange** *(dict) --* 

              Vehicles associated with the state template will stream telemetry data when there is a change.

              

            
            
          
        
    
    

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

    
    ::

      {
          'vehicles': [
              {
                  'vehicleName': 'string',
                  'arn': 'string'
              },
          ],
          'errors': [
              {
                  'vehicleName': 'string',
                  'code': 123,
                  'message': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **vehicles** *(list) --* 

        A list of information about the batch of updated vehicles.

         

        .. note::

          

          This list contains only unique IDs for the vehicles that were updated.

          

        
        

        - *(dict) --* 

          Information about the updated vehicle.

          
          

          - **vehicleName** *(string) --* 

            The unique ID of the updated vehicle.

            
          

          - **arn** *(string) --* 

            The Amazon Resource Name (ARN) of the updated vehicle.

            
      
    
      

      - **errors** *(list) --* 

        A list of information about errors returned while updating a batch of vehicles, or, if there aren't any errors, an empty list.

        
        

        - *(dict) --* 

          An HTTP error resulting from updating the description for a vehicle.

          
          

          - **vehicleName** *(string) --* 

            The ID of the vehicle with the error.

            
          

          - **code** *(integer) --* 

            The relevant HTTP error code (400+).

            
          

          - **message** *(string) --* 

            A message associated with the error.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`IoTFleetWise.Client.exceptions.InternalServerException`

  
  *   :py:class:`IoTFleetWise.Client.exceptions.LimitExceededException`

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

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

  
  *   :py:class:`IoTFleetWise.Client.exceptions.AccessDeniedException`

  