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

**************
create_vehicle
**************



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

  

  Creates a vehicle, which is an instance of a vehicle model (model manifest). Vehicles created from the same vehicle model consist of the same signals inherited from the vehicle model.

   

  .. note::

    

    If you have an existing Amazon Web Services IoT thing, you can use Amazon Web Services IoT FleetWise to create a vehicle and collect data from your thing.

    

   

  For more information, see `Create a vehicle (AWS CLI) <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicle-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/CreateVehicle>`_  


  **Request Syntax**
  ::

    response = client.create_vehicle(
        vehicleName='string',
        modelManifestArn='string',
        decoderManifestArn='string',
        attributes={
            'string': 'string'
        },
        associationBehavior='CreateIotThing'|'ValidateIotThingExists',
        tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        stateTemplates=[
            {
                '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 create.

    

  
  :type modelManifestArn: string
  :param modelManifestArn: **[REQUIRED]** 

    The Amazon Resource Name ARN of a vehicle model.

    

  
  :type decoderManifestArn: string
  :param decoderManifestArn: **[REQUIRED]** 

    The ARN of a decoder manifest.

    

  
  :type attributes: dict
  :param attributes: 

    Static information about a vehicle in a key-value pair. For example: ``"engineType"`` : ``"1.3 L R2"``

     

    To use attributes with Campaigns or State Templates, you must include them using the request parameters ``dataExtraDimensions`` and/or ``metadataExtraDimensions`` (for state templates only) when creating your campaign/state template.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type associationBehavior: string
  :param associationBehavior: 

    An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an existing Amazon Web Services IoT thing as a vehicle.

     

    Default:

    

  
  :type tags: list
  :param tags: 

    Metadata that can be used to manage the vehicle.

    

  
    - *(dict) --* 

      A set of key/value pairs that are used to manage the resource.

      

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

        The tag's key.

        

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

        The tag's value.

        

      
    

  :type stateTemplates: list
  :param stateTemplates: 

    Associate state templates with the vehicle. You can monitor the last known state of the vehicle in near real time.

    

  
    - *(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',
          'thingArn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The unique ID of the created vehicle.

        
      

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

        The ARN of the created vehicle.

        
      

      - **thingArn** *(string) --* 

        The ARN of a created or validated Amazon Web Services IoT thing.

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

  