code: def create(self, resource, uri=None, timeout=-1, custom_headers=None, default_values={}):
          
          if not resource:
              logger.exception(RESOURCE_CLIENT_RESOURCE_WAS_NOT_PROVIDED)
              raise ValueError(RESOURCE_CLIENT_RESOURCE_WAS_NOT_PROVIDED)
  
          if not uri:
              uri = self._uri
  
          logger.debug('Create (uri = %s, resource = %s)' %
                       (uri, str(resource)))
  
          resource = self.merge_default_values(resource, default_values)
  
          return self.__do_post(uri, resource, timeout, custom_headers)
docs: Makes a POST request to create a resource when a request body is required.
  
          Args:
              resource:
                  OneView resource dictionary.
              uri:
                  Can be either the resource ID or the resource URI.
              timeout:
                  Timeout in seconds. Wait for task completion by default. The timeout does not abort the operation
                  in OneView; it just stops waiting for its completion.
              custom_headers:
                  Allows set specific HTTP headers.
              default_values:
                  Dictionary with default values grouped by OneView API version. This dictionary will be be merged with
                  the resource dictionary only if the dictionary does not contain the keys.
                  This argument is optional and the default value is an empty dictionary.
                  Ex.:
                      default_values = {
                          '200': {"type": "logical-switch-group"},
                          '300': {"type": "logical-switch-groupV300"}
                      }
  
          Returns:
              Created resource.