:doc:`Greengrass <../../greengrass>` / Client / create_device_definition_version

********************************
create_device_definition_version
********************************



.. py:method:: Greengrass.Client.create_device_definition_version(**kwargs)

  Creates a version of a device definition that has already been defined.

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeviceDefinitionVersion>`_  


  **Request Syntax**
  ::

    response = client.create_device_definition_version(
        AmznClientToken='string',
        DeviceDefinitionId='string',
        Devices=[
            {
                'CertificateArn': 'string',
                'Id': 'string',
                'SyncShadow': True|False,
                'ThingArn': 'string'
            },
        ]
    )
    
  :type AmznClientToken: string
  :param AmznClientToken: A client token used to correlate requests and responses.

  
  :type DeviceDefinitionId: string
  :param DeviceDefinitionId: **[REQUIRED]** The ID of the device definition.

  
  :type Devices: list
  :param Devices: A list of devices in the definition version.

  
    - *(dict) --* Information about a device.

    
      - **CertificateArn** *(string) --* **[REQUIRED]** The ARN of the certificate associated with the device.

      
      - **Id** *(string) --* **[REQUIRED]** A descriptive or arbitrary ID for the device. This value must be unique within the device definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''.

      
      - **SyncShadow** *(boolean) --* If true, the device's local shadow will be automatically synced with the cloud.

      
      - **ThingArn** *(string) --* **[REQUIRED]** The thing ARN of the device.

      
    

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

    
    ::

      {
          'Arn': 'string',
          'CreationTimestamp': 'string',
          'Id': 'string',
          'Version': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Arn** *(string) --* The ARN of the version.
      

      - **CreationTimestamp** *(string) --* The time, in milliseconds since the epoch, when the version was created.
      

      - **Id** *(string) --* The ID of the parent definition that the version is associated with.
      

      - **Version** *(string) --* The ID of the version.
  
  **Exceptions**
  
  *   :py:class:`Greengrass.Client.exceptions.BadRequestException`

  