returns True for success or False for failure
        '/v2/recipe/create/<string:kitchenname>/<string:recipename>', methods=['PUT']
        :param self: DKCloudAPI
        :param kitchen: basestring
        :param recipe: basestring  -- kitchen name, basestring
        :param message: basestring message -- commit message, basestring
        :param api_file_key:  -- file name and path to the file name, relative to the recipe root
        :param file_contents: -- character string of the recipe file to update

        :rtype: boolean

def add_file(self, kitchen, recipe, message, api_file_key, file_contents):
        """
        returns True for success or False for failure
        '/v2/recipe/create/<string:kitchenname>/<string:recipename>', methods=['PUT']
        :param self: DKCloudAPI
        :param kitchen: basestring
        :param recipe: basestring  -- kitchen name, basestring
        :param message: basestring message -- commit message, basestring
        :param api_file_key:  -- file name and path to the file name, relative to the recipe root
        :param file_contents: -- character string of the recipe file to update

        :rtype: boolean
        """
        rc = DKReturnCode()
        if kitchen is None or isinstance(kitchen, basestring) is False:
            rc.set(rc.DK_FAIL, 'issue with kitchen parameter')
            return rc
        if recipe is None or isinstance(recipe, basestring) is False:
            rc.set(rc.DK_FAIL, 'issue with recipe parameter')
            return rc
        if api_file_key is None or isinstance(api_file_key, basestring) is False:
            rc.set(rc.DK_FAIL, 'issue with api_file_key parameter')
            return rc
        if file_contents is None or isinstance(file_contents, basestring) is False:
            rc.set(rc.DK_FAIL, 'issue with file_contents parameter')
            return rc
        pdict = dict()
        pdict[self.MESSAGE] = message
        pdict[self.FILEPATH] = api_file_key
        pdict[self.FILE] = file_contents
        url = '%s/v2/recipe/create/%s/%s' % (self.get_url_for_direct_rest_call(), kitchen, recipe)
        try:
            response = requests.put(url, data=json.dumps(pdict), headers=self._get_common_headers())
            rdict = self._get_json(response)
            pass
        except (RequestException, ValueError, TypeError), c:
            s = "add_file: exception: %s" % str(c)
            rc.set(rc.DK_FAIL, s)
            return rc
        if DKCloudAPI._valid_response(response):
            rc.set(rc.DK_SUCCESS, None)
        else:
            arc = DKAPIReturnCode(rdict, response)
            rc.set(rc.DK_FAIL, arc.get_message())
        return rc