func (loc *SchedulerLocator) ScheduleRecipe(options rsapi.APIParams) error {
	var params rsapi.APIParams
	var p rsapi.APIParams
	p = rsapi.APIParams{}
	var argumentsOpt = options["arguments"]
	if argumentsOpt != nil {
		p["arguments"] = argumentsOpt
	}
	var auditIdOpt = options["audit_id"]
	if auditIdOpt != nil {
		p["audit_id"] = auditIdOpt
	}
	var auditPeriodOpt = options["audit_period"]
	if auditPeriodOpt != nil {
		p["audit_period"] = auditPeriodOpt
	}
	var formalValuesOpt = options["formal_values"]
	if formalValuesOpt != nil {
		p["formal_values"] = formalValuesOpt
	}
	var policyOpt = options["policy"]
	if policyOpt != nil {
		p["policy"] = policyOpt
	}
	var recipeOpt = options["recipe"]
	if recipeOpt != nil {
		p["recipe"] = recipeOpt
	}
	var recipeIdOpt = options["recipe_id"]
	if recipeIdOpt != nil {
		p["recipe_id"] = recipeIdOpt
	}
	var threadOpt = options["thread"]
	if threadOpt != nil {
		p["thread"] = threadOpt
	}
	uri, err := loc.ActionPath("Scheduler", "schedule_recipe")
	if err != nil {
		return err
	}
	req, err := loc.api.BuildHTTPRequest(uri.HTTPMethod, uri.Path, APIVersion, params, p)
	if err != nil {
		return err
	}
	resp, err := loc.api.PerformRequest(req)
	if err != nil {
		return err
	}
	defer resp.Body.Close()
	if resp.StatusCode < 200 || resp.StatusCode > 299 {
		respBody, _ := ioutil.ReadAll(resp.Body)
		sr := string(respBody)
		if sr != "" {
			sr = ": " + sr
		}
		return fmt.Errorf("invalid response %s%s", resp.Status, sr)
	}
	return nil
}
func (loc *SchedulerLocator) ScheduleRecipe(options rsapi.APIParams) error {
	var params rsapi.APIParams
	var p rsapi.APIParams
	p = rsapi.APIParams{}
	var argumentsOpt = options["arguments"]
	if argumentsOpt != nil {
		p["arguments"] = argumentsOpt
	}
	var auditIdOpt = options["audit_id"]
	if auditIdOpt != nil {
		p["audit_id"] = auditIdOpt
	}
	var auditPeriodOpt = options["audit_period"]
	if auditPeriodOpt != nil {
		p["audit_period"] = auditPeriodOpt
	}
	var formalValuesOpt = options["formal_values"]
	if formalValuesOpt != nil {
		p["formal_values"] = formalValuesOpt
	}
	var policyOpt = options["policy"]
	if policyOpt != nil {
		p["policy"] = policyOpt
	}
	var recipeOpt = options["recipe"]
	if recipeOpt != nil {
		p["recipe"] = recipeOpt
	}
	var recipeIdOpt = options["recipe_id"]
	if recipeIdOpt != nil {
		p["recipe_id"] = recipeIdOpt
	}
	var threadOpt = options["thread"]
	if threadOpt != nil {
		p["thread"] = threadOpt
	}
	uri, err := loc.ActionPath("Scheduler", "schedule_recipe")
	if err != nil {
		return err
	}
	req, err := loc.api.BuildHTTPRequest(uri.HTTPMethod, uri.Path, APIVersion, params, p)
	if err != nil {
		return err
	}
	resp, err := loc.api.PerformRequest(req)
	if err != nil {
		return err
	}
	defer resp.Body.Close()
	if resp.StatusCode < 200 || resp.StatusCode > 299 {
		respBody, _ := ioutil.ReadAll(resp.Body)
		sr := string(respBody)
		if sr != "" {
			sr = ": " + sr
		}
		return fmt.Errorf("invalid response %s%s", resp.Status, sr)
	}
	return nil
}
//===== Actions
// POST /api/right_net/scheduler/schedule_recipe
//
// Schedules a chef recipe for execution on the current instance
// Optional parameters:
// arguments: Serialized recipe execution arguments values keyed by name
// audit_id: Optional, reuse audit if specified
// audit_period: RunlistPolicy audit period
// formal_values: Formal input parameter values
// policy: RunlistPolicy policy name
// recipe: Chef recipe name, overridden by recipe_id
// recipe_id: ServerTemplateChefRecipe ID
// thread: RunlistPolicy thread name