text: // Code generated by go-swagger; DO NOT EDIT.
  
  package stage
  
  // This file was generated by the swagger tool.
  // Editing this file might prove futile when you re-run the swagger generate command
  
  import (
  	"net/http"
  
  	"github.com/go-openapi/errors"
  	"github.com/go-openapi/runtime"
  	"github.com/go-openapi/runtime/middleware"
  
  	strfmt "github.com/go-openapi/strfmt"
  
  	models "github.com/keptn/keptn/configuration-service/models"
  )
  
  // NewPutProjectProjectNameStageStageNameParams creates a new PutProjectProjectNameStageStageNameParams object
  // no default values defined in spec.
  func NewPutProjectProjectNameStageStageNameParams() PutProjectProjectNameStageStageNameParams {
  
  	return PutProjectProjectNameStageStageNameParams{}
  }
  
  // PutProjectProjectNameStageStageNameParams contains all the bound params for the put project project name stage stage name operation
  // typically these are obtained from a http.Request
  //
  // swagger:parameters PutProjectProjectNameStageStageName
  type PutProjectProjectNameStageStageNameParams struct {
  
  	// HTTP Request Object
  	HTTPRequest *http.Request `json:"-"`
  
  	/*Name of the project
  	  Required: true
  	  In: path
  	*/
  	ProjectName string
  	/*Stage entity
  	  In: body
  	*/
  	Stage *models.Stage
  	/*Name of the stage
  	  Required: true
  	  In: path
  	*/
  	StageName string
  }
  
  // BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface
  // for simple values it will use straight method calls.
  //
  // To ensure default values, the struct must have been initialized with NewPutProjectProjectNameStageStageNameParams() beforehand.
  func (o *PutProjectProjectNameStageStageNameParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error {
  	var res []error
  
  	o.HTTPRequest = r
  
  	rProjectName, rhkProjectName, _ := route.Params.GetOK("projectName")
  	if err := o.bindProjectName(rProjectName, rhkProjectName, route.Formats); err != nil {
  		res = append(res, err)
  	}
  
  	if runtime.HasBody(r) {
  		defer r.Body.Close()
  		var body models.Stage
  		if err := route.Consumer.Consume(r.Body, &body); err != nil {
  			res = append(res, errors.NewParseError("stage", "body", "", err))
  		} else {
  			// validate body object
  			if err := body.Validate(route.Formats); err != nil {
  				res = append(res, err)
  			}
  
  			if len(res) == 0 {
  				o.Stage = &body
  			}
  		}
  	}
  	rStageName, rhkStageName, _ := route.Params.GetOK("stageName")
  	if err := o.bindStageName(rStageName, rhkStageName, route.Formats); err != nil {
  		res = append(res, err)
  	}
  
  	if len(res) > 0 {
  		return errors.CompositeValidationError(res...)
  	}
  	return nil
  }
  
  // bindProjectName binds and validates parameter ProjectName from path.
  func (o *PutProjectProjectNameStageStageNameParams) bindProjectName(rawData []string, hasKey bool, formats strfmt.Registry) error {
  	var raw string
  	if len(rawData) > 0 {
  		raw = rawData[len(rawData)-1]
  	}
  
  	// Required: true
  	// Parameter is provided by construction from the route
  
  	o.ProjectName = raw
  
  	return nil
  }
  
  // bindStageName binds and validates parameter StageName from path.
  func (o *PutProjectProjectNameStageStageNameParams) bindStageName(rawData []string, hasKey bool, formats strfmt.Registry) error {
  	var raw string
  	if len(rawData) > 0 {
  		raw = rawData[len(rawData)-1]
  	}
  
  	// Required: true
  	// Parameter is provided by construction from the route
  
  	o.StageName = raw
  
  	return nil
  }
  