package {{ .Package }} // import "github.com/docker/docker/api/types/{{ .Package }}"

// ----------------------------------------------------------------------------
// DO NOT EDIT THIS FILE
// This file was generated by `swagger generate operation`
//
// See hack/generate-swagger-api.sh
// ----------------------------------------------------------------------------

import (
	"context"
	"net/http"
  {{ range .DefaultImports }}{{ printf "%q" . }}
  {{ end }}
  {{ range $key, $value := .Imports }}{{ $key }} {{ printf "%q" $value }}
  {{ end }}
)


{{ range .ExtraSchemas }}
// {{ .Name }} {{ comment .Description }}
// swagger:model {{ .Name }}
{{ template "schema" . }}
{{ end }}
