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

**************
update_vehicle
**************



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

  

  Updates a vehicle.

   

  .. 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*.

    

  

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


  **Request Syntax**
  ::

    response = client.update_vehicle(
        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 vehicleName: string
  :param vehicleName: **[REQUIRED]** 

    The unique ID of the vehicle to update.

    

  
  :type modelManifestArn: string
  :param modelManifestArn: 

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

    

  
  :type decoderManifestArn: string
  :param decoderManifestArn: 

    The ARN of the decoder manifest associated with this vehicle.

    

  
  :type attributes: dict
  :param attributes: 

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

     

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

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type attributeUpdateMode: string
  :param attributeUpdateMode: 

    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.

    

  
  :type stateTemplatesToAdd: list
  :param stateTemplatesToAdd: 

    Associate state templates 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.

          

        
        
      
    

  :type stateTemplatesToRemove: list
  :param stateTemplatesToRemove: 

    Remove state templates from the vehicle.

    

  
    - *(string) --* 

    

  :type stateTemplatesToUpdate: list
  :param stateTemplatesToUpdate: 

    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**

    
    ::

      {
          'vehicleName': 'string',
          'arn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The ID of the updated vehicle.

        
      

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

        The ARN of the updated vehicle.

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

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

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

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

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

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

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

  