text: # -*- coding: utf-8 -*-
  
  """
  plastiqpublicapi
  
  This file was automatically generated by APIMATIC v3.0 (
   https://www.apimatic.io ).
  """
  from plastiqpublicapi.models.metadata import Metadata
  
  
  class DocumentUpload(object):
  
      """Implementation of the 'DocumentUpload' model.
  
      TODO: type model description here.
  
      Attributes:
          upload_url (string): TODO: type description here.
          metadata (Metadata): TODO: type description here.
  
      """
  
      # Create a mapping from Model property names to API property names
      _names = {
          "upload_url": 'uploadURL',
          "metadata": 'metadata'
      }
  
      def __init__(self,
                   upload_url=None,
                   metadata=None):
          """Constructor for the DocumentUpload class"""
  
          # Initialize members of the class
          self.upload_url = upload_url
          self.metadata = metadata
  
      @classmethod
      def from_dictionary(cls,
                          dictionary):
          """Creates an instance of this model from a dictionary
  
          Args:
              dictionary (dictionary): A dictionary representation of the object
              as obtained from the deserialization of the server's response. The
              keys MUST match property names in the API description.
  
          Returns:
              object: An instance of this structure class.
  
          """
          if dictionary is None:
              return None
  
          # Extract variables from the dictionary
          upload_url = dictionary.get('uploadURL')
          metadata = Metadata.from_dictionary(dictionary.get('metadata')) if dictionary.get('metadata') else None
  
          # Return an object of this model
          return cls(upload_url,
                     metadata)
  