# A Swagger 2.0 (a.k.a. OpenAPI) definition of the Engine API.
#
# This is used for generating API documentation and the types used by the
# client/server. See api/README.md for more information.
#
# Some style notes:
# - This file is used by ReDoc, which allows GitHub Flavored Markdown in
#   descriptions.
# - There is no maximum line length, for ease of editing and pretty diffs.
# - operationIds are in the format "NounVerb", with a singular noun.

swagger: "2.0"
schemes:
  - "http"
  - "https"
produces:
  - "application/json"
  - "text/plain"
consumes:
  - "application/json"
  - "text/plain"
basePath: "/v1.39"
info:
  title: "Docker Engine API"
  version: "1.39"
  x-logo:
    url: "https://docs.docker.com/images/logo-docker-main.png"
  description: |
    The Engine API is an HTTP API served by Docker Engine. It is the API the Docker client uses to communicate with the Engine, so everything the Docker client can do can be done with the API.

    Most of the client's commands map directly to API endpoints (e.g. `docker ps` is `GET /containers/json`). The notable exception is running containers, which consists of several API calls.

    # Errors

    The API uses standard HTTP status codes to indicate the success or failure of the API call. The body of the response will be JSON in the following format:

    ```
    {
      "message": "page not found"
    }
    ```

    # Versioning

    The API is usually changed in each release, so API calls are versioned to
    ensure that clients don't break. To lock to a specific version of the API,
    you prefix the URL with its version, for example, call `/v1.30/info` to use
    the v1.30 version of the `/info` endpoint. If the API version specified in
    the URL is not supported by the daemon, a HTTP `400 Bad Request` error message
    is returned.

    If you omit the version-prefix, the current version of the API (v1.39) is used.
    For example, calling `/info` is the same as calling `/v1.39/info`. Using the
    API without a version-prefix is deprecated and will be removed in a future release.

    Engine releases in the near future should support this version of the API,
    so your client will continue to work even if it is talking to a newer Engine.

    The API uses an open schema model, which means server may add extra properties
    to responses. Likewise, the server will ignore any extra query parameters and
    request body properties. When you write clients, you need to ignore additional
    properties in responses to ensure they do not break when talking to newer
    daemons.


    # Authentication

    Authentication for registries is handled client side. The client has to send authentication details to various endpoints that need to communicate with registries, such as `POST /images/(name)/push`. These are sent as `X-Registry-Auth` header as a Base64 encoded (JSON) string with the following structure:

    ```
    {
      "username": "string",
      "password": "string",
      "email": "string",
      "serveraddress": "string"
    }
    ```

    The `serveraddress` is a domain/IP without a protocol. Throughout this structure, double quotes are required.

    If you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth), you can just pass this instead of credentials:

    ```
    {
      "identitytoken": "9cbaf023786cd7..."
    }
    ```

