// Code generated by go-swagger; DO NOT EDIT.

package types

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"encoding/json"

	"github.com/go-openapi/errors"
	strfmt "github.com/go-openapi/strfmt"
	"github.com/go-openapi/validate"
)

// Status The status of the container. For example, "running" or "exited".
// swagger:model Status
type Status string

const (

	// StatusCreated captures enum value "created"
	StatusCreated Status = "created"

	// StatusRunning captures enum value "running"
	StatusRunning Status = "running"

	// StatusStopped captures enum value "stopped"
	StatusStopped Status = "stopped"

	// StatusPaused captures enum value "paused"
	StatusPaused Status = "paused"

	// StatusRestarting captures enum value "restarting"
	StatusRestarting Status = "restarting"

	// StatusRemoving captures enum value "removing"
	StatusRemoving Status = "removing"

	// StatusExited captures enum value "exited"
	StatusExited Status = "exited"

	// StatusDead captures enum value "dead"
	StatusDead Status = "dead"
)

// for schema
var statusEnum []interface{}

func init() {
	var res []Status
	if err := json.Unmarshal([]byte(`["created","running","stopped","paused","restarting","removing","exited","dead"]`), &res); err != nil {
		panic(err)
	}
	for _, v := range res {
		statusEnum = append(statusEnum, v)
	}
}

func (m Status) validateStatusEnum(path, location string, value Status) error {
	if err := validate.Enum(path, location, value, statusEnum); err != nil {
		return err
	}
	return nil
}

// Validate validates this status
func (m Status) Validate(formats strfmt.Registry) error {
	var res []error

	// value enum
	if err := m.validateStatusEnum("", "body", m); err != nil {
		return err
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}
