:doc:`Panorama <../../panorama>` / Client / provision_device

****************
provision_device
****************



.. py:method:: Panorama.Client.provision_device(**kwargs)

  

  Creates a device and returns a configuration archive. The configuration archive is a ZIP file that contains a provisioning certificate that is valid for 5 minutes. Name the configuration archive ``certificates-omni_device-name.zip`` and transfer it to the device within 5 minutes. Use the included USB storage device and connect it to the USB 3.0 port next to the HDMI output.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/panorama-2019-07-24/ProvisionDevice>`_  


  **Request Syntax**
  ::

    response = client.provision_device(
        Description='string',
        Name='string',
        NetworkingConfiguration={
            'Ethernet0': {
                'ConnectionType': 'STATIC_IP'|'DHCP',
                'StaticIpConnectionInfo': {
                    'DefaultGateway': 'string',
                    'Dns': [
                        'string',
                    ],
                    'IpAddress': 'string',
                    'Mask': 'string'
                }
            },
            'Ethernet1': {
                'ConnectionType': 'STATIC_IP'|'DHCP',
                'StaticIpConnectionInfo': {
                    'DefaultGateway': 'string',
                    'Dns': [
                        'string',
                    ],
                    'IpAddress': 'string',
                    'Mask': 'string'
                }
            },
            'Ntp': {
                'NtpServers': [
                    'string',
                ]
            }
        },
        Tags={
            'string': 'string'
        }
    )
    
  :type Description: string
  :param Description: 

    A description for the device.

    

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

    A name for the device.

    

  
  :type NetworkingConfiguration: dict
  :param NetworkingConfiguration: 

    A networking configuration for the device.

    

  
    - **Ethernet0** *(dict) --* 

      Settings for Ethernet port 0.

      

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

        How the device gets an IP address.

        

      
      - **StaticIpConnectionInfo** *(dict) --* 

        Network configuration for a static IP connection.

        

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

          The connection's default gateway.

          

        
        - **Dns** *(list) --* **[REQUIRED]** 

          The connection's DNS address.

          

        
          - *(string) --* 

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

          The connection's IP address.

          

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

          The connection's DNS mask.

          

        
      
    
    - **Ethernet1** *(dict) --* 

      Settings for Ethernet port 1.

      

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

        How the device gets an IP address.

        

      
      - **StaticIpConnectionInfo** *(dict) --* 

        Network configuration for a static IP connection.

        

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

          The connection's default gateway.

          

        
        - **Dns** *(list) --* **[REQUIRED]** 

          The connection's DNS address.

          

        
          - *(string) --* 

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

          The connection's IP address.

          

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

          The connection's DNS mask.

          

        
      
    
    - **Ntp** *(dict) --* 

      Network time protocol (NTP) server settings.

      

    
      - **NtpServers** *(list) --* **[REQUIRED]** 

        NTP servers to use, in order of preference.

        

      
        - *(string) --* 

        
    
    
  
  :type Tags: dict
  :param Tags: 

    Tags for the device.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


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

    
    ::

      {
          'Arn': 'string',
          'Certificates': b'bytes',
          'DeviceId': 'string',
          'IotThingName': 'string',
          'Status': 'AWAITING_PROVISIONING'|'PENDING'|'SUCCEEDED'|'FAILED'|'ERROR'|'DELETING'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Arn** *(string) --* 

        The device's ARN.

        
      

      - **Certificates** *(bytes) --* 

        The device's configuration bundle.

        
      

      - **DeviceId** *(string) --* 

        The device's ID.

        
      

      - **IotThingName** *(string) --* 

        The device's IoT thing name.

        
      

      - **Status** *(string) --* 

        The device's status.

        
  
  **Exceptions**
  
  *   :py:class:`Panorama.Client.exceptions.ConflictException`

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

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

  
  *   :py:class:`Panorama.Client.exceptions.ServiceQuotaExceededException`

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

  