# The tags on paths define the menu sections in the ReDoc documentation, so
# the usage of tags must make sense for that:
# - They should be singular, not plural.
# - There should not be too many tags, or the menu becomes unwieldy. For
#   example, it is preferable to add a path to the "System" tag instead of
#   creating a tag with a single path in it.
# - The order of tags in this list defines the order in the menu.
tags:
  # Primary objects
  - name: "Container"
    x-displayName: "Containers"
    description: |
      Create and manage containers.
  - name: "Image"
    x-displayName: "Images"
  - name: "Network"
    x-displayName: "Networks"
    description: |
      Networks are user-defined networks that containers can be attached to. See the [networking documentation](https://docs.docker.com/engine/userguide/networking/) for more information.
  - name: "Volume"
    x-displayName: "Volumes"
    description: |
      Create and manage persistent storage that can be attached to containers.
  - name: "Exec"
    x-displayName: "Exec"
    description: |
      Run new commands inside running containers. See the [command-line reference](https://docs.docker.com/engine/reference/commandline/exec/) for more information.

      To exec a command in a container, you first need to create an exec instance, then start it. These two API endpoints are wrapped up in a single command-line command, `docker exec`.
  # Swarm things
  - name: "Swarm"
    x-displayName: "Swarm"
    description: |
      Engines can be clustered together in a swarm. See [the swarm mode documentation](https://docs.docker.com/engine/swarm/) for more information.
  - name: "Node"
    x-displayName: "Nodes"
    description: |
      Nodes are instances of the Engine participating in a swarm. Swarm mode must be enabled for these endpoints to work.
  - name: "Service"
    x-displayName: "Services"
    description: |
      Services are the definitions of tasks to run on a swarm. Swarm mode must be enabled for these endpoints to work.
  - name: "Task"
    x-displayName: "Tasks"
    description: |
      A task is a container running on a swarm. It is the atomic scheduling unit of swarm. Swarm mode must be enabled for these endpoints to work.
  - name: "Secret"
    x-displayName: "Secrets"
    description: |
      Secrets are sensitive data that can be used by services. Swarm mode must be enabled for these endpoints to work.
  - name: "Config"
    x-displayName: "Configs"
    description: |
      Configs are application configurations that can be used by services. Swarm mode must be enabled for these endpoints to work.
  # System things
  - name: "Plugin"
    x-displayName: "Plugins"
  - name: "System"
    x-displayName: "System"

definitions:
  Port:
    type: "object"
    description: "An open port on a container"
    required: [PrivatePort, Type]
    properties:
      IP:
        type: "string"
        format: "ip-address"
        description: "Host IP address that the container's port is mapped to"
      PrivatePort:
        type: "integer"
        format: "uint16"
        x-nullable: false
        description: "Port on the container"
      PublicPort:
        type: "integer"
        format: "uint16"
        description: "Port exposed on the host"
      Type:
        type: "string"
        x-nullable: false
        enum: ["tcp", "udp", "sctp"]
    example:
      PrivatePort: 8080
      PublicPort: 80
      Type: "tcp"

  MountPoint:
    type: "object"
    description: "A mount point inside a container"
    properties:
      Type:
        type: "string"
      Name:
        type: "string"
      Source:
        type: "string"
      Destination:
        type: "string"
      Driver:
        type: "string"
      Mode:
        type: "string"
      RW:
        type: "boolean"
      Propagation:
        type: "string"

  DeviceMapping:
    type: "object"
    description: "A device mapping between the host and container"
    properties:
      PathOnHost:
        type: "string"
      PathInContainer:
        type: "string"
      CgroupPermissions:
        type: "string"
    example:
      PathOnHost: "/dev/deviceName"
      PathInContainer: "/dev/deviceName"
      CgroupPermissions: "mrw"

  ThrottleDevice:
    type: "object"
    properties:
      Path:
        description: "Device path"
        type: "string"
      Rate:
        description: "Rate"
        type: "integer"
        format: "int64"
        minimum: 0

  Mount:
    type: "object"
    properties:
      Target:
        description: "Container path."
        type: "string"
      Source:
        description: "Mount source (e.g. a volume name, a host path)."
        type: "string"
      Type:
        description: |
          The mount type. Available types:

          - `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container.
          - `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed.
          - `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs.
        type: "string"
        enum:
          - "bind"
          - "volume"
          - "tmpfs"
      ReadOnly:
        description: "Whether the mount should be read-only."
        type: "boolean"
      Consistency:
        description: "The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`."
        type: "string"
      BindOptions:
        description: "Optional configuration for the `bind` type."
        type: "object"
        properties:
          Propagation:
            description: "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`."
            type: "string"
            enum:
              - "private"
              - "rprivate"
              - "shared"
              - "rshared"
              - "slave"
              - "rslave"
      VolumeOptions:
        description: "Optional configuration for the `volume` type."
        type: "object"
        properties:
          NoCopy:
            description: "Populate volume with data from the target."
            type: "boolean"
            default: false
          Labels:
            description: "User-defined key/value metadata."
            type: "object"
            additionalProperties:
              type: "string"
          DriverConfig:
            description: "Map of driver specific options"
            type: "object"
            properties:
              Name:
                description: "Name of the driver to use to create the volume."
                type: "string"
              Options:
                description: "key/value map of driver specific options."
                type: "object"
                additionalProperties:
                  type: "string"
      TmpfsOptions:
        description: "Optional configuration for the `tmpfs` type."
        type: "object"
        properties:
          SizeBytes:
            description: "The size for the tmpfs mount in bytes."
            type: "integer"
            format: "int64"
          Mode:
            description: "The permission mode for the tmpfs mount in an integer."
            type: "integer"

  RestartPolicy:
    description: |
      The behavior to apply when the container exits. The default is not to restart.

      An ever increasing delay (double the previous delay, starting at 100ms) is added before each restart to prevent flooding the server.
    type: "object"
    properties:
      Name:
        type: "string"
        description: |
          - Empty string means not to restart
          - `always` Always restart
          - `unless-stopped` Restart always except when the user has manually stopped the container
          - `on-failure` Restart only when the container exit code is non-zero
        enum:
          - ""
          - "always"
          - "unless-stopped"
          - "on-failure"
      MaximumRetryCount:
        type: "integer"
        description: "If `on-failure` is used, the number of times to retry before giving up"

  Resources:
    description: "A container's resources (cgroups config, ulimits, etc)"
    type: "object"
    properties:
      # Applicable to all platforms
      CpuShares:
        description: "An integer value representing this container's relative CPU weight versus other containers."
        type: "integer"
      Memory:
        description: "Memory limit in bytes."
        type: "integer"
        format: "int64"
        default: 0
      # Applicable to UNIX platforms
      CgroupParent:
        description: "Path to `cgroups` under which the container's `cgroup` is created. If the path is not absolute, the path is considered to be relative to the `cgroups` path of the init process. Cgroups are created if they do not already exist."
        type: "string"
      BlkioWeight:
        description: "Block IO weight (relative weight)."
        type: "integer"
        minimum: 0
        maximum: 1000
      BlkioWeightDevice:
        description: |
          Block IO weight (relative device weight) in the form `[{"Path": "device_path", "Weight": weight}]`.
        type: "array"
        items:
          type: "object"
          properties:
            Path:
              type: "string"
            Weight:
              type: "integer"
              minimum: 0
      BlkioDeviceReadBps:
        description: |
          Limit read rate (bytes per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
        type: "array"
        items:
          $ref: "#/definitions/ThrottleDevice"
      BlkioDeviceWriteBps:
        description: |
          Limit write rate (bytes per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
        type: "array"
        items:
          $ref: "#/definitions/ThrottleDevice"
      BlkioDeviceReadIOps:
        description: |
          Limit read rate (IO per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
        type: "array"
        items:
          $ref: "#/definitions/ThrottleDevice"
      BlkioDeviceWriteIOps:
        description: |
          Limit write rate (IO per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
        type: "array"
        items:
          $ref: "#/definitions/ThrottleDevice"
      CpuPeriod:
        description: "The length of a CPU period in microseconds."
        type: "integer"
        format: "int64"
      CpuQuota:
        description: "Microseconds of CPU time that the container can get in a CPU period."
        type: "integer"
        format: "int64"
      CpuRealtimePeriod:
        description: "The length of a CPU real-time period in microseconds. Set to 0 to allocate no time allocated to real-time tasks."
        type: "integer"
        format: "int64"
      CpuRealtimeRuntime:
        description: "The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no time allocated to real-time tasks."
        type: "integer"
        format: "int64"
      CpusetCpus:
        description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)"
        type: "string"
        example: "0-3"
      CpusetMems:
        description: "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems."
        type: "string"
      Devices:
        description: "A list of devices to add to the container."
        type: "array"
        items:
          $ref: "#/definitions/DeviceMapping"
      DeviceCgroupRules:
        description: "a list of cgroup rules to apply to the container"
        type: "array"
        items:
          type: "string"
          example: "c 13:* rwm"
      DiskQuota:
        description: "Disk limit (in bytes)."
        type: "integer"
        format: "int64"
      KernelMemory:
        description: "Kernel memory limit in bytes."
        type: "integer"
        format: "int64"
      MemoryReservation:
        description: "Memory soft limit in bytes."
        type: "integer"
        format: "int64"
      MemorySwap:
        description: "Total memory limit (memory + swap). Set as `-1` to enable unlimited swap."
        type: "integer"
        format: "int64"
      MemorySwappiness:
        description: "Tune a container's memory swappiness behavior. Accepts an integer between 0 and 100."
        type: "integer"
        format: "int64"
        minimum: 0
        maximum: 100
      NanoCPUs:
        description: "CPU quota in units of 10<sup>-9</sup> CPUs."
        type: "integer"
        format: "int64"
      OomKillDisable:
        description: "Disable OOM Killer for the container."
        type: "boolean"
      Init:
        description: "Run an init inside the container that forwards signals and reaps processes. This field is omitted if empty, and the default (as configured on the daemon) is used."
        type: "boolean"
        x-nullable: true
      PidsLimit:
        description: "Tune a container's pids limit. Set -1 for unlimited."
        type: "integer"
        format: "int64"
      Ulimits:
        description: |
          A list of resource limits to set in the container. For example: `{"Name": "nofile", "Soft": 1024, "Hard": 2048}`"
        type: "array"
        items:
          type: "object"
          properties:
            Name:
              description: "Name of ulimit"
              type: "string"
            Soft:
              description: "Soft limit"
              type: "integer"
            Hard:
              description: "Hard limit"
              type: "integer"
      # Applicable to Windows
      CpuCount:
        description: |
          The number of usable CPUs (Windows only).

          On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last.
        type: "integer"
        format: "int64"
      CpuPercent:
        description: |
          The usable percentage of the available CPUs (Windows only).

          On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last.
        type: "integer"
        format: "int64"
      IOMaximumIOps:
        description: "Maximum IOps for the container system drive (Windows only)"
        type: "integer"
        format: "int64"
      IOMaximumBandwidth:
        description: "Maximum IO in bytes per second for the container system drive (Windows only)"
        type: "integer"
        format: "int64"

  ResourceObject:
    description: "An object describing the resources which can be advertised by a node and requested by a task"
    type: "object"
    properties:
      NanoCPUs:
        type: "integer"
        format: "int64"
        example: 4000000000
      MemoryBytes:
        type: "integer"
        format: "int64"
        example: 8272408576
      GenericResources:
        $ref: "#/definitions/GenericResources"

  GenericResources:
    description: "User-defined resources can be either Integer resources (e.g, `SSD=3`) or String resources (e.g, `GPU=UUID1`)"
    type: "array"
    items:
      type: "object"
      properties:
        NamedResourceSpec:
          type: "object"
          properties:
            Kind:
              type: "string"
            Value:
              type: "string"
        DiscreteResourceSpec:
          type: "object"
          properties:
            Kind:
              type: "string"
            Value:
              type: "integer"
              format: "int64"
    example:
      - DiscreteResourceSpec:
          Kind: "SSD"
          Value: 3
      - NamedResourceSpec:
          Kind: "GPU"
          Value: "UUID1"
      - NamedResourceSpec:
          Kind: "GPU"
          Value: "UUID2"

  HealthConfig:
    description: "A test to perform to check that the container is healthy."
    type: "object"
    properties:
      Test:
        description: |
          The test to perform. Possible values are:

          - `[]` inherit healthcheck from image or parent image
          - `["NONE"]` disable healthcheck
          - `["CMD", args...]` exec arguments directly
          - `["CMD-SHELL", command]` run command with system's default shell
        type: "array"
        items:
          type: "string"
      Interval:
        description: "The time to wait between checks in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit."
        type: "integer"
      Timeout:
        description: "The time to wait before considering the check to have hung. It should be 0 or at least 1000000 (1 ms). 0 means inherit."
        type: "integer"
      Retries:
        description: "The number of consecutive failures needed to consider a container as unhealthy. 0 means inherit."
        type: "integer"
      StartPeriod:
        description: "Start period for the container to initialize before starting health-retries countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit."
        type: "integer"

  HostConfig:
    description: "Container configuration that depends on the host we are running on"
    allOf:
      - $ref: "#/definitions/Resources"
      - type: "object"
        properties:
          # Applicable to all platforms
          Binds:
            type: "array"
            description: |
              A list of volume bindings for this container. Each volume binding is a string in one of these forms:

              - `host-src:container-dest` to bind-mount a host path into the container. Both `host-src`, and `container-dest` must be an _absolute_ path.
              - `host-src:container-dest:ro` to make the bind mount read-only inside the container. Both `host-src`, and `container-dest` must be an _absolute_ path.
              - `volume-name:container-dest` to bind-mount a volume managed by a volume driver into the container. `container-dest` must be an _absolute_ path.
              - `volume-name:container-dest:ro` to mount the volume read-only inside the container.  `container-dest` must be an _absolute_ path.
            items:
              type: "string"
          ContainerIDFile:
            type: "string"
            description: "Path to a file where the container ID is written"
          LogConfig:
            type: "object"
            description: "The logging configuration for this container"
            properties:
              Type:
                type: "string"
                enum:
                  - "json-file"
                  - "syslog"
                  - "journald"
                  - "gelf"
                  - "fluentd"
                  - "awslogs"
                  - "splunk"
                  - "etwlogs"
                  - "none"
              Config:
                type: "object"
                additionalProperties:
                  type: "string"
          NetworkMode:
            type: "string"
            description: "Network mode to use for this container. Supported standard values are: `bridge`, `host`, `none`, and `container:<name|id>`. Any other value is taken
              as a custom network's name to which this container should connect to."
          PortBindings:
            $ref: "#/definitions/PortMap"
          RestartPolicy:
            $ref: "#/definitions/RestartPolicy"
          AutoRemove:
            type: "boolean"
            description: "Automatically remove the container when the container's process exits. This has no effect if `RestartPolicy` is set."
          VolumeDriver:
            type: "string"
            description: "Driver that this container uses to mount volumes."
          VolumesFrom:
            type: "array"
            description: "A list of volumes to inherit from another container, specified in the form `<container name>[:<ro|rw>]`."
            items:
              type: "string"
          Mounts:
            description: "Specification for mounts to be added to the container."
            type: "array"
            items:
              $ref: "#/definitions/Mount"

          # Applicable to UNIX platforms
          CapAdd:
            type: "array"
            description: "A list of kernel capabilities to add to the container."
            items:
              type: "string"
          CapDrop:
            type: "array"
            description: "A list of kernel capabilities to drop from the container."
            items:
              type: "string"
          Dns:
            type: "array"
            description: "A list of DNS servers for the container to use."
            items:
              type: "string"
          DnsOptions:
            type: "array"
            description: "A list of DNS options."
            items:
              type: "string"
          DnsSearch:
            type: "array"
            description: "A list of DNS search domains."
            items:
              type: "string"
          ExtraHosts:
            type: "array"
            description: |
              A list of hostnames/IP mappings to add to the container's `/etc/hosts` file. Specified in the form `["hostname:IP"]`.
            items:
              type: "string"
          GroupAdd:
            type: "array"
            description: "A list of additional groups that the container process will run as."
            items:
              type: "string"
          IpcMode:
            type: "string"
            description: |
                    IPC sharing mode for the container. Possible values are:

                    - `"none"`: own private IPC namespace, with /dev/shm not mounted
                    - `"private"`: own private IPC namespace
                    - `"shareable"`: own private IPC namespace, with a possibility to share it with other containers
                    - `"container:<name|id>"`: join another (shareable) container's IPC namespace
                    - `"host"`: use the host system's IPC namespace

                    If not specified, daemon default is used, which can either be `"private"`
                    or `"shareable"`, depending on daemon version and configuration.
          Cgroup:
            type: "string"
            description: "Cgroup to use for the container."
          Links:
            type: "array"
            description: "A list of links for the container in the form `container_name:alias`."
            items:
              type: "string"
          OomScoreAdj:
            type: "integer"
            description: "An integer value containing the score given to the container in order to tune OOM killer preferences."
            example: 500
          PidMode:
            type: "string"
            description: |
              Set the PID (Process) Namespace mode for the container. It can be either:

              - `"container:<name|id>"`: joins another container's PID namespace
              - `"host"`: use the host's PID namespace inside the container
          Privileged:
            type: "boolean"
            description: "Gives the container full access to the host."
          PublishAllPorts:
            type: "boolean"
            description: |
              Allocates an ephemeral host port for all of a container's
              exposed ports.

              Ports are de-allocated when the container stops and allocated when the container starts.
              The allocated port might be changed when restarting the container.

              The port is selected from the ephemeral port range that depends on the kernel.
              For example, on Linux the range is defined by `/proc/sys/net/ipv4/ip_local_port_range`.
          ReadonlyRootfs:
            type: "boolean"
            description: "Mount the container's root filesystem as read only."
          SecurityOpt:
            type: "array"
            description: "A list of string values to customize labels for MLS
            systems, such as SELinux."
            items:
              type: "string"
          StorageOpt:
            type: "object"
            description: |
              Storage driver options for this container, in the form `{"size": "120G"}`.
            additionalProperties:
              type: "string"
          Tmpfs:
            type: "object"
            description: |
              A map of container directories which should be replaced by tmpfs mounts, and their corresponding mount options. For example: `{ "/run": "rw,noexec,nosuid,size=65536k" }`.
            additionalProperties:
              type: "string"
          UTSMode:
            type: "string"
            description: "UTS namespace to use for the container."
          UsernsMode:
            type: "string"
            description: "Sets the usernamespace mode for the container when usernamespace remapping option is enabled."
          ShmSize:
            type: "integer"
            description: "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB."
            minimum: 0
          Sysctls:
            type: "object"
            description: |
              A list of kernel parameters (sysctls) to set in the container. For example: `{"net.ipv4.ip_forward": "1"}`
            additionalProperties:
              type: "string"
          Runtime:
            type: "string"
            description: "Runtime to use with this container."
          # Applicable to Windows
          ConsoleSize:
            type: "array"
            description: "Initial console size, as an `[height, width]` array. (Windows only)"
            minItems: 2
            maxItems: 2
            items:
              type: "integer"
              minimum: 0
          Isolation:
            type: "string"
            description: "Isolation technology of the container. (Windows only)"
            enum:
              - "default"
              - "process"
              - "hyperv"
          MaskedPaths:
            type: "array"
            description: "The list of paths to be masked inside the container (this overrides the default set of paths)"
            items:
              type: "string"
          ReadonlyPaths:
            type: "array"
            description: "The list of paths to be set as read-only inside the container (this overrides the default set of paths)"
            items:
              type: "string"

  ContainerConfig:
    description: "Configuration for a container that is portable between hosts"
    type: "object"
    properties:
      Hostname:
        description: "The hostname to use for the container, as a valid RFC 1123 hostname."
        type: "string"
      Domainname:
        description: "The domain name to use for the container."
        type: "string"
      User:
        description: "The user that commands are run as inside the container."
        type: "string"
      AttachStdin:
        description: "Whether to attach to `stdin`."
        type: "boolean"
        default: false
      AttachStdout:
        description: "Whether to attach to `stdout`."
        type: "boolean"
        default: true
      AttachStderr:
        description: "Whether to attach to `stderr`."
        type: "boolean"
        default: true
      ExposedPorts:
        description: |
          An object mapping ports to an empty object in the form:

          `{"<port>/<tcp|udp|sctp>": {}}`
        type: "object"
        additionalProperties:
          type: "object"
          enum:
            - {}
          default: {}
      Tty:
        description: "Attach standard streams to a TTY, including `stdin` if it is not closed."
        type: "boolean"
        default: false
      OpenStdin:
        description: "Open `stdin`"
        type: "boolean"
        default: false
      StdinOnce:
        description: "Close `stdin` after one attached client disconnects"
        type: "boolean"
        default: false
      Env:
        description: |
          A list of environment variables to set inside the container in the form `["VAR=value", ...]`. A variable without `=` is removed from the environment, rather than to have an empty value.
        type: "array"
        items:
          type: "string"
      Cmd:
        description: "Command to run specified as a string or an array of strings."
        type: "array"
        items:
          type: "string"
      Healthcheck:
        $ref: "#/definitions/HealthConfig"
      ArgsEscaped:
        description: "Command is already escaped (Windows only)"
        type: "boolean"
      Image:
        description: "The name of the image to use when creating the container"
        type: "string"
      Volumes:
        description: "An object mapping mount point paths inside the container to empty objects."
        type: "object"
        additionalProperties:
          type: "object"
          enum:
            - {}
          default: {}
      WorkingDir:
        description: "The working directory for commands to run in."
        type: "string"
      Entrypoint:
        description: |
          The entry point for the container as a string or an array of strings.

          If the array consists of exactly one empty string (`[""]`) then the entry point is reset to system default (i.e., the entry point used by docker when there is no `ENTRYPOINT` instruction in the `Dockerfile`).
        type: "array"
        items:
          type: "string"
      NetworkDisabled:
        description: "Disable networking for the container."
        type: "boolean"
      MacAddress:
        description: "MAC address of the container."
        type: "string"
      OnBuild:
        description: "`ONBUILD` metadata that were defined in the image's `Dockerfile`."
        type: "array"
        items:
          type: "string"
      Labels:
        description: "User-defined key/value metadata."
        type: "object"
        additionalProperties:
          type: "string"
      StopSignal:
        description: "Signal to stop a container as a string or unsigned integer."
        type: "string"
        default: "SIGTERM"
      StopTimeout:
        description: "Timeout to stop a container in seconds."
        type: "integer"
        default: 10
      Shell:
        description: "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell."
        type: "array"
        items:
          type: "string"

  NetworkSettings:
    description: "NetworkSettings exposes the network settings in the API"
    type: "object"
    properties:
      Bridge:
        description: Name of the network'a bridge (for example, `docker0`).
        type: "string"
        example: "docker0"
      SandboxID:
        description: SandboxID uniquely represents a container's network stack.
        type: "string"
        example: "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3"
      HairpinMode:
        description: |
          Indicates if hairpin NAT should be enabled on the virtual interface.
        type: "boolean"
        example: false
      LinkLocalIPv6Address:
        description: IPv6 unicast address using the link-local prefix.
        type: "string"
        example: "fe80::42:acff:fe11:1"
      LinkLocalIPv6PrefixLen:
        description: Prefix length of the IPv6 unicast address.
        type: "integer"
        example: "64"
      Ports:
        $ref: "#/definitions/PortMap"
      SandboxKey:
        description: SandboxKey identifies the sandbox
        type: "string"
        example: "/var/run/docker/netns/8ab54b426c38"

      # TODO is SecondaryIPAddresses actually used?
      SecondaryIPAddresses:
        description: ""
        type: "array"
        items:
          $ref: "#/definitions/Address"
        x-nullable: true

      # TODO is SecondaryIPv6Addresses actually used?
      SecondaryIPv6Addresses:
        description: ""
        type: "array"
        items:
          $ref: "#/definitions/Address"
        x-nullable: true

      # TODO properties below are part of DefaultNetworkSettings, which is
      # marked as deprecated since Docker 1.9 and to be removed in Docker v17.12
      EndpointID:
        description: |
          EndpointID uniquely represents a service endpoint in a Sandbox.

          <p><br /></p>

          > **Deprecated**: This field is only propagated when attached to the
          > default "bridge" network. Use the information from the "bridge"
          > network inside the `Networks` map instead, which contains the same
          > information. This field was deprecated in Docker 1.9 and is scheduled
          > to be removed in Docker 17.12.0
        type: "string"
        example: "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b"
      Gateway:
        description: |
          Gateway address for the default "bridge" network.

          <p><br /></p>

          > **Deprecated**: This field is only propagated when attached to the
          > default "bridge" network. Use the information from the "bridge"
          > network inside the `Networks` map instead, which contains the same
          > information. This field was deprecated in Docker 1.9 and is scheduled
          > to be removed in Docker 17.12.0
        type: "string"
        example: "172.17.0.1"
      GlobalIPv6Address:
        description: |
          Global IPv6 address for the default "bridge" network.

          <p><br /></p>

          > **Deprecated**: This field is only propagated when attached to the
          > default "bridge" network. Use the information from the "bridge"
          > network inside the `Networks` map instead, which contains the same
          > information. This field was deprecated in Docker 1.9 and is scheduled
          > to be removed in Docker 17.12.0
        type: "string"
        example: "2001:db8::5689"
      GlobalIPv6PrefixLen:
        description: |
          Mask length of the global IPv6 address.

          <p><br /></p>

          > **Deprecated**: This field is only propagated when attached to the
          > default "bridge" network. Use the information from the "bridge"
          > network inside the `Networks` map instead, which contains the same
          > information. This field was deprecated in Docker 1.9 and is scheduled
          > to be removed in Docker 17.12.0
        type: "integer"
        example: 64
      IPAddress:
        description: |
          IPv4 address for the default "bridge" network.

          <p><br /></p>

          > **Deprecated**: This field is only propagated when attached to the
          > default "bridge" network. Use the information from the "bridge"
          > network inside the `Networks` map instead, which contains the same
          > information. This field was deprecated in Docker 1.9 and is scheduled
          > to be removed in Docker 17.12.0
        type: "string"
        example: "172.17.0.4"
      IPPrefixLen:
        description: |
          Mask length of the IPv4 address.

          <p><br /></p>

          > **Deprecated**: This field is only propagated when attached to the
          > default "bridge" network. Use the information from the "bridge"
          > network inside the `Networks` map instead, which contains the same
          > information. This field was deprecated in Docker 1.9 and is scheduled
          > to be removed in Docker 17.12.0
        type: "integer"
        example: 16
      IPv6Gateway:
        description: |
          IPv6 gateway address for this network.

          <p><br /></p>

          > **Deprecated**: This field is only propagated when attached to the
          > default "bridge" network. Use the information from the "bridge"
          > network inside the `Networks` map instead, which contains the same
          > information. This field was deprecated in Docker 1.9 and is scheduled
          > to be removed in Docker 17.12.0
        type: "string"
        example: "2001:db8:2::100"
      MacAddress:
        description: |
          MAC address for the container on the default "bridge" network.

          <p><br /></p>

          > **Deprecated**: This field is only propagated when attached to the
          > default "bridge" network. Use the information from the "bridge"
          > network inside the `Networks` map instead, which contains the same
          > information. This field was deprecated in Docker 1.9 and is scheduled
          > to be removed in Docker 17.12.0
        type: "string"
        example: "02:42:ac:11:00:04"
      Networks:
        description: |
          Information about all networks that the container is connected to.
        type: "object"
        additionalProperties:
          $ref: "#/definitions/EndpointSettings"

  Address:
    description: Address represents an IPv4 or IPv6 IP address.
    type: "object"
    properties:
      Addr:
        description: IP address.
        type: "string"
      PrefixLen:
        description: Mask length of the IP address.
        type: "integer"

  PortMap:
    description: |
      PortMap describes the mapping of container ports to host ports, using the
      container's port-number and protocol as key in the format `<port>/<protocol>`,
      for example, `80/udp`.

      If a container's port is mapped for multiple protocols, separate entries
      are added to the mapping table.
    type: "object"
    additionalProperties:
      type: "array"
      x-nullable: true
      items:
        $ref: "#/definitions/PortBinding"
    example:
      "443/tcp":
        - HostIp: "127.0.0.1"
          HostPort: "4443"
      "80/tcp":
        - HostIp: "0.0.0.0"
          HostPort: "80"
        - HostIp: "0.0.0.0"
          HostPort: "8080"
      "80/udp":
        - HostIp: "0.0.0.0"
          HostPort: "80"
      "53/udp":
        - HostIp: "0.0.0.0"
          HostPort: "53"
      "2377/tcp": null

  PortBinding:
    description: |
      PortBinding represents a binding between a host IP address and a host
      port.
    type: "object"
    properties:
      HostIp:
        description: "Host IP address that the container's port is mapped to."
        type: "string"
        example: "127.0.0.1"
      HostPort:
        description: "Host port number that the container's port is mapped to."
        type: "string"
        example: "4443"

  GraphDriverData:
    description: "Information about a container's graph driver."
    type: "object"
    required: [Name, Data]
    properties:
      Name:
        type: "string"
        x-nullable: false
      Data:
        type: "object"
        x-nullable: false
        additionalProperties:
          type: "string"

  Image:
    type: "object"
    required:
      - Id
      - Parent
      - Comment
      - Created
      - Container
      - DockerVersion
      - Author
      - Architecture
      - Os
      - Size
      - VirtualSize
      - GraphDriver
      - RootFS
    properties:
      Id:
        type: "string"
        x-nullable: false
      RepoTags:
        type: "array"
        items:
          type: "string"
      RepoDigests:
        type: "array"
        items:
          type: "string"
      Parent:
        type: "string"
        x-nullable: false
      Comment:
        type: "string"
        x-nullable: false
      Created:
        type: "string"
        x-nullable: false
      Container:
        type: "string"
        x-nullable: false
      ContainerConfig:
        $ref: "#/definitions/ContainerConfig"
      DockerVersion:
        type: "string"
        x-nullable: false
      Author:
        type: "string"
        x-nullable: false
      Config:
        $ref: "#/definitions/ContainerConfig"
      Architecture:
        type: "string"
        x-nullable: false
      Os:
        type: "string"
        x-nullable: false
      OsVersion:
        type: "string"
      Size:
        type: "integer"
        format: "int64"
        x-nullable: false
      VirtualSize:
        type: "integer"
        format: "int64"
        x-nullable: false
      GraphDriver:
        $ref: "#/definitions/GraphDriverData"
      RootFS:
        type: "object"
        required: [Type]
        properties:
          Type:
            type: "string"
            x-nullable: false
          Layers:
            type: "array"
            items:
              type: "string"
          BaseLayer:
            type: "string"
      Metadata:
        type: "object"
        properties:
          LastTagTime:
            type: "string"
            format: "dateTime"

  ImageSummary:
    type: "object"
    required:
      - Id
      - ParentId
      - RepoTags
      - RepoDigests
      - Created
      - Size
      - SharedSize
      - VirtualSize
      - Labels
      - Containers
    properties:
      Id:
        type: "string"
        x-nullable: false
      ParentId:
        type: "string"
        x-nullable: false
      RepoTags:
        type: "array"
        x-nullable: false
        items:
          type: "string"
      RepoDigests:
        type: "array"
        x-nullable: false
        items:
          type: "string"
      Created:
        type: "integer"
        x-nullable: false
      Size:
        type: "integer"
        x-nullable: false
      SharedSize:
        type: "integer"
        x-nullable: false
      VirtualSize:
        type: "integer"
        x-nullable: false
      Labels:
        type: "object"
        x-nullable: false
        additionalProperties:
          type: "string"
      Containers:
        x-nullable: false
        type: "integer"

  AuthConfig:
    type: "object"
    properties:
      username:
        type: "string"
      password:
        type: "string"
      email:
        type: "string"
      serveraddress:
        type: "string"
    example:
      username: "hannibal"
      password: "xxxx"
      serveraddress: "https://index.docker.io/v1/"

  ProcessConfig:
    type: "object"
    properties:
      privileged:
        type: "boolean"
      user:
        type: "string"
      tty:
        type: "boolean"
      entrypoint:
        type: "string"
      arguments:
        type: "array"
        items:
          type: "string"

  Volume:
    type: "object"
    required: [Name, Driver, Mountpoint, Labels, Scope, Options]
    properties:
      Name:
        type: "string"
        description: "Name of the volume."
        x-nullable: false
      Driver:
        type: "string"
        description: "Name of the volume driver used by the volume."
        x-nullable: false
      Mountpoint:
        type: "string"
        description: "Mount path of the volume on the host."
        x-nullable: false
      CreatedAt:
        type: "string"
        format: "dateTime"
        description: "Date/Time the volume was created."
      Status:
        type: "object"
        description: |
          Low-level details about the volume, provided by the volume driver.
          Details are returned as a map with key/value pairs:
          `{"key":"value","key2":"value2"}`.

          The `Status` field is optional, and is omitted if the volume driver
          does not support this feature.
        additionalProperties:
          type: "object"
      Labels:
        type: "object"
        description: "User-defined key/value metadata."
        x-nullable: false
        additionalProperties:
          type: "string"
      Scope:
        type: "string"
        description: "The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level."
        default: "local"
        x-nullable: false
        enum: ["local", "global"]
      Options:
        type: "object"
        description: "The driver specific options used when creating the volume."
        additionalProperties:
          type: "string"
      UsageData:
        type: "object"
        x-nullable: true
        required: [Size, RefCount]
        description: |
          Usage details about the volume. This information is used by the
          `GET /system/df` endpoint, and omitted in other endpoints.
        properties:
          Size:
            type: "integer"
            default: -1
            description: |
              Amount of disk space used by the volume (in bytes). This information
              is only available for volumes created with the `"local"` volume
              driver. For volumes created with other volume drivers, this field
              is set to `-1` ("not available")
            x-nullable: false
          RefCount:
            type: "integer"
            default: -1
            description: |
              The number of containers referencing this volume. This field
              is set to `-1` if the reference-count is not available.
            x-nullable: false

    example:
      Name: "tardis"
      Driver: "custom"
      Mountpoint: "/var/lib/docker/volumes/tardis"
      Status:
        hello: "world"
      Labels:
        com.example.some-label: "some-value"
        com.example.some-other-label: "some-other-value"
      Scope: "local"
      CreatedAt: "2016-06-07T20:31:11.853781916Z"

  Network:
    type: "object"
    properties:
      Name:
        type: "string"
      Id:
        type: "string"
      Created:
        type: "string"
        format: "dateTime"
      Scope:
        type: "string"
      Driver:
        type: "string"
      EnableIPv6:
        type: "boolean"
      IPAM:
        $ref: "#/definitions/IPAM"
      Internal:
        type: "boolean"
      Attachable:
        type: "boolean"
      Ingress:
        type: "boolean"
      Containers:
        type: "object"
        additionalProperties:
          $ref: "#/definitions/NetworkContainer"
      Options:
        type: "object"
        additionalProperties:
          type: "string"
      Labels:
        type: "object"
        additionalProperties:
          type: "string"
    example:
      Name: "net01"
      Id: "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99"
      Created: "2016-10-19T04:33:30.360899459Z"
      Scope: "local"
      Driver: "bridge"
      EnableIPv6: false
      IPAM:
        Driver: "default"
        Config:
          - Subnet: "172.19.0.0/16"
            Gateway: "172.19.0.1"
        Options:
          foo: "bar"
      Internal: false
      Attachable: false
      Ingress: false
      Containers:
        19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c:
          Name: "test"
          EndpointID: "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a"
          MacAddress: "02:42:ac:13:00:02"
          IPv4Address: "172.19.0.2/16"
          IPv6Address: ""
      Options:
        com.docker.network.bridge.default_bridge: "true"
        com.docker.network.bridge.enable_icc: "true"
        com.docker.network.bridge.enable_ip_masquerade: "true"
        com.docker.network.bridge.host_binding_ipv4: "0.0.0.0"
        com.docker.network.bridge.name: "docker0"
        com.docker.network.driver.mtu: "1500"
      Labels:
        com.example.some-label: "some-value"
        com.example.some-other-label: "some-other-value"
  IPAM:
    type: "object"
    properties:
      Driver:
        description: "Name of the IPAM driver to use."
        type: "string"
        default: "default"
      Config:
        description: "List of IPAM configuration options, specified as a map: `{\"Subnet\": <CIDR>, \"IPRange\": <CIDR>, \"Gateway\": <IP address>, \"AuxAddress\": <device_name:IP address>}`"
        type: "array"
        items:
          type: "object"
          additionalProperties:
            type: "string"
      Options:
        description: "Driver-specific options, specified as a map."
        type: "object"
        additionalProperties:
          type: "string"

  NetworkContainer:
    type: "object"
    properties:
      Name:
        type: "string"
      EndpointID:
        type: "string"
      MacAddress:
        type: "string"
      IPv4Address:
        type: "string"
      IPv6Address:
        type: "string"

  BuildInfo:
    type: "object"
    properties:
      id:
        type: "string"
      stream:
        type: "string"
      error:
        type: "string"
      errorDetail:
        $ref: "#/definitions/ErrorDetail"
      status:
        type: "string"
      progress:
        type: "string"
      progressDetail:
        $ref: "#/definitions/ProgressDetail"
      aux:
        $ref: "#/definitions/ImageID"

  BuildCache:
    type: "object"
    properties:
      ID:
        type: "string"
      Parent:
        type: "string"
      Type:
        type: "string"
      Description:
        type: "string"
      InUse:
        type: "boolean"
      Shared:
        type: "boolean"
      Size:
        type: "integer"
      CreatedAt:
        type: "integer"
      LastUsedAt:
        type: "integer"
        x-nullable: true
      UsageCount:
        type: "integer"

  ImageID:
    type: "object"
    description: "Image ID or Digest"
    properties:
      ID:
        type: "string"
    example:
      ID: "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c"

  CreateImageInfo:
    type: "object"
    properties:
      id:
        type: "string"
      error:
        type: "string"
      status:
        type: "string"
      progress:
        type: "string"
      progressDetail:
        $ref: "#/definitions/ProgressDetail"

  PushImageInfo:
    type: "object"
    properties:
      error:
        type: "string"
      status:
        type: "string"
      progress:
        type: "string"
      progressDetail:
        $ref: "#/definitions/ProgressDetail"

  ErrorDetail:
    type: "object"
    properties:
      code:
        type: "integer"
      message:
        type: "string"

  ProgressDetail:
    type: "object"
    properties:
      current:
        type: "integer"
      total:
        type: "integer"

  ErrorResponse:
    description: "Represents an error."
    type: "object"
    required: ["message"]
    properties:
      message:
        description: "The error message."
        type: "string"
        x-nullable: false
    example:
      message: "Something went wrong."

  IdResponse:
    description: "Response to an API call that returns just an Id"
    type: "object"
    required: ["Id"]
    properties:
      Id:
        description: "The id of the newly created object."
        type: "string"
        x-nullable: false

  EndpointSettings:
    description: "Configuration for a network endpoint."
    type: "object"
    properties:
      # Configurations
      IPAMConfig:
        $ref: "#/definitions/EndpointIPAMConfig"
      Links:
        type: "array"
        items:
          type: "string"
        example:
          - "container_1"
          - "container_2"
      Aliases:
        type: "array"
        items:
          type: "string"
        example:
          - "server_x"
          - "server_y"

      # Operational data
      NetworkID:
        description: |
          Unique ID of the network.
        type: "string"
        example: "08754567f1f40222263eab4102e1c733ae697e8e354aa9cd6e18d7402835292a"
      EndpointID:
        description: |
          Unique ID for the service endpoint in a Sandbox.
        type: "string"
        example: "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b"
      Gateway:
        description: |
          Gateway address for this network.
        type: "string"
        example: "172.17.0.1"
      IPAddress:
        description: |
          IPv4 address.
        type: "string"
        example: "172.17.0.4"
      IPPrefixLen:
        description: |
          Mask length of the IPv4 address.
        type: "integer"
        example: 16
      IPv6Gateway:
        description: |
          IPv6 gateway address.
        type: "string"
        example: "2001:db8:2::100"
      GlobalIPv6Address:
        description: |
          Global IPv6 address.
        type: "string"
        example: "2001:db8::5689"
      GlobalIPv6PrefixLen:
        description: |
          Mask length of the global IPv6 address.
        type: "integer"
        format: "int64"
        example: 64
      MacAddress:
        description: |
          MAC address for the endpoint on this network.
        type: "string"
        example: "02:42:ac:11:00:04"
      DriverOpts:
        description: |
          DriverOpts is a mapping of driver options and values. These options
          are passed directly to the driver and are driver specific.
        type: "object"
        x-nullable: true
        additionalProperties:
          type: "string"
        example:
          com.example.some-label: "some-value"
          com.example.some-other-label: "some-other-value"

  EndpointIPAMConfig:
    description: |
      EndpointIPAMConfig represents an endpoint's IPAM configuration.
    type: "object"
    x-nullable: true
    properties:
      IPv4Address:
        type: "string"
        example: "172.20.30.33"
      IPv6Address:
        type: "string"
        example: "2001:db8:abcd::3033"
      LinkLocalIPs:
        type: "array"
        items:
          type: "string"
        example:
          - "169.254.34.68"
          - "fe80::3468"

  PluginMount:
    type: "object"
    x-nullable: false
    required: [Name, Description, Settable, Source, Destination, Type, Options]
    properties:
      Name:
        type: "string"
        x-nullable: false
        example: "some-mount"
      Description:
        type: "string"
        x-nullable: false
        example: "This is a mount that's used by the plugin."
      Settable:
        type: "array"
        items:
          type: "string"
      Source:
        type: "string"
        example: "/var/lib/docker/plugins/"
      Destination:
        type: "string"
        x-nullable: false
        example: "/mnt/state"
      Type:
        type: "string"
        x-nullable: false
        example: "bind"
      Options:
        type: "array"
        items:
          type: "string"
        example:
          - "rbind"
          - "rw"

  PluginDevice:
    type: "object"
    required: [Name, Description, Settable, Path]
    x-nullable: false
    properties:
      Name:
        type: "string"
        x-nullable: false
      Description:
        type: "string"
        x-nullable: false
      Settable:
        type: "array"
        items:
          type: "string"
      Path:
        type: "string"
        example: "/dev/fuse"

  PluginEnv:
    type: "object"
    x-nullable: false
    required: [Name, Description, Settable, Value]
    properties:
      Name:
        x-nullable: false
        type: "string"
      Description:
        x-nullable: false
        type: "string"
      Settable:
        type: "array"
        items:
          type: "string"
      Value:
        type: "string"

  PluginInterfaceType:
    type: "object"
    x-nullable: false
    required: [Prefix, Capability, Version]
    properties:
      Prefix:
        type: "string"
        x-nullable: false
      Capability:
        type: "string"
        x-nullable: false
      Version:
        type: "string"
        x-nullable: false

  Plugin:
    description: "A plugin for the Engine API"
    type: "object"
    required: [Settings, Enabled, Config, Name]
    properties:
      Id:
        type: "string"
        example: "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078"
      Name:
        type: "string"
        x-nullable: false
        example: "tiborvass/sample-volume-plugin"
      Enabled:
        description: "True if the plugin is running. False if the plugin is not running, only installed."
        type: "boolean"
        x-nullable: false
        example: true
      Settings:
        description: "Settings that can be modified by users."
        type: "object"
        x-nullable: false
        required: [Args, Devices, Env, Mounts]
        properties:
          Mounts:
            type: "array"
            items:
              $ref: "#/definitions/PluginMount"
          Env:
            type: "array"
            items:
              type: "string"
            example:
              - "DEBUG=0"
          Args:
            type: "array"
            items:
              type: "string"
          Devices:
            type: "array"
            items:
              $ref: "#/definitions/PluginDevice"
      PluginReference:
        description: "plugin remote reference used to push/pull the plugin"
        type: "string"
        x-nullable: false
        example: "localhost:5000/tiborvass/sample-volume-plugin:latest"
      Config:
        description: "The config of a plugin."
        type: "object"
        x-nullable: false
        required:
          - Description
          - Documentation
          - Interface
          - Entrypoint
          - WorkDir
          - Network
          - Linux
          - PidHost
          - PropagatedMount
          - IpcHost
          - Mounts
          - Env
          - Args
        properties:
          DockerVersion:
            description: "Docker Version used to create the plugin"
            type: "string"
            x-nullable: false
            example: "17.06.0-ce"
          Description:
            type: "string"
            x-nullable: false
            example: "A sample volume plugin for Docker"
          Documentation:
            type: "string"
            x-nullable: false
            example: "https://docs.docker.com/engine/extend/plugins/"
          Interface:
            description: "The interface between Docker and the plugin"
            x-nullable: false
            type: "object"
            required: [Types, Socket]
            properties:
              Types:
                type: "array"
                items:
                  $ref: "#/definitions/PluginInterfaceType"
                example:
                  - "docker.volumedriver/1.0"
              Socket:
                type: "string"
                x-nullable: false
                example: "plugins.sock"
              ProtocolScheme:
                type: "string"
                example: "some.protocol/v1.0"
                description: "Protocol to use for clients connecting to the plugin."
                enum:
                  - ""
                  - "moby.plugins.http/v1"
          Entrypoint:
            type: "array"
            items:
              type: "string"
            example:
              - "/usr/bin/sample-volume-plugin"
              - "/data"
          WorkDir:
            type: "string"
            x-nullable: false
            example: "/bin/"
          User:
            type: "object"
            x-nullable: false
            properties:
              UID:
                type: "integer"
                format: "uint32"
                example: 1000
              GID:
                type: "integer"
                format: "uint32"
                example: 1000
          Network:
            type: "object"
            x-nullable: false
            required: [Type]
            properties:
              Type:
                x-nullable: false
                type: "string"
                example: "host"
          Linux:
            type: "object"
            x-nullable: false
            required: [Capabilities, AllowAllDevices, Devices]
            properties:
              Capabilities:
                type: "array"
                items:
                  type: "string"
                example:
                  - "CAP_SYS_ADMIN"
                  - "CAP_SYSLOG"
              AllowAllDevices:
                type: "boolean"
                x-nullable: false
                example: false
              Devices:
                type: "array"
                items:
                  $ref: "#/definitions/PluginDevice"
          PropagatedMount:
            type: "string"
            x-nullable: false
            example: "/mnt/volumes"
          IpcHost:
            type: "boolean"
            x-nullable: false
            example: false
          PidHost:
            type: "boolean"
            x-nullable: false
            example: false
          Mounts:
            type: "array"
            items:
              $ref: "#/definitions/PluginMount"
          Env:
            type: "array"
            items:
              $ref: "#/definitions/PluginEnv"
            example:
              - Name: "DEBUG"
                Description: "If set, prints debug messages"
                Settable: null
                Value: "0"
          Args:
            type: "object"
            x-nullable: false
            required: [Name, Description, Settable, Value]
            properties:
              Name:
                x-nullable: false
                type: "string"
                example: "args"
              Description:
                x-nullable: false
                type: "string"
                example: "command line arguments"
              Settable:
                type: "array"
                items:
                  type: "string"
              Value:
                type: "array"
                items:
                  type: "string"
          rootfs:
            type: "object"
            properties:
              type:
                type: "string"
                example: "layers"
              diff_ids:
                type: "array"
                items:
                  type: "string"
                example:
                  - "sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887"
                  - "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8"

  ObjectVersion:
    description: |
      The version number of the object such as node, service, etc. This is needed to avoid conflicting writes.
      The client must send the version number along with the modified specification when updating these objects.
      This approach ensures safe concurrency and determinism in that the change on the object
      may not be applied if the version number has changed from the last read. In other words,
      if two update requests specify the same base version, only one of the requests can succeed.
      As a result, two separate update requests that happen at the same time will not
      unintentionally overwrite each other.
    type: "object"
    properties:
      Index:
        type: "integer"
        format: "uint64"
        example: 373531

  NodeSpec:
    type: "object"
    properties:
      Name:
        description: "Name for the node."
        type: "string"
        example: "my-node"
      Labels:
        description: "User-defined key/value metadata."
        type: "object"
        additionalProperties:
          type: "string"
      Role:
        description: "Role of the node."
        type: "string"
        enum:
          - "worker"
          - "manager"
        example: "manager"
      Availability:
        description: "Availability of the node."
        type: "string"
        enum:
          - "active"
          - "pause"
          - "drain"
        example: "active"
    example:
      Availability: "active"
      Name: "node-name"
      Role: "manager"
      Labels:
        foo: "bar"

  Node:
    type: "object"
    properties:
      ID:
        type: "string"
        example: "24ifsmvkjbyhk"
      Version:
        $ref: "#/definitions/ObjectVersion"
      CreatedAt:
        description: |
          Date and time at which the node was added to the swarm in
          [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
        type: "string"
        format: "dateTime"
        example: "2016-08-18T10:44:24.496525531Z"
      UpdatedAt:
        description: |
          Date and time at which the node was last updated in
          [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
        type: "string"
        format: "dateTime"
        example: "2017-08-09T07:09:37.632105588Z"
      Spec:
        $ref: "#/definitions/NodeSpec"
      Description:
        $ref: "#/definitions/NodeDescription"
      Status:
        $ref: "#/definitions/NodeStatus"
      ManagerStatus:
        $ref: "#/definitions/ManagerStatus"

  NodeDescription:
    description: |
      NodeDescription encapsulates the properties of the Node as reported by the
      agent.
    type: "object"
    properties:
      Hostname:
        type: "string"
        example: "bf3067039e47"
      Platform:
        $ref: "#/definitions/Platform"
      Resources:
        $ref: "#/definitions/ResourceObject"
      Engine:
        $ref: "#/definitions/EngineDescription"
      TLSInfo:
        $ref: "#/definitions/TLSInfo"

  Platform:
    description: |
      Platform represents the platform (Arch/OS).
    type: "object"
    properties:
      Architecture:
        description: |
          Architecture represents the hardware architecture (for example,
          `x86_64`).
        type: "string"
        example: "x86_64"
      OS:
        description: |
          OS represents the Operating System (for example, `linux` or `windows`).
        type: "string"
        example: "linux"

  EngineDescription:
    description: "EngineDescription provides information about an engine."
    type: "object"
    properties:
      EngineVersion:
        type: "string"
        example: "17.06.0"
      Labels:
        type: "object"
        additionalProperties:
          type: "string"
        example:
          foo: "bar"
      Plugins:
        type: "array"
        items:
          type: "object"
          properties:
            Type:
              type: "string"
            Name:
              type: "string"
        example:
          - Type: "Log"
            Name: "awslogs"
          - Type: "Log"
            Name: "fluentd"
          - Type: "Log"
            Name: "gcplogs"
          - Type: "Log"
            Name: "gelf"
          - Type: "Log"
            Name: "journald"
          - Type: "Log"
            Name: "json-file"
          - Type: "Log"
            Name: "logentries"
          - Type: "Log"
            Name: "splunk"
          - Type: "Log"
            Name: "syslog"
          - Type: "Network"
            Name: "bridge"
          - Type: "Network"
            Name: "host"
          - Type: "Network"
            Name: "ipvlan"
          - Type: "Network"
            Name: "macvlan"
          - Type: "Network"
            Name: "null"
          - Type: "Network"
            Name: "overlay"
          - Type: "Volume"
            Name: "local"
          - Type: "Volume"
            Name: "localhost:5000/vieux/sshfs:latest"
          - Type: "Volume"
            Name: "vieux/sshfs:latest"

  TLSInfo:
    description: "Information about the issuer of leaf TLS certificates and the trusted root CA certificate"
    type: "object"
    properties:
      TrustRoot:
        description: "The root CA certificate(s) that are used to validate leaf TLS certificates"
        type: "string"
      CertIssuerSubject:
        description: "The base64-url-safe-encoded raw subject bytes of the issuer"
        type: "string"
      CertIssuerPublicKey:
        description: "The base64-url-safe-encoded raw public key bytes of the issuer"
        type: "string"
    example:
      TrustRoot: |
        -----BEGIN CERTIFICATE-----
        MIIBajCCARCgAwIBAgIUbYqrLSOSQHoxD8CwG6Bi2PJi9c8wCgYIKoZIzj0EAwIw
        EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNDI0MjE0MzAwWhcNMzcwNDE5MjE0
        MzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH
        A0IABJk/VyMPYdaqDXJb/VXh5n/1Yuv7iNrxV3Qb3l06XD46seovcDWs3IZNV1lf
        3Skyr0ofcchipoiHkXBODojJydSjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
        Af8EBTADAQH/MB0GA1UdDgQWBBRUXxuRcnFjDfR/RIAUQab8ZV/n4jAKBggqhkjO
        PQQDAgNIADBFAiAy+JTe6Uc3KyLCMiqGl2GyWGQqQDEcO3/YG36x7om65AIhAJvz
        pxv6zFeVEkAEEkqIYi0omA9+CjanB/6Bz4n1uw8H
        -----END CERTIFICATE-----
      CertIssuerSubject: "MBMxETAPBgNVBAMTCHN3YXJtLWNh"
      CertIssuerPublicKey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmT9XIw9h1qoNclv9VeHmf/Vi6/uI2vFXdBveXTpcPjqx6i9wNazchk1XWV/dKTKvSh9xyGKmiIeRcE4OiMnJ1A=="

  NodeStatus:
    description: |
      NodeStatus represents the status of a node.

      It provides the current status of the node, as seen by the manager.
    type: "object"
    properties:
      State:
        $ref: "#/definitions/NodeState"
      Message:
        type: "string"
        example: ""
      Addr:
        description: "IP address of the node."
        type: "string"
        example: "172.17.0.2"

  NodeState:
    description: "NodeState represents the state of a node."
    type: "string"
    enum:
      - "unknown"
      - "down"
      - "ready"
      - "disconnected"
    example: "ready"

  ManagerStatus:
    description: |
      ManagerStatus represents the status of a manager.

      It provides the current status of a node's manager component, if the node
      is a manager.
    x-nullable: true
    type: "object"
    properties:
      Leader:
        type: "boolean"
        default: false
        example: true
      Reachability:
        $ref: "#/definitions/Reachability"
      Addr:
        description: |
          The IP address and port at which the manager is reachable.
        type: "string"
        example: "10.0.0.46:2377"

  Reachability:
    description: "Reachability represents the reachability of a node."
    type: "string"
    enum:
      - "unknown"
      - "unreachable"
      - "reachable"
    example: "reachable"

  SwarmSpec:
    description: "User modifiable swarm configuration."
    type: "object"
    properties:
      Name:
        description: "Name of the swarm."
        type: "string"
        example: "default"
      Labels:
        description: "User-defined key/value metadata."
        type: "object"
        additionalProperties:
          type: "string"
        example:
          com.example.corp.type: "production"
          com.example.corp.department: "engineering"
      Orchestration:
        description: "Orchestration configuration."
        type: "object"
        x-nullable: true
        properties:
          TaskHistoryRetentionLimit:
            description: "The number of historic tasks to keep per instance or node. If negative, never remove completed or failed tasks."
            type: "integer"
            format: "int64"
            example: 10
      Raft:
        description: "Raft configuration."
        type: "object"
        properties:
          SnapshotInterval:
            description: "The number of log entries between snapshots."
            type: "integer"
            format: "uint64"
            example: 10000
          KeepOldSnapshots:
            description: "The number of snapshots to keep beyond the current snapshot."
            type: "integer"
            format: "uint64"
          LogEntriesForSlowFollowers:
            description: "The number of log entries to keep around to sync up slow followers after a snapshot is created."
            type: "integer"
            format: "uint64"
            example: 500
          ElectionTick:
            description: |
              The number of ticks that a follower will wait for a message from the leader before becoming a candidate and starting an election. `ElectionTick` must be greater than `HeartbeatTick`.

              A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.
            type: "integer"
            example: 3
          HeartbeatTick:
            description: |
              The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader will send a heartbeat to the followers.

              A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.
            type: "integer"
            example: 1
      Dispatcher:
        description: "Dispatcher configuration."
        type: "object"
        x-nullable: true
        properties:
          HeartbeatPeriod:
            description: "The delay for an agent to send a heartbeat to the dispatcher."
            type: "integer"
            format: "int64"
            example: 5000000000
      CAConfig:
        description: "CA configuration."
        type: "object"
        x-nullable: true
        properties:
          NodeCertExpiry:
            description: "The duration node certificates are issued for."
            type: "integer"
            format: "int64"
            example: 7776000000000000
          ExternalCAs:
            description: "Configuration for forwarding signing requests to an external certificate authority."
            type: "array"
            items:
              type: "object"
              properties:
                Protocol:
                  description: "Protocol for communication with the external CA (currently only `cfssl` is supported)."
                  type: "string"
                  enum:
                    - "cfssl"
                  default: "cfssl"
                URL:
                  description: "URL where certificate signing requests should be sent."
                  type: "string"
                Options:
                  description: "An object with key/value pairs that are interpreted as protocol-specific options for the external CA driver."
                  type: "object"
                  additionalProperties:
                    type: "string"
                CACert:
                  description: "The root CA certificate (in PEM format) this external CA uses to issue TLS certificates (assumed to be to the current swarm root CA certificate if not provided)."
                  type: "string"
          SigningCACert:
            description: "The desired signing CA certificate for all swarm node TLS leaf certificates, in PEM format."
            type: "string"
          SigningCAKey:
            description: "The desired signing CA key for all swarm node TLS leaf certificates, in PEM format."
            type: "string"
          ForceRotate:
            description: "An integer whose purpose is to force swarm to generate a new signing CA certificate and key, if none have been specified in `SigningCACert` and `SigningCAKey`"
            format: "uint64"
            type: "integer"
      EncryptionConfig:
        description: "Parameters related to encryption-at-rest."
        type: "object"
        properties:
          AutoLockManagers:
            description: "If set, generate a key and use it to lock data stored on the managers."
            type: "boolean"
            example: false
      TaskDefaults:
        description: "Defaults for creating tasks in this cluster."
        type: "object"
        properties:
          LogDriver:
            description: |
              The log driver to use for tasks created in the orchestrator if
              unspecified by a service.

              Updating this value only affects new tasks. Existing tasks continue
              to use their previously configured log driver until recreated.
            type: "object"
            properties:
              Name:
                description: |
                  The log driver to use as a default for new tasks.
                type: "string"
                example: "json-file"
              Options:
                description: |
                  Driver-specific options for the selectd log driver, specified
                  as key/value pairs.
                type: "object"
                additionalProperties:
                  type: "string"
                example:
                  "max-file": "10"
                  "max-size": "100m"

  # The Swarm information for `GET /info`. It is the same as `GET /swarm`, but
  # without `JoinTokens`.
  ClusterInfo:
    description: |
      ClusterInfo represents information about the swarm as is returned by the
      "/info" endpoint. Join-tokens are not included.
    x-nullable: true
    type: "object"
    properties:
      ID:
        description: "The ID of the swarm."
        type: "string"
        example: "abajmipo7b4xz5ip2nrla6b11"
      Version:
        $ref: "#/definitions/ObjectVersion"
      CreatedAt:
        description: |
          Date and time at which the swarm was initialised in
          [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
        type: "string"
        format: "dateTime"
        example: "2016-08-18T10:44:24.496525531Z"
      UpdatedAt:
        description: |
          Date and time at which the swarm was last updated in
          [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
        type: "string"
        format: "dateTime"
        example: "2017-08-09T07:09:37.632105588Z"
      Spec:
        $ref: "#/definitions/SwarmSpec"
      TLSInfo:
        $ref: "#/definitions/TLSInfo"
      RootRotationInProgress:
        description: "Whether there is currently a root CA rotation in progress for the swarm"
        type: "boolean"
        example: false
      DefaultAddrPool:
        description: |
          Default Address Pool specifies default subnet pools for global scope networks.
        type: "array"
        items:
          type: "string"
          format: "CIDR"
          example: ["10.10.0.0/16", "20.20.0.0/16"]
      SubnetSize:
        description: |
          SubnetSize specifies the subnet size of the networks created from the default subnet pool
        type: "integer"
        format: "uint32"
        maximum: 29
        default: 24
        example: 24

  JoinTokens:
    description: |
      JoinTokens contains the tokens workers and managers need to join the swarm.
    type: "object"
    properties:
      Worker:
        description: |
          The token workers can use to join the swarm.
        type: "string"
        example: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx"
      Manager:
        description: |
          The token managers can use to join the swarm.
        type: "string"
        example: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2"

  Swarm:
    type: "object"
    allOf:
      - $ref: "#/definitions/ClusterInfo"
      - type: "object"
        properties:
          JoinTokens:
            $ref: "#/definitions/JoinTokens"

  TaskSpec:
    description: "User modifiable task configuration."
    type: "object"
    properties:
      PluginSpec:
        type: "object"
        description: |
          Plugin spec for the service.  *(Experimental release only.)*

          <p><br /></p>

          > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are
          > mutually exclusive. PluginSpec is only used when the Runtime field
          > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime
          > field is set to `attachment`.
        properties:
          Name:
            description: "The name or 'alias' to use for the plugin."
            type: "string"
          Remote:
            description: "The plugin image reference to use."
            type: "string"
          Disabled:
            description: "Disable the plugin once scheduled."
            type: "boolean"
          PluginPrivilege:
            type: "array"
            items:
              description: "Describes a permission accepted by the user upon installing the plugin."
              type: "object"
              properties:
                Name:
                  type: "string"
                Description:
                  type: "string"
                Value:
                  type: "array"
                  items:
                    type: "string"
      ContainerSpec:
        type: "object"
        description: |
          Container spec for the service.

          <p><br /></p>

          > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are
          > mutually exclusive. PluginSpec is only used when the Runtime field
          > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime
          > field is set to `attachment`.
        properties:
          Image:
            description: "The image name to use for the container"
            type: "string"
          Labels:
            description: "User-defined key/value data."
            type: "object"
            additionalProperties:
              type: "string"
          Command:
            description: "The command to be run in the image."
            type: "array"
            items:
              type: "string"
          Args:
            description: "Arguments to the command."
            type: "array"
            items:
              type: "string"
          Hostname:
            description: "The hostname to use for the container, as a valid RFC 1123 hostname."
            type: "string"
          Env:
            description: "A list of environment variables in the form `VAR=value`."
            type: "array"
            items:
              type: "string"
          Dir:
            description: "The working directory for commands to run in."
            type: "string"
          User:
            description: "The user inside the container."
            type: "string"
          Groups:
            type: "array"
            description: "A list of additional groups that the container process will run as."
            items:
              type: "string"
          Privileges:
            type: "object"
            description: "Security options for the container"
            properties:
              CredentialSpec:
                type: "object"
                description: "CredentialSpec for managed service account (Windows only)"
                properties:
                  File:
                    type: "string"
                    description: |
                      Load credential spec from this file. The file is read by the daemon, and must be present in the
                      `CredentialSpecs` subdirectory in the docker data directory, which defaults to
                      `C:\ProgramData\Docker\` on Windows.

                      For example, specifying `spec.json` loads `C:\ProgramData\Docker\CredentialSpecs\spec.json`.

                      <p><br /></p>

                      > **Note**: `CredentialSpec.File` and `CredentialSpec.Registry` are mutually exclusive.
                  Registry:
                    type: "string"
                    description: |
                      Load credential spec from this value in the Windows registry. The specified registry value must be
                      located in:

                      `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs`

                      <p><br /></p>


                      > **Note**: `CredentialSpec.File` and `CredentialSpec.Registry` are mutually exclusive.
              SELinuxContext:
                type: "object"
                description: "SELinux labels of the container"
                properties:
                  Disable:
                    type: "boolean"
                    description: "Disable SELinux"
                  User:
                    type: "string"
                    description: "SELinux user label"
                  Role:
                    type: "string"
                    description: "SELinux role label"
                  Type:
                    type: "string"
                    description: "SELinux type label"
                  Level:
                    type: "string"
                    description: "SELinux level label"
          TTY:
            description: "Whether a pseudo-TTY should be allocated."
            type: "boolean"
          OpenStdin:
            description: "Open `stdin`"
            type: "boolean"
          ReadOnly:
            description: "Mount the container's root filesystem as read only."
            type: "boolean"
          Mounts:
            description: "Specification for mounts to be added to containers created as part of the service."
            type: "array"
            items:
              $ref: "#/definitions/Mount"
          StopSignal:
            description: "Signal to stop the container."
            type: "string"
          StopGracePeriod:
            description: "Amount of time to wait for the container to terminate before forcefully killing it."
            type: "integer"
            format: "int64"
          HealthCheck:
            $ref: "#/definitions/HealthConfig"
          Hosts:
            type: "array"
            description: |
              A list of hostname/IP mappings to add to the container's `hosts`
              file. The format of extra hosts is specified in the
              [hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html)
              man page:

                  IP_address canonical_hostname [aliases...]
            items:
              type: "string"
          DNSConfig:
            description: "Specification for DNS related configurations in resolver configuration file (`resolv.conf`)."
            type: "object"
            properties:
              Nameservers:
                description: "The IP addresses of the name servers."
                type: "array"
                items:
                  type: "string"
              Search:
                description: "A search list for host-name lookup."
                type: "array"
                items:
                  type: "string"
              Options:
                description: "A list of internal resolver variables to be modified (e.g., `debug`, `ndots:3`, etc.)."
                type: "array"
                items:
                  type: "string"
          Secrets:
            description: "Secrets contains references to zero or more secrets that will be exposed to the service."
            type: "array"
            items:
              type: "object"
              properties:
                File:
                  description: "File represents a specific target that is backed by a file."
                  type: "object"
                  properties:
                    Name:
                      description: "Name represents the final filename in the filesystem."
                      type: "string"
                    UID:
                      description: "UID represents the file UID."
                      type: "string"
                    GID:
                      description: "GID represents the file GID."
                      type: "string"
                    Mode:
                      description: "Mode represents the FileMode of the file."
                      type: "integer"
                      format: "uint32"
                SecretID:
                  description: "SecretID represents the ID of the specific secret that we're referencing."
                  type: "string"
                SecretName:
                  description: |
                    SecretName is the name of the secret that this references, but this is just provided for
                    lookup/display purposes. The secret in the reference will be identified by its ID.
                  type: "string"
          Configs:
            description: "Configs contains references to zero or more configs that will be exposed to the service."
            type: "array"
            items:
              type: "object"
              properties:
                File:
                  description: "File represents a specific target that is backed by a file."
                  type: "object"
                  properties:
                    Name:
                      description: "Name represents the final filename in the filesystem."
                      type: "string"
                    UID:
                      description: "UID represents the file UID."
                      type: "string"
                    GID:
                      description: "GID represents the file GID."
                      type: "string"
                    Mode:
                      description: "Mode represents the FileMode of the file."
                      type: "integer"
                      format: "uint32"
                ConfigID:
                  description: "ConfigID represents the ID of the specific config that we're referencing."
                  type: "string"
                ConfigName:
                  description: |
                    ConfigName is the name of the config that this references, but this is just provided for
                    lookup/display purposes. The config in the reference will be identified by its ID.
                  type: "string"
          Isolation:
            type: "string"
            description: "Isolation technology of the containers running the service. (Windows only)"
            enum:
              - "default"
              - "process"
              - "hyperv"
          Init:
            description: "Run an init inside the container that forwards signals and reaps processes. This field is omitted if empty, and the default (as configured on the daemon) is used."
            type: "boolean"
            x-nullable: true
      NetworkAttachmentSpec:
        description: |
          Read-only spec type for non-swarm containers attached to swarm overlay
          networks.

          <p><br /></p>

          > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are
          > mutually exclusive. PluginSpec is only used when the Runtime field
          > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime
          > field is set to `attachment`.
        type: "object"
        properties:
          ContainerID:
            description: "ID of the container represented by this task"
            type: "string"
      Resources:
        description: "Resource requirements which apply to each individual container created as part of the service."
        type: "object"
        properties:
          Limits:
            description: "Define resources limits."
            $ref: "#/definitions/ResourceObject"
          Reservation:
            description: "Define resources reservation."
            $ref: "#/definitions/ResourceObject"
      RestartPolicy:
        description: "Specification for the restart policy which applies to containers created as part of this service."
        type: "object"
        properties:
          Condition:
            description: "Condition for restart."
            type: "string"
            enum:
              - "none"
              - "on-failure"
              - "any"
          Delay:
            description: "Delay between restart attempts."
            type: "integer"
            format: "int64"
          MaxAttempts:
            description: "Maximum attempts to restart a given container before giving up (default value is 0, which is ignored)."
            type: "integer"
            format: "int64"
            default: 0
          Window:
            description: "Windows is the time window used to evaluate the restart policy (default value is 0, which is unbounded)."
            type: "integer"
            format: "int64"
            default: 0
      Placement:
        type: "object"
        properties:
          Constraints:
            description: "An array of constraints."
            type: "array"
            items:
              type: "string"
            example:
              - "node.hostname!=node3.corp.example.com"
              - "node.role!=manager"
              - "node.labels.type==production"
          Preferences:
            description: "Preferences provide a way to make the scheduler aware of factors such as topology. They are provided in order from highest to lowest precedence."
            type: "array"
            items:
              type: "object"
              properties:
                Spread:
                  type: "object"
                  properties:
                    SpreadDescriptor:
                      description: "label descriptor, such as engine.labels.az"
                      type: "string"
            example:
              - Spread:
                  SpreadDescriptor: "node.labels.datacenter"
              - Spread:
                  SpreadDescriptor: "node.labels.rack"
          Platforms:
            description: |
              Platforms stores all the platforms that the service's image can
              run on. This field is used in the platform filter for scheduling.
              If empty, then the platform filter is off, meaning there are no
              scheduling restrictions.
            type: "array"
            items:
              $ref: "#/definitions/Platform"
      ForceUpdate:
        description: "A counter that triggers an update even if no relevant parameters have been changed."
        type: "integer"
      Runtime:
        description: "Runtime is the type of runtime specified for the task executor."
        type: "string"
      Networks:
        type: "array"
        items:
          type: "object"
          properties:
            Target:
              type: "string"
            Aliases:
              type: "array"
              items:
                type: "string"
      LogDriver:
        description: "Specifies the log driver to use for tasks created from this spec. If not present, the default one for the swarm will be used, finally falling back to the engine default if not specified."
        type: "object"
        properties:
          Name:
            type: "string"
          Options:
            type: "object"
            additionalProperties:
              type: "string"

  TaskState:
    type: "string"
    enum:
      - "new"
      - "allocated"
      - "pending"
      - "assigned"
      - "accepted"
      - "preparing"
      - "ready"
      - "starting"
      - "running"
      - "complete"
      - "shutdown"
      - "failed"
      - "rejected"
      - "remove"
      - "orphaned"

  Task:
    type: "object"
    properties:
      ID:
        description: "The ID of the task."
        type: "string"
      Version:
        $ref: "#/definitions/ObjectVersion"
      CreatedAt:
        type: "string"
        format: "dateTime"
      UpdatedAt:
        type: "string"
        format: "dateTime"
      Name:
        description: "Name of the task."
        type: "string"
      Labels:
        description: "User-defined key/value metadata."
        type: "object"
        additionalProperties:
          type: "string"
      Spec:
        $ref: "#/definitions/TaskSpec"
      ServiceID:
        description: "The ID of the service this task is part of."
        type: "string"
      Slot:
        type: "integer"
      NodeID:
        description: "The ID of the node that this task is on."
        type: "string"
      AssignedGenericResources:
        $ref: "#/definitions/GenericResources"
      Status:
        type: "object"
        properties:
          Timestamp:
            type: "string"
            format: "dateTime"
          State:
            $ref: "#/definitions/TaskState"
          Message:
            type: "string"
          Err:
            type: "string"
          ContainerStatus:
            type: "object"
            properties:
              ContainerID:
                type: "string"
              PID:
                type: "integer"
              ExitCode:
                type: "integer"
      DesiredState:
        $ref: "#/definitions/TaskState"
    example:
      ID: "0kzzo1i0y4jz6027t0k7aezc7"
      Version:
        Index: 71
      CreatedAt: "2016-06-07T21:07:31.171892745Z"
      UpdatedAt: "2016-06-07T21:07:31.376370513Z"
      Spec:
        ContainerSpec:
          Image: "redis"
        Resources:
          Limits: {}
          Reservations: {}
        RestartPolicy:
          Condition: "any"
          MaxAttempts: 0
        Placement: {}
      ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz"
      Slot: 1
      NodeID: "60gvrl6tm78dmak4yl7srz94v"
      Status:
        Timestamp: "2016-06-07T21:07:31.290032978Z"
        State: "running"
        Message: "started"
        ContainerStatus:
          ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035"
          PID: 677
      DesiredState: "running"
      NetworksAttachments:
        - Network:
            ID: "4qvuz4ko70xaltuqbt8956gd1"
            Version:
              Index: 18
            CreatedAt: "2016-06-07T20:31:11.912919752Z"
            UpdatedAt: "2016-06-07T21:07:29.955277358Z"
            Spec:
              Name: "ingress"
              Labels:
                com.docker.swarm.internal: "true"
              DriverConfiguration: {}
              IPAMOptions:
                Driver: {}
                Configs:
                  - Subnet: "10.255.0.0/16"
                    Gateway: "10.255.0.1"
            DriverState:
              Name: "overlay"
              Options:
                com.docker.network.driver.overlay.vxlanid_list: "256"
            IPAMOptions:
              Driver:
                Name: "default"
              Configs:
                - Subnet: "10.255.0.0/16"
                  Gateway: "10.255.0.1"
          Addresses:
            - "10.255.0.10/16"
      AssignedGenericResources:
        - DiscreteResourceSpec:
            Kind: "SSD"
            Value: 3
        - NamedResourceSpec:
            Kind: "GPU"
            Value: "UUID1"
        - NamedResourceSpec:
            Kind: "GPU"
            Value: "UUID2"

  ServiceSpec:
    description: "User modifiable configuration for a service."
    properties:
      Name:
        description: "Name of the service."
        type: "string"
      Labels:
        description: "User-defined key/value metadata."
        type: "object"
        additionalProperties:
          type: "string"
      TaskTemplate:
        $ref: "#/definitions/TaskSpec"
      Mode:
        description: "Scheduling mode for the service."
        type: "object"
        properties:
          Replicated:
            type: "object"
            properties:
              Replicas:
                type: "integer"
                format: "int64"
          Global:
            type: "object"
      UpdateConfig:
        description: "Specification for the update strategy of the service."
        type: "object"
        properties:
          Parallelism:
            description: "Maximum number of tasks to be updated in one iteration (0 means unlimited parallelism)."
            type: "integer"
            format: "int64"
          Delay:
            description: "Amount of time between updates, in nanoseconds."
            type: "integer"
            format: "int64"
          FailureAction:
            description: "Action to take if an updated task fails to run, or stops running during the update."
            type: "string"
            enum:
              - "continue"
              - "pause"
              - "rollback"
          Monitor:
            description: "Amount of time to monitor each updated task for failures, in nanoseconds."
            type: "integer"
            format: "int64"
          MaxFailureRatio:
            description: "The fraction of tasks that may fail during an update before the failure action is invoked, specified as a floating point number between 0 and 1."
            type: "number"
            default: 0
          Order:
            description: "The order of operations when rolling out an updated task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down."
            type: "string"
            enum:
              - "stop-first"
              - "start-first"
      RollbackConfig:
        description: "Specification for the rollback strategy of the service."
        type: "object"
        properties:
          Parallelism:
            description: "Maximum number of tasks to be rolled back in one iteration (0 means unlimited parallelism)."
            type: "integer"
            format: "int64"
          Delay:
            description: "Amount of time between rollback iterations, in nanoseconds."
            type: "integer"
            format: "int64"
          FailureAction:
            description: "Action to take if an rolled back task fails to run, or stops running during the rollback."
            type: "string"
            enum:
              - "continue"
              - "pause"
          Monitor:
            description: "Amount of time to monitor each rolled back task for failures, in nanoseconds."
            type: "integer"
            format: "int64"
          MaxFailureRatio:
            description: "The fraction of tasks that may fail during a rollback before the failure action is invoked, specified as a floating point number between 0 and 1."
            type: "number"
            default: 0
          Order:
            description: "The order of operations when rolling back a task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down."
            type: "string"
            enum:
              - "stop-first"
              - "start-first"
      Networks:
        description: "Array of network names or IDs to attach the service to."
        type: "array"
        items:
          type: "object"
          properties:
            Target:
              type: "string"
            Aliases:
              type: "array"
              items:
                type: "string"
      EndpointSpec:
        $ref: "#/definitions/EndpointSpec"

  EndpointPortConfig:
    type: "object"
    properties:
      Name:
        type: "string"
      Protocol:
        type: "string"
        enum:
          - "tcp"
          - "udp"
          - "sctp"
      TargetPort:
        description: "The port inside the container."
        type: "integer"
      PublishedPort:
        description: "The port on the swarm hosts."
        type: "integer"
      PublishMode:
        description: |
          The mode in which port is published.

          <p><br /></p>

          - "ingress" makes the target port accessible on on every node,
            regardless of whether there is a task for the service running on
            that node or not.
          - "host" bypasses the routing mesh and publish the port directly on
            the swarm node where that service is running.

        type: "string"
        enum:
          - "ingress"
          - "host"
        default: "ingress"
        example: "ingress"

  EndpointSpec:
    description: "Properties that can be configured to access and load balance a service."
    type: "object"
    properties:
      Mode:
        description: "The mode of resolution to use for internal load balancing
      between tasks."
        type: "string"
        enum:
          - "vip"
          - "dnsrr"
        default: "vip"
      Ports:
        description: "List of exposed ports that this service is accessible on from the outside. Ports can only be provided if `vip` resolution mode is used."
        type: "array"
        items:
          $ref: "#/definitions/EndpointPortConfig"

  Service:
    type: "object"
    properties:
      ID:
        type: "string"
      Version:
        $ref: "#/definitions/ObjectVersion"
      CreatedAt:
        type: "string"
        format: "dateTime"
      UpdatedAt:
        type: "string"
        format: "dateTime"
      Spec:
        $ref: "#/definitions/ServiceSpec"
      Endpoint:
        type: "object"
        properties:
          Spec:
            $ref: "#/definitions/EndpointSpec"
          Ports:
            type: "array"
            items:
              $ref: "#/definitions/EndpointPortConfig"
          VirtualIPs:
            type: "array"
            items:
              type: "object"
              properties:
                NetworkID:
                  type: "string"
                Addr:
                  type: "string"
      UpdateStatus:
        description: "The status of a service update."
        type: "object"
        properties:
          State:
            type: "string"
            enum:
              - "updating"
              - "paused"
              - "completed"
          StartedAt:
            type: "string"
            format: "dateTime"
          CompletedAt:
            type: "string"
            format: "dateTime"
          Message:
            type: "string"
    example:
      ID: "9mnpnzenvg8p8tdbtq4wvbkcz"
      Version:
        Index: 19
      CreatedAt: "2016-06-07T21:05:51.880065305Z"
      UpdatedAt: "2016-06-07T21:07:29.962229872Z"
      Spec:
        Name: "hopeful_cori"
        TaskTemplate:
          ContainerSpec:
            Image: "redis"
          Resources:
            Limits: {}
            Reservations: {}
          RestartPolicy:
            Condition: "any"
            MaxAttempts: 0
          Placement: {}
          ForceUpdate: 0
        Mode:
          Replicated:
            Replicas: 1
        UpdateConfig:
          Parallelism: 1
          Delay: 1000000000
          FailureAction: "pause"
          Monitor: 15000000000
          MaxFailureRatio: 0.15
        RollbackConfig:
          Parallelism: 1
          Delay: 1000000000
          FailureAction: "pause"
          Monitor: 15000000000
          MaxFailureRatio: 0.15
        EndpointSpec:
          Mode: "vip"
          Ports:
            -
              Protocol: "tcp"
              TargetPort: 6379
              PublishedPort: 30001
      Endpoint:
        Spec:
          Mode: "vip"
          Ports:
            -
              Protocol: "tcp"
              TargetPort: 6379
              PublishedPort: 30001
        Ports:
          -
            Protocol: "tcp"
            TargetPort: 6379
            PublishedPort: 30001
        VirtualIPs:
          -
            NetworkID: "4qvuz4ko70xaltuqbt8956gd1"
            Addr: "10.255.0.2/16"
          -
            NetworkID: "4qvuz4ko70xaltuqbt8956gd1"
            Addr: "10.255.0.3/16"

  ImageDeleteResponseItem:
    type: "object"
    properties:
      Untagged:
        description: "The image ID of an image that was untagged"
        type: "string"
      Deleted:
        description: "The image ID of an image that was deleted"
        type: "string"

  ServiceUpdateResponse:
    type: "object"
    properties:
      Warnings:
        description: "Optional warning messages"
        type: "array"
        items:
          type: "string"
    example:
      Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found"

  ContainerSummary:
    type: "array"
    items:
      type: "object"
      properties:
        Id:
          description: "The ID of this container"
          type: "string"
          x-go-name: "ID"
        Names:
          description: "The names that this container has been given"
          type: "array"
          items:
            type: "string"
        Image:
          description: "The name of the image used when creating this container"
          type: "string"
        ImageID:
          description: "The ID of the image that this container was created from"
          type: "string"
        Command:
          description: "Command to run when starting the container"
          type: "string"
        Created:
          description: "When the container was created"
          type: "integer"
          format: "int64"
        Ports:
          description: "The ports exposed by this container"
          type: "array"
          items:
            $ref: "#/definitions/Port"
        SizeRw:
          description: "The size of files that have been created or changed by this container"
          type: "integer"
          format: "int64"
        SizeRootFs:
          description: "The total size of all the files in this container"
          type: "integer"
          format: "int64"
        Labels:
          description: "User-defined key/value metadata."
          type: "object"
          additionalProperties:
            type: "string"
        State:
          description: "The state of this container (e.g. `Exited`)"
          type: "string"
        Status:
          description: "Additional human-readable status of this container (e.g. `Exit 0`)"
          type: "string"
        HostConfig:
          type: "object"
          properties:
            NetworkMode:
              type: "string"
        NetworkSettings:
          description: "A summary of the container's network settings"
          type: "object"
          properties:
            Networks:
              type: "object"
              additionalProperties:
                $ref: "#/definitions/EndpointSettings"
        Mounts:
          type: "array"
          items:
            $ref: "#/definitions/Mount"

  Driver:
    description: "Driver represents a driver (network, logging, secrets)."
    type: "object"
    required: [Name]
    properties:
      Name:
        description: "Name of the driver."
        type: "string"
        x-nullable: false
        example: "some-driver"
      Options:
        description: "Key/value map of driver-specific options."
        type: "object"
        x-nullable: false
        additionalProperties:
          type: "string"
        example:
          OptionA: "value for driver-specific option A"
          OptionB: "value for driver-specific option B"

  SecretSpec:
    type: "object"
    properties:
      Name:
        description: "User-defined name of the secret."
        type: "string"
      Labels:
        description: "User-defined key/value metadata."
        type: "object"
        additionalProperties:
          type: "string"
        example:
          com.example.some-label: "some-value"
          com.example.some-other-label: "some-other-value"
      Data:
        description: |
          Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2))
          data to store as secret.

          This field is only used to _create_ a secret, and is not returned by
          other endpoints.
        type: "string"
        example: ""
      Driver:
        description: "Name of the secrets driver used to fetch the secret's value from an external secret store"
        $ref: "#/definitions/Driver"
      Templating:
        description: |
          Templating driver, if applicable

          Templating controls whether and how to evaluate the config payload as
          a template. If no driver is set, no templating is used.
        $ref: "#/definitions/Driver"

  Secret:
    type: "object"
    properties:
      ID:
        type: "string"
        example: "blt1owaxmitz71s9v5zh81zun"
      Version:
        $ref: "#/definitions/ObjectVersion"
      CreatedAt:
        type: "string"
        format: "dateTime"
        example: "2017-07-20T13:55:28.678958722Z"
      UpdatedAt:
        type: "string"
        format: "dateTime"
        example: "2017-07-20T13:55:28.678958722Z"
      Spec:
        $ref: "#/definitions/SecretSpec"

  ConfigSpec:
    type: "object"
    properties:
      Name:
        description: "User-defined name of the config."
        type: "string"
      Labels:
        description: "User-defined key/value metadata."
        type: "object"
        additionalProperties:
          type: "string"
      Data:
        description: |
          Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2))
          config data.
        type: "string"
      Templating:
        description: |
          Templating driver, if applicable

          Templating controls whether and how to evaluate the config payload as
          a template. If no driver is set, no templating is used.
        $ref: "#/definitions/Driver"

  Config:
    type: "object"
    properties:
      ID:
        type: "string"
      Version:
        $ref: "#/definitions/ObjectVersion"
      CreatedAt:
        type: "string"
        format: "dateTime"
      UpdatedAt:
        type: "string"
        format: "dateTime"
      Spec:
        $ref: "#/definitions/ConfigSpec"

  SystemInfo:
    type: "object"
    properties:
      ID:
        description: |
          Unique identifier of the daemon.

          <p><br /></p>

          > **Note**: The format of the ID itself is not part of the API, and
          > should not be considered stable.
        type: "string"
        example: "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS"
      Containers:
        description: "Total number of containers on the host."
        type: "integer"
        example: 14
      ContainersRunning:
        description: |
          Number of containers with status `"running"`.
        type: "integer"
        example: 3
      ContainersPaused:
        description: |
          Number of containers with status `"paused"`.
        type: "integer"
        example: 1
      ContainersStopped:
        description: |
          Number of containers with status `"stopped"`.
        type: "integer"
        example: 10
      Images:
        description: |
          Total number of images on the host.

          Both _tagged_ and _untagged_ (dangling) images are counted.
        type: "integer"
        example: 508
      Driver:
        description: "Name of the storage driver in use."
        type: "string"
        example: "overlay2"
      DriverStatus:
        description: |
          Information specific to the storage driver, provided as
          "label" / "value" pairs.

          This information is provided by the storage driver, and formatted
          in a way consistent with the output of `docker info` on the command
          line.

          <p><br /></p>

          > **Note**: The information returned in this field, including the
          > formatting of values and labels, should not be considered stable,
          > and may change without notice.
        type: "array"
        items:
          type: "array"
          items:
            type: "string"
        example:
          - ["Backing Filesystem", "extfs"]
          - ["Supports d_type", "true"]
          - ["Native Overlay Diff", "true"]
      DockerRootDir:
        description: |
          Root directory of persistent Docker state.

          Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker`
          on Windows.
        type: "string"
        example: "/var/lib/docker"
      SystemStatus:
        description: |
          Status information about this node (standalone Swarm API).

          <p><br /></p>

          > **Note**: The information returned in this field is only propagated
          > by the Swarm standalone API, and is empty (`null`) when using
          > built-in swarm mode.
        type: "array"
        items:
          type: "array"
          items:
            type: "string"
        example:
          - ["Role", "primary"]
          - ["State", "Healthy"]
          - ["Strategy", "spread"]
          - ["Filters", "health, port, containerslots, dependency, affinity, constraint, whitelist"]
          - ["Nodes", "2"]
          - [" swarm-agent-00", "192.168.99.102:2376"]
          - ["  └ ID", "5CT6:FBGO:RVGO:CZL4:PB2K:WCYN:2JSV:KSHH:GGFW:QOPG:6J5Q:IOZ2|192.168.99.102:2376"]
          - ["  └ Status", "Healthy"]
          - ["  └ Containers", "1 (1 Running, 0 Paused, 0 Stopped)"]
          - ["  └ Reserved CPUs", "0 / 1"]
          - ["  └ Reserved Memory", "0 B / 1.021 GiB"]
          - ["  └ Labels", "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs"]
          - ["  └ UpdatedAt", "2017-08-09T10:03:46Z"]
          - ["  └ ServerVersion", "17.06.0-ce"]
          - [" swarm-manager", "192.168.99.101:2376"]
          - ["  └ ID", "TAMD:7LL3:SEF7:LW2W:4Q2X:WVFH:RTXX:JSYS:XY2P:JEHL:ZMJK:JGIW|192.168.99.101:2376"]
          - ["  └ Status", "Healthy"]
          - ["  └ Containers", "2 (2 Running, 0 Paused, 0 Stopped)"]
          - ["  └ Reserved CPUs", "0 / 1"]
          - ["  └ Reserved Memory", "0 B / 1.021 GiB"]
          - ["  └ Labels", "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs"]
          - ["  └ UpdatedAt", "2017-08-09T10:04:11Z"]
          - ["  └ ServerVersion", "17.06.0-ce"]
      Plugins:
        $ref: "#/definitions/PluginsInfo"
      MemoryLimit:
        description: "Indicates if the host has memory limit support enabled."
        type: "boolean"
        example: true
      SwapLimit:
        description: "Indicates if the host has memory swap limit support enabled."
        type: "boolean"
        example: true
      KernelMemory:
        description: "Indicates if the host has kernel memory limit support enabled."
        type: "boolean"
        example: true
      CpuCfsPeriod:
        description: "Indicates if CPU CFS(Completely Fair Scheduler) period is supported by the host."
        type: "boolean"
        example: true
      CpuCfsQuota:
        description: "Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by the host."
        type: "boolean"
        example: true
      CPUShares:
        description: "Indicates if CPU Shares limiting is supported by the host."
        type: "boolean"
        example: true
      CPUSet:
        description: |
          Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.

          See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)
        type: "boolean"
        example: true
      OomKillDisable:
        description: "Indicates if OOM killer disable is supported on the host."
        type: "boolean"
      IPv4Forwarding:
        description: "Indicates IPv4 forwarding is enabled."
        type: "boolean"
        example: true
      BridgeNfIptables:
        description: "Indicates if `bridge-nf-call-iptables` is available on the host."
        type: "boolean"
        example: true
      BridgeNfIp6tables:
        description: "Indicates if `bridge-nf-call-ip6tables` is available on the host."
        type: "boolean"
        example: true
      Debug:
        description: "Indicates if the daemon is running in debug-mode / with debug-level logging enabled."
        type: "boolean"
        example: true
      NFd:
        description: |
          The total number of file Descriptors in use by the daemon process.

          This information is only returned if debug-mode is enabled.
        type: "integer"
        example: 64
      NGoroutines:
        description: |
          The  number of goroutines that currently exist.

          This information is only returned if debug-mode is enabled.
        type: "integer"
        example: 174
      SystemTime:
        description: |
          Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)
          format with nano-seconds.
        type: "string"
        example: "2017-08-08T20:28:29.06202363Z"
      LoggingDriver:
        description: |
          The logging driver to use as a default for new containers.
        type: "string"
      CgroupDriver:
        description: |
          The driver to use for managing cgroups.
        type: "string"
        enum: ["cgroupfs", "systemd"]
        default: "cgroupfs"
        example: "cgroupfs"
      NEventsListener:
        description: "Number of event listeners subscribed."
        type: "integer"
        example: 30
      KernelVersion:
        description: |
          Kernel version of the host.

          On Linux, this information obtained from `uname`. On Windows this
          information is queried from the <kbd>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\</kbd>
          registry value, for example _"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)"_.
        type: "string"
        example: "4.9.38-moby"
      OperatingSystem:
        description: |
          Name of the host's operating system, for example: "Ubuntu 16.04.2 LTS"
          or "Windows Server 2016 Datacenter"
        type: "string"
        example: "Alpine Linux v3.5"
      OSType:
        description: |
          Generic type of the operating system of the host, as returned by the
          Go runtime (`GOOS`).

          Currently returned values are "linux" and "windows". A full list of
          possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).
        type: "string"
        example: "linux"
      Architecture:
        description: |
          Hardware architecture of the host, as returned by the Go runtime
          (`GOARCH`).

          A full list of possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).
        type: "string"
        example: "x86_64"
      NCPU:
        description: |
          The number of logical CPUs usable by the daemon.

          The number of available CPUs is checked by querying the operating
          system when the daemon starts. Changes to operating system CPU
          allocation after the daemon is started are not reflected.
        type: "integer"
        example: 4
      MemTotal:
        description: |
          Total amount of physical memory available on the host, in kilobytes (kB).
        type: "integer"
        format: "int64"
        example: 2095882240

      IndexServerAddress:
        description: |
          Address / URL of the index server that is used for image search,
          and as a default for user authentication for Docker Hub and Docker Cloud.
        default: "https://index.docker.io/v1/"
        type: "string"
        example: "https://index.docker.io/v1/"
      RegistryConfig:
        $ref: "#/definitions/RegistryServiceConfig"
      GenericResources:
        $ref: "#/definitions/GenericResources"
      HttpProxy:
        description: |
          HTTP-proxy configured for the daemon. This value is obtained from the
          [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.
          Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL
          are masked in the API response.

          Containers do not automatically inherit this configuration.
        type: "string"
        example: "http://xxxxx:xxxxx@proxy.corp.example.com:8080"
      HttpsProxy:
        description: |
          HTTPS-proxy configured for the daemon. This value is obtained from the
          [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.
          Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL
          are masked in the API response.

          Containers do not automatically inherit this configuration.
        type: "string"
        example: "https://xxxxx:xxxxx@proxy.corp.example.com:4443"
      NoProxy:
        description: |
          Comma-separated list of domain extensions for which no proxy should be
          used. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
          environment variable.

          Containers do not automatically inherit this configuration.
        type: "string"
        example: "*.local, 169.254/16"
      Name:
        description: "Hostname of the host."
        type: "string"
        example: "node5.corp.example.com"
      Labels:
        description: |
          User-defined labels (key/value metadata) as set on the daemon.

          <p><br /></p>

          > **Note**: When part of a Swarm, nodes can both have _daemon_ labels,
          > set through the daemon configuration, and _node_ labels, set from a
          > manager node in the Swarm. Node labels are not included in this
          > field. Node labels can be retrieved using the `/nodes/(id)` endpoint
          > on a manager node in the Swarm.
        type: "array"
        items:
          type: "string"
        example: ["storage=ssd", "production"]
      ExperimentalBuild:
        description: |
          Indicates if experimental features are enabled on the daemon.
        type: "boolean"
        example: true
      ServerVersion:
        description: |
          Version string of the daemon.

          > **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
          > returns the Swarm version instead of the daemon  version, for example
          > `swarm/1.2.8`.
        type: "string"
        example: "17.06.0-ce"
      ClusterStore:
        description: |
          URL of the distributed storage backend.


          The storage backend is used for multihost networking (to store
          network and endpoint information) and by the node discovery mechanism.

          <p><br /></p>

          > **Note**: This field is only propagated when using standalone Swarm
          > mode, and overlay networking using an external k/v store. Overlay
          > networks with Swarm mode enabled use the built-in raft store, and
          > this field will be empty.
        type: "string"
        example: "consul://consul.corp.example.com:8600/some/path"
      ClusterAdvertise:
        description: |
          The network endpoint that the Engine advertises for the purpose of
          node discovery. ClusterAdvertise is a `host:port` combination on which
          the daemon is reachable by other hosts.

          <p><br /></p>

          > **Note**: This field is only propagated when using standalone Swarm
          > mode, and overlay networking using an external k/v store. Overlay
          > networks with Swarm mode enabled use the built-in raft store, and
          > this field will be empty.
        type: "string"
        example: "node5.corp.example.com:8000"
      Runtimes:
        description: |
          List of [OCI compliant](https://github.com/opencontainers/runtime-spec)
          runtimes configured on the daemon. Keys hold the "name" used to
          reference the runtime.

          The Docker daemon relies on an OCI compliant runtime (invoked via the
          `containerd` daemon) as its interface to the Linux kernel namespaces,
          cgroups, and SELinux.

          The default runtime is `runc`, and automatically configured. Additional
          runtimes can be configured by the user and will be listed here.
        type: "object"
        additionalProperties:
          $ref: "#/definitions/Runtime"
        default:
          runc:
            path: "runc"
        example:
          runc:
            path: "runc"
          runc-master:
            path: "/go/bin/runc"
          custom:
            path: "/usr/local/bin/my-oci-runtime"
            runtimeArgs: ["--debug", "--systemd-cgroup=false"]
      DefaultRuntime:
        description: |
          Name of the default OCI runtime that is used when starting containers.

          The default can be overridden per-container at create time.
        type: "string"
        default: "runc"
        example: "runc"
      Swarm:
        $ref: "#/definitions/SwarmInfo"
      LiveRestoreEnabled:
        description: |
          Indicates if live restore is enabled.

          If enabled, containers are kept running when the daemon is shutdown
          or upon daemon start if running containers are detected.
        type: "boolean"
        default: false
        example: false
      Isolation:
        description: |
          Represents the isolation technology to use as a default for containers.
          The supported values are platform-specific.

          If no isolation value is specified on daemon start, on Windows client,
          the default is `hyperv`, and on Windows server, the default is `process`.

          This option is currently not used on other platforms.
        default: "default"
        type: "string"
        enum:
          - "default"
          - "hyperv"
          - "process"
      InitBinary:
        description: |
          Name and, optional, path of the `docker-init` binary.

          If the path is omitted, the daemon searches the host's `$PATH` for the
          binary and uses the first result.
        type: "string"
        example: "docker-init"
      ContainerdCommit:
        $ref: "#/definitions/Commit"
      RuncCommit:
        $ref: "#/definitions/Commit"
      InitCommit:
        $ref: "#/definitions/Commit"
      SecurityOptions:
        description: |
          List of security features that are enabled on the daemon, such as
          apparmor, seccomp, SELinux, and user-namespaces (userns).

          Additional configuration options for each security feature may
          be present, and are included as a comma-separated list of key/value
          pairs.
        type: "array"
        items:
          type: "string"
        example:
          - "name=apparmor"
          - "name=seccomp,profile=default"
          - "name=selinux"
          - "name=userns"
      ProductLicense:
        description: |
          Reports a summary of the product license on the daemon.

          If a commercial license has been applied to the daemon, information
          such as number of nodes, and expiration are included.
        type: "string"
        example: "Community Engine"
      Warnings:
        description: |
          List of warnings / informational messages about missing features, or
          issues related to the daemon configuration.

          These messages can be printed by the client as information to the user.
        type: "array"
        items:
          type: "string"
        example:
          - "WARNING: No memory limit support"
          - "WARNING: bridge-nf-call-iptables is disabled"
          - "WARNING: bridge-nf-call-ip6tables is disabled"


  # PluginsInfo is a temp struct holding Plugins name
  # registered with docker daemon. It is used by Info struct
  PluginsInfo:
    description: |
      Available plugins per type.

      <p><br /></p>

      > **Note**: Only unmanaged (V1) plugins are included in this list.
      > V1 plugins are "lazily" loaded, and are not returned in this list
      > if there is no resource using the plugin.
    type: "object"
    properties:
      Volume:
        description: "Names of available volume-drivers, and network-driver plugins."
        type: "array"
        items:
          type: "string"
        example: ["local"]
      Network:
        description: "Names of available network-drivers, and network-driver plugins."
        type: "array"
        items:
          type: "string"
        example: ["bridge", "host", "ipvlan", "macvlan", "null", "overlay"]
      Authorization:
        description: "Names of available authorization plugins."
        type: "array"
        items:
          type: "string"
        example: ["img-authz-plugin", "hbm"]
      Log:
        description: "Names of available logging-drivers, and logging-driver plugins."
        type: "array"
        items:
          type: "string"
        example: ["awslogs", "fluentd", "gcplogs", "gelf", "journald", "json-file", "logentries", "splunk", "syslog"]


  RegistryServiceConfig:
    description: |
      RegistryServiceConfig stores daemon registry services configuration.
    type: "object"
    x-nullable: true
    properties:
      AllowNondistributableArtifactsCIDRs:
        description: |
          List of IP ranges to which nondistributable artifacts can be pushed,
          using the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632).

          Some images (for example, Windows base images) contain artifacts
          whose distribution is restricted by license. When these images are
          pushed to a registry, restricted artifacts are not included.

          This configuration override this behavior, and enables the daemon to
          push nondistributable artifacts to all registries whose resolved IP
          address is within the subnet described by the CIDR syntax.

          This option is useful when pushing images containing
          nondistributable artifacts to a registry on an air-gapped network so
          hosts on that network can pull the images without connecting to
          another server.

          > **Warning**: Nondistributable artifacts typically have restrictions
          > on how and where they can be distributed and shared. Only use this
          > feature to push artifacts to private registries and ensure that you
          > are in compliance with any terms that cover redistributing
          > nondistributable artifacts.

        type: "array"
        items:
          type: "string"
        example: ["::1/128", "127.0.0.0/8"]
      AllowNondistributableArtifactsHostnames:
        description: |
          List of registry hostnames to which nondistributable artifacts can be
          pushed, using the format `<hostname>[:<port>]` or `<IP address>[:<port>]`.

          Some images (for example, Windows base images) contain artifacts
          whose distribution is restricted by license. When these images are
          pushed to a registry, restricted artifacts are not included.

          This configuration override this behavior for the specified
          registries.

          This option is useful when pushing images containing
          nondistributable artifacts to a registry on an air-gapped network so
          hosts on that network can pull the images without connecting to
          another server.

          > **Warning**: Nondistributable artifacts typically have restrictions
          > on how and where they can be distributed and shared. Only use this
          > feature to push artifacts to private registries and ensure that you
          > are in compliance with any terms that cover redistributing
          > nondistributable artifacts.
        type: "array"
        items:
          type: "string"
        example: ["registry.internal.corp.example.com:3000", "[2001:db8:a0b:12f0::1]:443"]
      InsecureRegistryCIDRs:
        description: |
          List of IP ranges of insecure registries, using the CIDR syntax
          ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries
          accept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates
          from unknown CAs) communication.

          By default, local registries (`127.0.0.0/8`) are configured as
          insecure. All other registries are secure. Communicating with an
          insecure registry is not possible if the daemon assumes that registry
          is secure.

          This configuration override this behavior, insecure communication with
          registries whose resolved IP address is within the subnet described by
          the CIDR syntax.

          Registries can also be marked insecure by hostname. Those registries
          are listed under `IndexConfigs` and have their `Secure` field set to
          `false`.

          > **Warning**: Using this option can be useful when running a local
          > registry, but introduces security vulnerabilities. This option
          > should therefore ONLY be used for testing purposes. For increased
          > security, users should add their CA to their system's list of trusted
          > CAs instead of enabling this option.
        type: "array"
        items:
          type: "string"
        example: ["::1/128", "127.0.0.0/8"]
      IndexConfigs:
        type: "object"
        additionalProperties:
          $ref: "#/definitions/IndexInfo"
        example:
          "127.0.0.1:5000":
            "Name": "127.0.0.1:5000"
            "Mirrors": []
            "Secure": false
            "Official": false
          "[2001:db8:a0b:12f0::1]:80":
            "Name": "[2001:db8:a0b:12f0::1]:80"
            "Mirrors": []
            "Secure": false
            "Official": false
          "docker.io":
            Name: "docker.io"
            Mirrors: ["https://hub-mirror.corp.example.com:5000/"]
            Secure: true
            Official: true
          "registry.internal.corp.example.com:3000":
            Name: "registry.internal.corp.example.com:3000"
            Mirrors: []
            Secure: false
            Official: false
      Mirrors:
        description: |
          List of registry URLs that act as a mirror for the official
          (`docker.io`) registry.

        type: "array"
        items:
          type: "string"
        example:
          - "https://hub-mirror.corp.example.com:5000/"
          - "https://[2001:db8:a0b:12f0::1]/"

  IndexInfo:
    description:
      IndexInfo contains information about a registry.
    type: "object"
    x-nullable: true
    properties:
      Name:
        description: |
          Name of the registry, such as "docker.io".
        type: "string"
        example: "docker.io"
      Mirrors:
        description: |
          List of mirrors, expressed as URIs.
        type: "array"
        items:
          type: "string"
        example:
          - "https://hub-mirror.corp.example.com:5000/"
          - "https://registry-2.docker.io/"
          - "https://registry-3.docker.io/"
      Secure:
        description: |
          Indicates if the registry is part of the list of insecure
          registries.

          If `false`, the registry is insecure. Insecure registries accept
          un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from
          unknown CAs) communication.

          > **Warning**: Insecure registries can be useful when running a local
          > registry. However, because its use creates security vulnerabilities
          > it should ONLY be enabled for testing purposes. For increased
          > security, users should add their CA to their system's list of
          > trusted CAs instead of enabling this option.
        type: "boolean"
        example: true
      Official:
        description: |
          Indicates whether this is an official registry (i.e., Docker Hub / docker.io)
        type: "boolean"
        example: true

  Runtime:
    description: |
      Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec)
      runtime.

      The runtime is invoked by the daemon via the `containerd` daemon. OCI
      runtimes act as an interface to the Linux kernel namespaces, cgroups,
      and SELinux.
    type: "object"
    properties:
      path:
        description: |
          Name and, optional, path, of the OCI executable binary.

          If the path is omitted, the daemon searches the host's `$PATH` for the
          binary and uses the first result.
        type: "string"
        example: "/usr/local/bin/my-oci-runtime"
      runtimeArgs:
        description: |
          List of command-line arguments to pass to the runtime when invoked.
        type: "array"
        x-nullable: true
        items:
          type: "string"
        example: ["--debug", "--systemd-cgroup=false"]

  Commit:
    description: |
      Commit holds the Git-commit (SHA1) that a binary was built from, as
      reported in the version-string of external tools, such as `containerd`,
      or `runC`.
    type: "object"
    properties:
      ID:
        description: "Actual commit ID of external tool."
        type: "string"
        example: "cfb82a876ecc11b5ca0977d1733adbe58599088a"
      Expected:
        description: |
          Commit ID of external tool expected by dockerd as set at build time.
        type: "string"
        example: "2d41c047c83e09a6d61d464906feb2a2f3c52aa4"

  SwarmInfo:
    description: |
      Represents generic information about swarm.
    type: "object"
    properties:
      NodeID:
        description: "Unique identifier of for this node in the swarm."
        type: "string"
        default: ""
        example: "k67qz4598weg5unwwffg6z1m1"
      NodeAddr:
        description: |
          IP address at which this node can be reached by other nodes in the
          swarm.
        type: "string"
        default: ""
        example: "10.0.0.46"
      LocalNodeState:
        $ref: "#/definitions/LocalNodeState"
      ControlAvailable:
        type: "boolean"
        default: false
        example: true
      Error:
        type: "string"
        default: ""
      RemoteManagers:
        description: |
          List of ID's and addresses of other managers in the swarm.
        type: "array"
        default: null
        x-nullable: true
        items:
          $ref: "#/definitions/PeerNode"
        example:
          - NodeID: "71izy0goik036k48jg985xnds"
            Addr: "10.0.0.158:2377"
          - NodeID: "79y6h1o4gv8n120drcprv5nmc"
            Addr: "10.0.0.159:2377"
          - NodeID: "k67qz4598weg5unwwffg6z1m1"
            Addr: "10.0.0.46:2377"
      Nodes:
        description: "Total number of nodes in the swarm."
        type: "integer"
        x-nullable: true
        example: 4
      Managers:
        description: "Total number of managers in the swarm."
        type: "integer"
        x-nullable: true
        example: 3
      Cluster:
        $ref: "#/definitions/ClusterInfo"

  LocalNodeState:
    description: "Current local status of this node."
    type: "string"
    default: ""
    enum:
      - ""
      - "inactive"
      - "pending"
      - "active"
      - "error"
      - "locked"
    example: "active"

  PeerNode:
    description: "Represents a peer-node in the swarm"
    properties:
      NodeID:
        description: "Unique identifier of for this node in the swarm."
        type: "string"
      Addr:
        description: |
          IP address and ports at which this node can be reached.
        type: "string"

paths:
  /containers/json:
    get:
      summary: "List containers"
      description: |
        Returns a list of containers. For details on the format, see [the inspect endpoint](#operation/ContainerInspect).

        Note that it uses a different, smaller representation of a container than inspecting a single container. For example,
        the list of linked containers is not propagated .
      operationId: "ContainerList"
      produces:
        - "application/json"
      parameters:
        - name: "all"
          in: "query"
          description: "Return all containers. By default, only running containers are shown"
          type: "boolean"
          default: false
        - name: "limit"
          in: "query"
          description: "Return this number of most recently created containers, including non-running ones."
          type: "integer"
        - name: "size"
          in: "query"
          description: "Return the size of container as fields `SizeRw` and `SizeRootFs`."
          type: "boolean"
          default: false
        - name: "filters"
          in: "query"
          description: |
            Filters to process on the container list, encoded as JSON (a `map[string][]string`). For example, `{"status": ["paused"]}` will only return paused containers. Available filters:

            - `ancestor`=(`<image-name>[:<tag>]`, `<image id>`, or `<image@digest>`)
            - `before`=(`<container id>` or `<container name>`)
            - `expose`=(`<port>[/<proto>]`|`<startport-endport>/[<proto>]`)
            - `exited=<int>` containers with exit code of `<int>`
            - `health`=(`starting`|`healthy`|`unhealthy`|`none`)
            - `id=<ID>` a container's ID
            - `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only)
            - `is-task=`(`true`|`false`)
            - `label=key` or `label="key=value"` of a container label
            - `name=<name>` a container's name
            - `network`=(`<network id>` or `<network name>`)
            - `publish`=(`<port>[/<proto>]`|`<startport-endport>/[<proto>]`)
            - `since`=(`<container id>` or `<container name>`)
            - `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`)
            - `volume`=(`<volume name>` or `<mount point destination>`)
          type: "string"
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/ContainerSummary"
          examples:
            application/json:
              - Id: "8dfafdbc3a40"
                Names:
                  - "/boring_feynman"
                Image: "ubuntu:latest"
                ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
                Command: "echo 1"
                Created: 1367854155
                State: "Exited"
                Status: "Exit 0"
                Ports:
                  - PrivatePort: 2222
                    PublicPort: 3333
                    Type: "tcp"
                Labels:
                  com.example.vendor: "Acme"
                  com.example.license: "GPL"
                  com.example.version: "1.0"
                SizeRw: 12288
                SizeRootFs: 0
                HostConfig:
                  NetworkMode: "default"
                NetworkSettings:
                  Networks:
                    bridge:
                      NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
                      EndpointID: "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f"
                      Gateway: "172.17.0.1"
                      IPAddress: "172.17.0.2"
                      IPPrefixLen: 16
                      IPv6Gateway: ""
                      GlobalIPv6Address: ""
                      GlobalIPv6PrefixLen: 0
                      MacAddress: "02:42:ac:11:00:02"
                Mounts:
                  - Name: "fac362...80535"
                    Source: "/data"
                    Destination: "/data"
                    Driver: "local"
                    Mode: "ro,Z"
                    RW: false
                    Propagation: ""
              - Id: "9cd87474be90"
                Names:
                  - "/coolName"
                Image: "ubuntu:latest"
                ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
                Command: "echo 222222"
                Created: 1367854155
                State: "Exited"
                Status: "Exit 0"
                Ports: []
                Labels: {}
                SizeRw: 12288
                SizeRootFs: 0
                HostConfig:
                  NetworkMode: "default"
                NetworkSettings:
                  Networks:
                    bridge:
                      NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
                      EndpointID: "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a"
                      Gateway: "172.17.0.1"
                      IPAddress: "172.17.0.8"
                      IPPrefixLen: 16
                      IPv6Gateway: ""
                      GlobalIPv6Address: ""
                      GlobalIPv6PrefixLen: 0
                      MacAddress: "02:42:ac:11:00:08"
                Mounts: []
              - Id: "3176a2479c92"
                Names:
                  - "/sleepy_dog"
                Image: "ubuntu:latest"
                ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
                Command: "echo 3333333333333333"
                Created: 1367854154
                State: "Exited"
                Status: "Exit 0"
                Ports: []
                Labels: {}
                SizeRw: 12288
                SizeRootFs: 0
                HostConfig:
                  NetworkMode: "default"
                NetworkSettings:
                  Networks:
                    bridge:
                      NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
                      EndpointID: "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d"
                      Gateway: "172.17.0.1"
                      IPAddress: "172.17.0.6"
                      IPPrefixLen: 16
                      IPv6Gateway: ""
                      GlobalIPv6Address: ""
                      GlobalIPv6PrefixLen: 0
                      MacAddress: "02:42:ac:11:00:06"
                Mounts: []
              - Id: "4cb07b47f9fb"
                Names:
                  - "/running_cat"
                Image: "ubuntu:latest"
                ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
                Command: "echo 444444444444444444444444444444444"
                Created: 1367854152
                State: "Exited"
                Status: "Exit 0"
                Ports: []
                Labels: {}
                SizeRw: 12288
                SizeRootFs: 0
                HostConfig:
                  NetworkMode: "default"
                NetworkSettings:
                  Networks:
                    bridge:
                      NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
                      EndpointID: "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9"
                      Gateway: "172.17.0.1"
                      IPAddress: "172.17.0.5"
                      IPPrefixLen: 16
                      IPv6Gateway: ""
                      GlobalIPv6Address: ""
                      GlobalIPv6PrefixLen: 0
                      MacAddress: "02:42:ac:11:00:05"
                Mounts: []
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Container"]
  /containers/create:
    post:
      summary: "Create a container"
      operationId: "ContainerCreate"
      consumes:
        - "application/json"
        - "application/octet-stream"
      produces:
        - "application/json"
      parameters:
        - name: "name"
          in: "query"
          description: "Assign the specified name to the container. Must match `/?[a-zA-Z0-9_-]+`."
          type: "string"
          pattern: "/?[a-zA-Z0-9_-]+"
        - name: "body"
          in: "body"
          description: "Container to create"
          schema:
            allOf:
              - $ref: "#/definitions/ContainerConfig"
              - type: "object"
                properties:
                  HostConfig:
                    $ref: "#/definitions/HostConfig"
                  NetworkingConfig:
                    description: "This container's networking configuration."
                    type: "object"
                    properties:
                      EndpointsConfig:
                        description: "A mapping of network name to endpoint configuration for that network."
                        type: "object"
                        additionalProperties:
                          $ref: "#/definitions/EndpointSettings"
            example:
              Hostname: ""
              Domainname: ""
              User: ""
              AttachStdin: false
              AttachStdout: true
              AttachStderr: true
              Tty: false
              OpenStdin: false
              StdinOnce: false
              Env:
                - "FOO=bar"
                - "BAZ=quux"
              Cmd:
                - "date"
              Entrypoint: ""
              Image: "ubuntu"
              Labels:
                com.example.vendor: "Acme"
                com.example.license: "GPL"
                com.example.version: "1.0"
              Volumes:
                /volumes/data: {}
              WorkingDir: ""
              NetworkDisabled: false
              MacAddress: "12:34:56:78:9a:bc"
              ExposedPorts:
                22/tcp: {}
              StopSignal: "SIGTERM"
              StopTimeout: 10
              HostConfig:
                Binds:
                  - "/tmp:/tmp"
                Links:
                  - "redis3:redis"
                Memory: 0
                MemorySwap: 0
                MemoryReservation: 0
                KernelMemory: 0
                NanoCPUs: 500000
                CpuPercent: 80
                CpuShares: 512
                CpuPeriod: 100000
                CpuRealtimePeriod: 1000000
                CpuRealtimeRuntime: 10000
                CpuQuota: 50000
                CpusetCpus: "0,1"
                CpusetMems: "0,1"
                MaximumIOps: 0
                MaximumIOBps: 0
                BlkioWeight: 300
                BlkioWeightDevice:
                  - {}
                BlkioDeviceReadBps:
                  - {}
                BlkioDeviceReadIOps:
                  - {}
                BlkioDeviceWriteBps:
                  - {}
                BlkioDeviceWriteIOps:
                  - {}
                MemorySwappiness: 60
                OomKillDisable: false
                OomScoreAdj: 500
                PidMode: ""
                PidsLimit: -1
                PortBindings:
                  22/tcp:
                    - HostPort: "11022"
                PublishAllPorts: false
                Privileged: false
                ReadonlyRootfs: false
                Dns:
                  - "8.8.8.8"
                DnsOptions:
                  - ""
                DnsSearch:
                  - ""
                VolumesFrom:
                  - "parent"
                  - "other:ro"
                CapAdd:
                  - "NET_ADMIN"
                CapDrop:
                  - "MKNOD"
                GroupAdd:
                  - "newgroup"
                RestartPolicy:
                  Name: ""
                  MaximumRetryCount: 0
                AutoRemove: true
                NetworkMode: "bridge"
                Devices: []
                Ulimits:
                  - {}
                LogConfig:
                  Type: "json-file"
                  Config: {}
                SecurityOpt: []
                StorageOpt: {}
                CgroupParent: ""
                VolumeDriver: ""
                ShmSize: 67108864
              NetworkingConfig:
                EndpointsConfig:
                  isolated_nw:
                    IPAMConfig:
                      IPv4Address: "172.20.30.33"
                      IPv6Address: "2001:db8:abcd::3033"
                      LinkLocalIPs:
                        - "169.254.34.68"
                        - "fe80::3468"
                    Links:
                      - "container_1"
                      - "container_2"
                    Aliases:
                      - "server_x"
                      - "server_y"

          required: true
      responses:
        201:
          description: "Container created successfully"
          schema:
            type: "object"
            title: "ContainerCreateResponse"
            description: "OK response to ContainerCreate operation"
            required: [Id, Warnings]
            properties:
              Id:
                description: "The ID of the created container"
                type: "string"
                x-nullable: false
              Warnings:
                description: "Warnings encountered when creating the container"
                type: "array"
                x-nullable: false
                items:
                  type: "string"
          examples:
            application/json:
              Id: "e90e34656806"
              Warnings: []
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        409:
          description: "conflict"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Container"]
  /containers/{id}/json:
    get:
      summary: "Inspect a container"
      description: "Return low-level information about a container."
      operationId: "ContainerInspect"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
          schema:
            type: "object"
            title: "ContainerInspectResponse"
            properties:
              Id:
                description: "The ID of the container"
                type: "string"
              Created:
                description: "The time the container was created"
                type: "string"
              Path:
                description: "The path to the command being run"
                type: "string"
              Args:
                description: "The arguments to the command being run"
                type: "array"
                items:
                  type: "string"
              State:
                description: "The state of the container."
                type: "object"
                properties:
                  Status:
                    description: |
                      The status of the container. For example, `"running"` or `"exited"`.
                    type: "string"
                    enum: ["created", "running", "paused", "restarting", "removing", "exited", "dead"]
                  Running:
                    description: |
                      Whether this container is running.

                      Note that a running container can be _paused_. The `Running` and `Paused`
                      booleans are not mutually exclusive:

                      When pausing a container (on Linux), the cgroups freezer is used to suspend
                      all processes in the container. Freezing the process requires the process to
                      be running. As a result, paused containers are both `Running` _and_ `Paused`.

                      Use the `Status` field instead to determine if a container's state is "running".
                    type: "boolean"
                  Paused:
                    description: "Whether this container is paused."
                    type: "boolean"
                  Restarting:
                    description: "Whether this container is restarting."
                    type: "boolean"
                  OOMKilled:
                    description: "Whether this container has been killed because it ran out of memory."
                    type: "boolean"
                  Dead:
                    type: "boolean"
                  Pid:
                    description: "The process ID of this container"
                    type: "integer"
                  ExitCode:
                    description: "The last exit code of this container"
                    type: "integer"
                  Error:
                    type: "string"
                  StartedAt:
                    description: "The time when this container was last started."
                    type: "string"
                  FinishedAt:
                    description: "The time when this container last exited."
                    type: "string"
              Image:
                description: "The container's image"
                type: "string"
              ResolvConfPath:
                type: "string"
              HostnamePath:
                type: "string"
              HostsPath:
                type: "string"
              LogPath:
                type: "string"
              Node:
                description: "TODO"
                type: "object"
              Name:
                type: "string"
              RestartCount:
                type: "integer"
              Driver:
                type: "string"
              MountLabel:
                type: "string"
              ProcessLabel:
                type: "string"
              AppArmorProfile:
                type: "string"
              ExecIDs:
                description: "IDs of exec instances that are running in the container."
                type: "array"
                items:
                  type: "string"
                x-nullable: true
              HostConfig:
                $ref: "#/definitions/HostConfig"
              GraphDriver:
                $ref: "#/definitions/GraphDriverData"
              SizeRw:
                description: "The size of files that have been created or changed by this container."
                type: "integer"
                format: "int64"
              SizeRootFs:
                description: "The total size of all the files in this container."
                type: "integer"
                format: "int64"
              Mounts:
                type: "array"
                items:
                  $ref: "#/definitions/MountPoint"
              Config:
                $ref: "#/definitions/ContainerConfig"
              NetworkSettings:
                $ref: "#/definitions/NetworkSettings"
          examples:
            application/json:
              AppArmorProfile: ""
              Args:
                - "-c"
                - "exit 9"
              Config:
                AttachStderr: true
                AttachStdin: false
                AttachStdout: true
                Cmd:
                  - "/bin/sh"
                  - "-c"
                  - "exit 9"
                Domainname: ""
                Env:
                  - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                Hostname: "ba033ac44011"
                Image: "ubuntu"
                Labels:
                  com.example.vendor: "Acme"
                  com.example.license: "GPL"
                  com.example.version: "1.0"
                MacAddress: ""
                NetworkDisabled: false
                OpenStdin: false
                StdinOnce: false
                Tty: false
                User: ""
                Volumes:
                  /volumes/data: {}
                WorkingDir: ""
                StopSignal: "SIGTERM"
                StopTimeout: 10
              Created: "2015-01-06T15:47:31.485331387Z"
              Driver: "devicemapper"
              ExecIDs:
                - "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca"
                - "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4"
              HostConfig:
                MaximumIOps: 0
                MaximumIOBps: 0
                BlkioWeight: 0
                BlkioWeightDevice:
                  - {}
                BlkioDeviceReadBps:
                  - {}
                BlkioDeviceWriteBps:
                  - {}
                BlkioDeviceReadIOps:
                  - {}
                BlkioDeviceWriteIOps:
                  - {}
                ContainerIDFile: ""
                CpusetCpus: ""
                CpusetMems: ""
                CpuPercent: 80
                CpuShares: 0
                CpuPeriod: 100000
                CpuRealtimePeriod: 1000000
                CpuRealtimeRuntime: 10000
                Devices: []
                IpcMode: ""
                LxcConf: []
                Memory: 0
                MemorySwap: 0
                MemoryReservation: 0
                KernelMemory: 0
                OomKillDisable: false
                OomScoreAdj: 500
                NetworkMode: "bridge"
                PidMode: ""
                PortBindings: {}
                Privileged: false
                ReadonlyRootfs: false
                PublishAllPorts: false
                RestartPolicy:
                  MaximumRetryCount: 2
                  Name: "on-failure"
                LogConfig:
                  Type: "json-file"
                Sysctls:
                  net.ipv4.ip_forward: "1"
                Ulimits:
                  - {}
                VolumeDriver: ""
                ShmSize: 67108864
              HostnamePath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname"
              HostsPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts"
              LogPath: "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log"
              Id: "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39"
              Image: "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2"
              MountLabel: ""
              Name: "/boring_euclid"
              NetworkSettings:
                Bridge: ""
                SandboxID: ""
                HairpinMode: false
                LinkLocalIPv6Address: ""
                LinkLocalIPv6PrefixLen: 0
                SandboxKey: ""
                EndpointID: ""
                Gateway: ""
                GlobalIPv6Address: ""
                GlobalIPv6PrefixLen: 0
                IPAddress: ""
                IPPrefixLen: 0
                IPv6Gateway: ""
                MacAddress: ""
                Networks:
                  bridge:
                    NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
                    EndpointID: "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d"
                    Gateway: "172.17.0.1"
                    IPAddress: "172.17.0.2"
                    IPPrefixLen: 16
                    IPv6Gateway: ""
                    GlobalIPv6Address: ""
                    GlobalIPv6PrefixLen: 0
                    MacAddress: "02:42:ac:12:00:02"
              Path: "/bin/sh"
              ProcessLabel: ""
              ResolvConfPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf"
              RestartCount: 1
              State:
                Error: ""
                ExitCode: 9
                FinishedAt: "2015-01-06T15:47:32.080254511Z"
                OOMKilled: false
                Dead: false
                Paused: false
                Pid: 0
                Restarting: false
                Running: true
                StartedAt: "2015-01-06T15:47:32.072697474Z"
                Status: "running"
              Mounts:
                - Name: "fac362...80535"
                  Source: "/data"
                  Destination: "/data"
                  Driver: "local"
                  Mode: "ro,Z"
                  RW: false
                  Propagation: ""
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "size"
          in: "query"
          type: "boolean"
          default: false
          description: "Return the size of container as fields `SizeRw` and `SizeRootFs`"
      tags: ["Container"]
  /containers/{id}/top:
    get:
      summary: "List processes running inside a container"
      description: "On Unix systems, this is done by running the `ps` command. This endpoint is not supported on Windows."
      operationId: "ContainerTop"
      responses:
        200:
          description: "no error"
          schema:
            type: "object"
            title: "ContainerTopResponse"
            description: "OK response to ContainerTop operation"
            properties:
              Titles:
                description: "The ps column titles"
                type: "array"
                items:
                  type: "string"
              Processes:
                description: "Each process running in the container, where each is process is an array of values corresponding to the titles"
                type: "array"
                items:
                  type: "array"
                  items:
                    type: "string"
          examples:
            application/json:
              Titles:
                - "UID"
                - "PID"
                - "PPID"
                - "C"
                - "STIME"
                - "TTY"
                - "TIME"
                - "CMD"
              Processes:
                -
                  - "root"
                  - "13642"
                  - "882"
                  - "0"
                  - "17:03"
                  - "pts/0"
                  - "00:00:00"
                  - "/bin/bash"
                -
                  - "root"
                  - "13735"
                  - "13642"
                  - "0"
                  - "17:06"
                  - "pts/0"
                  - "00:00:00"
                  - "sleep 10"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "ps_args"
          in: "query"
          description: "The arguments to pass to `ps`. For example, `aux`"
          type: "string"
          default: "-ef"
      tags: ["Container"]
  /containers/{id}/logs:
    get:
      summary: "Get container logs"
      description: |
        Get `stdout` and `stderr` logs from a container.

        Note: This endpoint works only for containers with the `json-file` or `journald` logging driver.
      operationId: "ContainerLogs"
      responses:
        101:
          description: "logs returned as a stream"
          schema:
            type: "string"
            format: "binary"
        200:
          description: "logs returned as a string in response body"
          schema:
            type: "string"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "follow"
          in: "query"
          description: |
            Return the logs as a stream.

            This will return a `101` HTTP response with a `Connection: upgrade` header, then hijack the HTTP connection to send raw output. For more information about hijacking and the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).
          type: "boolean"
          default: false
        - name: "stdout"
          in: "query"
          description: "Return logs from `stdout`"
          type: "boolean"
          default: false
        - name: "stderr"
          in: "query"
          description: "Return logs from `stderr`"
          type: "boolean"
          default: false
        - name: "since"
          in: "query"
          description: "Only return logs since this time, as a UNIX timestamp"
          type: "integer"
          default: 0
        - name: "until"
          in: "query"
          description: "Only return logs before this time, as a UNIX timestamp"
          type: "integer"
          default: 0
        - name: "timestamps"
          in: "query"
          description: "Add timestamps to every log line"
          type: "boolean"
          default: false
        - name: "tail"
          in: "query"
          description: "Only return this number of log lines from the end of the logs. Specify as an integer or `all` to output all log lines."
          type: "string"
          default: "all"
      tags: ["Container"]
  /containers/{id}/changes:
    get:
      summary: "Get changes on a container’s filesystem"
      description: |
        Returns which files in a container's filesystem have been added, deleted,
        or modified. The `Kind` of modification can be one of:

        - `0`: Modified
        - `1`: Added
        - `2`: Deleted
      operationId: "ContainerChanges"
      produces: ["application/json"]
      responses:
        200:
          description: "The list of changes"
          schema:
            type: "array"
            items:
              type: "object"
              x-go-name: "ContainerChangeResponseItem"
              title: "ContainerChangeResponseItem"
              description: "change item in response to ContainerChanges operation"
              required: [Path, Kind]
              properties:
                Path:
                  description: "Path to file that has changed"
                  type: "string"
                  x-nullable: false
                Kind:
                  description: "Kind of change"
                  type: "integer"
                  format: "uint8"
                  enum: [0, 1, 2]
                  x-nullable: false
          examples:
            application/json:
              - Path: "/dev"
                Kind: 0
              - Path: "/dev/kmsg"
                Kind: 1
              - Path: "/test"
                Kind: 1
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
      tags: ["Container"]
  /containers/{id}/export:
    get:
      summary: "Export a container"
      description: "Export the contents of a container as a tarball."
      operationId: "ContainerExport"
      produces:
        - "application/octet-stream"
      responses:
        200:
          description: "no error"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
      tags: ["Container"]
  /containers/{id}/stats:
    get:
      summary: "Get container stats based on resource usage"
      description: |
        This endpoint returns a live stream of a container’s resource usage
        statistics.

        The `precpu_stats` is the CPU statistic of the *previous* read, and is
        used to calculate the CPU usage percentage. It is not an exact copy
        of the `cpu_stats` field.

        If either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is
        nil then for compatibility with older daemons the length of the
        corresponding `cpu_usage.percpu_usage` array should be used.
      operationId: "ContainerStats"
      produces: ["application/json"]
      responses:
        200:
          description: "no error"
          schema:
            type: "object"
          examples:
            application/json:
              read: "2015-01-08T22:57:31.547920715Z"
              pids_stats:
                current: 3
              networks:
                eth0:
                  rx_bytes: 5338
                  rx_dropped: 0
                  rx_errors: 0
                  rx_packets: 36
                  tx_bytes: 648
                  tx_dropped: 0
                  tx_errors: 0
                  tx_packets: 8
                eth5:
                  rx_bytes: 4641
                  rx_dropped: 0
                  rx_errors: 0
                  rx_packets: 26
                  tx_bytes: 690
                  tx_dropped: 0
                  tx_errors: 0
                  tx_packets: 9
              memory_stats:
                stats:
                  total_pgmajfault: 0
                  cache: 0
                  mapped_file: 0
                  total_inactive_file: 0
                  pgpgout: 414
                  rss: 6537216
                  total_mapped_file: 0
                  writeback: 0
                  unevictable: 0
                  pgpgin: 477
                  total_unevictable: 0
                  pgmajfault: 0
                  total_rss: 6537216
                  total_rss_huge: 6291456
                  total_writeback: 0
                  total_inactive_anon: 0
                  rss_huge: 6291456
                  hierarchical_memory_limit: 67108864
                  total_pgfault: 964
                  total_active_file: 0
                  active_anon: 6537216
                  total_active_anon: 6537216
                  total_pgpgout: 414
                  total_cache: 0
                  inactive_anon: 0
                  active_file: 0
                  pgfault: 964
                  inactive_file: 0
                  total_pgpgin: 477
                max_usage: 6651904
                usage: 6537216
                failcnt: 0
                limit: 67108864
              blkio_stats: {}
              cpu_stats:
                cpu_usage:
                  percpu_usage:
                    - 8646879
                    - 24472255
                    - 36438778
                    - 30657443
                  usage_in_usermode: 50000000
                  total_usage: 100215355
                  usage_in_kernelmode: 30000000
                system_cpu_usage: 739306590000000
                online_cpus: 4
                throttling_data:
                  periods: 0
                  throttled_periods: 0
                  throttled_time: 0
              precpu_stats:
                cpu_usage:
                  percpu_usage:
                    - 8646879
                    - 24350896
                    - 36438778
                    - 30657443
                  usage_in_usermode: 50000000
                  total_usage: 100093996
                  usage_in_kernelmode: 30000000
                system_cpu_usage: 9492140000000
                online_cpus: 4
                throttling_data:
                  periods: 0
                  throttled_periods: 0
                  throttled_time: 0
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "stream"
          in: "query"
          description: "Stream the output. If false, the stats will be output once and then it will disconnect."
          type: "boolean"
          default: true
      tags: ["Container"]
  /containers/{id}/resize:
    post:
      summary: "Resize a container TTY"
      description: "Resize the TTY for a container."
      operationId: "ContainerResize"
      consumes:
        - "application/octet-stream"
      produces:
        - "text/plain"
      responses:
        200:
          description: "no error"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "cannot resize container"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "h"
          in: "query"
          description: "Height of the tty session in characters"
          type: "integer"
        - name: "w"
          in: "query"
          description: "Width of the tty session in characters"
          type: "integer"
      tags: ["Container"]
  /containers/{id}/start:
    post:
      summary: "Start a container"
      operationId: "ContainerStart"
      responses:
        204:
          description: "no error"
        304:
          description: "container already started"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "detachKeys"
          in: "query"
          description: "Override the key sequence for detaching a container. Format is a single character `[a-Z]` or `ctrl-<value>` where `<value>` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`."
          type: "string"
      tags: ["Container"]
  /containers/{id}/stop:
    post:
      summary: "Stop a container"
      operationId: "ContainerStop"
      responses:
        204:
          description: "no error"
        304:
          description: "container already stopped"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "t"
          in: "query"
          description: "Number of seconds to wait before killing the container"
          type: "integer"
      tags: ["Container"]
  /containers/{id}/restart:
    post:
      summary: "Restart a container"
      operationId: "ContainerRestart"
      responses:
        204:
          description: "no error"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "t"
          in: "query"
          description: "Number of seconds to wait before killing the container"
          type: "integer"
      tags: ["Container"]
  /containers/{id}/kill:
    post:
      summary: "Kill a container"
      description: "Send a POSIX signal to a container, defaulting to killing to the container."
      operationId: "ContainerKill"
      responses:
        204:
          description: "no error"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        409:
          description: "container is not running"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "Container d37cde0fe4ad63c3a7252023b2f9800282894247d145cb5933ddf6e52cc03a28 is not running"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "signal"
          in: "query"
          description: "Signal to send to the container as an integer or string (e.g. `SIGINT`)"
          type: "string"
          default: "SIGKILL"
      tags: ["Container"]
  /containers/{id}/update:
    post:
      summary: "Update a container"
      description: "Change various configuration options of a container without having to recreate it."
      operationId: "ContainerUpdate"
      consumes: ["application/json"]
      produces: ["application/json"]
      responses:
        200:
          description: "The container has been updated."
          schema:
            type: "object"
            title: "ContainerUpdateResponse"
            description: "OK response to ContainerUpdate operation"
            properties:
              Warnings:
                type: "array"
                items:
                  type: "string"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "update"
          in: "body"
          required: true
          schema:
            allOf:
              - $ref: "#/definitions/Resources"
              - type: "object"
                properties:
                  RestartPolicy:
                    $ref: "#/definitions/RestartPolicy"
            example:
              BlkioWeight: 300
              CpuShares: 512
              CpuPeriod: 100000
              CpuQuota: 50000
              CpuRealtimePeriod: 1000000
              CpuRealtimeRuntime: 10000
              CpusetCpus: "0,1"
              CpusetMems: "0"
              Memory: 314572800
              MemorySwap: 514288000
              MemoryReservation: 209715200
              KernelMemory: 52428800
              RestartPolicy:
                MaximumRetryCount: 4
                Name: "on-failure"
      tags: ["Container"]
  /containers/{id}/rename:
    post:
      summary: "Rename a container"
      operationId: "ContainerRename"
      responses:
        204:
          description: "no error"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        409:
          description: "name already in use"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "name"
          in: "query"
          required: true
          description: "New name for the container"
          type: "string"
      tags: ["Container"]
  /containers/{id}/pause:
    post:
      summary: "Pause a container"
      description: |
        Use the cgroups freezer to suspend all processes in a container.

        Traditionally, when suspending a process the `SIGSTOP` signal is used, which is observable by the process being suspended. With the cgroups freezer the process is unaware, and unable to capture, that it is being suspended, and subsequently resumed.
      operationId: "ContainerPause"
      responses:
        204:
          description: "no error"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
      tags: ["Container"]
  /containers/{id}/unpause:
    post:
      summary: "Unpause a container"
      description: "Resume a container which has been paused."
      operationId: "ContainerUnpause"
      responses:
        204:
          description: "no error"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
      tags: ["Container"]
  /containers/{id}/attach:
    post:
      summary: "Attach to a container"
      description: |
        Attach to a container to read its output or send it input. You can attach to the same container multiple times and you can reattach to containers that have been detached.

        Either the `stream` or `logs` parameter must be `true` for this endpoint to do anything.

        See [the documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/) for more details.

        ### Hijacking

        This endpoint hijacks the HTTP connection to transport `stdin`, `stdout`, and `stderr` on the same socket.

        This is the response from the daemon for an attach request:

        ```
        HTTP/1.1 200 OK
        Content-Type: application/vnd.docker.raw-stream

        [STREAM]
        ```

        After the headers and two new lines, the TCP connection can now be used for raw, bidirectional communication between the client and server.

        To hint potential proxies about connection hijacking, the Docker client can also optionally send connection upgrade headers.

        For example, the client sends this request to upgrade the connection:

        ```
        POST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1
        Upgrade: tcp
        Connection: Upgrade
        ```

        The Docker daemon will respond with a `101 UPGRADED` response, and will similarly follow with the raw stream:

        ```
        HTTP/1.1 101 UPGRADED
        Content-Type: application/vnd.docker.raw-stream
        Connection: Upgrade
        Upgrade: tcp

        [STREAM]
        ```

        ### Stream format

        When the TTY setting is disabled in [`POST /containers/create`](#operation/ContainerCreate), the stream over the hijacked connected is multiplexed to separate out `stdout` and `stderr`. The stream consists of a series of frames, each containing a header and a payload.

        The header contains the information which the stream writes (`stdout` or `stderr`). It also contains the size of the associated frame encoded in the last four bytes (`uint32`).

        It is encoded on the first eight bytes like this:

        ```go
        header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}
        ```

        `STREAM_TYPE` can be:

        - 0: `stdin` (is written on `stdout`)
        - 1: `stdout`
        - 2: `stderr`

        `SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size encoded as big endian.

        Following the header is the payload, which is the specified number of bytes of `STREAM_TYPE`.

        The simplest way to implement this protocol is the following:

        1. Read 8 bytes.
        2. Choose `stdout` or `stderr` depending on the first byte.
        3. Extract the frame size from the last four bytes.
        4. Read the extracted size and output it on the correct output.
        5. Goto 1.

        ### Stream format when using a TTY

        When the TTY setting is enabled in [`POST /containers/create`](#operation/ContainerCreate), the stream is not multiplexed. The data exchanged over the hijacked connection is simply the raw data from the process PTY and client's `stdin`.

      operationId: "ContainerAttach"
      produces:
        - "application/vnd.docker.raw-stream"
      responses:
        101:
          description: "no error, hints proxy about hijacking"
        200:
          description: "no error, no upgrade header found"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "detachKeys"
          in: "query"
          description: "Override the key sequence for detaching a container.Format is a single character `[a-Z]` or `ctrl-<value>` where `<value>` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`."
          type: "string"
        - name: "logs"
          in: "query"
          description: |
            Replay previous logs from the container.

            This is useful for attaching to a container that has started and you want to output everything since the container started.

            If `stream` is also enabled, once all the previous output has been returned, it will seamlessly transition into streaming current output.
          type: "boolean"
          default: false
        - name: "stream"
          in: "query"
          description: "Stream attached streams from the time the request was made onwards"
          type: "boolean"
          default: false
        - name: "stdin"
          in: "query"
          description: "Attach to `stdin`"
          type: "boolean"
          default: false
        - name: "stdout"
          in: "query"
          description: "Attach to `stdout`"
          type: "boolean"
          default: false
        - name: "stderr"
          in: "query"
          description: "Attach to `stderr`"
          type: "boolean"
          default: false
      tags: ["Container"]
  /containers/{id}/attach/ws:
    get:
      summary: "Attach to a container via a websocket"
      operationId: "ContainerAttachWebsocket"
      responses:
        101:
          description: "no error, hints proxy about hijacking"
        200:
          description: "no error, no upgrade header found"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "detachKeys"
          in: "query"
          description: "Override the key sequence for detaching a container.Format is a single character `[a-Z]` or `ctrl-<value>` where `<value>` is one of: `a-z`, `@`, `^`, `[`, `,`, or `_`."
          type: "string"
        - name: "logs"
          in: "query"
          description: "Return logs"
          type: "boolean"
          default: false
        - name: "stream"
          in: "query"
          description: "Return stream"
          type: "boolean"
          default: false
        - name: "stdin"
          in: "query"
          description: "Attach to `stdin`"
          type: "boolean"
          default: false
        - name: "stdout"
          in: "query"
          description: "Attach to `stdout`"
          type: "boolean"
          default: false
        - name: "stderr"
          in: "query"
          description: "Attach to `stderr`"
          type: "boolean"
          default: false
      tags: ["Container"]
  /containers/{id}/wait:
    post:
      summary: "Wait for a container"
      description: "Block until a container stops, then returns the exit code."
      operationId: "ContainerWait"
      produces: ["application/json"]
      responses:
        200:
          description: "The container has exit."
          schema:
            type: "object"
            title: "ContainerWaitResponse"
            description: "OK response to ContainerWait operation"
            required: [StatusCode]
            properties:
              StatusCode:
                description: "Exit code of the container"
                type: "integer"
                x-nullable: false
              Error:
                description: "container waiting error, if any"
                type: "object"
                properties:
                  Message:
                    description: "Details of an error"
                    type: "string"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "condition"
          in: "query"
          description: "Wait until a container state reaches the given condition, either 'not-running' (default), 'next-exit', or 'removed'."
          type: "string"
          default: "not-running"
      tags: ["Container"]
  /containers/{id}:
    delete:
      summary: "Remove a container"
      operationId: "ContainerDelete"
      responses:
        204:
          description: "no error"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        409:
          description: "conflict"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "You cannot remove a running container: c2ada9df5af8. Stop the container before attempting removal or force remove"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "v"
          in: "query"
          description: "Remove the volumes associated with the container."
          type: "boolean"
          default: false
        - name: "force"
          in: "query"
          description: "If the container is running, kill it before removing it."
          type: "boolean"
          default: false
        - name: "link"
          in: "query"
          description: "Remove the specified link associated with the container."
          type: "boolean"
          default: false
      tags: ["Container"]
  /containers/{id}/archive:
    head:
      summary: "Get information about files in a container"
      description: "A response header `X-Docker-Container-Path-Stat` is return containing a base64 - encoded JSON object with some filesystem header information about the path."
      operationId: "ContainerArchiveInfo"
      responses:
        200:
          description: "no error"
          headers:
            X-Docker-Container-Path-Stat:
              type: "string"
              description: "A base64 - encoded JSON object with some filesystem header information about the path"
        400:
          description: "Bad parameter"
          schema:
            allOf:
              - $ref: "#/definitions/ErrorResponse"
              - type: "object"
                properties:
                  message:
                    description: "The error message. Either \"must specify path parameter\" (path cannot be empty) or \"not a directory\" (path was asserted to be a directory but exists as a file)."
                    type: "string"
                    x-nullable: false
        404:
          description: "Container or path does not exist"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "path"
          in: "query"
          required: true
          description: "Resource in the container’s filesystem to archive."
          type: "string"
      tags: ["Container"]
    get:
      summary: "Get an archive of a filesystem resource in a container"
      description: "Get a tar archive of a resource in the filesystem of container id."
      operationId: "ContainerArchive"
      produces: ["application/x-tar"]
      responses:
        200:
          description: "no error"
        400:
          description: "Bad parameter"
          schema:
            allOf:
              - $ref: "#/definitions/ErrorResponse"
              - type: "object"
                properties:
                  message:
                    description: "The error message. Either \"must specify path parameter\" (path cannot be empty) or \"not a directory\" (path was asserted to be a directory but exists as a file)."
                    type: "string"
                    x-nullable: false
        404:
          description: "Container or path does not exist"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "path"
          in: "query"
          required: true
          description: "Resource in the container’s filesystem to archive."
          type: "string"
      tags: ["Container"]
    put:
      summary: "Extract an archive of files or folders to a directory in a container"
      description: "Upload a tar archive to be extracted to a path in the filesystem of container id."
      operationId: "PutContainerArchive"
      consumes: ["application/x-tar", "application/octet-stream"]
      responses:
        200:
          description: "The content was extracted successfully"
        400:
          description: "Bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        403:
          description: "Permission denied, the volume or container rootfs is marked as read-only."
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "No such container or path does not exist inside the container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the container"
          type: "string"
        - name: "path"
          in: "query"
          required: true
          description: "Path to a directory in the container to extract the archive’s contents into. "
          type: "string"
        - name: "noOverwriteDirNonDir"
          in: "query"
          description: "If “1”, “true”, or “True” then it will be an error if unpacking the given content would cause an existing directory to be replaced with a non-directory and vice versa."
          type: "string"
        - name: "copyUIDGID"
          in: "query"
          description: "If “1”, “true”, then it will copy UID/GID maps to the dest file or dir"
          type: "string"
        - name: "inputStream"
          in: "body"
          required: true
          description: "The input stream must be a tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz."
          schema:
            type: "string"
            format: "binary"
      tags: ["Container"]
  /containers/prune:
    post:
      summary: "Delete stopped containers"
      produces:
        - "application/json"
      operationId: "ContainerPrune"
      parameters:
        - name: "filters"
          in: "query"
          description: |
            Filters to process on the prune list, encoded as JSON (a `map[string][]string`).

            Available filters:
            - `until=<timestamp>` Prune containers created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.
            - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune containers with (or without, in case `label!=...` is used) the specified labels.
          type: "string"
      responses:
        200:
          description: "No error"
          schema:
            type: "object"
            title: "ContainerPruneResponse"
            properties:
              ContainersDeleted:
                description: "Container IDs that were deleted"
                type: "array"
                items:
                  type: "string"
              SpaceReclaimed:
                description: "Disk space reclaimed in bytes"
                type: "integer"
                format: "int64"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Container"]
  /images/json:
    get:
      summary: "List Images"
      description: "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image."
      operationId: "ImageList"
      produces:
        - "application/json"
      responses:
        200:
          description: "Summary image data for the images matching the query"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/ImageSummary"
          examples:
            application/json:
              - Id: "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8"
                ParentId: ""
                RepoTags:
                  - "ubuntu:12.04"
                  - "ubuntu:precise"
                RepoDigests:
                  - "ubuntu@sha256:992069aee4016783df6345315302fa59681aae51a8eeb2f889dea59290f21787"
                Created: 1474925151
                Size: 103579269
                VirtualSize: 103579269
                SharedSize: 0
                Labels: {}
                Containers: 2
              - Id: "sha256:3e314f95dcace0f5e4fd37b10862fe8398e3c60ed36600bc0ca5fda78b087175"
                ParentId: ""
                RepoTags:
                  - "ubuntu:12.10"
                  - "ubuntu:quantal"
                RepoDigests:
                  - "ubuntu@sha256:002fba3e3255af10be97ea26e476692a7ebed0bb074a9ab960b2e7a1526b15d7"
                  - "ubuntu@sha256:68ea0200f0b90df725d99d823905b04cf844f6039ef60c60bf3e019915017bd3"
                Created: 1403128455
                Size: 172064416
                VirtualSize: 172064416
                SharedSize: 0
                Labels: {}
                Containers: 5
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "all"
          in: "query"
          description: "Show all images. Only images from a final layer (no children) are shown by default."
          type: "boolean"
          default: false
        - name: "filters"
          in: "query"
          description: |
            A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:

            - `before`=(`<image-name>[:<tag>]`,  `<image id>` or `<image@digest>`)
            - `dangling=true`
            - `label=key` or `label="key=value"` of an image label
            - `reference`=(`<image-name>[:<tag>]`)
            - `since`=(`<image-name>[:<tag>]`,  `<image id>` or `<image@digest>`)
          type: "string"
        - name: "digests"
          in: "query"
          description: "Show digest information as a `RepoDigests` field on each image."
          type: "boolean"
          default: false
      tags: ["Image"]
  /build:
    post:
      summary: "Build an image"
      description: |
        Build an image from a tar archive with a `Dockerfile` in it.

        The `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/).

        The Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output.

        The build is canceled if the client drops the connection by quitting or being killed.
      operationId: "ImageBuild"
      consumes:
        - "application/octet-stream"
      produces:
        - "application/json"
      parameters:
        - name: "inputStream"
          in: "body"
          description: "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz."
          schema:
            type: "string"
            format: "binary"
        - name: "dockerfile"
          in: "query"
          description: "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`."
          type: "string"
          default: "Dockerfile"
        - name: "t"
          in: "query"
          description: "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters."
          type: "string"
        - name: "extrahosts"
          in: "query"
          description: "Extra hosts to add to /etc/hosts"
          type: "string"
        - name: "remote"
          in: "query"
          description: "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball."
          type: "string"
        - name: "q"
          in: "query"
          description: "Suppress verbose build output."
          type: "boolean"
          default: false
        - name: "nocache"
          in: "query"
          description: "Do not use the cache when building the image."
          type: "boolean"
          default: false
        - name: "cachefrom"
          in: "query"
          description: "JSON array of images used for build cache resolution."
          type: "string"
        - name: "pull"
          in: "query"
          description: "Attempt to pull the image even if an older image exists locally."
          type: "string"
        - name: "rm"
          in: "query"
          description: "Remove intermediate containers after a successful build."
          type: "boolean"
          default: true
        - name: "forcerm"
          in: "query"
          description: "Always remove intermediate containers, even upon failure."
          type: "boolean"
          default: false
        - name: "memory"
          in: "query"
          description: "Set memory limit for build."
          type: "integer"
        - name: "memswap"
          in: "query"
          description: "Total memory (memory + swap). Set as `-1` to disable swap."
          type: "integer"
        - name: "cpushares"
          in: "query"
          description: "CPU shares (relative weight)."
          type: "integer"
        - name: "cpusetcpus"
          in: "query"
          description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)."
          type: "string"
        - name: "cpuperiod"
          in: "query"
          description: "The length of a CPU period in microseconds."
          type: "integer"
        - name: "cpuquota"
          in: "query"
          description: "Microseconds of CPU time that the container can get in a CPU period."
          type: "integer"
        - name: "buildargs"
          in: "query"
          description: >
            JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker
            uses the buildargs as the environment context for commands run via the `Dockerfile` RUN
            instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for
            passing secret values.


            For example, the build arg `FOO=bar` would become `{"FOO":"bar"}` in JSON. This would result in the
            the query parameter `buildargs={"FOO":"bar"}`. Note that `{"FOO":"bar"}` should be URI component encoded.


            [Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)
          type: "string"
        - name: "shmsize"
          in: "query"
          description: "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB."
          type: "integer"
        - name: "squash"
          in: "query"
          description: "Squash the resulting images layers into a single layer. *(Experimental release only.)*"
          type: "boolean"
        - name: "labels"
          in: "query"
          description: "Arbitrary key/value labels to set on the image, as a JSON map of string pairs."
          type: "string"
        - name: "networkmode"
          in: "query"
          description: "Sets the networking mode for the run commands during
        build. Supported standard values are: `bridge`, `host`, `none`, and
        `container:<name|id>`. Any other value is taken as a custom network's
        name to which this container should connect to."
          type: "string"
        - name: "Content-type"
          in: "header"
          type: "string"
          enum:
            - "application/x-tar"
          default: "application/x-tar"
        - name: "X-Registry-Config"
          in: "header"
          description: |
            This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to.

            The key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example:

            ```
            {
              "docker.example.com": {
                "username": "janedoe",
                "password": "hunter2"
              },
              "https://index.docker.io/v1/": {
                "username": "mobydock",
                "password": "conta1n3rize14"
              }
            }
            ```

            Only the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API.
          type: "string"
        - name: "platform"
          in: "query"
          description: "Platform in the format os[/arch[/variant]]"
          type: "string"
          default: ""
        - name: "target"
          in: "query"
          description: "Target build stage"
          type: "string"
          default: ""
      responses:
        200:
          description: "no error"
        400:
          description: "Bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Image"]
  /build/prune:
    post:
      summary: "Delete builder cache"
      produces:
        - "application/json"
      operationId: "BuildPrune"
      parameters:
        - name: "keep-storage"
          in: "query"
          description: "Amount of disk space in bytes to keep for cache"
          type: "integer"
          format: "int64"
        - name: "all"
          in: "query"
          type: "boolean"
          description: "Remove all types of build cache"
        - name: "filters"
          in: "query"
          type: "string"
          description: |
            A JSON encoded value of the filters (a `map[string][]string`) to process on the list of build cache objects. Available filters:
            - `until=<duration>`: duration relative to daemon's time, during which build cache was not used, in Go's duration format (e.g., '24h')
            - `id=<id>`
            - `parent=<id>`
            - `type=<string>`
            - `description=<string>`
            - `inuse`
            - `shared`
            - `private`
      responses:
        200:
          description: "No error"
          schema:
            type: "object"
            title: "BuildPruneResponse"
            properties:
              CachesDeleted:
                type: "array"
                items:
                  description: "ID of build cache object"
                  type: "string"
              SpaceReclaimed:
                description: "Disk space reclaimed in bytes"
                type: "integer"
                format: "int64"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Image"]
  /images/create:
    post:
      summary: "Create an image"
      description: "Create an image by either pulling it from a registry or importing it."
      operationId: "ImageCreate"
      consumes:
        - "text/plain"
        - "application/octet-stream"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
        404:
          description: "repository does not exist or no read access"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "fromImage"
          in: "query"
          description: "Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed."
          type: "string"
        - name: "fromSrc"
          in: "query"
          description: "Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image."
          type: "string"
        - name: "repo"
          in: "query"
          description: "Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image."
          type: "string"
        - name: "tag"
          in: "query"
          description: "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled."
          type: "string"
        - name: "inputImage"
          in: "body"
          description: "Image content if the value `-` has been specified in fromSrc query parameter"
          schema:
            type: "string"
          required: false
        - name: "X-Registry-Auth"
          in: "header"
          description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
          type: "string"
        - name: "platform"
          in: "query"
          description: "Platform in the format os[/arch[/variant]]"
          type: "string"
          default: ""
      tags: ["Image"]
  /images/{name}/json:
    get:
      summary: "Inspect an image"
      description: "Return low-level information about an image."
      operationId: "ImageInspect"
      produces:
        - "application/json"
      responses:
        200:
          description: "No error"
          schema:
            $ref: "#/definitions/Image"
          examples:
            application/json:
              Id: "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c"
              Container: "cb91e48a60d01f1e27028b4fc6819f4f290b3cf12496c8176ec714d0d390984a"
              Comment: ""
              Os: "linux"
              Architecture: "amd64"
              Parent: "sha256:91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c"
              ContainerConfig:
                Tty: false
                Hostname: "e611e15f9c9d"
                Domainname: ""
                AttachStdout: false
                PublishService: ""
                AttachStdin: false
                OpenStdin: false
                StdinOnce: false
                NetworkDisabled: false
                OnBuild: []
                Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c"
                User: ""
                WorkingDir: ""
                MacAddress: ""
                AttachStderr: false
                Labels:
                  com.example.license: "GPL"
                  com.example.version: "1.0"
                  com.example.vendor: "Acme"
                Env:
                  - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                Cmd:
                  - "/bin/sh"
                  - "-c"
                  - "#(nop) LABEL com.example.vendor=Acme com.example.license=GPL com.example.version=1.0"
              DockerVersion: "1.9.0-dev"
              VirtualSize: 188359297
              Size: 0
              Author: ""
              Created: "2015-09-10T08:30:53.26995814Z"
              GraphDriver:
                Name: "aufs"
                Data: {}
              RepoDigests:
                - "localhost:5000/test/busybox/example@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf"
              RepoTags:
                - "example:1.0"
                - "example:latest"
                - "example:stable"
              Config:
                Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c"
                NetworkDisabled: false
                OnBuild: []
                StdinOnce: false
                PublishService: ""
                AttachStdin: false
                OpenStdin: false
                Domainname: ""
                AttachStdout: false
                Tty: false
                Hostname: "e611e15f9c9d"
                Cmd:
                  - "/bin/bash"
                Env:
                  - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
                Labels:
                  com.example.vendor: "Acme"
                  com.example.version: "1.0"
                  com.example.license: "GPL"
                MacAddress: ""
                AttachStderr: false
                WorkingDir: ""
                User: ""
              RootFS:
                Type: "layers"
                Layers:
                  - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6"
                  - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
        404:
          description: "No such image"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such image: someimage (tag: latest)"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "Image name or id"
          type: "string"
          required: true
      tags: ["Image"]
  /images/{name}/history:
    get:
      summary: "Get the history of an image"
      description: "Return parent layers of an image."
      operationId: "ImageHistory"
      produces: ["application/json"]
      responses:
        200:
          description: "List of image layers"
          schema:
            type: "array"
            items:
              type: "object"
              x-go-name: HistoryResponseItem
              title: "HistoryResponseItem"
              description: "individual image layer information in response to ImageHistory operation"
              required: [Id, Created, CreatedBy, Tags, Size, Comment]
              properties:
                Id:
                  type: "string"
                  x-nullable: false
                Created:
                  type: "integer"
                  format: "int64"
                  x-nullable: false
                CreatedBy:
                  type: "string"
                  x-nullable: false
                Tags:
                  type: "array"
                  items:
                    type: "string"
                Size:
                  type: "integer"
                  format: "int64"
                  x-nullable: false
                Comment:
                  type: "string"
                  x-nullable: false
          examples:
            application/json:
              - Id: "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710"
                Created: 1398108230
                CreatedBy: "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /"
                Tags:
                  - "ubuntu:lucid"
                  - "ubuntu:10.04"
                Size: 182964289
                Comment: ""
              - Id: "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8"
                Created: 1398108222
                CreatedBy: "/bin/sh -c #(nop) MAINTAINER Tianon Gravi <admwiggin@gmail.com> - mkimage-debootstrap.sh -i iproute,iputils-ping,ubuntu-minimal -t lucid.tar.xz lucid http://archive.ubuntu.com/ubuntu/"
                Tags: []
                Size: 0
                Comment: ""
              - Id: "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158"
                Created: 1371157430
                CreatedBy: ""
                Tags:
                  - "scratch12:latest"
                  - "scratch:latest"
                Size: 0
                Comment: "Imported from -"
        404:
          description: "No such image"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "Image name or ID"
          type: "string"
          required: true
      tags: ["Image"]
  /images/{name}/push:
    post:
      summary: "Push an image"
      description: |
        Push an image to a registry.

        If you wish to push an image on to a private registry, that image must already have a tag which references the registry. For example, `registry.example.com/myimage:latest`.

        The push is cancelled if the HTTP connection is closed.
      operationId: "ImagePush"
      consumes:
        - "application/octet-stream"
      responses:
        200:
          description: "No error"
        404:
          description: "No such image"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "Image name or ID."
          type: "string"
          required: true
        - name: "tag"
          in: "query"
          description: "The tag to associate with the image on the registry."
          type: "string"
        - name: "X-Registry-Auth"
          in: "header"
          description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
          type: "string"
          required: true
      tags: ["Image"]
  /images/{name}/tag:
    post:
      summary: "Tag an image"
      description: "Tag an image so that it becomes part of a repository."
      operationId: "ImageTag"
      responses:
        201:
          description: "No error"
        400:
          description: "Bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "No such image"
          schema:
            $ref: "#/definitions/ErrorResponse"
        409:
          description: "Conflict"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "Image name or ID to tag."
          type: "string"
          required: true
        - name: "repo"
          in: "query"
          description: "The repository to tag in. For example, `someuser/someimage`."
          type: "string"
        - name: "tag"
          in: "query"
          description: "The name of the new tag."
          type: "string"
      tags: ["Image"]
  /images/{name}:
    delete:
      summary: "Remove an image"
      description: |
        Remove an image, along with any untagged parent images that were
        referenced by that image.

        Images can't be removed if they have descendant images, are being
        used by a running container or are being used by a build.
      operationId: "ImageDelete"
      produces: ["application/json"]
      responses:
        200:
          description: "The image was deleted successfully"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/ImageDeleteResponseItem"
          examples:
            application/json:
              - Untagged: "3e2f21a89f"
              - Deleted: "3e2f21a89f"
              - Deleted: "53b4f83ac9"
        404:
          description: "No such image"
          schema:
            $ref: "#/definitions/ErrorResponse"
        409:
          description: "Conflict"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "Image name or ID"
          type: "string"
          required: true
        - name: "force"
          in: "query"
          description: "Remove the image even if it is being used by stopped containers or has other tags"
          type: "boolean"
          default: false
        - name: "noprune"
          in: "query"
          description: "Do not delete untagged parent images"
          type: "boolean"
          default: false
      tags: ["Image"]
  /images/search:
    get:
      summary: "Search images"
      description: "Search for an image on Docker Hub."
      operationId: "ImageSearch"
      produces:
        - "application/json"
      responses:
        200:
          description: "No error"
          schema:
            type: "array"
            items:
              type: "object"
              title: "ImageSearchResponseItem"
              properties:
                description:
                  type: "string"
                is_official:
                  type: "boolean"
                is_automated:
                  type: "boolean"
                name:
                  type: "string"
                star_count:
                  type: "integer"
          examples:
            application/json:
              - description: ""
                is_official: false
                is_automated: false
                name: "wma55/u1210sshd"
                star_count: 0
              - description: ""
                is_official: false
                is_automated: false
                name: "jdswinbank/sshd"
                star_count: 0
              - description: ""
                is_official: false
                is_automated: false
                name: "vgauthier/sshd"
                star_count: 0
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "term"
          in: "query"
          description: "Term to search"
          type: "string"
          required: true
        - name: "limit"
          in: "query"
          description: "Maximum number of results to return"
          type: "integer"
        - name: "filters"
          in: "query"
          description: |
            A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:

            - `is-automated=(true|false)`
            - `is-official=(true|false)`
            - `stars=<number>` Matches images that has at least 'number' stars.
          type: "string"
      tags: ["Image"]
  /images/prune:
    post:
      summary: "Delete unused images"
      produces:
        - "application/json"
      operationId: "ImagePrune"
      parameters:
        - name: "filters"
          in: "query"
          description: |
            Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:

            - `dangling=<boolean>` When set to `true` (or `1`), prune only
               unused *and* untagged images. When set to `false`
               (or `0`), all unused images are pruned.
            - `until=<string>` Prune images created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.
            - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune images with (or without, in case `label!=...` is used) the specified labels.
          type: "string"
      responses:
        200:
          description: "No error"
          schema:
            type: "object"
            title: "ImagePruneResponse"
            properties:
              ImagesDeleted:
                description: "Images that were deleted"
                type: "array"
                items:
                  $ref: "#/definitions/ImageDeleteResponseItem"
              SpaceReclaimed:
                description: "Disk space reclaimed in bytes"
                type: "integer"
                format: "int64"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Image"]
  /auth:
    post:
      summary: "Check auth configuration"
      description: "Validate credentials for a registry and, if available, get an identity token for accessing the registry without password."
      operationId: "SystemAuth"
      consumes: ["application/json"]
      produces: ["application/json"]
      responses:
        200:
          description: "An identity token was generated successfully."
          schema:
            type: "object"
            title: "SystemAuthResponse"
            required: [Status]
            properties:
              Status:
                description: "The status of the authentication"
                type: "string"
                x-nullable: false
              IdentityToken:
                description: "An opaque token used to authenticate a user after a successful login"
                type: "string"
                x-nullable: false
          examples:
            application/json:
              Status: "Login Succeeded"
              IdentityToken: "9cbaf023786cd7..."
        204:
          description: "No error"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "authConfig"
          in: "body"
          description: "Authentication to check"
          schema:
            $ref: "#/definitions/AuthConfig"
      tags: ["System"]
  /info:
    get:
      summary: "Get system information"
      operationId: "SystemInfo"
      produces:
        - "application/json"
      responses:
        200:
          description: "No error"
          schema:
            $ref: "#/definitions/SystemInfo"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["System"]
  /version:
    get:
      summary: "Get version"
      description: "Returns the version of Docker that is running and various information about the system that Docker is running on."
      operationId: "SystemVersion"
      produces: ["application/json"]
      responses:
        200:
          description: "no error"
          schema:
            type: "object"
            title: "SystemVersionResponse"
            properties:
              Platform:
                type: "object"
                required: [Name]
                properties:
                  Name:
                    type: "string"
              Components:
                type: "array"
                items:
                  type: "object"
                  x-go-name: ComponentVersion
                  required: [Name, Version]
                  properties:
                    Name:
                      type: "string"
                    Version:
                      type: "string"
                      x-nullable: false
                    Details:
                      type: "object"
                      x-nullable: true

              Version:
                type: "string"
              ApiVersion:
                type: "string"
              MinAPIVersion:
                type: "string"
              GitCommit:
                type: "string"
              GoVersion:
                type: "string"
              Os:
                type: "string"
              Arch:
                type: "string"
              KernelVersion:
                type: "string"
              Experimental:
                type: "boolean"
              BuildTime:
                type: "string"
          examples:
            application/json:
              Version: "17.04.0"
              Os: "linux"
              KernelVersion: "3.19.0-23-generic"
              GoVersion: "go1.7.5"
              GitCommit: "deadbee"
              Arch: "amd64"
              ApiVersion: "1.27"
              MinAPIVersion: "1.12"
              BuildTime: "2016-06-14T07:09:13.444803460+00:00"
              Experimental: true
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["System"]
  /_ping:
    get:
      summary: "Ping"
      description: "This is a dummy endpoint you can use to test if the server is accessible."
      operationId: "SystemPing"
      produces: ["text/plain"]
      responses:
        200:
          description: "no error"
          schema:
            type: "string"
            example: "OK"
          headers:
            API-Version:
              type: "string"
              description: "Max API Version the server supports"
            BuildKit-Version:
              type: "string"
              description: "Default version of docker image builder"
            Docker-Experimental:
              type: "boolean"
              description: "If the server is running with experimental mode enabled"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["System"]
  /commit:
    post:
      summary: "Create a new image from a container"
      operationId: "ImageCommit"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      responses:
        201:
          description: "no error"
          schema:
            $ref: "#/definitions/IdResponse"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "containerConfig"
          in: "body"
          description: "The container configuration"
          schema:
            $ref: "#/definitions/ContainerConfig"
        - name: "container"
          in: "query"
          description: "The ID or name of the container to commit"
          type: "string"
        - name: "repo"
          in: "query"
          description: "Repository name for the created image"
          type: "string"
        - name: "tag"
          in: "query"
          description: "Tag name for the create image"
          type: "string"
        - name: "comment"
          in: "query"
          description: "Commit message"
          type: "string"
        - name: "author"
          in: "query"
          description: "Author of the image (e.g., `John Hannibal Smith <hannibal@a-team.com>`)"
          type: "string"
        - name: "pause"
          in: "query"
          description: "Whether to pause the container before committing"
          type: "boolean"
          default: true
        - name: "changes"
          in: "query"
          description: "`Dockerfile` instructions to apply while committing"
          type: "string"
      tags: ["Image"]
  /events:
    get:
      summary: "Monitor events"
      description: |
        Stream real-time events from the server.

        Various objects within Docker report events when something happens to them.

        Containers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, and `update`

        Images report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, and `untag`

        Volumes report these events: `create`, `mount`, `unmount`, and `destroy`

        Networks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, and `remove`

        The Docker daemon reports these events: `reload`

        Services report these events: `create`, `update`, and `remove`

        Nodes report these events: `create`, `update`, and `remove`

        Secrets report these events: `create`, `update`, and `remove`

        Configs report these events: `create`, `update`, and `remove`

      operationId: "SystemEvents"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
          schema:
            type: "object"
            title: "SystemEventsResponse"
            properties:
              Type:
                description: "The type of object emitting the event"
                type: "string"
              Action:
                description: "The type of event"
                type: "string"
              Actor:
                type: "object"
                properties:
                  ID:
                    description: "The ID of the object emitting the event"
                    type: "string"
                  Attributes:
                    description: "Various key/value attributes of the object, depending on its type"
                    type: "object"
                    additionalProperties:
                      type: "string"
              time:
                description: "Timestamp of event"
                type: "integer"
              timeNano:
                description: "Timestamp of event, with nanosecond accuracy"
                type: "integer"
                format: "int64"
          examples:
            application/json:
              Type: "container"
              Action: "create"
              Actor:
                ID: "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743"
                Attributes:
                  com.example.some-label: "some-label-value"
                  image: "alpine"
                  name: "my-container"
              time: 1461943101
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "since"
          in: "query"
          description: "Show events created since this timestamp then stream new events."
          type: "string"
        - name: "until"
          in: "query"
          description: "Show events created until this timestamp then stop streaming."
          type: "string"
        - name: "filters"
          in: "query"
          description: |
            A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters:

            - `config=<string>` config name or ID
            - `container=<string>` container name or ID
            - `daemon=<string>` daemon name or ID
            - `event=<string>` event type
            - `image=<string>` image name or ID
            - `label=<string>` image or container label
            - `network=<string>` network name or ID
            - `node=<string>` node ID
            - `plugin`=<string> plugin name or ID
            - `scope`=<string> local or swarm
            - `secret=<string>` secret name or ID
            - `service=<string>` service name or ID
            - `type=<string>` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config`
            - `volume=<string>` volume name
          type: "string"
      tags: ["System"]
  /system/df:
    get:
      summary: "Get data usage information"
      operationId: "SystemDataUsage"
      responses:
        200:
          description: "no error"
          schema:
            type: "object"
            title: "SystemDataUsageResponse"
            properties:
              LayersSize:
                type: "integer"
                format: "int64"
              Images:
                type: "array"
                items:
                  $ref: "#/definitions/ImageSummary"
              Containers:
                type: "array"
                items:
                  $ref: "#/definitions/ContainerSummary"
              Volumes:
                type: "array"
                items:
                  $ref: "#/definitions/Volume"
              BuildCache:
                type: "array"
                items:
                  $ref: "#/definitions/BuildCache"
            example:
              LayersSize: 1092588
              Images:
                -
                  Id: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749"
                  ParentId: ""
                  RepoTags:
                    - "busybox:latest"
                  RepoDigests:
                    - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6"
                  Created: 1466724217
                  Size: 1092588
                  SharedSize: 0
                  VirtualSize: 1092588
                  Labels: {}
                  Containers: 1
              Containers:
                -
                  Id: "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148"
                  Names:
                    - "/top"
                  Image: "busybox"
                  ImageID: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749"
                  Command: "top"
                  Created: 1472592424
                  Ports: []
                  SizeRootFs: 1092588
                  Labels: {}
                  State: "exited"
                  Status: "Exited (0) 56 minutes ago"
                  HostConfig:
                    NetworkMode: "default"
                  NetworkSettings:
                    Networks:
                      bridge:
                        IPAMConfig: null
                        Links: null
                        Aliases: null
                        NetworkID: "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92"
                        EndpointID: "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a"
                        Gateway: "172.18.0.1"
                        IPAddress: "172.18.0.2"
                        IPPrefixLen: 16
                        IPv6Gateway: ""
                        GlobalIPv6Address: ""
                        GlobalIPv6PrefixLen: 0
                        MacAddress: "02:42:ac:12:00:02"
                  Mounts: []
              Volumes:
                -
                  Name: "my-volume"
                  Driver: "local"
                  Mountpoint: "/var/lib/docker/volumes/my-volume/_data"
                  Labels: null
                  Scope: "local"
                  Options: null
                  UsageData:
                    Size: 10920104
                    RefCount: 2
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["System"]
  /images/{name}/get:
    get:
      summary: "Export an image"
      description: |
        Get a tarball containing all images and metadata for a repository.

        If `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced.

        ### Image tarball format

        An image tarball contains one directory per image layer (named using its long ID), each containing these files:

        - `VERSION`: currently `1.0` - the file format version
        - `json`: detailed layer information, similar to `docker inspect layer_id`
        - `layer.tar`: A tarfile containing the filesystem changes in this layer

        The `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions.

        If the tarball defines a repository, the tarball should also include a `repositories` file at the root that contains a list of repository and tag names mapped to layer IDs.

        ```json
        {
          "hello-world": {
            "latest": "565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1"
          }
        }
        ```
      operationId: "ImageGet"
      produces:
        - "application/x-tar"
      responses:
        200:
          description: "no error"
          schema:
            type: "string"
            format: "binary"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "Image name or ID"
          type: "string"
          required: true
      tags: ["Image"]
  /images/get:
    get:
      summary: "Export several images"
      description: |
        Get a tarball containing all images and metadata for several image repositories.

        For each value of the `names` parameter: if it is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned; if it is an image ID, similarly only that image (and its parents) are returned and there would be no names referenced in the 'repositories' file for this image ID.

        For details on the format, see [the export image endpoint](#operation/ImageGet).
      operationId: "ImageGetAll"
      produces:
        - "application/x-tar"
      responses:
        200:
          description: "no error"
          schema:
            type: "string"
            format: "binary"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "names"
          in: "query"
          description: "Image names to filter by"
          type: "array"
          items:
            type: "string"
      tags: ["Image"]
  /images/load:
    post:
      summary: "Import images"
      description: |
        Load a set of images and tags into a repository.

        For details on the format, see [the export image endpoint](#operation/ImageGet).
      operationId: "ImageLoad"
      consumes:
        - "application/x-tar"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "imagesTarball"
          in: "body"
          description: "Tar archive containing images"
          schema:
            type: "string"
            format: "binary"
        - name: "quiet"
          in: "query"
          description: "Suppress progress details during load."
          type: "boolean"
          default: false
      tags: ["Image"]
  /containers/{id}/exec:
    post:
      summary: "Create an exec instance"
      description: "Run a command inside a running container."
      operationId: "ContainerExec"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      responses:
        201:
          description: "no error"
          schema:
            $ref: "#/definitions/IdResponse"
        404:
          description: "no such container"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such container: c2ada9df5af8"
        409:
          description: "container is paused"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "execConfig"
          in: "body"
          description: "Exec configuration"
          schema:
            type: "object"
            properties:
              AttachStdin:
                type: "boolean"
                description: "Attach to `stdin` of the exec command."
              AttachStdout:
                type: "boolean"
                description: "Attach to `stdout` of the exec command."
              AttachStderr:
                type: "boolean"
                description: "Attach to `stderr` of the exec command."
              DetachKeys:
                type: "string"
                description: "Override the key sequence for detaching a container. Format is a single character `[a-Z]` or `ctrl-<value>` where `<value>` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`."
              Tty:
                type: "boolean"
                description: "Allocate a pseudo-TTY."
              Env:
                description: "A list of environment variables in the form `[\"VAR=value\", ...]`."
                type: "array"
                items:
                  type: "string"
              Cmd:
                type: "array"
                description: "Command to run, as a string or array of strings."
                items:
                  type: "string"
              Privileged:
                type: "boolean"
                description: "Runs the exec process with extended privileges."
                default: false
              User:
                type: "string"
                description: "The user, and optionally, group to run the exec process inside the container. Format is one of: `user`, `user:group`, `uid`, or `uid:gid`."
              WorkingDir:
                type: "string"
                description: "The working directory for the exec process inside the container."
            example:
              AttachStdin: false
              AttachStdout: true
              AttachStderr: true
              DetachKeys: "ctrl-p,ctrl-q"
              Tty: false
              Cmd:
                - "date"
              Env:
                - "FOO=bar"
                - "BAZ=quux"
          required: true
        - name: "id"
          in: "path"
          description: "ID or name of container"
          type: "string"
          required: true
      tags: ["Exec"]
  /exec/{id}/start:
    post:
      summary: "Start an exec instance"
      description: "Starts a previously set up exec instance. If detach is true, this endpoint returns immediately after starting the command. Otherwise, it sets up an interactive session with the command."
      operationId: "ExecStart"
      consumes:
        - "application/json"
      produces:
        - "application/vnd.docker.raw-stream"
      responses:
        200:
          description: "No error"
        404:
          description: "No such exec instance"
          schema:
            $ref: "#/definitions/ErrorResponse"
        409:
          description: "Container is stopped or paused"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "execStartConfig"
          in: "body"
          schema:
            type: "object"
            properties:
              Detach:
                type: "boolean"
                description: "Detach from the command."
              Tty:
                type: "boolean"
                description: "Allocate a pseudo-TTY."
            example:
              Detach: false
              Tty: false
        - name: "id"
          in: "path"
          description: "Exec instance ID"
          required: true
          type: "string"
      tags: ["Exec"]
  /exec/{id}/resize:
    post:
      summary: "Resize an exec instance"
      description: "Resize the TTY session used by an exec instance. This endpoint only works if `tty` was specified as part of creating and starting the exec instance."
      operationId: "ExecResize"
      responses:
        201:
          description: "No error"
        404:
          description: "No such exec instance"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "Exec instance ID"
          required: true
          type: "string"
        - name: "h"
          in: "query"
          description: "Height of the TTY session in characters"
          type: "integer"
        - name: "w"
          in: "query"
          description: "Width of the TTY session in characters"
          type: "integer"
      tags: ["Exec"]
  /exec/{id}/json:
    get:
      summary: "Inspect an exec instance"
      description: "Return low-level information about an exec instance."
      operationId: "ExecInspect"
      produces:
        - "application/json"
      responses:
        200:
          description: "No error"
          schema:
            type: "object"
            title: "ExecInspectResponse"
            properties:
              CanRemove:
                type: "boolean"
              DetachKeys:
                type: "string"
              ID:
                type: "string"
              Running:
                type: "boolean"
              ExitCode:
                type: "integer"
              ProcessConfig:
                $ref: "#/definitions/ProcessConfig"
              OpenStdin:
                type: "boolean"
              OpenStderr:
                type: "boolean"
              OpenStdout:
                type: "boolean"
              ContainerID:
                type: "string"
              Pid:
                type: "integer"
                description: "The system process ID for the exec process."
          examples:
            application/json:
              CanRemove: false
              ContainerID: "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126"
              DetachKeys: ""
              ExitCode: 2
              ID: "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b"
              OpenStderr: true
              OpenStdin: true
              OpenStdout: true
              ProcessConfig:
                arguments:
                  - "-c"
                  - "exit 2"
                entrypoint: "sh"
                privileged: false
                tty: true
                user: "1000"
              Running: false
              Pid: 42000
        404:
          description: "No such exec instance"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "Exec instance ID"
          required: true
          type: "string"
      tags: ["Exec"]

  /volumes:
    get:
      summary: "List volumes"
      operationId: "VolumeList"
      produces: ["application/json"]
      responses:
        200:
          description: "Summary volume data that matches the query"
          schema:
            type: "object"
            title: "VolumeListResponse"
            description: "Volume list response"
            required: [Volumes, Warnings]
            properties:
              Volumes:
                type: "array"
                x-nullable: false
                description: "List of volumes"
                items:
                  $ref: "#/definitions/Volume"
              Warnings:
                type: "array"
                x-nullable: false
                description: "Warnings that occurred when fetching the list of volumes"
                items:
                  type: "string"

          examples:
            application/json:
              Volumes:
                - CreatedAt: "2017-07-19T12:00:26Z"
                  Name: "tardis"
                  Driver: "local"
                  Mountpoint: "/var/lib/docker/volumes/tardis"
                  Labels:
                    com.example.some-label: "some-value"
                    com.example.some-other-label: "some-other-value"
                  Scope: "local"
                  Options:
                    device: "tmpfs"
                    o: "size=100m,uid=1000"
                    type: "tmpfs"
              Warnings: []
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "filters"
          in: "query"
          description: |
            JSON encoded value of the filters (a `map[string][]string`) to
            process on the volumes list. Available filters:

            - `dangling=<boolean>` When set to `true` (or `1`), returns all
               volumes that are not in use by a container. When set to `false`
               (or `0`), only volumes that are in use by one or more
               containers are returned.
            - `driver=<volume-driver-name>` Matches volumes based on their driver.
            - `label=<key>` or `label=<key>:<value>` Matches volumes based on
               the presence of a `label` alone or a `label` and a value.
            - `name=<volume-name>` Matches all or part of a volume name.
          type: "string"
          format: "json"
      tags: ["Volume"]

  /volumes/create:
    post:
      summary: "Create a volume"
      operationId: "VolumeCreate"
      consumes: ["application/json"]
      produces: ["application/json"]
      responses:
        201:
          description: "The volume was created successfully"
          schema:
            $ref: "#/definitions/Volume"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "volumeConfig"
          in: "body"
          required: true
          description: "Volume configuration"
          schema:
            type: "object"
            description: "Volume configuration"
            title: "VolumeConfig"
            properties:
              Name:
                description: "The new volume's name. If not specified, Docker generates a name."
                type: "string"
                x-nullable: false
              Driver:
                description: "Name of the volume driver to use."
                type: "string"
                default: "local"
                x-nullable: false
              DriverOpts:
                description: "A mapping of driver options and values. These options are passed directly to the driver and are driver specific."
                type: "object"
                additionalProperties:
                  type: "string"
              Labels:
                description: "User-defined key/value metadata."
                type: "object"
                additionalProperties:
                  type: "string"
            example:
              Name: "tardis"
              Labels:
                com.example.some-label: "some-value"
                com.example.some-other-label: "some-other-value"
              Driver: "custom"
      tags: ["Volume"]

  /volumes/{name}:
    get:
      summary: "Inspect a volume"
      operationId: "VolumeInspect"
      produces: ["application/json"]
      responses:
        200:
          description: "No error"
          schema:
            $ref: "#/definitions/Volume"
        404:
          description: "No such volume"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          required: true
          description: "Volume name or ID"
          type: "string"
      tags: ["Volume"]

    delete:
      summary: "Remove a volume"
      description: "Instruct the driver to remove the volume."
      operationId: "VolumeDelete"
      responses:
        204:
          description: "The volume was removed"
        404:
          description: "No such volume or volume driver"
          schema:
            $ref: "#/definitions/ErrorResponse"
        409:
          description: "Volume is in use and cannot be removed"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          required: true
          description: "Volume name or ID"
          type: "string"
        - name: "force"
          in: "query"
          description: "Force the removal of the volume"
          type: "boolean"
          default: false
      tags: ["Volume"]
  /volumes/prune:
    post:
      summary: "Delete unused volumes"
      produces:
        - "application/json"
      operationId: "VolumePrune"
      parameters:
        - name: "filters"
          in: "query"
          description: |
            Filters to process on the prune list, encoded as JSON (a `map[string][]string`).

            Available filters:
            - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune volumes with (or without, in case `label!=...` is used) the specified labels.
          type: "string"
      responses:
        200:
          description: "No error"
          schema:
            type: "object"
            title: "VolumePruneResponse"
            properties:
              VolumesDeleted:
                description: "Volumes that were deleted"
                type: "array"
                items:
                  type: "string"
              SpaceReclaimed:
                description: "Disk space reclaimed in bytes"
                type: "integer"
                format: "int64"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Volume"]
  /networks:
    get:
      summary: "List networks"
      description: |
        Returns a list of networks. For details on the format, see [the network inspect endpoint](#operation/NetworkInspect).

        Note that it uses a different, smaller representation of a network than inspecting a single network. For example,
        the list of containers attached to the network is not propagated in API versions 1.28 and up.
      operationId: "NetworkList"
      produces:
        - "application/json"
      responses:
        200:
          description: "No error"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/Network"
          examples:
            application/json:
              - Name: "bridge"
                Id: "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566"
                Created: "2016-10-19T06:21:00.416543526Z"
                Scope: "local"
                Driver: "bridge"
                EnableIPv6: false
                Internal: false
                Attachable: false
                Ingress: false
                IPAM:
                  Driver: "default"
                  Config:
                    -
                      Subnet: "172.17.0.0/16"
                Options:
                  com.docker.network.bridge.default_bridge: "true"
                  com.docker.network.bridge.enable_icc: "true"
                  com.docker.network.bridge.enable_ip_masquerade: "true"
                  com.docker.network.bridge.host_binding_ipv4: "0.0.0.0"
                  com.docker.network.bridge.name: "docker0"
                  com.docker.network.driver.mtu: "1500"
              - Name: "none"
                Id: "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794"
                Created: "0001-01-01T00:00:00Z"
                Scope: "local"
                Driver: "null"
                EnableIPv6: false
                Internal: false
                Attachable: false
                Ingress: false
                IPAM:
                  Driver: "default"
                  Config: []
                Containers: {}
                Options: {}
              - Name: "host"
                Id: "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e"
                Created: "0001-01-01T00:00:00Z"
                Scope: "local"
                Driver: "host"
                EnableIPv6: false
                Internal: false
                Attachable: false
                Ingress: false
                IPAM:
                  Driver: "default"
                  Config: []
                Containers: {}
                Options: {}
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "filters"
          in: "query"
          description: |
            JSON encoded value of the filters (a `map[string][]string`) to process on the networks list. Available filters:

            - `driver=<driver-name>` Matches a network's driver.
            - `id=<network-id>` Matches all or part of a network ID.
            - `label=<key>` or `label=<key>=<value>` of a network label.
            - `name=<network-name>` Matches all or part of a network name.
            - `scope=["swarm"|"global"|"local"]` Filters networks by scope (`swarm`, `global`, or `local`).
            - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks.
          type: "string"
      tags: ["Network"]

  /networks/{id}:
    get:
      summary: "Inspect a network"
      operationId: "NetworkInspect"
      produces:
        - "application/json"
      responses:
        200:
          description: "No error"
          schema:
            $ref: "#/definitions/Network"
        404:
          description: "Network not found"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "Network ID or name"
          required: true
          type: "string"
        - name: "verbose"
          in: "query"
          description: "Detailed inspect output for troubleshooting"
          type: "boolean"
          default: false
        - name: "scope"
          in: "query"
          description: "Filter the network by scope (swarm, global, or local)"
          type: "string"
      tags: ["Network"]

    delete:
      summary: "Remove a network"
      operationId: "NetworkDelete"
      responses:
        204:
          description: "No error"
        403:
          description: "operation not supported for pre-defined networks"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such network"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "Network ID or name"
          required: true
          type: "string"
      tags: ["Network"]

  /networks/create:
    post:
      summary: "Create a network"
      operationId: "NetworkCreate"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      responses:
        201:
          description: "No error"
          schema:
            type: "object"
            title: "NetworkCreateResponse"
            properties:
              Id:
                description: "The ID of the created network."
                type: "string"
              Warning:
                type: "string"
            example:
              Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
              Warning: ""
        403:
          description: "operation not supported for pre-defined networks"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "plugin not found"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "networkConfig"
          in: "body"
          description: "Network configuration"
          required: true
          schema:
            type: "object"
            required: ["Name"]
            properties:
              Name:
                description: "The network's name."
                type: "string"
              CheckDuplicate:
                description: "Check for networks with duplicate names. Since Network is primarily keyed based on a random ID and not on the name, and network name is strictly a user-friendly alias to the network which is uniquely identified using ID, there is no guaranteed way to check for duplicates. CheckDuplicate is there to provide a best effort checking of any networks which has the same name but it is not guaranteed to catch all name collisions."
                type: "boolean"
              Driver:
                description: "Name of the network driver plugin to use."
                type: "string"
                default: "bridge"
              Internal:
                description: "Restrict external access to the network."
                type: "boolean"
              Attachable:
                description: "Globally scoped network is manually attachable by regular containers from workers in swarm mode."
                type: "boolean"
              Ingress:
                description: "Ingress network is the network which provides the routing-mesh in swarm mode."
                type: "boolean"
              IPAM:
                description: "Optional custom IP scheme for the network."
                $ref: "#/definitions/IPAM"
              EnableIPv6:
                description: "Enable IPv6 on the network."
                type: "boolean"
              Options:
                description: "Network specific options to be used by the drivers."
                type: "object"
                additionalProperties:
                  type: "string"
              Labels:
                description: "User-defined key/value metadata."
                type: "object"
                additionalProperties:
                  type: "string"
            example:
              Name: "isolated_nw"
              CheckDuplicate: false
              Driver: "bridge"
              EnableIPv6: true
              IPAM:
                Driver: "default"
                Config:
                  - Subnet: "172.20.0.0/16"
                    IPRange: "172.20.10.0/24"
                    Gateway: "172.20.10.11"
                  - Subnet: "2001:db8:abcd::/64"
                    Gateway: "2001:db8:abcd::1011"
                Options:
                  foo: "bar"
              Internal: true
              Attachable: false
              Ingress: false
              Options:
                com.docker.network.bridge.default_bridge: "true"
                com.docker.network.bridge.enable_icc: "true"
                com.docker.network.bridge.enable_ip_masquerade: "true"
                com.docker.network.bridge.host_binding_ipv4: "0.0.0.0"
                com.docker.network.bridge.name: "docker0"
                com.docker.network.driver.mtu: "1500"
              Labels:
                com.example.some-label: "some-value"
                com.example.some-other-label: "some-other-value"
      tags: ["Network"]

  /networks/{id}/connect:
    post:
      summary: "Connect a container to a network"
      operationId: "NetworkConnect"
      consumes:
        - "application/json"
      responses:
        200:
          description: "No error"
        403:
          description: "Operation not supported for swarm scoped networks"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "Network or container not found"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "Network ID or name"
          required: true
          type: "string"
        - name: "container"
          in: "body"
          required: true
          schema:
            type: "object"
            properties:
              Container:
                type: "string"
                description: "The ID or name of the container to connect to the network."
              EndpointConfig:
                $ref: "#/definitions/EndpointSettings"
            example:
              Container: "3613f73ba0e4"
              EndpointConfig:
                IPAMConfig:
                  IPv4Address: "172.24.56.89"
                  IPv6Address: "2001:db8::5689"
      tags: ["Network"]

  /networks/{id}/disconnect:
    post:
      summary: "Disconnect a container from a network"
      operationId: "NetworkDisconnect"
      consumes:
        - "application/json"
      responses:
        200:
          description: "No error"
        403:
          description: "Operation not supported for swarm scoped networks"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "Network or container not found"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "Network ID or name"
          required: true
          type: "string"
        - name: "container"
          in: "body"
          required: true
          schema:
            type: "object"
            properties:
              Container:
                type: "string"
                description: "The ID or name of the container to disconnect from the network."
              Force:
                type: "boolean"
                description: "Force the container to disconnect from the network."
      tags: ["Network"]
  /networks/prune:
    post:
      summary: "Delete unused networks"
      produces:
        - "application/json"
      operationId: "NetworkPrune"
      parameters:
        - name: "filters"
          in: "query"
          description: |
            Filters to process on the prune list, encoded as JSON (a `map[string][]string`).

            Available filters:
            - `until=<timestamp>` Prune networks created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.
            - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune networks with (or without, in case `label!=...` is used) the specified labels.
          type: "string"
      responses:
        200:
          description: "No error"
          schema:
            type: "object"
            title: "NetworkPruneResponse"
            properties:
              NetworksDeleted:
                description: "Networks that were deleted"
                type: "array"
                items:
                  type: "string"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Network"]
  /plugins:
    get:
      summary: "List plugins"
      operationId: "PluginList"
      description: "Returns information about installed plugins."
      produces: ["application/json"]
      responses:
        200:
          description: "No error"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/Plugin"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "filters"
          in: "query"
          type: "string"
          description: |
            A JSON encoded value of the filters (a `map[string][]string`) to process on the plugin list. Available filters:

            - `capability=<capability name>`
            - `enable=<true>|<false>`
      tags: ["Plugin"]

  /plugins/privileges:
    get:
      summary: "Get plugin privileges"
      operationId: "GetPluginPrivileges"
      responses:
        200:
          description: "no error"
          schema:
            type: "array"
            items:
              description: "Describes a permission the user has to accept upon installing the plugin."
              type: "object"
              title: "PluginPrivilegeItem"
              properties:
                Name:
                  type: "string"
                Description:
                  type: "string"
                Value:
                  type: "array"
                  items:
                    type: "string"
            example:
              - Name: "network"
                Description: ""
                Value:
                  - "host"
              - Name: "mount"
                Description: ""
                Value:
                  - "/data"
              - Name: "device"
                Description: ""
                Value:
                  - "/dev/cpu_dma_latency"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "remote"
          in: "query"
          description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
          required: true
          type: "string"
      tags:
        - "Plugin"

  /plugins/pull:
    post:
      summary: "Install a plugin"
      operationId: "PluginPull"
      description: |
        Pulls and installs a plugin. After the plugin is installed, it can be enabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable).
      produces:
        - "application/json"
      responses:
        204:
          description: "no error"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "remote"
          in: "query"
          description: |
            Remote reference for plugin to install.

            The `:latest` tag is optional, and is used as the default if omitted.
          required: true
          type: "string"
        - name: "name"
          in: "query"
          description: |
            Local name for the pulled plugin.

            The `:latest` tag is optional, and is used as the default if omitted.
          required: false
          type: "string"
        - name: "X-Registry-Auth"
          in: "header"
          description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
          type: "string"
        - name: "body"
          in: "body"
          schema:
            type: "array"
            items:
              description: "Describes a permission accepted by the user upon installing the plugin."
              type: "object"
              properties:
                Name:
                  type: "string"
                Description:
                  type: "string"
                Value:
                  type: "array"
                  items:
                    type: "string"
            example:
              - Name: "network"
                Description: ""
                Value:
                  - "host"
              - Name: "mount"
                Description: ""
                Value:
                  - "/data"
              - Name: "device"
                Description: ""
                Value:
                  - "/dev/cpu_dma_latency"
      tags: ["Plugin"]
  /plugins/{name}/json:
    get:
      summary: "Inspect a plugin"
      operationId: "PluginInspect"
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/Plugin"
        404:
          description: "plugin is not installed"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
          required: true
          type: "string"
      tags: ["Plugin"]
  /plugins/{name}:
    delete:
      summary: "Remove a plugin"
      operationId: "PluginDelete"
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/Plugin"
        404:
          description: "plugin is not installed"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
          required: true
          type: "string"
        - name: "force"
          in: "query"
          description: "Disable the plugin before removing. This may result in issues if the plugin is in use by a container."
          type: "boolean"
          default: false
      tags: ["Plugin"]
  /plugins/{name}/enable:
    post:
      summary: "Enable a plugin"
      operationId: "PluginEnable"
      responses:
        200:
          description: "no error"
        404:
          description: "plugin is not installed"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
          required: true
          type: "string"
        - name: "timeout"
          in: "query"
          description: "Set the HTTP client timeout (in seconds)"
          type: "integer"
          default: 0
      tags: ["Plugin"]
  /plugins/{name}/disable:
    post:
      summary: "Disable a plugin"
      operationId: "PluginDisable"
      responses:
        200:
          description: "no error"
        404:
          description: "plugin is not installed"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
          required: true
          type: "string"
      tags: ["Plugin"]
  /plugins/{name}/upgrade:
    post:
      summary: "Upgrade a plugin"
      operationId: "PluginUpgrade"
      responses:
        204:
          description: "no error"
        404:
          description: "plugin not installed"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
          required: true
          type: "string"
        - name: "remote"
          in: "query"
          description: |
            Remote reference to upgrade to.

            The `:latest` tag is optional, and is used as the default if omitted.
          required: true
          type: "string"
        - name: "X-Registry-Auth"
          in: "header"
          description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
          type: "string"
        - name: "body"
          in: "body"
          schema:
            type: "array"
            items:
              description: "Describes a permission accepted by the user upon installing the plugin."
              type: "object"
              properties:
                Name:
                  type: "string"
                Description:
                  type: "string"
                Value:
                  type: "array"
                  items:
                    type: "string"
            example:
              - Name: "network"
                Description: ""
                Value:
                  - "host"
              - Name: "mount"
                Description: ""
                Value:
                  - "/data"
              - Name: "device"
                Description: ""
                Value:
                  - "/dev/cpu_dma_latency"
      tags: ["Plugin"]
  /plugins/create:
    post:
      summary: "Create a plugin"
      operationId: "PluginCreate"
      consumes:
        - "application/x-tar"
      responses:
        204:
          description: "no error"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "query"
          description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
          required: true
          type: "string"
        - name: "tarContext"
          in: "body"
          description: "Path to tar containing plugin rootfs and manifest"
          schema:
            type: "string"
            format: "binary"
      tags: ["Plugin"]
  /plugins/{name}/push:
    post:
      summary: "Push a plugin"
      operationId: "PluginPush"
      description: |
        Push a plugin to the registry.
      parameters:
        - name: "name"
          in: "path"
          description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
          required: true
          type: "string"
      responses:
        200:
          description: "no error"
        404:
          description: "plugin not installed"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Plugin"]
  /plugins/{name}/set:
    post:
      summary: "Configure a plugin"
      operationId: "PluginSet"
      consumes:
        - "application/json"
      parameters:
        - name: "name"
          in: "path"
          description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
          required: true
          type: "string"
        - name: "body"
          in: "body"
          schema:
            type: "array"
            items:
              type: "string"
            example: ["DEBUG=1"]
      responses:
        204:
          description: "No error"
        404:
          description: "Plugin not installed"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Plugin"]
  /nodes:
    get:
      summary: "List nodes"
      operationId: "NodeList"
      responses:
        200:
          description: "no error"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/Node"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "filters"
          in: "query"
          description: |
            Filters to process on the nodes list, encoded as JSON (a `map[string][]string`).

            Available filters:
            - `id=<node id>`
            - `label=<engine label>`
            - `membership=`(`accepted`|`pending`)`
            - `name=<node name>`
            - `role=`(`manager`|`worker`)`
          type: "string"
      tags: ["Node"]
  /nodes/{id}:
    get:
      summary: "Inspect a node"
      operationId: "NodeInspect"
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/Node"
        404:
          description: "no such node"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "The ID or name of the node"
          type: "string"
          required: true
      tags: ["Node"]
    delete:
      summary: "Delete a node"
      operationId: "NodeDelete"
      responses:
        200:
          description: "no error"
        404:
          description: "no such node"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "The ID or name of the node"
          type: "string"
          required: true
        - name: "force"
          in: "query"
          description: "Force remove a node from the swarm"
          default: false
          type: "boolean"
      tags: ["Node"]
  /nodes/{id}/update:
    post:
      summary: "Update a node"
      operationId: "NodeUpdate"
      responses:
        200:
          description: "no error"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such node"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "The ID of the node"
          type: "string"
          required: true
        - name: "body"
          in: "body"
          schema:
            $ref: "#/definitions/NodeSpec"
        - name: "version"
          in: "query"
          description: "The version number of the node object being updated. This is required to avoid conflicting writes."
          type: "integer"
          format: "int64"
          required: true
      tags: ["Node"]
  /swarm:
    get:
      summary: "Inspect swarm"
      operationId: "SwarmInspect"
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/Swarm"
        404:
          description: "no such swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Swarm"]
  /swarm/init:
    post:
      summary: "Initialize a new swarm"
      operationId: "SwarmInit"
      produces:
        - "application/json"
        - "text/plain"
      responses:
        200:
          description: "no error"
          schema:
            description: "The node ID"
            type: "string"
            example: "7v2t30z9blmxuhnyo6s4cpenp"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is already part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "body"
          in: "body"
          required: true
          schema:
            type: "object"
            properties:
              ListenAddr:
                description: "Listen address used for inter-manager communication, as well as determining the networking interface used for the VXLAN Tunnel Endpoint (VTEP). This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the default swarm listening port is used."
                type: "string"
              AdvertiseAddr:
                description: "Externally reachable address advertised to other nodes. This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the port number from the listen address is used. If `AdvertiseAddr` is not specified, it will be automatically detected when possible."
                type: "string"
              DataPathAddr:
                description: |
                  Address or interface to use for data path traffic (format: `<ip|interface>`), for example,  `192.168.1.1`,
                  or an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr`
                  is used.

                  The `DataPathAddr` specifies the address that global scope network drivers will publish towards other
                  nodes in order to reach the containers running on this node. Using this parameter it is possible to
                  separate the container data traffic from the management traffic of the cluster.
                type: "string"
              DefaultAddrPool:
                description: |
                  Default Address Pool specifies default subnet pools for global scope networks.
                type: "array"
                items:
                  type: "string"
                  example: ["10.10.0.0/16", "20.20.0.0/16"]
              ForceNewCluster:
                description: "Force creation of a new swarm."
                type: "boolean"
              SubnetSize:
                description: |
                  SubnetSize specifies the subnet size of the networks created from the default subnet pool
                type: "integer"
                format: "uint32"
              Spec:
                $ref: "#/definitions/SwarmSpec"
            example:
              ListenAddr: "0.0.0.0:2377"
              AdvertiseAddr: "192.168.1.1:2377"
              DefaultAddrPool: ["10.10.0.0/8", "20.20.0.0/8"]
              SubnetSize: 24
              ForceNewCluster: false
              Spec:
                Orchestration: {}
                Raft: {}
                Dispatcher: {}
                CAConfig: {}
                EncryptionConfig:
                  AutoLockManagers: false
      tags: ["Swarm"]
  /swarm/join:
    post:
      summary: "Join an existing swarm"
      operationId: "SwarmJoin"
      responses:
        200:
          description: "no error"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is already part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "body"
          in: "body"
          required: true
          schema:
            type: "object"
            properties:
              ListenAddr:
                description: "Listen address used for inter-manager communication if the node gets promoted to manager, as well as determining the networking interface used for the VXLAN Tunnel Endpoint (VTEP)."
                type: "string"
              AdvertiseAddr:
                description: "Externally reachable address advertised to other nodes. This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the port number from the listen address is used. If `AdvertiseAddr` is not specified, it will be automatically detected when possible."
                type: "string"
              DataPathAddr:
                description: |
                  Address or interface to use for data path traffic (format: `<ip|interface>`), for example,  `192.168.1.1`,
                  or an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr`
                  is used.

                  The `DataPathAddr` specifies the address that global scope network drivers will publish towards other
                  nodes in order to reach the containers running on this node. Using this parameter it is possible to
                  separate the container data traffic from the management traffic of the cluster.

                type: "string"
              RemoteAddrs:
                description: "Addresses of manager nodes already participating in the swarm."
                type: "array"
                items:
                  type: "string"
              JoinToken:
                description: "Secret token for joining this swarm."
                type: "string"
            example:
              ListenAddr: "0.0.0.0:2377"
              AdvertiseAddr: "192.168.1.1:2377"
              RemoteAddrs:
                - "node1:2377"
              JoinToken: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2"
      tags: ["Swarm"]
  /swarm/leave:
    post:
      summary: "Leave a swarm"
      operationId: "SwarmLeave"
      responses:
        200:
          description: "no error"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "force"
          description: "Force leave swarm, even if this is the last manager or that it will break the cluster."
          in: "query"
          type: "boolean"
          default: false
      tags: ["Swarm"]
  /swarm/update:
    post:
      summary: "Update a swarm"
      operationId: "SwarmUpdate"
      responses:
        200:
          description: "no error"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "body"
          in: "body"
          required: true
          schema:
            $ref: "#/definitions/SwarmSpec"
        - name: "version"
          in: "query"
          description: "The version number of the swarm object being updated. This is required to avoid conflicting writes."
          type: "integer"
          format: "int64"
          required: true
        - name: "rotateWorkerToken"
          in: "query"
          description: "Rotate the worker join token."
          type: "boolean"
          default: false
        - name: "rotateManagerToken"
          in: "query"
          description: "Rotate the manager join token."
          type: "boolean"
          default: false
        - name: "rotateManagerUnlockKey"
          in: "query"
          description: "Rotate the manager unlock key."
          type: "boolean"
          default: false
      tags: ["Swarm"]
  /swarm/unlockkey:
    get:
      summary: "Get the unlock key"
      operationId: "SwarmUnlockkey"
      consumes:
        - "application/json"
      responses:
        200:
          description: "no error"
          schema:
            type: "object"
            title: "UnlockKeyResponse"
            properties:
              UnlockKey:
                description: "The swarm's unlock key."
                type: "string"
            example:
              UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Swarm"]
  /swarm/unlock:
    post:
      summary: "Unlock a locked manager"
      operationId: "SwarmUnlock"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      parameters:
        - name: "body"
          in: "body"
          required: true
          schema:
            type: "object"
            properties:
              UnlockKey:
                description: "The swarm's unlock key."
                type: "string"
            example:
              UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8"
      responses:
        200:
          description: "no error"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Swarm"]
  /services:
    get:
      summary: "List services"
      operationId: "ServiceList"
      responses:
        200:
          description: "no error"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/Service"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "filters"
          in: "query"
          type: "string"
          description: |
            A JSON encoded value of the filters (a `map[string][]string`) to process on the services list. Available filters:

            - `id=<service id>`
            - `label=<service label>`
            - `mode=["replicated"|"global"]`
            - `name=<service name>`
      tags: ["Service"]
  /services/create:
    post:
      summary: "Create a service"
      operationId: "ServiceCreate"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      responses:
        201:
          description: "no error"
          schema:
            type: "object"
            title: "ServiceCreateResponse"
            properties:
              ID:
                description: "The ID of the created service."
                type: "string"
              Warning:
                description: "Optional warning message"
                type: "string"
            example:
              ID: "ak7w3gjqoa3kuz8xcpnyy0pvl"
              Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        403:
          description: "network is not eligible for services"
          schema:
            $ref: "#/definitions/ErrorResponse"
        409:
          description: "name conflicts with an existing service"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "body"
          in: "body"
          required: true
          schema:
            allOf:
              - $ref: "#/definitions/ServiceSpec"
              - type: "object"
                example:
                  Name: "web"
                  TaskTemplate:
                    ContainerSpec:
                      Image: "nginx:alpine"
                      Mounts:
                        -
                          ReadOnly: true
                          Source: "web-data"
                          Target: "/usr/share/nginx/html"
                          Type: "volume"
                          VolumeOptions:
                            DriverConfig: {}
                            Labels:
                              com.example.something: "something-value"
                      Hosts: ["10.10.10.10 host1", "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2"]
                      User: "33"
                      DNSConfig:
                        Nameservers: ["8.8.8.8"]
                        Search: ["example.org"]
                        Options: ["timeout:3"]
                      Secrets:
                        -
                          File:
                            Name: "www.example.org.key"
                            UID: "33"
                            GID: "33"
                            Mode: 384
                          SecretID: "fpjqlhnwb19zds35k8wn80lq9"
                          SecretName: "example_org_domain_key"
                    LogDriver:
                      Name: "json-file"
                      Options:
                        max-file: "3"
                        max-size: "10M"
                    Placement: {}
                    Resources:
                      Limits:
                        MemoryBytes: 104857600
                      Reservations: {}
                    RestartPolicy:
                      Condition: "on-failure"
                      Delay: 10000000000
                      MaxAttempts: 10
                  Mode:
                    Replicated:
                      Replicas: 4
                  UpdateConfig:
                    Parallelism: 2
                    Delay: 1000000000
                    FailureAction: "pause"
                    Monitor: 15000000000
                    MaxFailureRatio: 0.15
                  RollbackConfig:
                    Parallelism: 1
                    Delay: 1000000000
                    FailureAction: "pause"
                    Monitor: 15000000000
                    MaxFailureRatio: 0.15
                  EndpointSpec:
                    Ports:
                      -
                        Protocol: "tcp"
                        PublishedPort: 8080
                        TargetPort: 80
                  Labels:
                    foo: "bar"
        - name: "X-Registry-Auth"
          in: "header"
          description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
          type: "string"
      tags: ["Service"]
  /services/{id}:
    get:
      summary: "Inspect a service"
      operationId: "ServiceInspect"
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/Service"
        404:
          description: "no such service"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "ID or name of service."
          required: true
          type: "string"
        - name: "insertDefaults"
          in: "query"
          description: "Fill empty fields with default values."
          type: "boolean"
          default: false
      tags: ["Service"]
    delete:
      summary: "Delete a service"
      operationId: "ServiceDelete"
      responses:
        200:
          description: "no error"
        404:
          description: "no such service"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "ID or name of service."
          required: true
          type: "string"
      tags: ["Service"]
  /services/{id}/update:
    post:
      summary: "Update a service"
      operationId: "ServiceUpdate"
      consumes: ["application/json"]
      produces: ["application/json"]
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/ServiceUpdateResponse"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such service"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "ID or name of service."
          required: true
          type: "string"
        - name: "body"
          in: "body"
          required: true
          schema:
            allOf:
              - $ref: "#/definitions/ServiceSpec"
              - type: "object"
                example:
                  Name: "top"
                  TaskTemplate:
                    ContainerSpec:
                      Image: "busybox"
                      Args:
                        - "top"
                    Resources:
                      Limits: {}
                      Reservations: {}
                    RestartPolicy:
                      Condition: "any"
                      MaxAttempts: 0
                    Placement: {}
                    ForceUpdate: 0
                  Mode:
                    Replicated:
                      Replicas: 1
                  UpdateConfig:
                    Parallelism: 2
                    Delay: 1000000000
                    FailureAction: "pause"
                    Monitor: 15000000000
                    MaxFailureRatio: 0.15
                  RollbackConfig:
                    Parallelism: 1
                    Delay: 1000000000
                    FailureAction: "pause"
                    Monitor: 15000000000
                    MaxFailureRatio: 0.15
                  EndpointSpec:
                    Mode: "vip"

        - name: "version"
          in: "query"
          description: "The version number of the service object being updated.
          This is required to avoid conflicting writes.
          This version number should be the value as currently set on the service *before* the update.
          You can find the current version by calling `GET /services/{id}`"
          required: true
          type: "integer"
        - name: "registryAuthFrom"
          in: "query"
          type: "string"
          description: "If the X-Registry-Auth header is not specified, this
  parameter indicates where to find registry authorization credentials. The
  valid values are `spec` and `previous-spec`."
          default: "spec"
        - name: "rollback"
          in: "query"
          type: "string"
          description: "Set to this parameter to `previous` to cause a
  server-side rollback to the previous service spec. The supplied spec will be
  ignored in this case."
        - name: "X-Registry-Auth"
          in: "header"
          description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
          type: "string"

      tags: ["Service"]
  /services/{id}/logs:
    get:
      summary: "Get service logs"
      description: |
        Get `stdout` and `stderr` logs from a service.

        **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers.
      operationId: "ServiceLogs"
      produces:
        - "application/vnd.docker.raw-stream"
        - "application/json"
      responses:
        101:
          description: "logs returned as a stream"
          schema:
            type: "string"
            format: "binary"
        200:
          description: "logs returned as a string in response body"
          schema:
            type: "string"
        404:
          description: "no such service"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such service: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID or name of the service"
          type: "string"
        - name: "details"
          in: "query"
          description: "Show service context and extra details provided to logs."
          type: "boolean"
          default: false
        - name: "follow"
          in: "query"
          description: |
            Return the logs as a stream.

            This will return a `101` HTTP response with a `Connection: upgrade` header, then hijack the HTTP connection to send raw output. For more information about hijacking and the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).
          type: "boolean"
          default: false
        - name: "stdout"
          in: "query"
          description: "Return logs from `stdout`"
          type: "boolean"
          default: false
        - name: "stderr"
          in: "query"
          description: "Return logs from `stderr`"
          type: "boolean"
          default: false
        - name: "since"
          in: "query"
          description: "Only return logs since this time, as a UNIX timestamp"
          type: "integer"
          default: 0
        - name: "timestamps"
          in: "query"
          description: "Add timestamps to every log line"
          type: "boolean"
          default: false
        - name: "tail"
          in: "query"
          description: "Only return this number of log lines from the end of the logs. Specify as an integer or `all` to output all log lines."
          type: "string"
          default: "all"
      tags: ["Service"]
  /tasks:
    get:
      summary: "List tasks"
      operationId: "TaskList"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/Task"
            example:
              - ID: "0kzzo1i0y4jz6027t0k7aezc7"
                Version:
                  Index: 71
                CreatedAt: "2016-06-07T21:07:31.171892745Z"
                UpdatedAt: "2016-06-07T21:07:31.376370513Z"
                Spec:
                  ContainerSpec:
                    Image: "redis"
                  Resources:
                    Limits: {}
                    Reservations: {}
                  RestartPolicy:
                    Condition: "any"
                    MaxAttempts: 0
                  Placement: {}
                ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz"
                Slot: 1
                NodeID: "60gvrl6tm78dmak4yl7srz94v"
                Status:
                  Timestamp: "2016-06-07T21:07:31.290032978Z"
                  State: "running"
                  Message: "started"
                  ContainerStatus:
                    ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035"
                    PID: 677
                DesiredState: "running"
                NetworksAttachments:
                  - Network:
                      ID: "4qvuz4ko70xaltuqbt8956gd1"
                      Version:
                        Index: 18
                      CreatedAt: "2016-06-07T20:31:11.912919752Z"
                      UpdatedAt: "2016-06-07T21:07:29.955277358Z"
                      Spec:
                        Name: "ingress"
                        Labels:
                          com.docker.swarm.internal: "true"
                        DriverConfiguration: {}
                        IPAMOptions:
                          Driver: {}
                          Configs:
                            - Subnet: "10.255.0.0/16"
                              Gateway: "10.255.0.1"
                      DriverState:
                        Name: "overlay"
                        Options:
                          com.docker.network.driver.overlay.vxlanid_list: "256"
                      IPAMOptions:
                        Driver:
                          Name: "default"
                        Configs:
                          - Subnet: "10.255.0.0/16"
                            Gateway: "10.255.0.1"
                    Addresses:
                      - "10.255.0.10/16"
              - ID: "1yljwbmlr8er2waf8orvqpwms"
                Version:
                  Index: 30
                CreatedAt: "2016-06-07T21:07:30.019104782Z"
                UpdatedAt: "2016-06-07T21:07:30.231958098Z"
                Name: "hopeful_cori"
                Spec:
                  ContainerSpec:
                    Image: "redis"
                  Resources:
                    Limits: {}
                    Reservations: {}
                  RestartPolicy:
                    Condition: "any"
                    MaxAttempts: 0
                  Placement: {}
                ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz"
                Slot: 1
                NodeID: "60gvrl6tm78dmak4yl7srz94v"
                Status:
                  Timestamp: "2016-06-07T21:07:30.202183143Z"
                  State: "shutdown"
                  Message: "shutdown"
                  ContainerStatus:
                    ContainerID: "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213"
                DesiredState: "shutdown"
                NetworksAttachments:
                  - Network:
                      ID: "4qvuz4ko70xaltuqbt8956gd1"
                      Version:
                        Index: 18
                      CreatedAt: "2016-06-07T20:31:11.912919752Z"
                      UpdatedAt: "2016-06-07T21:07:29.955277358Z"
                      Spec:
                        Name: "ingress"
                        Labels:
                          com.docker.swarm.internal: "true"
                        DriverConfiguration: {}
                        IPAMOptions:
                          Driver: {}
                          Configs:
                            - Subnet: "10.255.0.0/16"
                              Gateway: "10.255.0.1"
                      DriverState:
                        Name: "overlay"
                        Options:
                          com.docker.network.driver.overlay.vxlanid_list: "256"
                      IPAMOptions:
                        Driver:
                          Name: "default"
                        Configs:
                          - Subnet: "10.255.0.0/16"
                            Gateway: "10.255.0.1"
                    Addresses:
                      - "10.255.0.5/16"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "filters"
          in: "query"
          type: "string"
          description: |
            A JSON encoded value of the filters (a `map[string][]string`) to process on the tasks list. Available filters:

            - `desired-state=(running | shutdown | accepted)`
            - `id=<task id>`
            - `label=key` or `label="key=value"`
            - `name=<task name>`
            - `node=<node id or name>`
            - `service=<service name>`
      tags: ["Task"]
  /tasks/{id}:
    get:
      summary: "Inspect a task"
      operationId: "TaskInspect"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/Task"
        404:
          description: "no such task"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "ID of the task"
          required: true
          type: "string"
      tags: ["Task"]
  /tasks/{id}/logs:
    get:
      summary: "Get task logs"
      description: |
        Get `stdout` and `stderr` logs from a task.

        **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers.
      operationId: "TaskLogs"
      produces:
        - "application/vnd.docker.raw-stream"
        - "application/json"
      responses:
        101:
          description: "logs returned as a stream"
          schema:
            type: "string"
            format: "binary"
        200:
          description: "logs returned as a string in response body"
          schema:
            type: "string"
        404:
          description: "no such task"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such task: c2ada9df5af8"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          description: "ID of the task"
          type: "string"
        - name: "details"
          in: "query"
          description: "Show task context and extra details provided to logs."
          type: "boolean"
          default: false
        - name: "follow"
          in: "query"
          description: |
            Return the logs as a stream.

            This will return a `101` HTTP response with a `Connection: upgrade` header, then hijack the HTTP connection to send raw output. For more information about hijacking and the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach).
          type: "boolean"
          default: false
        - name: "stdout"
          in: "query"
          description: "Return logs from `stdout`"
          type: "boolean"
          default: false
        - name: "stderr"
          in: "query"
          description: "Return logs from `stderr`"
          type: "boolean"
          default: false
        - name: "since"
          in: "query"
          description: "Only return logs since this time, as a UNIX timestamp"
          type: "integer"
          default: 0
        - name: "timestamps"
          in: "query"
          description: "Add timestamps to every log line"
          type: "boolean"
          default: false
        - name: "tail"
          in: "query"
          description: "Only return this number of log lines from the end of the logs. Specify as an integer or `all` to output all log lines."
          type: "string"
          default: "all"
  /secrets:
    get:
      summary: "List secrets"
      operationId: "SecretList"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/Secret"
            example:
              - ID: "blt1owaxmitz71s9v5zh81zun"
                Version:
                  Index: 85
                CreatedAt: "2017-07-20T13:55:28.678958722Z"
                UpdatedAt: "2017-07-20T13:55:28.678958722Z"
                Spec:
                  Name: "mysql-passwd"
                  Labels:
                    some.label: "some.value"
                  Driver:
                    Name: "secret-bucket"
                    Options:
                      OptionA: "value for driver option A"
                      OptionB: "value for driver option B"
              - ID: "ktnbjxoalbkvbvedmg1urrz8h"
                Version:
                  Index: 11
                CreatedAt: "2016-11-05T01:20:17.327670065Z"
                UpdatedAt: "2016-11-05T01:20:17.327670065Z"
                Spec:
                  Name: "app-dev.crt"
                  Labels:
                    foo: "bar"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "filters"
          in: "query"
          type: "string"
          description: |
            A JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Available filters:

            - `id=<secret id>`
            - `label=<key> or label=<key>=value`
            - `name=<secret name>`
            - `names=<secret name>`
      tags: ["Secret"]
  /secrets/create:
    post:
      summary: "Create a secret"
      operationId: "SecretCreate"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      responses:
        201:
          description: "no error"
          schema:
            $ref: "#/definitions/IdResponse"
        409:
          description: "name conflicts with an existing object"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "body"
          in: "body"
          schema:
            allOf:
              - $ref: "#/definitions/SecretSpec"
              - type: "object"
                example:
                  Name: "app-key.crt"
                  Labels:
                    foo: "bar"
                  Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg=="
                  Driver:
                    Name: "secret-bucket"
                    Options:
                      OptionA: "value for driver option A"
                      OptionB: "value for driver option B"
      tags: ["Secret"]
  /secrets/{id}:
    get:
      summary: "Inspect a secret"
      operationId: "SecretInspect"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/Secret"
          examples:
            application/json:
              ID: "ktnbjxoalbkvbvedmg1urrz8h"
              Version:
                Index: 11
              CreatedAt: "2016-11-05T01:20:17.327670065Z"
              UpdatedAt: "2016-11-05T01:20:17.327670065Z"
              Spec:
                Name: "app-dev.crt"
                Labels:
                  foo: "bar"
                Driver:
                  Name: "secret-bucket"
                  Options:
                    OptionA: "value for driver option A"
                    OptionB: "value for driver option B"

        404:
          description: "secret not found"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          type: "string"
          description: "ID of the secret"
      tags: ["Secret"]
    delete:
      summary: "Delete a secret"
      operationId: "SecretDelete"
      produces:
        - "application/json"
      responses:
        204:
          description: "no error"
        404:
          description: "secret not found"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          type: "string"
          description: "ID of the secret"
      tags: ["Secret"]
  /secrets/{id}/update:
    post:
      summary: "Update a Secret"
      operationId: "SecretUpdate"
      responses:
        200:
          description: "no error"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such secret"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "The ID or name of the secret"
          type: "string"
          required: true
        - name: "body"
          in: "body"
          schema:
            $ref: "#/definitions/SecretSpec"
          description: "The spec of the secret to update. Currently, only the Labels field can be updated. All other fields must remain unchanged from the [SecretInspect endpoint](#operation/SecretInspect) response values."
        - name: "version"
          in: "query"
          description: "The version number of the secret object being updated. This is required to avoid conflicting writes."
          type: "integer"
          format: "int64"
          required: true
      tags: ["Secret"]
  /configs:
    get:
      summary: "List configs"
      operationId: "ConfigList"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
          schema:
            type: "array"
            items:
              $ref: "#/definitions/Config"
            example:
              - ID: "ktnbjxoalbkvbvedmg1urrz8h"
                Version:
                  Index: 11
                CreatedAt: "2016-11-05T01:20:17.327670065Z"
                UpdatedAt: "2016-11-05T01:20:17.327670065Z"
                Spec:
                  Name: "server.conf"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "filters"
          in: "query"
          type: "string"
          description: |
            A JSON encoded value of the filters (a `map[string][]string`) to process on the configs list. Available filters:

            - `id=<config id>`
            - `label=<key> or label=<key>=value`
            - `name=<config name>`
            - `names=<config name>`
      tags: ["Config"]
  /configs/create:
    post:
      summary: "Create a config"
      operationId: "ConfigCreate"
      consumes:
        - "application/json"
      produces:
        - "application/json"
      responses:
        201:
          description: "no error"
          schema:
            $ref: "#/definitions/IdResponse"
        409:
          description: "name conflicts with an existing object"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "body"
          in: "body"
          schema:
            allOf:
              - $ref: "#/definitions/ConfigSpec"
              - type: "object"
                example:
                  Name: "server.conf"
                  Labels:
                    foo: "bar"
                  Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg=="
      tags: ["Config"]
  /configs/{id}:
    get:
      summary: "Inspect a config"
      operationId: "ConfigInspect"
      produces:
        - "application/json"
      responses:
        200:
          description: "no error"
          schema:
            $ref: "#/definitions/Config"
          examples:
            application/json:
              ID: "ktnbjxoalbkvbvedmg1urrz8h"
              Version:
                Index: 11
              CreatedAt: "2016-11-05T01:20:17.327670065Z"
              UpdatedAt: "2016-11-05T01:20:17.327670065Z"
              Spec:
                Name: "app-dev.crt"
        404:
          description: "config not found"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          type: "string"
          description: "ID of the config"
      tags: ["Config"]
    delete:
      summary: "Delete a config"
      operationId: "ConfigDelete"
      produces:
        - "application/json"
      responses:
        204:
          description: "no error"
        404:
          description: "config not found"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          required: true
          type: "string"
          description: "ID of the config"
      tags: ["Config"]
  /configs/{id}/update:
    post:
      summary: "Update a Config"
      operationId: "ConfigUpdate"
      responses:
        200:
          description: "no error"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        404:
          description: "no such config"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
        503:
          description: "node is not part of a swarm"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "id"
          in: "path"
          description: "The ID or name of the config"
          type: "string"
          required: true
        - name: "body"
          in: "body"
          schema:
            $ref: "#/definitions/ConfigSpec"
          description: "The spec of the config to update. Currently, only the Labels field can be updated. All other fields must remain unchanged from the [ConfigInspect endpoint](#operation/ConfigInspect) response values."
        - name: "version"
          in: "query"
          description: "The version number of the config object being updated. This is required to avoid conflicting writes."
          type: "integer"
          format: "int64"
          required: true
      tags: ["Config"]
  /distribution/{name}/json:
    get:
      summary: "Get image information from the registry"
      description: "Return image digest and platform information by contacting the registry."
      operationId: "DistributionInspect"
      produces:
        - "application/json"
      responses:
        200:
          description: "descriptor and platform information"
          schema:
            type: "object"
            x-go-name: DistributionInspect
            title: "DistributionInspectResponse"
            required: [Descriptor, Platforms]
            properties:
              Descriptor:
                type: "object"
                description: "A descriptor struct containing digest, media type, and size"
                properties:
                  MediaType:
                    type: "string"
                  Size:
                    type: "integer"
                    format: "int64"
                  Digest:
                    type: "string"
                  URLs:
                    type: "array"
                    items:
                      type: "string"
              Platforms:
                type: "array"
                description: "An array containing all platforms supported by the image"
                items:
                  type: "object"
                  properties:
                    Architecture:
                      type: "string"
                    OS:
                      type: "string"
                    OSVersion:
                      type: "string"
                    OSFeatures:
                      type: "array"
                      items:
                        type: "string"
                    Variant:
                      type: "string"
                    Features:
                      type: "array"
                      items:
                        type: "string"
          examples:
            application/json:
              Descriptor:
                MediaType: "application/vnd.docker.distribution.manifest.v2+json"
                Digest: "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96"
                Size: 3987495
                URLs:
                  - ""
              Platforms:
                - Architecture: "amd64"
                  OS: "linux"
                  OSVersion: ""
                  OSFeatures:
                    - ""
                  Variant: ""
                  Features:
                    - ""
        401:
          description: "Failed authentication or no image found"
          schema:
            $ref: "#/definitions/ErrorResponse"
          examples:
            application/json:
              message: "No such image: someimage (tag: latest)"
        500:
          description: "Server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      parameters:
        - name: "name"
          in: "path"
          description: "Image name or id"
          type: "string"
          required: true
      tags: ["Distribution"]
  /session:
    post:
      summary: "Initialize interactive session"
      description: |
        Start a new interactive session with a server. Session allows server to call back to the client for advanced capabilities.

        > **Note**: This endpoint is *experimental* and only available if the daemon is started with experimental
        > features enabled. The specifications for this endpoint may still change in a future version of the API.

        ### Hijacking

        This endpoint hijacks the HTTP connection to HTTP2 transport that allows the client to expose gPRC services on that connection.

        For example, the client sends this request to upgrade the connection:

        ```
        POST /session HTTP/1.1
        Upgrade: h2c
        Connection: Upgrade
        ```

        The Docker daemon will respond with a `101 UPGRADED` response follow with the raw stream:

        ```
        HTTP/1.1 101 UPGRADED
        Connection: Upgrade
        Upgrade: h2c
        ```
      operationId: "Session"
      produces:
        - "application/vnd.docker.raw-stream"
      responses:
        101:
          description: "no error, hijacking successful"
        400:
          description: "bad parameter"
          schema:
            $ref: "#/definitions/ErrorResponse"
        500:
          description: "server error"
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags: ["Session (experimental)"]
