code: def add_device(self, **kwargs):
          
          api = self._get_api(device_directory.DefaultApi)
          device = Device._create_request_map(kwargs)
          device = DeviceData(**device)
          return Device(api.device_create(device))
docs: Add a new device to catalog.
  
          .. code-block:: python
  
              device = {
                  "mechanism": "connector",
                  "certificate_fingerprint": "<certificate>",
                  "name": "New device name",
                  "certificate_issuer_id": "<id>"
              }
              resp = api.add_device(**device)
              print(resp.created_at)
  
          :param str certificate_fingerprint: Fingerprint of the device certificate
          :param str certificate_issuer_id: ID of the issuer of the certificate
          :param str name: The name of the device
          :param str account_id: The owning Identity and Access Managment (IAM) account ID
          :param obj custom_attributes: Up to 5 custom JSON attributes
          :param str description: The description of the device
          :param str device_class: Class of the device
          :param str id: The ID of the device
          :param str manifest_url: URL for the current device manifest
          :param str mechanism: The ID of the channel used to communicate with the device
          :param str mechanism_url: The address of the connector to use
          :param str serial_number: The serial number of the device
          :param str state: The current state of the device
          :param int trust_class: The device trust class
          :param str vendor_id: The device vendor ID
          :param str alias: The alias of the device
          :parama str device_type: The endpoint type of the device - e.g. if the device is a gateway
          :param str host_gateway: The endpoint_name of the host gateway, if appropriate
          :param datetime bootstrap_certificate_expiration:
          :param datetime connector_certificate_expiration: Expiration date of the certificate
              used to connect to connector server
          :param int device_execution_mode: The device class
          :param str firmware_checksum: The SHA256 checksum of the current firmware image
          :param datetime manifest_timestamp: The timestamp of the current manifest version
          :return: the newly created device object.
          :rtype: Device