github.com/kaisenlinux/docker@v0.0.0-20230510090727-ea55db55fac7/engine/docs/api/v1.26.yaml (about)

     1  # A Swagger 2.0 (a.k.a. OpenAPI) definition of the Engine API.
     2  #
     3  # This is used for generating API documentation and the types used by the
     4  # client/server. See api/README.md for more information.
     5  #
     6  # Some style notes:
     7  # - This file is used by ReDoc, which allows GitHub Flavored Markdown in
     8  #   descriptions.
     9  # - There is no maximum line length, for ease of editing and pretty diffs.
    10  # - operationIds are in the format "NounVerb", with a singular noun.
    11  
    12  swagger: "2.0"
    13  schemes:
    14    - "http"
    15    - "https"
    16  produces:
    17    - "application/json"
    18    - "text/plain"
    19  consumes:
    20    - "application/json"
    21    - "text/plain"
    22  basePath: "/v1.26"
    23  info:
    24    title: "Docker Engine API"
    25    version: "1.26"
    26    x-logo:
    27      url: "https://docs.docker.com/assets/images/logo-docker-main.png"
    28    description: |
    29      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.
    30  
    31      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.
    32  
    33      # Errors
    34  
    35      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:
    36  
    37      ```
    38      {
    39        "message": "page not found"
    40      }
    41      ```
    42  
    43      # Versioning
    44  
    45      The API is usually changed in each release of Docker, so API calls are versioned to ensure that clients don't break.
    46  
    47      For Docker Engine >= 1.13.1, the API version is 1.26. To lock to this version, you prefix the URL with `/v1.26`. For example, calling `/info` is the same as calling `/v1.26/info`.
    48  
    49      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.
    50  
    51      In previous versions of Docker, it was possible to access the API without providing a version. This behaviour is now deprecated will be removed in a future version of Docker.
    52  
    53      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 Docker daemons.
    54  
    55      This documentation is for version 1.26 of the API, which was introduced with Docker 1.13.1. Use this table to find documentation for previous versions of the API:
    56  
    57      Docker version  | API version | Changes
    58      ----------------|-------------|---------
    59      1.13.0 | [1.25](https://docs.docker.com/engine/api/v1.25/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-25-api-changes)
    60      1.12.x | [1.24](https://docs.docker.com/engine/api/v1.24/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-24-api-changes)
    61      1.11.x | [1.23](https://docs.docker.com/engine/api/v1.23/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-23-api-changes)
    62      1.10.x | [1.22](https://docs.docker.com/engine/api/v1.22/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-22-api-changes)
    63      1.9.x | [1.21](https://docs.docker.com/engine/api/v1.21/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-21-api-changes)
    64      1.8.x | [1.20](https://docs.docker.com/engine/api/v1.20/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-20-api-changes)
    65      1.7.x | [1.19](https://docs.docker.com/engine/api/v1.19/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-19-api-changes)
    66      1.6.x | [1.18](https://docs.docker.com/engine/api/v1.18/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-18-api-changes)
    67  
    68      # Authentication
    69  
    70      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:
    71  
    72      ```
    73      {
    74        "username": "string",
    75        "password": "string",
    76        "email": "string",
    77        "serveraddress": "string"
    78      }
    79      ```
    80  
    81      The `serveraddress` is a domain/IP without a protocol. Throughout this structure, double quotes are required.
    82  
    83      If you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth), you can just pass this instead of credentials:
    84  
    85      ```
    86      {
    87        "identitytoken": "9cbaf023786cd7..."
    88      }
    89      ```
    90  
    91  # The tags on paths define the menu sections in the ReDoc documentation, so
    92  # the usage of tags must make sense for that:
    93  # - They should be singular, not plural.
    94  # - There should not be too many tags, or the menu becomes unwieldly. For
    95  #   example, it is preferable to add a path to the "System" tag instead of
    96  #   creating a tag with a single path in it.
    97  # - The order of tags in this list defines the order in the menu.
    98  tags:
    99    # Primary objects
   100    - name: "Container"
   101      x-displayName: "Containers"
   102      description: |
   103        Create and manage containers.
   104    - name: "Image"
   105      x-displayName: "Images"
   106    - name: "Network"
   107      x-displayName: "Networks"
   108      description: |
   109        Networks are user-defined networks that containers can be attached to. See the [networking documentation](https://docs.docker.com/network/) for more information.
   110    - name: "Volume"
   111      x-displayName: "Volumes"
   112      description: |
   113        Create and manage persistent storage that can be attached to containers.
   114    - name: "Exec"
   115      x-displayName: "Exec"
   116      description: |
   117        Run new commands inside running containers. See the [command-line reference](https://docs.docker.com/engine/reference/commandline/exec/) for more information.
   118  
   119        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`.
   120    - name: "Secret"
   121      x-displayName: "Secrets"
   122    # Swarm things
   123    - name: "Swarm"
   124      x-displayName: "Swarm"
   125      description: |
   126        Engines can be clustered together in a swarm. See [the swarm mode documentation](https://docs.docker.com/engine/swarm/) for more information.
   127    - name: "Node"
   128      x-displayName: "Nodes"
   129      description: |
   130        Nodes are instances of the Engine participating in a swarm. Swarm mode must be enabled for these endpoints to work.
   131    - name: "Service"
   132      x-displayName: "Services"
   133      description: |
   134        Services are the definitions of tasks to run on a swarm. Swarm mode must be enabled for these endpoints to work.
   135    - name: "Task"
   136      x-displayName: "Tasks"
   137      description: |
   138        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.
   139    # System things
   140    - name: "Plugin"
   141      x-displayName: "Plugins"
   142    - name: "System"
   143      x-displayName: "System"
   144  
   145  definitions:
   146    Port:
   147      type: "object"
   148      description: "An open port on a container"
   149      required: [PrivatePort, Type]
   150      properties:
   151        IP:
   152          type: "string"
   153          format: "ip-address"
   154        PrivatePort:
   155          type: "integer"
   156          format: "uint16"
   157          x-nullable: false
   158          description: "Port on the container"
   159        PublicPort:
   160          type: "integer"
   161          format: "uint16"
   162          description: "Port exposed on the host"
   163        Type:
   164          type: "string"
   165          x-nullable: false
   166          enum: ["tcp", "udp"]
   167      example:
   168        PrivatePort: 8080
   169        PublicPort: 80
   170        Type: "tcp"
   171  
   172    MountPoint:
   173      type: "object"
   174      description: |
   175        MountPoint represents a mount point configuration inside the container.
   176        This is used for reporting the mountpoints in use by a container.
   177      properties:
   178        Type:
   179          description: |
   180            The mount type:
   181  
   182            - `bind` a mount of a file or directory from the host into the container.
   183            - `volume` a docker volume with the given `Name`.
   184            - `tmpfs` a `tmpfs`.
   185          type: "string"
   186          enum:
   187            - "bind"
   188            - "volume"
   189            - "tmpfs"
   190          example: "volume"
   191        Name:
   192          description: |
   193            Name is the name reference to the underlying data defined by `Source`
   194            e.g., the volume name.
   195          type: "string"
   196          example: "myvolume"
   197        Source:
   198          description: |
   199            Source location of the mount.
   200  
   201            For volumes, this contains the storage location of the volume (within
   202            `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains
   203            the source (host) part of the bind-mount. For `tmpfs` mount points, this
   204            field is empty.
   205          type: "string"
   206          example: "/var/lib/docker/volumes/myvolume/_data"
   207        Destination:
   208          description: |
   209            Destination is the path relative to the container root (`/`) where
   210            the `Source` is mounted inside the container.
   211          type: "string"
   212          example: "/usr/share/nginx/html/"
   213        Driver:
   214          description: |
   215            Driver is the volume driver used to create the volume (if it is a volume).
   216          type: "string"
   217          example: "local"
   218        Mode:
   219          description: |
   220            Mode is a comma separated list of options supplied by the user when
   221            creating the bind/volume mount.
   222  
   223            The default is platform-specific (`"z"` on Linux, empty on Windows).
   224          type: "string"
   225          example: "z"
   226        RW:
   227          description: |
   228            Whether the mount is mounted writable (read-write).
   229          type: "boolean"
   230          example: true
   231        Propagation:
   232          description: |
   233            Propagation describes how mounts are propagated from the host into the
   234            mount point, and vice-versa. Refer to the [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)
   235            for details. This field is not used on Windows.
   236          type: "string"
   237          example: ""
   238  
   239    DeviceMapping:
   240      type: "object"
   241      description: "A device mapping between the host and container"
   242      properties:
   243        PathOnHost:
   244          type: "string"
   245        PathInContainer:
   246          type: "string"
   247        CgroupPermissions:
   248          type: "string"
   249      example:
   250        PathOnHost: "/dev/deviceName"
   251        PathInContainer: "/dev/deviceName"
   252        CgroupPermissions: "mrw"
   253  
   254    ThrottleDevice:
   255      type: "object"
   256      properties:
   257        Path:
   258          description: "Device path"
   259          type: "string"
   260        Rate:
   261          description: "Rate"
   262          type: "integer"
   263          format: "int64"
   264          minimum: 0
   265  
   266    Mount:
   267      type: "object"
   268      properties:
   269        Target:
   270          description: "Container path."
   271          type: "string"
   272        Source:
   273          description: "Mount source (e.g. a volume name, a host path)."
   274        Type:
   275          description: |
   276            The mount type. Available types:
   277  
   278            - `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container.
   279            - `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.
   280            - `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs.
   281          type: "string"
   282          enum:
   283            - "bind"
   284            - "volume"
   285            - "tmpfs"
   286        ReadOnly:
   287          description: "Whether the mount should be read-only."
   288          type: "boolean"
   289        BindOptions:
   290          description: "Optional configuration for the `bind` type."
   291          type: "object"
   292          properties:
   293            Propagation:
   294              description: "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`."
   295              enum:
   296                - "private"
   297                - "rprivate"
   298                - "shared"
   299                - "rshared"
   300                - "slave"
   301                - "rslave"
   302        VolumeOptions:
   303          description: "Optional configuration for the `volume` type."
   304          type: "object"
   305          properties:
   306            NoCopy:
   307              description: "Populate volume with data from the target."
   308              type: "boolean"
   309              default: false
   310            Labels:
   311              description: "User-defined key/value metadata."
   312              type: "object"
   313              additionalProperties:
   314                type: "string"
   315            DriverConfig:
   316              description: "Map of driver specific options"
   317              type: "object"
   318              properties:
   319                Name:
   320                  description: "Name of the driver to use to create the volume."
   321                  type: "string"
   322                Options:
   323                  description: "key/value map of driver specific options."
   324                  type: "object"
   325                  additionalProperties:
   326                    type: "string"
   327        TmpfsOptions:
   328          description: "Optional configuration for the `tmpfs` type."
   329          type: "object"
   330          properties:
   331            SizeBytes:
   332              description: "The size for the tmpfs mount in bytes."
   333              type: "integer"
   334              format: "int64"
   335            Mode:
   336              description: "The permission mode for the tmpfs mount in an integer."
   337              type: "integer"
   338    RestartPolicy:
   339      description: |
   340        The behavior to apply when the container exits. The default is not to restart.
   341  
   342        An ever increasing delay (double the previous delay, starting at 100ms) is added before each restart to prevent flooding the server.
   343      type: "object"
   344      properties:
   345        Name:
   346          type: "string"
   347          description: |
   348            - `always` Always restart
   349            - `unless-stopped` Restart always except when the user has manually stopped the container
   350            - `on-failure` Restart only when the container exit code is non-zero
   351          enum:
   352            - "always"
   353            - "unless-stopped"
   354            - "on-failure"
   355        MaximumRetryCount:
   356          type: "integer"
   357          description: "If `on-failure` is used, the number of times to retry before giving up"
   358      default: {}
   359  
   360    Resources:
   361      description: "A container's resources (cgroups config, ulimits, etc)"
   362      type: "object"
   363      properties:
   364        # Applicable to all platforms
   365        CpuShares:
   366          description: "An integer value representing this container's relative CPU weight versus other containers."
   367          type: "integer"
   368        Memory:
   369          description: "Memory limit in bytes."
   370          type: "integer"
   371          default: 0
   372        # Applicable to UNIX platforms
   373        CgroupParent:
   374          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."
   375          type: "string"
   376        BlkioWeight:
   377          description: "Block IO weight (relative weight)."
   378          type: "integer"
   379          minimum: 0
   380          maximum: 1000
   381        BlkioWeightDevice:
   382          description: |
   383            Block IO weight (relative device weight) in the form `[{"Path": "device_path", "Weight": weight}]`.
   384          type: "array"
   385          items:
   386            type: "object"
   387            properties:
   388              Path:
   389                type: "string"
   390              Weight:
   391                type: "integer"
   392                minimum: 0
   393        BlkioDeviceReadBps:
   394          description: |
   395            Limit read rate (bytes per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
   396          type: "array"
   397          items:
   398            $ref: "#/definitions/ThrottleDevice"
   399        BlkioDeviceWriteBps:
   400          description: |
   401            Limit write rate (bytes per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
   402          type: "array"
   403          items:
   404            $ref: "#/definitions/ThrottleDevice"
   405        BlkioDeviceReadIOps:
   406          description: |
   407            Limit read rate (IO per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
   408          type: "array"
   409          items:
   410            $ref: "#/definitions/ThrottleDevice"
   411        BlkioDeviceWriteIOps:
   412          description: |
   413            Limit write rate (IO per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
   414          type: "array"
   415          items:
   416            $ref: "#/definitions/ThrottleDevice"
   417        CpuPeriod:
   418          description: "The length of a CPU period in microseconds."
   419          type: "integer"
   420          format: "int64"
   421        CpuQuota:
   422          description: "Microseconds of CPU time that the container can get in a CPU period."
   423          type: "integer"
   424          format: "int64"
   425        CpuRealtimePeriod:
   426          description: "The length of a CPU real-time period in microseconds. Set to 0 to allocate no time allocated to real-time tasks."
   427          type: "integer"
   428          format: "int64"
   429        CpuRealtimeRuntime:
   430          description: "The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no time allocated to real-time tasks."
   431          type: "integer"
   432          format: "int64"
   433        CpusetCpus:
   434          description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)"
   435          type: "string"
   436        CpusetMems:
   437          description: "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems."
   438          type: "string"
   439        Devices:
   440          description: "A list of devices to add to the container."
   441          type: "array"
   442          items:
   443            $ref: "#/definitions/DeviceMapping"
   444        DiskQuota:
   445          description: "Disk limit (in bytes)."
   446          type: "integer"
   447          format: "int64"
   448        KernelMemory:
   449          description: "Kernel memory limit in bytes."
   450          type: "integer"
   451          format: "int64"
   452        MemoryReservation:
   453          description: "Memory soft limit in bytes."
   454          type: "integer"
   455          format: "int64"
   456        MemorySwap:
   457          description: "Total memory limit (memory + swap). Set as `-1` to enable unlimited swap."
   458          type: "integer"
   459          format: "int64"
   460        MemorySwappiness:
   461          description: "Tune a container's memory swappiness behavior. Accepts an integer between 0 and 100."
   462          type: "integer"
   463          format: "int64"
   464          minimum: 0
   465          maximum: 100
   466        NanoCpus:
   467          description: "CPU quota in units of 10<sup>-9</sup> CPUs."
   468          type: "integer"
   469          format: "int64"
   470        OomKillDisable:
   471          description: "Disable OOM Killer for the container."
   472          type: "boolean"
   473        PidsLimit:
   474          description: "Tune a container's pids limit. Set -1 for unlimited."
   475          type: "integer"
   476          format: "int64"
   477        Ulimits:
   478          description: |
   479            A list of resource limits to set in the container. For example: `{"Name": "nofile", "Soft": 1024, "Hard": 2048}`"
   480          type: "array"
   481          items:
   482            type: "object"
   483            properties:
   484              Name:
   485                description: "Name of ulimit"
   486                type: "string"
   487              Soft:
   488                description: "Soft limit"
   489                type: "integer"
   490              Hard:
   491                description: "Hard limit"
   492                type: "integer"
   493        # Applicable to Windows
   494        CpuCount:
   495          description: |
   496            The number of usable CPUs (Windows only).
   497  
   498            On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last.
   499          type: "integer"
   500          format: "int64"
   501        CpuPercent:
   502          description: |
   503            The usable percentage of the available CPUs (Windows only).
   504  
   505            On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last.
   506          type: "integer"
   507          format: "int64"
   508        IOMaximumIOps:
   509          description: "Maximum IOps for the container system drive (Windows only)"
   510          type: "integer"
   511          format: "int64"
   512        IOMaximumBandwidth:
   513          description: "Maximum IO in bytes per second for the container system drive (Windows only)"
   514          type: "integer"
   515          format: "int64"
   516  
   517    HostConfig:
   518      description: "Container configuration that depends on the host we are running on"
   519      allOf:
   520        - $ref: "#/definitions/Resources"
   521        - type: "object"
   522          properties:
   523            # Applicable to all platforms
   524            Binds:
   525              type: "array"
   526              description: |
   527                A list of volume bindings for this container. Each volume binding is a string in one of these forms:
   528  
   529                - `host-src:container-dest` to bind-mount a host path into the container. Both `host-src`, and `container-dest` must be an _absolute_ path.
   530                - `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.
   531                - `volume-name:container-dest` to bind-mount a volume managed by a volume driver into the container. `container-dest` must be an _absolute_ path.
   532                - `volume-name:container-dest:ro` to mount the volume read-only inside the container.  `container-dest` must be an _absolute_ path.
   533              items:
   534                type: "string"
   535            ContainerIDFile:
   536              type: "string"
   537              description: "Path to a file where the container ID is written"
   538            LogConfig:
   539              type: "object"
   540              description: "The logging configuration for this container"
   541              properties:
   542                Type:
   543                  type: "string"
   544                  enum:
   545                    - "json-file"
   546                    - "syslog"
   547                    - "journald"
   548                    - "gelf"
   549                    - "fluentd"
   550                    - "awslogs"
   551                    - "splunk"
   552                    - "etwlogs"
   553                    - "none"
   554                Config:
   555                  type: "object"
   556                  additionalProperties:
   557                    type: "string"
   558            NetworkMode:
   559              type: "string"
   560              description: "Network mode to use for this container. Supported standard values are: `bridge`, `host`, `none`, and `container:<name|id>`. Any other value is taken
   561                as a custom network's name to which this container should connect to."
   562            PortBindings:
   563              type: "object"
   564              description: "A map of exposed container ports and the host port they should map to."
   565              additionalProperties:
   566                type: "object"
   567                properties:
   568                  HostIp:
   569                    type: "string"
   570                    description: "The host IP address"
   571                  HostPort:
   572                    type: "string"
   573                    description: "The host port number, as a string"
   574            RestartPolicy:
   575              $ref: "#/definitions/RestartPolicy"
   576            AutoRemove:
   577              type: "boolean"
   578              description: "Automatically remove the container when the container's process exits. This has no effect if `RestartPolicy` is set."
   579            VolumeDriver:
   580              type: "string"
   581              description: "Driver that this container uses to mount volumes."
   582            VolumesFrom:
   583              type: "array"
   584              description: "A list of volumes to inherit from another container, specified in the form `<container name>[:<ro|rw>]`."
   585              items:
   586                type: "string"
   587            Mounts:
   588              description: "Specification for mounts to be added to the container."
   589              type: "array"
   590              items:
   591                $ref: "#/definitions/Mount"
   592  
   593            # Applicable to UNIX platforms
   594            CapAdd:
   595              type: "array"
   596              description: "A list of kernel capabilities to add to the container."
   597              items:
   598                type: "string"
   599            CapDrop:
   600              type: "array"
   601              description: "A list of kernel capabilities to drop from the container."
   602              items:
   603                type: "string"
   604            Dns:
   605              type: "array"
   606              description: "A list of DNS servers for the container to use."
   607              items:
   608                type: "string"
   609            DnsOptions:
   610              type: "array"
   611              description: "A list of DNS options."
   612              items:
   613                type: "string"
   614            DnsSearch:
   615              type: "array"
   616              description: "A list of DNS search domains."
   617              items:
   618                type: "string"
   619            ExtraHosts:
   620              type: "array"
   621              description: |
   622                A list of hostnames/IP mappings to add to the container's `/etc/hosts` file. Specified in the form `["hostname:IP"]`.
   623              items:
   624                type: "string"
   625            GroupAdd:
   626              type: "array"
   627              description: "A list of additional groups that the container process will run as."
   628              items:
   629                type: "string"
   630            IpcMode:
   631              type: "string"
   632              description: "IPC namespace to use for the container."
   633            Cgroup:
   634              type: "string"
   635              description: "Cgroup to use for the container."
   636            Links:
   637              type: "array"
   638              description: "A list of links for the container in the form `container_name:alias`."
   639              items:
   640                type: "string"
   641            OomScoreAdj:
   642              type: "integer"
   643              description: "An integer value containing the score given to the container in order to tune OOM killer preferences."
   644            PidMode:
   645              type: "string"
   646              description: |
   647                Set the PID (Process) Namespace mode for the container. It can be either:
   648  
   649                - `"container:<name|id>"`: joins another container's PID namespace
   650                - `"host"`: use the host's PID namespace inside the container
   651            Privileged:
   652              type: "boolean"
   653              description: "Gives the container full access to the host."
   654            PublishAllPorts:
   655              type: "boolean"
   656              description: "Allocates a random host port for all of a container's exposed ports."
   657            ReadonlyRootfs:
   658              type: "boolean"
   659              description: "Mount the container's root filesystem as read only."
   660            SecurityOpt:
   661              type: "array"
   662              description: "A list of string values to customize labels for MLS
   663              systems, such as SELinux."
   664              items:
   665                type: "string"
   666            StorageOpt:
   667              type: "object"
   668              description: |
   669                Storage driver options for this container, in the form `{"size": "120G"}`.
   670              additionalProperties:
   671                type: "string"
   672            Tmpfs:
   673              type: "object"
   674              description: |
   675                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" }`.
   676              additionalProperties:
   677                type: "string"
   678            UTSMode:
   679              type: "string"
   680              description: "UTS namespace to use for the container."
   681            UsernsMode:
   682              type: "string"
   683              description: "Sets the usernamespace mode for the container when usernamespace remapping option is enabled."
   684            ShmSize:
   685              type: "integer"
   686              description: "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB."
   687              minimum: 0
   688            Sysctls:
   689              type: "object"
   690              description: |
   691                A list of kernel parameters (sysctls) to set in the container. For example: `{"net.ipv4.ip_forward": "1"}`
   692              additionalProperties:
   693                type: "string"
   694            Runtime:
   695              type: "string"
   696              description: "Runtime to use with this container."
   697            # Applicable to Windows
   698            ConsoleSize:
   699              type: "array"
   700              description: "Initial console size, as an `[height, width]` array. (Windows only)"
   701              minItems: 2
   702              maxItems: 2
   703              items:
   704                type: "integer"
   705                minimum: 0
   706            Isolation:
   707              type: "string"
   708              description: "Isolation technology of the container. (Windows only)"
   709              enum:
   710                - "default"
   711                - "process"
   712                - "hyperv"
   713  
   714    Config:
   715      description: "Configuration for a container that is portable between hosts"
   716      type: "object"
   717      properties:
   718        Hostname:
   719          description: "The hostname to use for the container, as a valid RFC 1123 hostname."
   720          type: "string"
   721        Domainname:
   722          description: "The domain name to use for the container."
   723          type: "string"
   724        User:
   725          description: "The user that commands are run as inside the container."
   726          type: "string"
   727        AttachStdin:
   728          description: "Whether to attach to `stdin`."
   729          type: "boolean"
   730          default: false
   731        AttachStdout:
   732          description: "Whether to attach to `stdout`."
   733          type: "boolean"
   734          default: true
   735        AttachStderr:
   736          description: "Whether to attach to `stderr`."
   737          type: "boolean"
   738          default: true
   739        ExposedPorts:
   740          description: |
   741            An object mapping ports to an empty object in the form:
   742  
   743            `{"<port>/<tcp|udp>": {}}`
   744          type: "object"
   745          additionalProperties:
   746            type: "object"
   747            enum:
   748              - {}
   749            default: {}
   750        Tty:
   751          description: "Attach standard streams to a TTY, including `stdin` if it is not closed."
   752          type: "boolean"
   753          default: false
   754        OpenStdin:
   755          description: "Open `stdin`"
   756          type: "boolean"
   757          default: false
   758        StdinOnce:
   759          description: "Close `stdin` after one attached client disconnects"
   760          type: "boolean"
   761          default: false
   762        Env:
   763          description: |
   764            A list of environment variables to set inside the container in the form `["VAR=value", ...]`
   765          type: "array"
   766          items:
   767            type: "string"
   768        Cmd:
   769          description: "Command to run specified as a string or an array of strings."
   770          type:
   771            - "array"
   772            - "string"
   773          items:
   774            type: "string"
   775        Healthcheck:
   776          description: "A test to perform to check that the container is healthy."
   777          type: "object"
   778          properties:
   779            Test:
   780              description: |
   781                The test to perform. Possible values are:
   782  
   783                - `{}` inherit healthcheck from image or parent image
   784                - `{"NONE"}` disable healthcheck
   785                - `{"CMD", args...}` exec arguments directly
   786                - `{"CMD-SHELL", command}` run command with system's default shell
   787              type: "array"
   788              items:
   789                type: "string"
   790            Interval:
   791              description: "The time to wait between checks in nanoseconds. 0 means inherit."
   792              type: "integer"
   793            Timeout:
   794              description: "The time to wait before considering the check to have hung. 0 means inherit."
   795              type: "integer"
   796            Retries:
   797              description: "The number of consecutive failures needed to consider a container as unhealthy. 0 means inherit."
   798              type: "integer"
   799        ArgsEscaped:
   800          description: "Command is already escaped (Windows only)"
   801          type: "boolean"
   802        Image:
   803          description: "The name of the image to use when creating the container"
   804          type: "string"
   805        Volumes:
   806          description: "An object mapping mount point paths inside the container to empty objects."
   807          type: "object"
   808          properties:
   809            additionalProperties:
   810              type: "object"
   811              enum:
   812                - {}
   813              default: {}
   814        WorkingDir:
   815          description: "The working directory for commands to run in."
   816          type: "string"
   817        Entrypoint:
   818          description: |
   819            The entry point for the container as a string or an array of strings.
   820  
   821            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`).
   822          type:
   823            - "array"
   824            - "string"
   825          items:
   826            type: "string"
   827        NetworkDisabled:
   828          description: "Disable networking for the container."
   829          type: "boolean"
   830        MacAddress:
   831          description: "MAC address of the container."
   832          type: "string"
   833        OnBuild:
   834          description: "`ONBUILD` metadata that were defined in the image's `Dockerfile`."
   835          type: "array"
   836          items:
   837            type: "string"
   838        Labels:
   839          description: "User-defined key/value metadata."
   840          type: "object"
   841          additionalProperties:
   842            type: "string"
   843        StopSignal:
   844          description: "Signal to stop a container as a string or unsigned integer."
   845          type: "string"
   846          default: "SIGTERM"
   847        StopTimeout:
   848          description: "Timeout to stop a container in seconds."
   849          type: "integer"
   850          default: 10
   851        Shell:
   852          description: "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell."
   853          type: "array"
   854          items:
   855            type: "string"
   856  
   857    NetworkConfig:
   858      description: "TODO: check is correct"
   859      type: "object"
   860      properties:
   861        Bridge:
   862          type: "string"
   863        Gateway:
   864          type: "string"
   865        Address:
   866          type: "string"
   867        IPPrefixLen:
   868          type: "integer"
   869        MacAddress:
   870          type: "string"
   871        PortMapping:
   872          type: "string"
   873        Ports:
   874          type: "array"
   875          items:
   876            $ref: "#/definitions/Port"
   877  
   878    GraphDriver:
   879      description: "Information about this container's graph driver."
   880      type: "object"
   881      properties:
   882        Name:
   883          type: "string"
   884        Data:
   885          type: "object"
   886          additionalProperties:
   887            type: "string"
   888  
   889    Image:
   890      type: "object"
   891      properties:
   892        Id:
   893          type: "string"
   894        RepoTags:
   895          type: "array"
   896          items:
   897            type: "string"
   898        RepoDigests:
   899          type: "array"
   900          items:
   901            type: "string"
   902        Parent:
   903          type: "string"
   904        Comment:
   905          type: "string"
   906        Created:
   907          type: "string"
   908        Container:
   909          type: "string"
   910        ContainerConfig:
   911          $ref: "#/definitions/Config"
   912        DockerVersion:
   913          type: "string"
   914        Author:
   915          type: "string"
   916        Config:
   917          $ref: "#/definitions/Config"
   918        Architecture:
   919          type: "string"
   920        Os:
   921          type: "string"
   922        Size:
   923          type: "integer"
   924          format: "int64"
   925        VirtualSize:
   926          type: "integer"
   927          format: "int64"
   928        GraphDriver:
   929          $ref: "#/definitions/GraphDriver"
   930        RootFS:
   931          type: "object"
   932          properties:
   933            Type:
   934              type: "string"
   935            Layers:
   936              type: "array"
   937              items:
   938                type: "string"
   939  
   940    ImageSummary:
   941      type: "object"
   942      required:
   943        - Id
   944        - ParentId
   945        - RepoTags
   946        - RepoDigests
   947        - Created
   948        - Size
   949        - SharedSize
   950        - VirtualSize
   951        - Labels
   952        - Containers
   953      properties:
   954        Id:
   955          type: "string"
   956          x-nullable: false
   957        ParentId:
   958          type: "string"
   959          x-nullable: false
   960        RepoTags:
   961          type: "array"
   962          x-nullable: false
   963          items:
   964            type: "string"
   965        RepoDigests:
   966          type: "array"
   967          x-nullable: false
   968          items:
   969            type: "string"
   970        Created:
   971          type: "integer"
   972          x-nullable: false
   973        Size:
   974          type: "integer"
   975          x-nullable: false
   976        SharedSize:
   977          type: "integer"
   978          x-nullable: false
   979        VirtualSize:
   980          type: "integer"
   981          x-nullable: false
   982        Labels:
   983          type: "object"
   984          x-nullable: false
   985          additionalProperties:
   986            type: "string"
   987        Containers:
   988          x-nullable: false
   989          type: "integer"
   990  
   991    AuthConfig:
   992      type: "object"
   993      properties:
   994        username:
   995          type: "string"
   996        password:
   997          type: "string"
   998        email:
   999          type: "string"
  1000        serveraddress:
  1001          type: "string"
  1002      example:
  1003        username: "hannibal"
  1004        password: "xxxx"
  1005        serveraddress: "https://index.docker.io/v1/"
  1006  
  1007    ProcessConfig:
  1008      type: "object"
  1009      properties:
  1010        privileged:
  1011          type: "boolean"
  1012        user:
  1013          type: "string"
  1014        tty:
  1015          type: "boolean"
  1016        entrypoint:
  1017          type: "string"
  1018        arguments:
  1019          type: "array"
  1020          items:
  1021            type: "string"
  1022  
  1023    Volume:
  1024      type: "object"
  1025      required: [Name, Driver, Mountpoint, Labels, Scope, Options]
  1026      properties:
  1027        Name:
  1028          type: "string"
  1029          description: "Name of the volume."
  1030          x-nullable: false
  1031        Driver:
  1032          type: "string"
  1033          description: "Name of the volume driver used by the volume."
  1034          x-nullable: false
  1035        Mountpoint:
  1036          type: "string"
  1037          description: "Mount path of the volume on the host."
  1038          x-nullable: false
  1039        Status:
  1040          type: "object"
  1041          description: |
  1042            Low-level details about the volume, provided by the volume driver.
  1043            Details are returned as a map with key/value pairs:
  1044            `{"key":"value","key2":"value2"}`.
  1045  
  1046            The `Status` field is optional, and is omitted if the volume driver
  1047            does not support this feature.
  1048          additionalProperties:
  1049            type: "object"
  1050        Labels:
  1051          type: "object"
  1052          description: "User-defined key/value metadata."
  1053          x-nullable: false
  1054          additionalProperties:
  1055            type: "string"
  1056        Scope:
  1057          type: "string"
  1058          description: "The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level."
  1059          default: "local"
  1060          x-nullable: false
  1061          enum: ["local", "global"]
  1062        Options:
  1063          type: "object"
  1064          description: "The driver specific options used when creating the volume."
  1065          additionalProperties:
  1066            type: "string"
  1067        UsageData:
  1068          type: "object"
  1069          required: [Size, RefCount]
  1070          properties:
  1071            Size:
  1072              type: "integer"
  1073              description: "The disk space used by the volume (local driver only)"
  1074              default: -1
  1075              x-nullable: false
  1076            RefCount:
  1077              type: "integer"
  1078              default: -1
  1079              description: "The number of containers referencing this volume."
  1080              x-nullable: false
  1081  
  1082      example:
  1083        Name: "tardis"
  1084        Driver: "custom"
  1085        Mountpoint: "/var/lib/docker/volumes/tardis"
  1086        Status:
  1087          hello: "world"
  1088        Labels:
  1089          com.example.some-label: "some-value"
  1090          com.example.some-other-label: "some-other-value"
  1091        Scope: "local"
  1092  
  1093    Network:
  1094      type: "object"
  1095      properties:
  1096        Name:
  1097          type: "string"
  1098        Id:
  1099          type: "string"
  1100        Created:
  1101          type: "string"
  1102          format: "dateTime"
  1103        Scope:
  1104          type: "string"
  1105        Driver:
  1106          type: "string"
  1107        EnableIPv6:
  1108          type: "boolean"
  1109        IPAM:
  1110          $ref: "#/definitions/IPAM"
  1111        Internal:
  1112          type: "boolean"
  1113        Containers:
  1114          type: "object"
  1115          additionalProperties:
  1116            $ref: "#/definitions/NetworkContainer"
  1117        Options:
  1118          type: "object"
  1119          additionalProperties:
  1120            type: "string"
  1121        Labels:
  1122          type: "object"
  1123          additionalProperties:
  1124            type: "string"
  1125      example:
  1126        Name: "net01"
  1127        Id: "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99"
  1128        Created: "2016-10-19T04:33:30.360899459Z"
  1129        Scope: "local"
  1130        Driver: "bridge"
  1131        EnableIPv6: false
  1132        IPAM:
  1133          Driver: "default"
  1134          Config:
  1135            - Subnet: "172.19.0.0/16"
  1136              Gateway: "172.19.0.1"
  1137          Options:
  1138            foo: "bar"
  1139        Internal: false
  1140        Containers:
  1141          19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c:
  1142            Name: "test"
  1143            EndpointID: "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a"
  1144            MacAddress: "02:42:ac:13:00:02"
  1145            IPv4Address: "172.19.0.2/16"
  1146            IPv6Address: ""
  1147        Options:
  1148          com.docker.network.bridge.default_bridge: "true"
  1149          com.docker.network.bridge.enable_icc: "true"
  1150          com.docker.network.bridge.enable_ip_masquerade: "true"
  1151          com.docker.network.bridge.host_binding_ipv4: "0.0.0.0"
  1152          com.docker.network.bridge.name: "docker0"
  1153          com.docker.network.driver.mtu: "1500"
  1154        Labels:
  1155          com.example.some-label: "some-value"
  1156          com.example.some-other-label: "some-other-value"
  1157    IPAM:
  1158      type: "object"
  1159      properties:
  1160        Driver:
  1161          description: "Name of the IPAM driver to use."
  1162          type: "string"
  1163          default: "default"
  1164        Config:
  1165          description: "List of IPAM configuration options, specified as a map: `{\"Subnet\": <CIDR>, \"IPRange\": <CIDR>, \"Gateway\": <IP address>, \"AuxAddress\": <device_name:IP address>}`"
  1166          type: "array"
  1167          items:
  1168            type: "object"
  1169            additionalProperties:
  1170              type: "string"
  1171        Options:
  1172          description: "Driver-specific options, specified as a map."
  1173          type: "array"
  1174          items:
  1175            type: "object"
  1176            additionalProperties:
  1177              type: "string"
  1178    NetworkContainer:
  1179      type: "object"
  1180      properties:
  1181        EndpointID:
  1182          type: "string"
  1183        MacAddress:
  1184          type: "string"
  1185        IPv4Address:
  1186          type: "string"
  1187        IPv6Address:
  1188          type: "string"
  1189  
  1190    BuildInfo:
  1191      type: "object"
  1192      properties:
  1193        id:
  1194          type: "string"
  1195        stream:
  1196          type: "string"
  1197        error:
  1198          type: "string"
  1199        errorDetail:
  1200          $ref: "#/definitions/ErrorDetail"
  1201        status:
  1202          type: "string"
  1203        progress:
  1204          type: "string"
  1205        progressDetail:
  1206          $ref: "#/definitions/ProgressDetail"
  1207  
  1208    CreateImageInfo:
  1209      type: "object"
  1210      properties:
  1211        error:
  1212          type: "string"
  1213        status:
  1214          type: "string"
  1215        progress:
  1216          type: "string"
  1217        progressDetail:
  1218          $ref: "#/definitions/ProgressDetail"
  1219  
  1220    PushImageInfo:
  1221      type: "object"
  1222      properties:
  1223        error:
  1224          type: "string"
  1225        status:
  1226          type: "string"
  1227        progress:
  1228          type: "string"
  1229        progressDetail:
  1230          $ref: "#/definitions/ProgressDetail"
  1231    ErrorDetail:
  1232      type: "object"
  1233      properties:
  1234        code:
  1235          type: "integer"
  1236        message:
  1237          type: "string"
  1238    ProgressDetail:
  1239      type: "object"
  1240      properties:
  1241        code:
  1242          type: "integer"
  1243        message:
  1244          type: "integer"
  1245  
  1246    ErrorResponse:
  1247      description: "Represents an error."
  1248      type: "object"
  1249      required: ["message"]
  1250      properties:
  1251        message:
  1252          description: "The error message."
  1253          type: "string"
  1254          x-nullable: false
  1255      example:
  1256        message: "Something went wrong."
  1257  
  1258    IdResponse:
  1259      description: "Response to an API call that returns just an Id"
  1260      type: "object"
  1261      required: ["Id"]
  1262      properties:
  1263        Id:
  1264          description: "The id of the newly created object."
  1265          type: "string"
  1266          x-nullable: false
  1267  
  1268    EndpointSettings:
  1269      description: "Configuration for a network endpoint."
  1270      type: "object"
  1271      properties:
  1272        IPAMConfig:
  1273          description: "IPAM configurations for the endpoint"
  1274          type: "object"
  1275          properties:
  1276            IPv4Address:
  1277              type: "string"
  1278            IPv6Address:
  1279              type: "string"
  1280            LinkLocalIPs:
  1281              type: "array"
  1282              items:
  1283                type: "string"
  1284        Links:
  1285          type: "array"
  1286          items:
  1287            type: "string"
  1288        Aliases:
  1289          type: "array"
  1290          items:
  1291            type: "string"
  1292        NetworkID:
  1293          type: "string"
  1294        EndpointID:
  1295          type: "string"
  1296        Gateway:
  1297          type: "string"
  1298        IPAddress:
  1299          type: "string"
  1300        IPPrefixLen:
  1301          type: "integer"
  1302        IPv6Gateway:
  1303          type: "string"
  1304        GlobalIPv6Address:
  1305          type: "string"
  1306        GlobalIPv6PrefixLen:
  1307          type: "integer"
  1308          format: "int64"
  1309        MacAddress:
  1310          type: "string"
  1311  
  1312    PluginMount:
  1313      type: "object"
  1314      x-nullable: false
  1315      required: [Name, Description, Settable, Source, Destination, Type, Options]
  1316      properties:
  1317        Name:
  1318          type: "string"
  1319          x-nullable: false
  1320        Description:
  1321          type: "string"
  1322          x-nullable: false
  1323        Settable:
  1324          type: "array"
  1325          items:
  1326            type: "string"
  1327        Source:
  1328          type: "string"
  1329        Destination:
  1330          type: "string"
  1331          x-nullable: false
  1332        Type:
  1333          type: "string"
  1334          x-nullable: false
  1335        Options:
  1336          type: "array"
  1337          items:
  1338            type: "string"
  1339  
  1340    PluginDevice:
  1341      type: "object"
  1342      required: [Name, Description, Settable, Path]
  1343      x-nullable: false
  1344      properties:
  1345        Name:
  1346          type: "string"
  1347          x-nullable: false
  1348        Description:
  1349          type: "string"
  1350          x-nullable: false
  1351        Settable:
  1352          type: "array"
  1353          items:
  1354            type: "string"
  1355        Path:
  1356          type: "string"
  1357  
  1358    PluginEnv:
  1359      type: "object"
  1360      x-nullable: false
  1361      required: [Name, Description, Settable, Value]
  1362      properties:
  1363        Name:
  1364          x-nullable: false
  1365          type: "string"
  1366        Description:
  1367          x-nullable: false
  1368          type: "string"
  1369        Settable:
  1370          type: "array"
  1371          items:
  1372            type: "string"
  1373        Value:
  1374          type: "string"
  1375  
  1376    PluginInterfaceType:
  1377      type: "object"
  1378      x-nullable: false
  1379      required: [Prefix, Capability, Version]
  1380      properties:
  1381        Prefix:
  1382          type: "string"
  1383          x-nullable: false
  1384        Capability:
  1385          type: "string"
  1386          x-nullable: false
  1387        Version:
  1388          type: "string"
  1389          x-nullable: false
  1390  
  1391    Plugin:
  1392      description: "A plugin for the Engine API"
  1393      type: "object"
  1394      required: [Settings, Enabled, Config, Name]
  1395      properties:
  1396        Id:
  1397          type: "string"
  1398        Name:
  1399          type: "string"
  1400          x-nullable: false
  1401        Enabled:
  1402          description: "True when the plugin is running. False when the plugin is not running, only installed."
  1403          type: "boolean"
  1404          x-nullable: false
  1405        Settings:
  1406          description: "Settings that can be modified by users."
  1407          type: "object"
  1408          x-nullable: false
  1409          required: [Args, Devices, Env, Mounts]
  1410          properties:
  1411            Mounts:
  1412              type: "array"
  1413              items:
  1414                $ref: "#/definitions/PluginMount"
  1415            Env:
  1416              type: "array"
  1417              items:
  1418                type: "string"
  1419            Args:
  1420              type: "array"
  1421              items:
  1422                type: "string"
  1423            Devices:
  1424              type: "array"
  1425              items:
  1426                $ref: "#/definitions/PluginDevice"
  1427        PluginReference:
  1428          description: "plugin remote reference used to push/pull the plugin"
  1429          type: "string"
  1430          x-nullable: false
  1431        Config:
  1432          description: "The config of a plugin."
  1433          type: "object"
  1434          x-nullable: false
  1435          required:
  1436            - Description
  1437            - Documentation
  1438            - Interface
  1439            - Entrypoint
  1440            - WorkDir
  1441            - Network
  1442            - Linux
  1443            - PropagatedMount
  1444            - Mounts
  1445            - Env
  1446            - Args
  1447          properties:
  1448            Description:
  1449              type: "string"
  1450              x-nullable: false
  1451            Documentation:
  1452              type: "string"
  1453              x-nullable: false
  1454            Interface:
  1455              description: "The interface between Docker and the plugin"
  1456              x-nullable: false
  1457              type: "object"
  1458              required: [Types, Socket]
  1459              properties:
  1460                Types:
  1461                  type: "array"
  1462                  items:
  1463                    $ref: "#/definitions/PluginInterfaceType"
  1464                Socket:
  1465                  type: "string"
  1466                  x-nullable: false
  1467            Entrypoint:
  1468              type: "array"
  1469              items:
  1470                type: "string"
  1471            WorkDir:
  1472              type: "string"
  1473              x-nullable: false
  1474            User:
  1475              type: "object"
  1476              x-nullable: false
  1477              properties:
  1478                UID:
  1479                  type: "integer"
  1480                  format: "uint32"
  1481                GID:
  1482                  type: "integer"
  1483                  format: "uint32"
  1484            Network:
  1485              type: "object"
  1486              x-nullable: false
  1487              required: [Type]
  1488              properties:
  1489                Type:
  1490                  x-nullable: false
  1491                  type: "string"
  1492            Linux:
  1493              type: "object"
  1494              x-nullable: false
  1495              required: [Capabilities, AllowAllDevices, Devices]
  1496              properties:
  1497                Capabilities:
  1498                  type: "array"
  1499                  items:
  1500                    type: "string"
  1501                AllowAllDevices:
  1502                  type: "boolean"
  1503                  x-nullable: false
  1504                Devices:
  1505                  type: "array"
  1506                  items:
  1507                    $ref: "#/definitions/PluginDevice"
  1508            PropagatedMount:
  1509              type: "string"
  1510              x-nullable: false
  1511            Mounts:
  1512              type: "array"
  1513              items:
  1514                $ref: "#/definitions/PluginMount"
  1515            Env:
  1516              type: "array"
  1517              items:
  1518                $ref: "#/definitions/PluginEnv"
  1519            Args:
  1520              type: "object"
  1521              x-nullable: false
  1522              required: [Name, Description, Settable, Value]
  1523              properties:
  1524                Name:
  1525                  x-nullable: false
  1526                  type: "string"
  1527                Description:
  1528                  x-nullable: false
  1529                  type: "string"
  1530                Settable:
  1531                  type: "array"
  1532                  items:
  1533                    type: "string"
  1534                Value:
  1535                  type: "array"
  1536                  items:
  1537                    type: "string"
  1538            rootfs:
  1539              type: "object"
  1540              properties:
  1541                type:
  1542                  type: "string"
  1543                diff_ids:
  1544                  type: "array"
  1545                  items:
  1546                    type: "string"
  1547      example:
  1548        Id: "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078"
  1549        Name: "tiborvass/sample-volume-plugin"
  1550        Tag: "latest"
  1551        Active: true
  1552        Settings:
  1553          Env:
  1554            - "DEBUG=0"
  1555          Args: null
  1556          Devices: null
  1557        Config:
  1558          Description: "A sample volume plugin for Docker"
  1559          Documentation: "https://docs.docker.com/engine/extend/plugins/"
  1560          Interface:
  1561            Types:
  1562              - "docker.volumedriver/1.0"
  1563            Socket: "plugins.sock"
  1564          Entrypoint:
  1565            - "/usr/bin/sample-volume-plugin"
  1566            - "/data"
  1567          WorkDir: ""
  1568          User: {}
  1569          Network:
  1570            Type: ""
  1571          Linux:
  1572            Capabilities: null
  1573            AllowAllDevices: false
  1574            Devices: null
  1575          Mounts: null
  1576          PropagatedMount: "/data"
  1577          Env:
  1578            - Name: "DEBUG"
  1579              Description: "If set, prints debug messages"
  1580              Settable: null
  1581              Value: "0"
  1582          Args:
  1583            Name: "args"
  1584            Description: "command line arguments"
  1585            Settable: null
  1586            Value: []
  1587  
  1588    NodeSpec:
  1589      type: "object"
  1590      properties:
  1591        Name:
  1592          description: "Name for the node."
  1593          type: "string"
  1594        Labels:
  1595          description: "User-defined key/value metadata."
  1596          type: "object"
  1597          additionalProperties:
  1598            type: "string"
  1599        Role:
  1600          description: "Role of the node."
  1601          type: "string"
  1602          enum:
  1603            - "worker"
  1604            - "manager"
  1605        Availability:
  1606          description: "Availability of the node."
  1607          type: "string"
  1608          enum:
  1609            - "active"
  1610            - "pause"
  1611            - "drain"
  1612      example:
  1613        Availability: "active"
  1614        Name: "node-name"
  1615        Role: "manager"
  1616        Labels:
  1617          foo: "bar"
  1618    Node:
  1619      type: "object"
  1620      properties:
  1621        ID:
  1622          type: "string"
  1623        Version:
  1624          type: "object"
  1625          properties:
  1626            Index:
  1627              type: "integer"
  1628              format: "int64"
  1629        CreatedAt:
  1630          type: "string"
  1631          format: "dateTime"
  1632        UpdatedAt:
  1633          type: "string"
  1634          format: "dateTime"
  1635        Spec:
  1636          $ref: "#/definitions/NodeSpec"
  1637        Description:
  1638          type: "object"
  1639          properties:
  1640            Hostname:
  1641              type: "string"
  1642            Platform:
  1643              type: "object"
  1644              properties:
  1645                Architecture:
  1646                  type: "string"
  1647                OS:
  1648                  type: "string"
  1649            Resources:
  1650              type: "object"
  1651              properties:
  1652                NanoCPUs:
  1653                  type: "integer"
  1654                  format: "int64"
  1655                MemoryBytes:
  1656                  type: "integer"
  1657                  format: "int64"
  1658            Engine:
  1659              type: "object"
  1660              properties:
  1661                EngineVersion:
  1662                  type: "string"
  1663                Labels:
  1664                  type: "object"
  1665                  additionalProperties:
  1666                    type: "string"
  1667                Plugins:
  1668                  type: "array"
  1669                  items:
  1670                    type: "object"
  1671                    properties:
  1672                      Type:
  1673                        type: "string"
  1674                      Name:
  1675                        type: "string"
  1676      example:
  1677        ID: "24ifsmvkjbyhk"
  1678        Version:
  1679          Index: 8
  1680        CreatedAt: "2016-06-07T20:31:11.853781916Z"
  1681        UpdatedAt: "2016-06-07T20:31:11.999868824Z"
  1682        Spec:
  1683          Name: "my-node"
  1684          Role: "manager"
  1685          Availability: "active"
  1686          Labels:
  1687            foo: "bar"
  1688        Description:
  1689          Hostname: "bf3067039e47"
  1690          Platform:
  1691            Architecture: "x86_64"
  1692            OS: "linux"
  1693          Resources:
  1694            NanoCPUs: 4000000000
  1695            MemoryBytes: 8272408576
  1696          Engine:
  1697            EngineVersion: "1.13.0"
  1698            Labels:
  1699              foo: "bar"
  1700            Plugins:
  1701              - Type: "Volume"
  1702                Name: "local"
  1703              - Type: "Network"
  1704                Name: "bridge"
  1705              - Type: "Network"
  1706                Name: "null"
  1707              - Type: "Network"
  1708                Name: "overlay"
  1709        Status:
  1710          State: "ready"
  1711          Addr: "172.17.0.2"
  1712        ManagerStatus:
  1713          Leader: true
  1714          Reachability: "reachable"
  1715          Addr: "172.17.0.2:2377"
  1716    SwarmSpec:
  1717      description: "User modifiable swarm configuration."
  1718      type: "object"
  1719      properties:
  1720        Name:
  1721          description: "Name of the swarm."
  1722          type: "string"
  1723        Labels:
  1724          description: "User-defined key/value metadata."
  1725          type: "object"
  1726          additionalProperties:
  1727            type: "string"
  1728        Orchestration:
  1729          description: "Orchestration configuration."
  1730          type: "object"
  1731          properties:
  1732            TaskHistoryRetentionLimit:
  1733              description: "The number of historic tasks to keep per instance or node. If negative, never remove completed or failed tasks."
  1734              type: "integer"
  1735              format: "int64"
  1736        Raft:
  1737          description: "Raft configuration."
  1738          type: "object"
  1739          properties:
  1740            SnapshotInterval:
  1741              description: "The number of log entries between snapshots."
  1742              type: "integer"
  1743              format: "int64"
  1744            KeepOldSnapshots:
  1745              description: "The number of snapshots to keep beyond the current snapshot."
  1746              type: "integer"
  1747              format: "int64"
  1748            LogEntriesForSlowFollowers:
  1749              description: "The number of log entries to keep around to sync up slow followers after a snapshot is created."
  1750              type: "integer"
  1751              format: "int64"
  1752            ElectionTick:
  1753              description: |
  1754                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`.
  1755  
  1756                A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.
  1757              type: "integer"
  1758            HeartbeatTick:
  1759              description: |
  1760                The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader will send a heartbeat to the followers.
  1761  
  1762                A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.
  1763              type: "integer"
  1764        Dispatcher:
  1765          description: "Dispatcher configuration."
  1766          type: "object"
  1767          properties:
  1768            HeartbeatPeriod:
  1769              description: "The delay for an agent to send a heartbeat to the dispatcher."
  1770              type: "integer"
  1771              format: "int64"
  1772        CAConfig:
  1773          description: "CA configuration."
  1774          type: "object"
  1775          properties:
  1776            NodeCertExpiry:
  1777              description: "The duration node certificates are issued for."
  1778              type: "integer"
  1779              format: "int64"
  1780            ExternalCAs:
  1781              description: "Configuration for forwarding signing requests to an external certificate authority."
  1782              type: "array"
  1783              items:
  1784                type: "object"
  1785                properties:
  1786                  Protocol:
  1787                    description: "Protocol for communication with the external CA (currently only `cfssl` is supported)."
  1788                    type: "string"
  1789                    enum:
  1790                      - "cfssl"
  1791                    default: "cfssl"
  1792                  URL:
  1793                    description: "URL where certificate signing requests should be sent."
  1794                    type: "string"
  1795                  Options:
  1796                    description: "An object with key/value pairs that are interpreted as protocol-specific options for the external CA driver."
  1797                    type: "object"
  1798                    additionalProperties:
  1799                      type: "string"
  1800        EncryptionConfig:
  1801          description: "Parameters related to encryption-at-rest."
  1802          type: "object"
  1803          properties:
  1804            AutoLockManagers:
  1805              description: "If set, generate a key and use it to lock data stored on the managers."
  1806              type: "boolean"
  1807        TaskDefaults:
  1808          description: "Defaults for creating tasks in this cluster."
  1809          type: "object"
  1810          properties:
  1811            LogDriver:
  1812              description: |
  1813                The log driver to use for tasks created in the orchestrator if unspecified by a service.
  1814  
  1815                Updating this value will only have an affect on new tasks. Old tasks will continue use their previously configured log driver until recreated.
  1816              type: "object"
  1817              properties:
  1818                Name:
  1819                  type: "string"
  1820                Options:
  1821                  type: "object"
  1822                  additionalProperties:
  1823                    type: "string"
  1824      example:
  1825        Name: "default"
  1826        Orchestration:
  1827          TaskHistoryRetentionLimit: 10
  1828        Raft:
  1829          SnapshotInterval: 10000
  1830          LogEntriesForSlowFollowers: 500
  1831          HeartbeatTick: 1
  1832          ElectionTick: 3
  1833        Dispatcher:
  1834          HeartbeatPeriod: 5000000000
  1835        CAConfig:
  1836          NodeCertExpiry: 7776000000000000
  1837        JoinTokens:
  1838          Worker: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx"
  1839          Manager: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2"
  1840        EncryptionConfig:
  1841          AutoLockManagers: false
  1842    # The Swarm information for `GET /info`. It is the same as `GET /swarm`, but
  1843    # without `JoinTokens`.
  1844    ClusterInfo:
  1845      type: "object"
  1846      properties:
  1847        ID:
  1848          description: "The ID of the swarm."
  1849          type: "string"
  1850        Version:
  1851          type: "object"
  1852          properties:
  1853            Index:
  1854              type: "integer"
  1855              format: "int64"
  1856        CreatedAt:
  1857          type: "string"
  1858          format: "dateTime"
  1859        UpdatedAt:
  1860          type: "string"
  1861          format: "dateTime"
  1862        Spec:
  1863          $ref: "#/definitions/SwarmSpec"
  1864    TaskSpec:
  1865      description: "User modifiable task configuration."
  1866      type: "object"
  1867      properties:
  1868        ContainerSpec:
  1869          type: "object"
  1870          properties:
  1871            Image:
  1872              description: "The image name to use for the container."
  1873              type: "string"
  1874            Command:
  1875              description: "The command to be run in the image."
  1876              type: "array"
  1877              items:
  1878                type: "string"
  1879            Args:
  1880              description: "Arguments to the command."
  1881              type: "array"
  1882              items:
  1883                type: "string"
  1884            Env:
  1885              description: "A list of environment variables in the form `VAR=value`."
  1886              type: "array"
  1887              items:
  1888                type: "string"
  1889            Dir:
  1890              description: "The working directory for commands to run in."
  1891              type: "string"
  1892            User:
  1893              description: "The user inside the container."
  1894              type: "string"
  1895            Labels:
  1896              description: "User-defined key/value data."
  1897              type: "object"
  1898              additionalProperties:
  1899                type: "string"
  1900            TTY:
  1901              description: "Whether a pseudo-TTY should be allocated."
  1902              type: "boolean"
  1903            Mounts:
  1904              description: "Specification for mounts to be added to containers created as part of the service."
  1905              type: "array"
  1906              items:
  1907                $ref: "#/definitions/Mount"
  1908            StopGracePeriod:
  1909              description: "Amount of time to wait for the container to terminate before forcefully killing it."
  1910              type: "integer"
  1911              format: "int64"
  1912            DNSConfig:
  1913              description: "Specification for DNS related configurations in resolver configuration file (`resolv.conf`)."
  1914              type: "object"
  1915              properties:
  1916                Nameservers:
  1917                  description: "The IP addresses of the name servers."
  1918                  type: "array"
  1919                  items:
  1920                    type: "string"
  1921                Search:
  1922                  description: "A search list for host-name lookup."
  1923                  type: "array"
  1924                  items:
  1925                    type: "string"
  1926                Options:
  1927                  description: "A list of internal resolver variables to be modified (e.g., `debug`, `ndots:3`, etc.)."
  1928                  type: "array"
  1929                  items:
  1930                    type: "string"
  1931        Resources:
  1932          description: "Resource requirements which apply to each individual container created as part of the service."
  1933          type: "object"
  1934          properties:
  1935            Limits:
  1936              description: "Define resources limits."
  1937              type: "object"
  1938              properties:
  1939                NanoCPUs:
  1940                  description: "CPU limit in units of 10<sup>-9</sup> CPU shares."
  1941                  type: "integer"
  1942                  format: "int64"
  1943                MemoryBytes:
  1944                  description: "Memory limit in Bytes."
  1945                  type: "integer"
  1946                  format: "int64"
  1947            Reservations:
  1948              description: "Define resources reservation."
  1949              properties:
  1950                NanoCPUs:
  1951                  description: "CPU reservation in units of 10<sup>-9</sup> CPU shares."
  1952                  type: "integer"
  1953                  format: "int64"
  1954                MemoryBytes:
  1955                  description: "Memory reservation in Bytes."
  1956                  type: "integer"
  1957                  format: "int64"
  1958        RestartPolicy:
  1959          description: "Specification for the restart policy which applies to containers created as part of this service."
  1960          type: "object"
  1961          properties:
  1962            Condition:
  1963              description: "Condition for restart."
  1964              type: "string"
  1965              enum:
  1966                - "none"
  1967                - "on-failure"
  1968                - "any"
  1969            Delay:
  1970              description: "Delay between restart attempts."
  1971              type: "integer"
  1972              format: "int64"
  1973            MaxAttempts:
  1974              description: "Maximum attempts to restart a given container before giving up (default value is 0, which is ignored)."
  1975              type: "integer"
  1976              format: "int64"
  1977              default: 0
  1978            Window:
  1979              description: "Windows is the time window used to evaluate the restart policy (default value is 0, which is unbounded)."
  1980              type: "integer"
  1981              format: "int64"
  1982              default: 0
  1983        Placement:
  1984          type: "object"
  1985          properties:
  1986            Constraints:
  1987              description: "An array of constraints."
  1988              type: "array"
  1989              items:
  1990                type: "string"
  1991        ForceUpdate:
  1992          description: "A counter that triggers an update even if no relevant parameters have been changed."
  1993          type: "integer"
  1994        Networks:
  1995          type: "array"
  1996          items:
  1997            type: "object"
  1998            properties:
  1999              Target:
  2000                type: "string"
  2001              Aliases:
  2002                type: "array"
  2003                items:
  2004                  type: "string"
  2005        LogDriver:
  2006          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."
  2007          type: "object"
  2008          properties:
  2009            Name:
  2010              type: "string"
  2011            Options:
  2012              type: "object"
  2013              additionalProperties:
  2014                type: "string"
  2015    TaskState:
  2016      type: "string"
  2017      enum:
  2018        - "new"
  2019        - "allocated"
  2020        - "pending"
  2021        - "assigned"
  2022        - "accepted"
  2023        - "preparing"
  2024        - "ready"
  2025        - "starting"
  2026        - "running"
  2027        - "complete"
  2028        - "shutdown"
  2029        - "failed"
  2030        - "rejected"
  2031    Task:
  2032      type: "object"
  2033      properties:
  2034        ID:
  2035          description: "The ID of the task."
  2036          type: "string"
  2037        Version:
  2038          type: "object"
  2039          properties:
  2040            Index:
  2041              type: "integer"
  2042              format: "int64"
  2043        CreatedAt:
  2044          type: "string"
  2045          format: "dateTime"
  2046        UpdatedAt:
  2047          type: "string"
  2048          format: "dateTime"
  2049        Name:
  2050          description: "Name of the task."
  2051          type: "string"
  2052        Labels:
  2053          description: "User-defined key/value metadata."
  2054          type: "object"
  2055          additionalProperties:
  2056            type: "string"
  2057        Spec:
  2058          $ref: "#/definitions/TaskSpec"
  2059        ServiceID:
  2060          description: "The ID of the service this task is part of."
  2061          type: "string"
  2062        Slot:
  2063          type: "integer"
  2064        NodeID:
  2065          description: "The ID of the node that this task is on."
  2066          type: "string"
  2067        Status:
  2068          type: "object"
  2069          properties:
  2070            Timestamp:
  2071              type: "string"
  2072              format: "dateTime"
  2073            State:
  2074              $ref: "#/definitions/TaskState"
  2075            Message:
  2076              type: "string"
  2077            Err:
  2078              type: "string"
  2079            ContainerStatus:
  2080              type: "object"
  2081              properties:
  2082                ContainerID:
  2083                  type: "string"
  2084                PID:
  2085                  type: "integer"
  2086                ExitCode:
  2087                  type: "integer"
  2088        DesiredState:
  2089          $ref: "#/definitions/TaskState"
  2090      example:
  2091        ID: "0kzzo1i0y4jz6027t0k7aezc7"
  2092        Version:
  2093          Index: 71
  2094        CreatedAt: "2016-06-07T21:07:31.171892745Z"
  2095        UpdatedAt: "2016-06-07T21:07:31.376370513Z"
  2096        Spec:
  2097          ContainerSpec:
  2098            Image: "redis"
  2099          Resources:
  2100            Limits: {}
  2101            Reservations: {}
  2102          RestartPolicy:
  2103            Condition: "any"
  2104            MaxAttempts: 0
  2105          Placement: {}
  2106        ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz"
  2107        Slot: 1
  2108        NodeID: "60gvrl6tm78dmak4yl7srz94v"
  2109        Status:
  2110          Timestamp: "2016-06-07T21:07:31.290032978Z"
  2111          State: "running"
  2112          Message: "started"
  2113          ContainerStatus:
  2114            ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035"
  2115            PID: 677
  2116        DesiredState: "running"
  2117        NetworksAttachments:
  2118          - Network:
  2119              ID: "4qvuz4ko70xaltuqbt8956gd1"
  2120              Version:
  2121                Index: 18
  2122              CreatedAt: "2016-06-07T20:31:11.912919752Z"
  2123              UpdatedAt: "2016-06-07T21:07:29.955277358Z"
  2124              Spec:
  2125                Name: "ingress"
  2126                Labels:
  2127                  com.docker.swarm.internal: "true"
  2128                DriverConfiguration: {}
  2129                IPAMOptions:
  2130                  Driver: {}
  2131                  Configs:
  2132                    - Subnet: "10.255.0.0/16"
  2133                      Gateway: "10.255.0.1"
  2134              DriverState:
  2135                Name: "overlay"
  2136                Options:
  2137                  com.docker.network.driver.overlay.vxlanid_list: "256"
  2138              IPAMOptions:
  2139                Driver:
  2140                  Name: "default"
  2141                Configs:
  2142                  - Subnet: "10.255.0.0/16"
  2143                    Gateway: "10.255.0.1"
  2144            Addresses:
  2145              - "10.255.0.10/16"
  2146    ServiceSpec:
  2147      description: "User modifiable configuration for a service."
  2148      type: object
  2149      properties:
  2150        Name:
  2151          description: "Name of the service."
  2152          type: "string"
  2153        Labels:
  2154          description: "User-defined key/value metadata."
  2155          type: "object"
  2156          additionalProperties:
  2157            type: "string"
  2158        TaskTemplate:
  2159          $ref: "#/definitions/TaskSpec"
  2160        Mode:
  2161          description: "Scheduling mode for the service."
  2162          type: "object"
  2163          properties:
  2164            Replicated:
  2165              type: "object"
  2166              properties:
  2167                Replicas:
  2168                  type: "integer"
  2169                  format: "int64"
  2170            Global:
  2171              type: "object"
  2172        UpdateConfig:
  2173          description: "Specification for the update strategy of the service."
  2174          type: "object"
  2175          properties:
  2176            Parallelism:
  2177              description: "Maximum number of tasks to be updated in one iteration (0 means unlimited parallelism)."
  2178              type: "integer"
  2179              format: "int64"
  2180            Delay:
  2181              description: "Amount of time between updates, in nanoseconds."
  2182              type: "integer"
  2183              format: "int64"
  2184            FailureAction:
  2185              description: "Action to take if an updated task fails to run, or stops running during the update."
  2186              type: "string"
  2187              enum:
  2188                - "continue"
  2189                - "pause"
  2190            Monitor:
  2191              description: "Amount of time to monitor each updated task for failures, in nanoseconds."
  2192              type: "integer"
  2193              format: "int64"
  2194            MaxFailureRatio:
  2195              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."
  2196              type: "number"
  2197              default: 0
  2198        Networks:
  2199          description: "Array of network names or IDs to attach the service to."
  2200          type: "array"
  2201          items:
  2202            type: "object"
  2203            properties:
  2204              Target:
  2205                type: "string"
  2206              Aliases:
  2207                type: "array"
  2208                items:
  2209                  type: "string"
  2210        EndpointSpec:
  2211          $ref: "#/definitions/EndpointSpec"
  2212    EndpointPortConfig:
  2213      type: "object"
  2214      properties:
  2215        Name:
  2216          type: "string"
  2217        Protocol:
  2218          type: "string"
  2219          enum:
  2220            - "tcp"
  2221            - "udp"
  2222        TargetPort:
  2223          description: "The port inside the container."
  2224          type: "integer"
  2225        PublishedPort:
  2226          description: "The port on the swarm hosts."
  2227          type: "integer"
  2228    EndpointSpec:
  2229      description: "Properties that can be configured to access and load balance a service."
  2230      type: "object"
  2231      properties:
  2232        Mode:
  2233          description: "The mode of resolution to use for internal load balancing
  2234        between tasks."
  2235          type: "string"
  2236          enum:
  2237            - "vip"
  2238            - "dnsrr"
  2239          default: "vip"
  2240        Ports:
  2241          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."
  2242          type: "array"
  2243          items:
  2244            $ref: "#/definitions/EndpointPortConfig"
  2245    Service:
  2246      type: "object"
  2247      properties:
  2248        ID:
  2249          type: "string"
  2250        Version:
  2251          type: "object"
  2252          properties:
  2253            Index:
  2254              type: "integer"
  2255              format: "int64"
  2256        CreatedAt:
  2257          type: "string"
  2258          format: "dateTime"
  2259        UpdatedAt:
  2260          type: "string"
  2261          format: "dateTime"
  2262        Spec:
  2263          $ref: "#/definitions/ServiceSpec"
  2264        Endpoint:
  2265          type: "object"
  2266          properties:
  2267            Spec:
  2268              $ref: "#/definitions/EndpointSpec"
  2269            Ports:
  2270              type: "array"
  2271              items:
  2272                $ref: "#/definitions/EndpointPortConfig"
  2273            VirtualIPs:
  2274              type: "array"
  2275              items:
  2276                type: "object"
  2277                properties:
  2278                  NetworkID:
  2279                    type: "string"
  2280                  Addr:
  2281                    type: "string"
  2282        UpdateStatus:
  2283          description: "The status of a service update."
  2284          type: "object"
  2285          properties:
  2286            State:
  2287              type: "string"
  2288              enum:
  2289                - "updating"
  2290                - "paused"
  2291                - "completed"
  2292            StartedAt:
  2293              type: "string"
  2294              format: "dateTime"
  2295            CompletedAt:
  2296              type: "string"
  2297              format: "dateTime"
  2298            Message:
  2299              type: "string"
  2300      example:
  2301        ID: "9mnpnzenvg8p8tdbtq4wvbkcz"
  2302        Version:
  2303          Index: 19
  2304        CreatedAt: "2016-06-07T21:05:51.880065305Z"
  2305        UpdatedAt: "2016-06-07T21:07:29.962229872Z"
  2306        Spec:
  2307          Name: "hopeful_cori"
  2308          TaskTemplate:
  2309            ContainerSpec:
  2310              Image: "redis"
  2311            Resources:
  2312              Limits: {}
  2313              Reservations: {}
  2314            RestartPolicy:
  2315              Condition: "any"
  2316              MaxAttempts: 0
  2317            Placement: {}
  2318            ForceUpdate: 0
  2319          Mode:
  2320            Replicated:
  2321              Replicas: 1
  2322          UpdateConfig:
  2323            Parallelism: 1
  2324            FailureAction: "pause"
  2325            Monitor: 15000000000
  2326            MaxFailureRatio: 0.15
  2327          EndpointSpec:
  2328            Mode: "vip"
  2329            Ports:
  2330              -
  2331                Protocol: "tcp"
  2332                TargetPort: 6379
  2333                PublishedPort: 30001
  2334        Endpoint:
  2335          Spec:
  2336            Mode: "vip"
  2337            Ports:
  2338              -
  2339                Protocol: "tcp"
  2340                TargetPort: 6379
  2341                PublishedPort: 30001
  2342          Ports:
  2343            -
  2344              Protocol: "tcp"
  2345              TargetPort: 6379
  2346              PublishedPort: 30001
  2347          VirtualIPs:
  2348            -
  2349              NetworkID: "4qvuz4ko70xaltuqbt8956gd1"
  2350              Addr: "10.255.0.2/16"
  2351            -
  2352              NetworkID: "4qvuz4ko70xaltuqbt8956gd1"
  2353              Addr: "10.255.0.3/16"
  2354    ImageDeleteResponse:
  2355      type: "object"
  2356      properties:
  2357        Untagged:
  2358          description: "The image ID of an image that was untagged"
  2359          type: "string"
  2360        Deleted:
  2361          description: "The image ID of an image that was deleted"
  2362          type: "string"
  2363    ServiceUpdateResponse:
  2364      type: "object"
  2365      properties:
  2366        Warnings:
  2367          description: "Optional warning messages"
  2368          type: "array"
  2369          items:
  2370            type: "string"
  2371      example:
  2372        Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found"
  2373    ContainerSummary:
  2374      type: "array"
  2375      items:
  2376        type: "object"
  2377        properties:
  2378          Id:
  2379            description: "The ID of this container"
  2380            type: "string"
  2381            x-go-name: "ID"
  2382          Names:
  2383            description: "The names that this container has been given"
  2384            type: "array"
  2385            items:
  2386              type: "string"
  2387          Image:
  2388            description: "The name of the image used when creating this container"
  2389            type: "string"
  2390          ImageID:
  2391            description: "The ID of the image that this container was created from"
  2392            type: "string"
  2393          Command:
  2394            description: "Command to run when starting the container"
  2395            type: "string"
  2396          Created:
  2397            description: "When the container was created"
  2398            type: "integer"
  2399            format: "int64"
  2400          Ports:
  2401            description: "The ports exposed by this container"
  2402            type: "array"
  2403            items:
  2404              $ref: "#/definitions/Port"
  2405          SizeRw:
  2406            description: "The size of files that have been created or changed by this container"
  2407            type: "integer"
  2408            format: "int64"
  2409          SizeRootFs:
  2410            description: "The total size of all the files in this container"
  2411            type: "integer"
  2412            format: "int64"
  2413          Labels:
  2414            description: "User-defined key/value metadata."
  2415            type: "object"
  2416            additionalProperties:
  2417              type: "string"
  2418          State:
  2419            description: "The state of this container (e.g. `Exited`)"
  2420            type: "string"
  2421          Status:
  2422            description: "Additional human-readable status of this container (e.g. `Exit 0`)"
  2423            type: "string"
  2424          HostConfig:
  2425            type: "object"
  2426            properties:
  2427              NetworkMode:
  2428                type: "string"
  2429          NetworkSettings:
  2430            description: "A summary of the container's network settings"
  2431            type: "object"
  2432            properties:
  2433              Networks:
  2434                type: "object"
  2435                additionalProperties:
  2436                  $ref: "#/definitions/EndpointSettings"
  2437          Mounts:
  2438            type: "array"
  2439            items:
  2440              $ref: "#/definitions/MountPoint"
  2441    SecretSpec:
  2442      type: "object"
  2443      properties:
  2444        Name:
  2445          description: "User-defined name of the secret."
  2446          type: "string"
  2447        Labels:
  2448          description: "User-defined key/value metadata."
  2449          type: "object"
  2450          additionalProperties:
  2451            type: "string"
  2452        Data:
  2453          description: "Base64-url-safe-encoded secret data"
  2454          type: "array"
  2455          items:
  2456            type: "string"
  2457    Secret:
  2458      type: "object"
  2459      properties:
  2460        ID:
  2461          type: "string"
  2462        Version:
  2463          type: "object"
  2464          properties:
  2465            Index:
  2466              type: "integer"
  2467              format: "int64"
  2468        CreatedAt:
  2469          type: "string"
  2470          format: "dateTime"
  2471        UpdatedAt:
  2472          type: "string"
  2473          format: "dateTime"
  2474        Spec:
  2475          $ref: "#/definitions/ServiceSpec"
  2476  paths:
  2477    /containers/json:
  2478      get:
  2479        summary: "List containers"
  2480        operationId: "ContainerList"
  2481        produces:
  2482          - "application/json"
  2483        parameters:
  2484          - name: "all"
  2485            in: "query"
  2486            description: "Return all containers. By default, only running containers are shown"
  2487            type: "boolean"
  2488            default: false
  2489          - name: "limit"
  2490            in: "query"
  2491            description: "Return this number of most recently created containers, including non-running ones."
  2492            type: "integer"
  2493          - name: "size"
  2494            in: "query"
  2495            description: "Return the size of container as fields `SizeRw` and `SizeRootFs`."
  2496            type: "boolean"
  2497            default: false
  2498          - name: "filters"
  2499            in: "query"
  2500            description: |
  2501              Filters to process on the container list, encoded as JSON (a `map[string][]string`). For example, `{"status": ["paused"]}` will only return paused containers.
  2502  
  2503              Available filters:
  2504              - `exited=<int>` containers with exit code of `<int>`
  2505              - `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`)
  2506              - `label=key` or `label="key=value"` of a container label
  2507              - `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only)
  2508              - `id=<ID>` a container's ID
  2509              - `name=<name>` a container's name
  2510              - `is-task=`(`true`|`false`)
  2511              - `ancestor`=(`<image-name>[:<tag>]`, `<image id>`, or `<image@digest>`)
  2512              - `before`=(`<container id>` or `<container name>`)
  2513              - `since`=(`<container id>` or `<container name>`)
  2514              - `volume`=(`<volume name>` or `<mount point destination>`)
  2515              - `network`=(`<network id>` or `<network name>`)
  2516              - `health`=(`starting`|`healthy`|`unhealthy`|`none`)
  2517            type: "string"
  2518        responses:
  2519          200:
  2520            description: "no error"
  2521            schema:
  2522              $ref: "#/definitions/ContainerSummary"
  2523            examples:
  2524              application/json:
  2525                - Id: "8dfafdbc3a40"
  2526                  Names:
  2527                    - "/boring_feynman"
  2528                  Image: "ubuntu:latest"
  2529                  ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
  2530                  Command: "echo 1"
  2531                  Created: 1367854155
  2532                  State: "Exited"
  2533                  Status: "Exit 0"
  2534                  Ports:
  2535                    - PrivatePort: 2222
  2536                      PublicPort: 3333
  2537                      Type: "tcp"
  2538                  Labels:
  2539                    com.example.vendor: "Acme"
  2540                    com.example.license: "GPL"
  2541                    com.example.version: "1.0"
  2542                  SizeRw: 12288
  2543                  SizeRootFs: 0
  2544                  HostConfig:
  2545                    NetworkMode: "default"
  2546                  NetworkSettings:
  2547                    Networks:
  2548                      bridge:
  2549                        NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  2550                        EndpointID: "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f"
  2551                        Gateway: "172.17.0.1"
  2552                        IPAddress: "172.17.0.2"
  2553                        IPPrefixLen: 16
  2554                        IPv6Gateway: ""
  2555                        GlobalIPv6Address: ""
  2556                        GlobalIPv6PrefixLen: 0
  2557                        MacAddress: "02:42:ac:11:00:02"
  2558                  Mounts:
  2559                    - Name: "fac362...80535"
  2560                      Source: "/data"
  2561                      Destination: "/data"
  2562                      Driver: "local"
  2563                      Mode: "ro,Z"
  2564                      RW: false
  2565                      Propagation: ""
  2566                - Id: "9cd87474be90"
  2567                  Names:
  2568                    - "/coolName"
  2569                  Image: "ubuntu:latest"
  2570                  ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
  2571                  Command: "echo 222222"
  2572                  Created: 1367854155
  2573                  State: "Exited"
  2574                  Status: "Exit 0"
  2575                  Ports: []
  2576                  Labels: {}
  2577                  SizeRw: 12288
  2578                  SizeRootFs: 0
  2579                  HostConfig:
  2580                    NetworkMode: "default"
  2581                  NetworkSettings:
  2582                    Networks:
  2583                      bridge:
  2584                        NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  2585                        EndpointID: "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a"
  2586                        Gateway: "172.17.0.1"
  2587                        IPAddress: "172.17.0.8"
  2588                        IPPrefixLen: 16
  2589                        IPv6Gateway: ""
  2590                        GlobalIPv6Address: ""
  2591                        GlobalIPv6PrefixLen: 0
  2592                        MacAddress: "02:42:ac:11:00:08"
  2593                  Mounts: []
  2594                - Id: "3176a2479c92"
  2595                  Names:
  2596                    - "/sleepy_dog"
  2597                  Image: "ubuntu:latest"
  2598                  ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
  2599                  Command: "echo 3333333333333333"
  2600                  Created: 1367854154
  2601                  State: "Exited"
  2602                  Status: "Exit 0"
  2603                  Ports: []
  2604                  Labels: {}
  2605                  SizeRw: 12288
  2606                  SizeRootFs: 0
  2607                  HostConfig:
  2608                    NetworkMode: "default"
  2609                  NetworkSettings:
  2610                    Networks:
  2611                      bridge:
  2612                        NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  2613                        EndpointID: "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d"
  2614                        Gateway: "172.17.0.1"
  2615                        IPAddress: "172.17.0.6"
  2616                        IPPrefixLen: 16
  2617                        IPv6Gateway: ""
  2618                        GlobalIPv6Address: ""
  2619                        GlobalIPv6PrefixLen: 0
  2620                        MacAddress: "02:42:ac:11:00:06"
  2621                  Mounts: []
  2622                - Id: "4cb07b47f9fb"
  2623                  Names:
  2624                    - "/running_cat"
  2625                  Image: "ubuntu:latest"
  2626                  ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
  2627                  Command: "echo 444444444444444444444444444444444"
  2628                  Created: 1367854152
  2629                  State: "Exited"
  2630                  Status: "Exit 0"
  2631                  Ports: []
  2632                  Labels: {}
  2633                  SizeRw: 12288
  2634                  SizeRootFs: 0
  2635                  HostConfig:
  2636                    NetworkMode: "default"
  2637                  NetworkSettings:
  2638                    Networks:
  2639                      bridge:
  2640                        NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  2641                        EndpointID: "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9"
  2642                        Gateway: "172.17.0.1"
  2643                        IPAddress: "172.17.0.5"
  2644                        IPPrefixLen: 16
  2645                        IPv6Gateway: ""
  2646                        GlobalIPv6Address: ""
  2647                        GlobalIPv6PrefixLen: 0
  2648                        MacAddress: "02:42:ac:11:00:05"
  2649                  Mounts: []
  2650          400:
  2651            description: "bad parameter"
  2652            schema:
  2653              $ref: "#/definitions/ErrorResponse"
  2654          500:
  2655            description: "server error"
  2656            schema:
  2657              $ref: "#/definitions/ErrorResponse"
  2658        tags: ["Container"]
  2659    /containers/create:
  2660      post:
  2661        summary: "Create a container"
  2662        operationId: "ContainerCreate"
  2663        consumes:
  2664          - "application/json"
  2665          - "application/octet-stream"
  2666        produces:
  2667          - "application/json"
  2668        parameters:
  2669          - name: "name"
  2670            in: "query"
  2671            description: "Assign the specified name to the container. Must match `/?[a-zA-Z0-9_-]+`."
  2672            type: "string"
  2673            pattern: "/?[a-zA-Z0-9_-]+"
  2674          - name: "body"
  2675            in: "body"
  2676            description: "Container to create"
  2677            schema:
  2678              allOf:
  2679                - $ref: "#/definitions/Config"
  2680                - type: "object"
  2681                  properties:
  2682                    HostConfig:
  2683                      $ref: "#/definitions/HostConfig"
  2684                    NetworkingConfig:
  2685                      description: "This container's networking configuration."
  2686                      type: "object"
  2687                      properties:
  2688                        EndpointsConfig:
  2689                          description: "A mapping of network name to endpoint configuration for that network."
  2690                          type: "object"
  2691                          additionalProperties:
  2692                            $ref: "#/definitions/EndpointSettings"
  2693              example:
  2694                Hostname: ""
  2695                Domainname: ""
  2696                User: ""
  2697                AttachStdin: false
  2698                AttachStdout: true
  2699                AttachStderr: true
  2700                Tty: false
  2701                OpenStdin: false
  2702                StdinOnce: false
  2703                Env:
  2704                  - "FOO=bar"
  2705                  - "BAZ=quux"
  2706                Cmd:
  2707                  - "date"
  2708                Entrypoint: ""
  2709                Image: "ubuntu"
  2710                Labels:
  2711                  com.example.vendor: "Acme"
  2712                  com.example.license: "GPL"
  2713                  com.example.version: "1.0"
  2714                Volumes:
  2715                  /volumes/data: {}
  2716                WorkingDir: ""
  2717                NetworkDisabled: false
  2718                MacAddress: "12:34:56:78:9a:bc"
  2719                ExposedPorts:
  2720                  22/tcp: {}
  2721                StopSignal: "SIGTERM"
  2722                StopTimeout: 10
  2723                HostConfig:
  2724                  Binds:
  2725                    - "/tmp:/tmp"
  2726                  Links:
  2727                    - "redis3:redis"
  2728                  Memory: 0
  2729                  MemorySwap: 0
  2730                  MemoryReservation: 0
  2731                  KernelMemory: 0
  2732                  NanoCpus: 500000
  2733                  CpuPercent: 80
  2734                  CpuShares: 512
  2735                  CpuPeriod: 100000
  2736                  CpuRealtimePeriod: 1000000
  2737                  CpuRealtimeRuntime: 10000
  2738                  CpuQuota: 50000
  2739                  CpusetCpus: "0,1"
  2740                  CpusetMems: "0,1"
  2741                  MaximumIOps: 0
  2742                  MaximumIOBps: 0
  2743                  BlkioWeight: 300
  2744                  BlkioWeightDevice:
  2745                    - {}
  2746                  BlkioDeviceReadBps:
  2747                    - {}
  2748                  BlkioDeviceReadIOps:
  2749                    - {}
  2750                  BlkioDeviceWriteBps:
  2751                    - {}
  2752                  BlkioDeviceWriteIOps:
  2753                    - {}
  2754                  MemorySwappiness: 60
  2755                  OomKillDisable: false
  2756                  OomScoreAdj: 500
  2757                  PidMode: ""
  2758                  PidsLimit: -1
  2759                  PortBindings:
  2760                    22/tcp:
  2761                      - HostPort: "11022"
  2762                  PublishAllPorts: false
  2763                  Privileged: false
  2764                  ReadonlyRootfs: false
  2765                  Dns:
  2766                    - "8.8.8.8"
  2767                  DnsOptions:
  2768                    - ""
  2769                  DnsSearch:
  2770                    - ""
  2771                  VolumesFrom:
  2772                    - "parent"
  2773                    - "other:ro"
  2774                  CapAdd:
  2775                    - "NET_ADMIN"
  2776                  CapDrop:
  2777                    - "MKNOD"
  2778                  GroupAdd:
  2779                    - "newgroup"
  2780                  RestartPolicy:
  2781                    Name: ""
  2782                    MaximumRetryCount: 0
  2783                  AutoRemove: true
  2784                  NetworkMode: "bridge"
  2785                  Devices: []
  2786                  Ulimits:
  2787                    - {}
  2788                  LogConfig:
  2789                    Type: "json-file"
  2790                    Config: {}
  2791                  SecurityOpt: []
  2792                  StorageOpt: {}
  2793                  CgroupParent: ""
  2794                  VolumeDriver: ""
  2795                  ShmSize: 67108864
  2796                NetworkingConfig:
  2797                  EndpointsConfig:
  2798                    isolated_nw:
  2799                      IPAMConfig:
  2800                        IPv4Address: "172.20.30.33"
  2801                        IPv6Address: "2001:db8:abcd::3033"
  2802                        LinkLocalIPs:
  2803                          - "169.254.34.68"
  2804                          - "fe80::3468"
  2805                      Links:
  2806                        - "container_1"
  2807                        - "container_2"
  2808                      Aliases:
  2809                        - "server_x"
  2810                        - "server_y"
  2811  
  2812            required: true
  2813        responses:
  2814          201:
  2815            description: "Container created successfully"
  2816            schema:
  2817              type: "object"
  2818              required: [Id, Warnings]
  2819              properties:
  2820                Id:
  2821                  description: "The ID of the created container"
  2822                  type: "string"
  2823                  x-nullable: false
  2824                Warnings:
  2825                  description: "Warnings encountered when creating the container"
  2826                  type: "array"
  2827                  x-nullable: false
  2828                  items:
  2829                    type: "string"
  2830            examples:
  2831              application/json:
  2832                Id: "e90e34656806"
  2833                Warnings: []
  2834          400:
  2835            description: "bad parameter"
  2836            schema:
  2837              $ref: "#/definitions/ErrorResponse"
  2838          404:
  2839            description: "no such image"
  2840            schema:
  2841              $ref: "#/definitions/ErrorResponse"
  2842            examples:
  2843              application/json:
  2844                message: "No such image: c2ada9df5af8"
  2845          406:
  2846            description: "impossible to attach"
  2847            schema:
  2848              $ref: "#/definitions/ErrorResponse"
  2849          409:
  2850            description: "conflict"
  2851            schema:
  2852              $ref: "#/definitions/ErrorResponse"
  2853          500:
  2854            description: "server error"
  2855            schema:
  2856              $ref: "#/definitions/ErrorResponse"
  2857        tags: ["Container"]
  2858    /containers/{id}/json:
  2859      get:
  2860        summary: "Inspect a container"
  2861        description: "Return low-level information about a container."
  2862        operationId: "ContainerInspect"
  2863        produces:
  2864          - "application/json"
  2865        responses:
  2866          200:
  2867            description: "no error"
  2868            schema:
  2869              type: "object"
  2870              properties:
  2871                Id:
  2872                  description: "The ID of the container"
  2873                  type: "string"
  2874                Created:
  2875                  description: "The time the container was created"
  2876                  type: "string"
  2877                Path:
  2878                  description: "The path to the command being run"
  2879                  type: "string"
  2880                Args:
  2881                  description: "The arguments to the command being run"
  2882                  type: "array"
  2883                  items:
  2884                    type: "string"
  2885                State:
  2886                  description: "The state of the container."
  2887                  type: "object"
  2888                  properties:
  2889                    Status:
  2890                      description: "The status of the container. For example, `running` or `exited`."
  2891                      type: "string"
  2892                    Running:
  2893                      description: "Whether this container is running."
  2894                      type: "boolean"
  2895                    Paused:
  2896                      description: "Whether this container is paused."
  2897                      type: "boolean"
  2898                    Restarting:
  2899                      description: "Whether this container is restarting."
  2900                      type: "boolean"
  2901                    OOMKilled:
  2902                      description: "Whether this container has been killed because it ran out of memory."
  2903                      type: "boolean"
  2904                    Dead:
  2905                      type: "boolean"
  2906                    Pid:
  2907                      description: "The process ID of this container"
  2908                      type: "integer"
  2909                    ExitCode:
  2910                      description: "The last exit code of this container"
  2911                      type: "integer"
  2912                    Error:
  2913                      type: "string"
  2914                    StartedAt:
  2915                      description: "The time when this container was last started."
  2916                      type: "string"
  2917                    FinishedAt:
  2918                      description: "The time when this container last exited."
  2919                      type: "string"
  2920                Image:
  2921                  description: "The container's image"
  2922                  type: "string"
  2923                ResolvConfPath:
  2924                  type: "string"
  2925                HostnamePath:
  2926                  type: "string"
  2927                HostsPath:
  2928                  type: "string"
  2929                LogPath:
  2930                  type: "string"
  2931                Node:
  2932                  description: "TODO"
  2933                  type: "object"
  2934                Name:
  2935                  type: "string"
  2936                RestartCount:
  2937                  type: "integer"
  2938                Driver:
  2939                  type: "string"
  2940                MountLabel:
  2941                  type: "string"
  2942                ProcessLabel:
  2943                  type: "string"
  2944                AppArmorProfile:
  2945                  type: "string"
  2946                ExecIDs:
  2947                  type: "string"
  2948                HostConfig:
  2949                  $ref: "#/definitions/HostConfig"
  2950                GraphDriver:
  2951                  $ref: "#/definitions/GraphDriver"
  2952                SizeRw:
  2953                  description: "The size of files that have been created or changed by this container."
  2954                  type: "integer"
  2955                  format: "int64"
  2956                SizeRootFs:
  2957                  description: "The total size of all the files in this container."
  2958                  type: "integer"
  2959                  format: "int64"
  2960                Mounts:
  2961                  type: "array"
  2962                  items:
  2963                    $ref: "#/definitions/MountPoint"
  2964                Config:
  2965                  $ref: "#/definitions/Config"
  2966                NetworkSettings:
  2967                  $ref: "#/definitions/NetworkConfig"
  2968            examples:
  2969              application/json:
  2970                AppArmorProfile: ""
  2971                Args:
  2972                  - "-c"
  2973                  - "exit 9"
  2974                Config:
  2975                  AttachStderr: true
  2976                  AttachStdin: false
  2977                  AttachStdout: true
  2978                  Cmd:
  2979                    - "/bin/sh"
  2980                    - "-c"
  2981                    - "exit 9"
  2982                  Domainname: ""
  2983                  Env:
  2984                    - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  2985                  Hostname: "ba033ac44011"
  2986                  Image: "ubuntu"
  2987                  Labels:
  2988                    com.example.vendor: "Acme"
  2989                    com.example.license: "GPL"
  2990                    com.example.version: "1.0"
  2991                  MacAddress: ""
  2992                  NetworkDisabled: false
  2993                  OpenStdin: false
  2994                  StdinOnce: false
  2995                  Tty: false
  2996                  User: ""
  2997                  Volumes:
  2998                    /volumes/data: {}
  2999                  WorkingDir: ""
  3000                  StopSignal: "SIGTERM"
  3001                  StopTimeout: 10
  3002                Created: "2015-01-06T15:47:31.485331387Z"
  3003                Driver: "devicemapper"
  3004                HostConfig:
  3005                  MaximumIOps: 0
  3006                  MaximumIOBps: 0
  3007                  BlkioWeight: 0
  3008                  BlkioWeightDevice:
  3009                    - {}
  3010                  BlkioDeviceReadBps:
  3011                    - {}
  3012                  BlkioDeviceWriteBps:
  3013                    - {}
  3014                  BlkioDeviceReadIOps:
  3015                    - {}
  3016                  BlkioDeviceWriteIOps:
  3017                    - {}
  3018                  ContainerIDFile: ""
  3019                  CpusetCpus: ""
  3020                  CpusetMems: ""
  3021                  CpuPercent: 80
  3022                  CpuShares: 0
  3023                  CpuPeriod: 100000
  3024                  CpuRealtimePeriod: 1000000
  3025                  CpuRealtimeRuntime: 10000
  3026                  Devices: []
  3027                  IpcMode: ""
  3028                  Memory: 0
  3029                  MemorySwap: 0
  3030                  MemoryReservation: 0
  3031                  KernelMemory: 0
  3032                  OomKillDisable: false
  3033                  OomScoreAdj: 500
  3034                  NetworkMode: "bridge"
  3035                  PidMode: ""
  3036                  PortBindings: {}
  3037                  Privileged: false
  3038                  ReadonlyRootfs: false
  3039                  PublishAllPorts: false
  3040                  RestartPolicy:
  3041                    MaximumRetryCount: 2
  3042                    Name: "on-failure"
  3043                  LogConfig:
  3044                    Type: "json-file"
  3045                  Sysctls:
  3046                    net.ipv4.ip_forward: "1"
  3047                  Ulimits:
  3048                    - {}
  3049                  VolumeDriver: ""
  3050                  ShmSize: 67108864
  3051                HostnamePath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname"
  3052                HostsPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts"
  3053                LogPath: "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log"
  3054                Id: "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39"
  3055                Image: "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2"
  3056                MountLabel: ""
  3057                Name: "/boring_euclid"
  3058                NetworkSettings:
  3059                  Bridge: ""
  3060                  SandboxID: ""
  3061                  HairpinMode: false
  3062                  LinkLocalIPv6Address: ""
  3063                  LinkLocalIPv6PrefixLen: 0
  3064                  SandboxKey: ""
  3065                  SecondaryIPAddresses: null
  3066                  SecondaryIPv6Addresses: null
  3067                  EndpointID: ""
  3068                  Gateway: ""
  3069                  GlobalIPv6Address: ""
  3070                  GlobalIPv6PrefixLen: 0
  3071                  IPAddress: ""
  3072                  IPPrefixLen: 0
  3073                  IPv6Gateway: ""
  3074                  MacAddress: ""
  3075                  Networks:
  3076                    bridge:
  3077                      NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  3078                      EndpointID: "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d"
  3079                      Gateway: "172.17.0.1"
  3080                      IPAddress: "172.17.0.2"
  3081                      IPPrefixLen: 16
  3082                      IPv6Gateway: ""
  3083                      GlobalIPv6Address: ""
  3084                      GlobalIPv6PrefixLen: 0
  3085                      MacAddress: "02:42:ac:12:00:02"
  3086                Path: "/bin/sh"
  3087                ProcessLabel: ""
  3088                ResolvConfPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf"
  3089                RestartCount: 1
  3090                State:
  3091                  Error: ""
  3092                  ExitCode: 9
  3093                  FinishedAt: "2015-01-06T15:47:32.080254511Z"
  3094                  OOMKilled: false
  3095                  Dead: false
  3096                  Paused: false
  3097                  Pid: 0
  3098                  Restarting: false
  3099                  Running: true
  3100                  StartedAt: "2015-01-06T15:47:32.072697474Z"
  3101                  Status: "running"
  3102                Mounts:
  3103                  - Name: "fac362...80535"
  3104                    Source: "/data"
  3105                    Destination: "/data"
  3106                    Driver: "local"
  3107                    Mode: "ro,Z"
  3108                    RW: false
  3109                    Propagation: ""
  3110          404:
  3111            description: "no such container"
  3112            schema:
  3113              $ref: "#/definitions/ErrorResponse"
  3114            examples:
  3115              application/json:
  3116                message: "No such container: c2ada9df5af8"
  3117          500:
  3118            description: "server error"
  3119            schema:
  3120              $ref: "#/definitions/ErrorResponse"
  3121        parameters:
  3122          - name: "id"
  3123            in: "path"
  3124            required: true
  3125            description: "ID or name of the container"
  3126            type: "string"
  3127          - name: "size"
  3128            in: "query"
  3129            type: "boolean"
  3130            default: false
  3131            description: "Return the size of container as fields `SizeRw` and `SizeRootFs`"
  3132        tags: ["Container"]
  3133    /containers/{id}/top:
  3134      get:
  3135        summary: "List processes running inside a container"
  3136        description: "On Unix systems, this is done by running the `ps` command. This endpoint is not supported on Windows."
  3137        operationId: "ContainerTop"
  3138        responses:
  3139          200:
  3140            description: "no error"
  3141            schema:
  3142              type: "object"
  3143              properties:
  3144                Titles:
  3145                  description: "The ps column titles"
  3146                  type: "array"
  3147                  items:
  3148                    type: "string"
  3149                Processes:
  3150                  description: "Each process running in the container, where each is process is an array of values corresponding to the titles"
  3151                  type: "array"
  3152                  items:
  3153                    type: "array"
  3154                    items:
  3155                      type: "string"
  3156            examples:
  3157              application/json:
  3158                Titles:
  3159                  - "UID"
  3160                  - "PID"
  3161                  - "PPID"
  3162                  - "C"
  3163                  - "STIME"
  3164                  - "TTY"
  3165                  - "TIME"
  3166                  - "CMD"
  3167                Processes:
  3168                  -
  3169                    - "root"
  3170                    - "13642"
  3171                    - "882"
  3172                    - "0"
  3173                    - "17:03"
  3174                    - "pts/0"
  3175                    - "00:00:00"
  3176                    - "/bin/bash"
  3177                  -
  3178                    - "root"
  3179                    - "13735"
  3180                    - "13642"
  3181                    - "0"
  3182                    - "17:06"
  3183                    - "pts/0"
  3184                    - "00:00:00"
  3185                    - "sleep 10"
  3186          404:
  3187            description: "no such container"
  3188            schema:
  3189              $ref: "#/definitions/ErrorResponse"
  3190            examples:
  3191              application/json:
  3192                message: "No such container: c2ada9df5af8"
  3193          500:
  3194            description: "server error"
  3195            schema:
  3196              $ref: "#/definitions/ErrorResponse"
  3197        parameters:
  3198          - name: "id"
  3199            in: "path"
  3200            required: true
  3201            description: "ID or name of the container"
  3202            type: "string"
  3203          - name: "ps_args"
  3204            in: "query"
  3205            description: "The arguments to pass to `ps`. For example, `aux`"
  3206            type: "string"
  3207            default: "-ef"
  3208        tags: ["Container"]
  3209    /containers/{id}/logs:
  3210      get:
  3211        summary: "Get container logs"
  3212        description: |
  3213          Get `stdout` and `stderr` logs from a container.
  3214  
  3215          Note: This endpoint works only for containers with the `json-file` or `journald` logging driver.
  3216        operationId: "ContainerLogs"
  3217        responses:
  3218          101:
  3219            description: "logs returned as a stream"
  3220            schema:
  3221              type: "string"
  3222              format: "binary"
  3223          200:
  3224            description: "logs returned as a string in response body"
  3225            schema:
  3226              type: "string"
  3227          404:
  3228            description: "no such container"
  3229            schema:
  3230              $ref: "#/definitions/ErrorResponse"
  3231            examples:
  3232              application/json:
  3233                message: "No such container: c2ada9df5af8"
  3234          500:
  3235            description: "server error"
  3236            schema:
  3237              $ref: "#/definitions/ErrorResponse"
  3238        parameters:
  3239          - name: "id"
  3240            in: "path"
  3241            required: true
  3242            description: "ID or name of the container"
  3243            type: "string"
  3244          - name: "follow"
  3245            in: "query"
  3246            description: |
  3247              Return the logs as a stream.
  3248  
  3249              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).
  3250            type: "boolean"
  3251            default: false
  3252          - name: "stdout"
  3253            in: "query"
  3254            description: "Return logs from `stdout`"
  3255            type: "boolean"
  3256            default: false
  3257          - name: "stderr"
  3258            in: "query"
  3259            description: "Return logs from `stderr`"
  3260            type: "boolean"
  3261            default: false
  3262          - name: "since"
  3263            in: "query"
  3264            description: "Only return logs since this time, as a UNIX timestamp"
  3265            type: "integer"
  3266            default: 0
  3267          - name: "timestamps"
  3268            in: "query"
  3269            description: "Add timestamps to every log line"
  3270            type: "boolean"
  3271            default: false
  3272          - name: "tail"
  3273            in: "query"
  3274            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."
  3275            type: "string"
  3276            default: "all"
  3277        tags: ["Container"]
  3278    /containers/{id}/changes:
  3279      get:
  3280        summary: "Get changes on a container’s filesystem"
  3281        description: |
  3282          Returns which files in a container's filesystem have been added, deleted, or modified. The `Kind` of modification can be one of:
  3283  
  3284          - `0`: Modified
  3285          - `1`: Added
  3286          - `2`: Deleted
  3287        operationId: "ContainerChanges"
  3288        produces:
  3289          - "application/json"
  3290        responses:
  3291          200:
  3292            description: "no error"
  3293            schema:
  3294              type: "array"
  3295              items:
  3296                type: "object"
  3297                properties:
  3298                  Path:
  3299                    description: "Path to file that has changed"
  3300                    type: "string"
  3301                  Kind:
  3302                    description: "Kind of change"
  3303                    type: "integer"
  3304                    enum:
  3305                      - 0
  3306                      - 1
  3307                      - 2
  3308            examples:
  3309              application/json:
  3310                - Path: "/dev"
  3311                  Kind: 0
  3312                - Path: "/dev/kmsg"
  3313                  Kind: 1
  3314                - Path: "/test"
  3315                  Kind: 1
  3316          404:
  3317            description: "no such container"
  3318            schema:
  3319              $ref: "#/definitions/ErrorResponse"
  3320            examples:
  3321              application/json:
  3322                message: "No such container: c2ada9df5af8"
  3323          500:
  3324            description: "server error"
  3325            schema:
  3326              $ref: "#/definitions/ErrorResponse"
  3327        parameters:
  3328          - name: "id"
  3329            in: "path"
  3330            required: true
  3331            description: "ID or name of the container"
  3332            type: "string"
  3333        tags: ["Container"]
  3334    /containers/{id}/export:
  3335      get:
  3336        summary: "Export a container"
  3337        description: "Export the contents of a container as a tarball."
  3338        operationId: "ContainerExport"
  3339        produces:
  3340          - "application/octet-stream"
  3341        responses:
  3342          200:
  3343            description: "no error"
  3344          404:
  3345            description: "no such container"
  3346            schema:
  3347              $ref: "#/definitions/ErrorResponse"
  3348            examples:
  3349              application/json:
  3350                message: "No such container: c2ada9df5af8"
  3351          500:
  3352            description: "server error"
  3353            schema:
  3354              $ref: "#/definitions/ErrorResponse"
  3355        parameters:
  3356          - name: "id"
  3357            in: "path"
  3358            required: true
  3359            description: "ID or name of the container"
  3360            type: "string"
  3361        tags: ["Container"]
  3362    /containers/{id}/stats:
  3363      get:
  3364        summary: "Get container stats based on resource usage"
  3365        description: |
  3366          This endpoint returns a live stream of a container’s resource usage statistics.
  3367  
  3368          The `precpu_stats` is the CPU statistic of last read, which is used for calculating the CPU usage percentage. It is not the same as the `cpu_stats` field.
  3369        operationId: "ContainerStats"
  3370        produces:
  3371          - "application/json"
  3372        responses:
  3373          200:
  3374            description: "no error"
  3375            schema:
  3376              type: "object"
  3377            examples:
  3378              application/json:
  3379                read: "2015-01-08T22:57:31.547920715Z"
  3380                pids_stats:
  3381                  current: 3
  3382                networks:
  3383                  eth0:
  3384                    rx_bytes: 5338
  3385                    rx_dropped: 0
  3386                    rx_errors: 0
  3387                    rx_packets: 36
  3388                    tx_bytes: 648
  3389                    tx_dropped: 0
  3390                    tx_errors: 0
  3391                    tx_packets: 8
  3392                  eth5:
  3393                    rx_bytes: 4641
  3394                    rx_dropped: 0
  3395                    rx_errors: 0
  3396                    rx_packets: 26
  3397                    tx_bytes: 690
  3398                    tx_dropped: 0
  3399                    tx_errors: 0
  3400                    tx_packets: 9
  3401                memory_stats:
  3402                  stats:
  3403                    total_pgmajfault: 0
  3404                    cache: 0
  3405                    mapped_file: 0
  3406                    total_inactive_file: 0
  3407                    pgpgout: 414
  3408                    rss: 6537216
  3409                    total_mapped_file: 0
  3410                    writeback: 0
  3411                    unevictable: 0
  3412                    pgpgin: 477
  3413                    total_unevictable: 0
  3414                    pgmajfault: 0
  3415                    total_rss: 6537216
  3416                    total_rss_huge: 6291456
  3417                    total_writeback: 0
  3418                    total_inactive_anon: 0
  3419                    rss_huge: 6291456
  3420                    hierarchical_memory_limit: 67108864
  3421                    total_pgfault: 964
  3422                    total_active_file: 0
  3423                    active_anon: 6537216
  3424                    total_active_anon: 6537216
  3425                    total_pgpgout: 414
  3426                    total_cache: 0
  3427                    inactive_anon: 0
  3428                    active_file: 0
  3429                    pgfault: 964
  3430                    inactive_file: 0
  3431                    total_pgpgin: 477
  3432                  max_usage: 6651904
  3433                  usage: 6537216
  3434                  failcnt: 0
  3435                  limit: 67108864
  3436                blkio_stats: {}
  3437                cpu_stats:
  3438                  cpu_usage:
  3439                    percpu_usage:
  3440                      - 8646879
  3441                      - 24472255
  3442                      - 36438778
  3443                      - 30657443
  3444                    usage_in_usermode: 50000000
  3445                    total_usage: 100215355
  3446                    usage_in_kernelmode: 30000000
  3447                  system_cpu_usage: 739306590000000
  3448                  throttling_data:
  3449                    periods: 0
  3450                    throttled_periods: 0
  3451                    throttled_time: 0
  3452                precpu_stats:
  3453                  cpu_usage:
  3454                    percpu_usage:
  3455                      - 8646879
  3456                      - 24350896
  3457                      - 36438778
  3458                      - 30657443
  3459                    usage_in_usermode: 50000000
  3460                    total_usage: 100093996
  3461                    usage_in_kernelmode: 30000000
  3462                  system_cpu_usage: 9492140000000
  3463                  throttling_data:
  3464                    periods: 0
  3465                    throttled_periods: 0
  3466                    throttled_time: 0
  3467          404:
  3468            description: "no such container"
  3469            schema:
  3470              $ref: "#/definitions/ErrorResponse"
  3471            examples:
  3472              application/json:
  3473                message: "No such container: c2ada9df5af8"
  3474          500:
  3475            description: "server error"
  3476            schema:
  3477              $ref: "#/definitions/ErrorResponse"
  3478        parameters:
  3479          - name: "id"
  3480            in: "path"
  3481            required: true
  3482            description: "ID or name of the container"
  3483            type: "string"
  3484          - name: "stream"
  3485            in: "query"
  3486            description: "Stream the output. If false, the stats will be output once and then it will disconnect."
  3487            type: "boolean"
  3488            default: true
  3489        tags: ["Container"]
  3490    /containers/{id}/resize:
  3491      post:
  3492        summary: "Resize a container TTY"
  3493        description: "Resize the TTY for a container. You must restart the container for the resize to take effect."
  3494        operationId: "ContainerResize"
  3495        consumes:
  3496          - "application/octet-stream"
  3497        produces:
  3498          - "text/plain"
  3499        responses:
  3500          200:
  3501            description: "no error"
  3502          404:
  3503            description: "no such container"
  3504            schema:
  3505              $ref: "#/definitions/ErrorResponse"
  3506            examples:
  3507              application/json:
  3508                message: "No such container: c2ada9df5af8"
  3509          500:
  3510            description: "cannot resize container"
  3511            schema:
  3512              $ref: "#/definitions/ErrorResponse"
  3513        parameters:
  3514          - name: "id"
  3515            in: "path"
  3516            required: true
  3517            description: "ID or name of the container"
  3518            type: "string"
  3519          - name: "h"
  3520            in: "query"
  3521            description: "Height of the tty session in characters"
  3522            type: "integer"
  3523          - name: "w"
  3524            in: "query"
  3525            description: "Width of the tty session in characters"
  3526            type: "integer"
  3527        tags: ["Container"]
  3528    /containers/{id}/start:
  3529      post:
  3530        summary: "Start a container"
  3531        operationId: "ContainerStart"
  3532        responses:
  3533          204:
  3534            description: "no error"
  3535          304:
  3536            description: "container already started"
  3537            schema:
  3538              $ref: "#/definitions/ErrorResponse"
  3539          404:
  3540            description: "no such container"
  3541            schema:
  3542              $ref: "#/definitions/ErrorResponse"
  3543            examples:
  3544              application/json:
  3545                message: "No such container: c2ada9df5af8"
  3546          500:
  3547            description: "server error"
  3548            schema:
  3549              $ref: "#/definitions/ErrorResponse"
  3550        parameters:
  3551          - name: "id"
  3552            in: "path"
  3553            required: true
  3554            description: "ID or name of the container"
  3555            type: "string"
  3556          - name: "detachKeys"
  3557            in: "query"
  3558            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 `_`."
  3559            type: "string"
  3560        tags: ["Container"]
  3561    /containers/{id}/stop:
  3562      post:
  3563        summary: "Stop a container"
  3564        operationId: "ContainerStop"
  3565        responses:
  3566          204:
  3567            description: "no error"
  3568          304:
  3569            description: "container already stopped"
  3570            schema:
  3571              $ref: "#/definitions/ErrorResponse"
  3572          404:
  3573            description: "no such container"
  3574            schema:
  3575              $ref: "#/definitions/ErrorResponse"
  3576            examples:
  3577              application/json:
  3578                message: "No such container: c2ada9df5af8"
  3579          500:
  3580            description: "server error"
  3581            schema:
  3582              $ref: "#/definitions/ErrorResponse"
  3583        parameters:
  3584          - name: "id"
  3585            in: "path"
  3586            required: true
  3587            description: "ID or name of the container"
  3588            type: "string"
  3589          - name: "t"
  3590            in: "query"
  3591            description: "Number of seconds to wait before killing the container"
  3592            type: "integer"
  3593        tags: ["Container"]
  3594    /containers/{id}/restart:
  3595      post:
  3596        summary: "Restart a container"
  3597        operationId: "ContainerRestart"
  3598        responses:
  3599          204:
  3600            description: "no error"
  3601          404:
  3602            description: "no such container"
  3603            schema:
  3604              $ref: "#/definitions/ErrorResponse"
  3605            examples:
  3606              application/json:
  3607                message: "No such container: c2ada9df5af8"
  3608          500:
  3609            description: "server error"
  3610            schema:
  3611              $ref: "#/definitions/ErrorResponse"
  3612        parameters:
  3613          - name: "id"
  3614            in: "path"
  3615            required: true
  3616            description: "ID or name of the container"
  3617            type: "string"
  3618          - name: "t"
  3619            in: "query"
  3620            description: "Number of seconds to wait before killing the container"
  3621            type: "integer"
  3622        tags: ["Container"]
  3623    /containers/{id}/kill:
  3624      post:
  3625        summary: "Kill a container"
  3626        description: "Send a POSIX signal to a container, defaulting to killing to the container."
  3627        operationId: "ContainerKill"
  3628        responses:
  3629          204:
  3630            description: "no error"
  3631          404:
  3632            description: "no such container"
  3633            schema:
  3634              $ref: "#/definitions/ErrorResponse"
  3635            examples:
  3636              application/json:
  3637                message: "No such container: c2ada9df5af8"
  3638          500:
  3639            description: "server error"
  3640            schema:
  3641              $ref: "#/definitions/ErrorResponse"
  3642        parameters:
  3643          - name: "id"
  3644            in: "path"
  3645            required: true
  3646            description: "ID or name of the container"
  3647            type: "string"
  3648          - name: "signal"
  3649            in: "query"
  3650            description: "Signal to send to the container as an integer or string (e.g. `SIGINT`)"
  3651            type: "string"
  3652            default: "SIGKILL"
  3653        tags: ["Container"]
  3654    /containers/{id}/update:
  3655      post:
  3656        summary: "Update a container"
  3657        description: "Change various configuration options of a container without having to recreate it."
  3658        operationId: "ContainerUpdate"
  3659        consumes: ["application/json"]
  3660        produces: ["application/json"]
  3661        responses:
  3662          200:
  3663            description: "The container has been updated."
  3664            schema:
  3665              type: "object"
  3666              properties:
  3667                Warnings:
  3668                  type: "array"
  3669                  items:
  3670                    type: "string"
  3671          404:
  3672            description: "no such container"
  3673            schema:
  3674              $ref: "#/definitions/ErrorResponse"
  3675            examples:
  3676              application/json:
  3677                message: "No such container: c2ada9df5af8"
  3678          500:
  3679            description: "server error"
  3680            schema:
  3681              $ref: "#/definitions/ErrorResponse"
  3682        parameters:
  3683          - name: "id"
  3684            in: "path"
  3685            required: true
  3686            description: "ID or name of the container"
  3687            type: "string"
  3688          - name: "update"
  3689            in: "body"
  3690            required: true
  3691            schema:
  3692              allOf:
  3693                - $ref: "#/definitions/Resources"
  3694                - type: "object"
  3695                  properties:
  3696                    RestartPolicy:
  3697                      $ref: "#/definitions/RestartPolicy"
  3698              example:
  3699                BlkioWeight: 300
  3700                CpuShares: 512
  3701                CpuPeriod: 100000
  3702                CpuQuota: 50000
  3703                CpuRealtimePeriod: 1000000
  3704                CpuRealtimeRuntime: 10000
  3705                CpusetCpus: "0,1"
  3706                CpusetMems: "0"
  3707                Memory: 314572800
  3708                MemorySwap: 514288000
  3709                MemoryReservation: 209715200
  3710                KernelMemory: 52428800
  3711                RestartPolicy:
  3712                  MaximumRetryCount: 4
  3713                  Name: "on-failure"
  3714        tags: ["Container"]
  3715    /containers/{id}/rename:
  3716      post:
  3717        summary: "Rename a container"
  3718        operationId: "ContainerRename"
  3719        responses:
  3720          204:
  3721            description: "no error"
  3722          404:
  3723            description: "no such container"
  3724            schema:
  3725              $ref: "#/definitions/ErrorResponse"
  3726            examples:
  3727              application/json:
  3728                message: "No such container: c2ada9df5af8"
  3729          409:
  3730            description: "name already in use"
  3731            schema:
  3732              $ref: "#/definitions/ErrorResponse"
  3733          500:
  3734            description: "server error"
  3735            schema:
  3736              $ref: "#/definitions/ErrorResponse"
  3737        parameters:
  3738          - name: "id"
  3739            in: "path"
  3740            required: true
  3741            description: "ID or name of the container"
  3742            type: "string"
  3743          - name: "name"
  3744            in: "query"
  3745            required: true
  3746            description: "New name for the container"
  3747            type: "string"
  3748        tags: ["Container"]
  3749    /containers/{id}/pause:
  3750      post:
  3751        summary: "Pause a container"
  3752        description: |
  3753          Use the cgroups freezer to suspend all processes in a container.
  3754  
  3755          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.
  3756        operationId: "ContainerPause"
  3757        responses:
  3758          204:
  3759            description: "no error"
  3760          404:
  3761            description: "no such container"
  3762            schema:
  3763              $ref: "#/definitions/ErrorResponse"
  3764            examples:
  3765              application/json:
  3766                message: "No such container: c2ada9df5af8"
  3767          500:
  3768            description: "server error"
  3769            schema:
  3770              $ref: "#/definitions/ErrorResponse"
  3771        parameters:
  3772          - name: "id"
  3773            in: "path"
  3774            required: true
  3775            description: "ID or name of the container"
  3776            type: "string"
  3777        tags: ["Container"]
  3778    /containers/{id}/unpause:
  3779      post:
  3780        summary: "Unpause a container"
  3781        description: "Resume a container which has been paused."
  3782        operationId: "ContainerUnpause"
  3783        responses:
  3784          204:
  3785            description: "no error"
  3786          404:
  3787            description: "no such container"
  3788            schema:
  3789              $ref: "#/definitions/ErrorResponse"
  3790            examples:
  3791              application/json:
  3792                message: "No such container: c2ada9df5af8"
  3793          500:
  3794            description: "server error"
  3795            schema:
  3796              $ref: "#/definitions/ErrorResponse"
  3797        parameters:
  3798          - name: "id"
  3799            in: "path"
  3800            required: true
  3801            description: "ID or name of the container"
  3802            type: "string"
  3803        tags: ["Container"]
  3804    /containers/{id}/attach:
  3805      post:
  3806        summary: "Attach to a container"
  3807        description: |
  3808          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.
  3809  
  3810          Either the `stream` or `logs` parameter must be `true` for this endpoint to do anything.
  3811  
  3812          See [the documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/) for more details.
  3813  
  3814          ### Hijacking
  3815  
  3816          This endpoint hijacks the HTTP connection to transport `stdin`, `stdout`, and `stderr` on the same socket.
  3817  
  3818          This is the response from the daemon for an attach request:
  3819  
  3820          ```
  3821          HTTP/1.1 200 OK
  3822          Content-Type: application/vnd.docker.raw-stream
  3823  
  3824          [STREAM]
  3825          ```
  3826  
  3827          After the headers and two new lines, the TCP connection can now be used for raw, bidirectional communication between the client and server.
  3828  
  3829          To hint potential proxies about connection hijacking, the Docker client can also optionally send connection upgrade headers.
  3830  
  3831          For example, the client sends this request to upgrade the connection:
  3832  
  3833          ```
  3834          POST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1
  3835          Upgrade: tcp
  3836          Connection: Upgrade
  3837          ```
  3838  
  3839          The Docker daemon will respond with a `101 UPGRADED` response, and will similarly follow with the raw stream:
  3840  
  3841          ```
  3842          HTTP/1.1 101 UPGRADED
  3843          Content-Type: application/vnd.docker.raw-stream
  3844          Connection: Upgrade
  3845          Upgrade: tcp
  3846  
  3847          [STREAM]
  3848          ```
  3849  
  3850          ### Stream format
  3851  
  3852          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.
  3853  
  3854          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`).
  3855  
  3856          It is encoded on the first eight bytes like this:
  3857  
  3858          ```go
  3859          header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}
  3860          ```
  3861  
  3862          `STREAM_TYPE` can be:
  3863  
  3864          - 0: `stdin` (is written on `stdout`)
  3865          - 1: `stdout`
  3866          - 2: `stderr`
  3867  
  3868          `SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size encoded as big endian.
  3869  
  3870          Following the header is the payload, which is the specified number of bytes of `STREAM_TYPE`.
  3871  
  3872          The simplest way to implement this protocol is the following:
  3873  
  3874          1. Read 8 bytes.
  3875          2. Choose `stdout` or `stderr` depending on the first byte.
  3876          3. Extract the frame size from the last four bytes.
  3877          4. Read the extracted size and output it on the correct output.
  3878          5. Goto 1.
  3879  
  3880          ### Stream format when using a TTY
  3881  
  3882          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`.
  3883  
  3884        operationId: "ContainerAttach"
  3885        produces:
  3886          - "application/vnd.docker.raw-stream"
  3887        responses:
  3888          101:
  3889            description: "no error, hints proxy about hijacking"
  3890          200:
  3891            description: "no error, no upgrade header found"
  3892          400:
  3893            description: "bad parameter"
  3894            schema:
  3895              $ref: "#/definitions/ErrorResponse"
  3896          404:
  3897            description: "no such container"
  3898            schema:
  3899              $ref: "#/definitions/ErrorResponse"
  3900            examples:
  3901              application/json:
  3902                message: "No such container: c2ada9df5af8"
  3903          500:
  3904            description: "server error"
  3905            schema:
  3906              $ref: "#/definitions/ErrorResponse"
  3907        parameters:
  3908          - name: "id"
  3909            in: "path"
  3910            required: true
  3911            description: "ID or name of the container"
  3912            type: "string"
  3913          - name: "detachKeys"
  3914            in: "query"
  3915            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 `_`."
  3916            type: "string"
  3917          - name: "logs"
  3918            in: "query"
  3919            description: |
  3920              Replay previous logs from the container.
  3921  
  3922              This is useful for attaching to a container that has started and you want to output everything since the container started.
  3923  
  3924              If `stream` is also enabled, once all the previous output has been returned, it will seamlessly transition into streaming current output.
  3925            type: "boolean"
  3926            default: false
  3927          - name: "stream"
  3928            in: "query"
  3929            description: "Stream attached streams from the the time the request was made onwards"
  3930            type: "boolean"
  3931            default: false
  3932          - name: "stdin"
  3933            in: "query"
  3934            description: "Attach to `stdin`"
  3935            type: "boolean"
  3936            default: false
  3937          - name: "stdout"
  3938            in: "query"
  3939            description: "Attach to `stdout`"
  3940            type: "boolean"
  3941            default: false
  3942          - name: "stderr"
  3943            in: "query"
  3944            description: "Attach to `stderr`"
  3945            type: "boolean"
  3946            default: false
  3947        tags: ["Container"]
  3948    /containers/{id}/attach/ws:
  3949      get:
  3950        summary: "Attach to a container via a websocket"
  3951        operationId: "ContainerAttachWebsocket"
  3952        responses:
  3953          101:
  3954            description: "no error, hints proxy about hijacking"
  3955          200:
  3956            description: "no error, no upgrade header found"
  3957          400:
  3958            description: "bad parameter"
  3959            schema:
  3960              $ref: "#/definitions/ErrorResponse"
  3961          404:
  3962            description: "no such container"
  3963            schema:
  3964              $ref: "#/definitions/ErrorResponse"
  3965            examples:
  3966              application/json:
  3967                message: "No such container: c2ada9df5af8"
  3968          500:
  3969            description: "server error"
  3970            schema:
  3971              $ref: "#/definitions/ErrorResponse"
  3972        parameters:
  3973          - name: "id"
  3974            in: "path"
  3975            required: true
  3976            description: "ID or name of the container"
  3977            type: "string"
  3978          - name: "detachKeys"
  3979            in: "query"
  3980            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 `_`."
  3981            type: "string"
  3982          - name: "logs"
  3983            in: "query"
  3984            description: "Return logs"
  3985            type: "boolean"
  3986            default: false
  3987          - name: "stream"
  3988            in: "query"
  3989            description: "Return stream"
  3990            type: "boolean"
  3991            default: false
  3992        tags: ["Container"]
  3993    /containers/{id}/wait:
  3994      post:
  3995        summary: "Wait for a container"
  3996        description: "Block until a container stops, then returns the exit code."
  3997        operationId: "ContainerWait"
  3998        produces: ["application/json"]
  3999        responses:
  4000          200:
  4001            description: "The container has exit."
  4002            schema:
  4003              type: "object"
  4004              required: [StatusCode]
  4005              properties:
  4006                StatusCode:
  4007                  description: "Exit code of the container"
  4008                  type: "integer"
  4009                  x-nullable: false
  4010          404:
  4011            description: "no such container"
  4012            schema:
  4013              $ref: "#/definitions/ErrorResponse"
  4014            examples:
  4015              application/json:
  4016                message: "No such container: c2ada9df5af8"
  4017          500:
  4018            description: "server error"
  4019            schema:
  4020              $ref: "#/definitions/ErrorResponse"
  4021        parameters:
  4022          - name: "id"
  4023            in: "path"
  4024            required: true
  4025            description: "ID or name of the container"
  4026            type: "string"
  4027        tags: ["Container"]
  4028    /containers/{id}:
  4029      delete:
  4030        summary: "Remove a container"
  4031        operationId: "ContainerDelete"
  4032        responses:
  4033          204:
  4034            description: "no error"
  4035          400:
  4036            description: "bad parameter"
  4037            schema:
  4038              $ref: "#/definitions/ErrorResponse"
  4039          404:
  4040            description: "no such container"
  4041            schema:
  4042              $ref: "#/definitions/ErrorResponse"
  4043            examples:
  4044              application/json:
  4045                message: "No such container: c2ada9df5af8"
  4046          500:
  4047            description: "server error"
  4048            schema:
  4049              $ref: "#/definitions/ErrorResponse"
  4050        parameters:
  4051          - name: "id"
  4052            in: "path"
  4053            required: true
  4054            description: "ID or name of the container"
  4055            type: "string"
  4056          - name: "v"
  4057            in: "query"
  4058            description: "Remove anonymous volumes associated with the container."
  4059            type: "boolean"
  4060            default: false
  4061          - name: "force"
  4062            in: "query"
  4063            description: "If the container is running, kill it before removing it."
  4064            type: "boolean"
  4065            default: false
  4066        tags: ["Container"]
  4067    /containers/{id}/archive:
  4068      head:
  4069        summary: "Get information about files in a container"
  4070        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."
  4071        operationId: "ContainerArchiveHead"
  4072        responses:
  4073          200:
  4074            description: "no error"
  4075            headers:
  4076              X-Docker-Container-Path-Stat:
  4077                type: "string"
  4078                description: "TODO"
  4079          400:
  4080            description: "Bad parameter"
  4081            schema:
  4082              $ref: "#/definitions/ErrorResponse"
  4083          404:
  4084            description: "Container or path does not exist"
  4085            schema:
  4086              $ref: "#/definitions/ErrorResponse"
  4087            examples:
  4088              application/json:
  4089                message: "No such container: c2ada9df5af8"
  4090          500:
  4091            description: "Server error"
  4092            schema:
  4093              $ref: "#/definitions/ErrorResponse"
  4094        parameters:
  4095          - name: "id"
  4096            in: "path"
  4097            required: true
  4098            description: "ID or name of the container"
  4099            type: "string"
  4100          - name: "path"
  4101            in: "query"
  4102            required: true
  4103            description: "Resource in the container’s filesystem to archive."
  4104            type: "string"
  4105        tags: ["Container"]
  4106      get:
  4107        summary: "Get an archive of a filesystem resource in a container"
  4108        description: "Get an tar archive of a resource in the filesystem of container id."
  4109        operationId: "ContainerGetArchive"
  4110        produces:
  4111          - "application/x-tar"
  4112        responses:
  4113          200:
  4114            description: "no error"
  4115          400:
  4116            description: "Bad parameter"
  4117            schema:
  4118              $ref: "#/definitions/ErrorResponse"
  4119          404:
  4120            description: "Container or path does not exist"
  4121            schema:
  4122              $ref: "#/definitions/ErrorResponse"
  4123            examples:
  4124              application/json:
  4125                message: "No such container: c2ada9df5af8"
  4126          500:
  4127            description: "server error"
  4128            schema:
  4129              $ref: "#/definitions/ErrorResponse"
  4130        parameters:
  4131          - name: "id"
  4132            in: "path"
  4133            required: true
  4134            description: "ID or name of the container"
  4135            type: "string"
  4136          - name: "path"
  4137            in: "query"
  4138            required: true
  4139            description: "Resource in the container’s filesystem to archive."
  4140            type: "string"
  4141        tags: ["Container"]
  4142      put:
  4143        summary: "Extract an archive of files or folders to a directory in a container"
  4144        description: |
  4145          Upload a tar archive to be extracted to a path in the filesystem of container id.
  4146          `path` parameter is asserted to be a directory. If it exists as a file, 400 error
  4147          will be returned with message "not a directory".
  4148        operationId: "ContainerPutArchive"
  4149        consumes:
  4150          - "application/x-tar"
  4151          - "application/octet-stream"
  4152        responses:
  4153          200:
  4154            description: "The content was extracted successfully"
  4155          400:
  4156            description: "Bad parameter"
  4157            schema:
  4158              $ref: "#/definitions/ErrorResponse"
  4159            examples:
  4160              application/json:
  4161                message: "not a directory"
  4162          403:
  4163            description: "Permission denied, the volume or container rootfs is marked as read-only."
  4164            schema:
  4165              $ref: "#/definitions/ErrorResponse"
  4166          404:
  4167            description: "No such container or path does not exist inside the container"
  4168            schema:
  4169              $ref: "#/definitions/ErrorResponse"
  4170            examples:
  4171              application/json:
  4172                message: "No such container: c2ada9df5af8"
  4173          500:
  4174            description: "Server error"
  4175            schema:
  4176              $ref: "#/definitions/ErrorResponse"
  4177        parameters:
  4178          - name: "id"
  4179            in: "path"
  4180            required: true
  4181            description: "ID or name of the container"
  4182            type: "string"
  4183          - name: "path"
  4184            in: "query"
  4185            required: true
  4186            description: "Path to a directory in the container to extract the archive’s contents into. "
  4187            type: "string"
  4188          - name: "noOverwriteDirNonDir"
  4189            in: "query"
  4190            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."
  4191            type: "string"
  4192          - name: "inputStream"
  4193            in: "body"
  4194            required: true
  4195            description: "The input stream must be a tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz."
  4196            schema:
  4197              type: "string"
  4198        tags: ["Container"]
  4199    /containers/prune:
  4200      post:
  4201        summary: "Delete stopped containers"
  4202        produces:
  4203          - "application/json"
  4204        operationId: "ContainerPrune"
  4205        parameters:
  4206          - name: "filters"
  4207            in: "query"
  4208            description: |
  4209              Filters to process on the prune list, encoded as JSON (a `map[string][]string`).
  4210  
  4211              Available filters:
  4212            type: "string"
  4213        responses:
  4214          200:
  4215            description: "No error"
  4216            schema:
  4217              type: "object"
  4218              properties:
  4219                ContainersDeleted:
  4220                  description: "Container IDs that were deleted"
  4221                  type: "array"
  4222                  items:
  4223                    type: "string"
  4224                SpaceReclaimed:
  4225                  description: "Disk space reclaimed in bytes"
  4226                  type: "integer"
  4227                  format: "int64"
  4228          500:
  4229            description: "Server error"
  4230            schema:
  4231              $ref: "#/definitions/ErrorResponse"
  4232        tags: ["Container"]
  4233    /images/json:
  4234      get:
  4235        summary: "List Images"
  4236        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."
  4237        operationId: "ImageList"
  4238        produces:
  4239          - "application/json"
  4240        responses:
  4241          200:
  4242            description: "Summary image data for the images matching the query"
  4243            schema:
  4244              type: "array"
  4245              items:
  4246                $ref: "#/definitions/ImageSummary"
  4247            examples:
  4248              application/json:
  4249                - Id: "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8"
  4250                  ParentId: ""
  4251                  RepoTags:
  4252                    - "ubuntu:12.04"
  4253                    - "ubuntu:precise"
  4254                  RepoDigests:
  4255                    - "ubuntu@sha256:992069aee4016783df6345315302fa59681aae51a8eeb2f889dea59290f21787"
  4256                  Created: 1474925151
  4257                  Size: 103579269
  4258                  VirtualSize: 103579269
  4259                  SharedSize: 0
  4260                  Labels: {}
  4261                  Containers: 2
  4262                - Id: "sha256:3e314f95dcace0f5e4fd37b10862fe8398e3c60ed36600bc0ca5fda78b087175"
  4263                  ParentId: ""
  4264                  RepoTags:
  4265                    - "ubuntu:12.10"
  4266                    - "ubuntu:quantal"
  4267                  RepoDigests:
  4268                    - "ubuntu@sha256:002fba3e3255af10be97ea26e476692a7ebed0bb074a9ab960b2e7a1526b15d7"
  4269                    - "ubuntu@sha256:68ea0200f0b90df725d99d823905b04cf844f6039ef60c60bf3e019915017bd3"
  4270                  Created: 1403128455
  4271                  Size: 172064416
  4272                  VirtualSize: 172064416
  4273                  SharedSize: 0
  4274                  Labels: {}
  4275                  Containers: 5
  4276          500:
  4277            description: "server error"
  4278            schema:
  4279              $ref: "#/definitions/ErrorResponse"
  4280        parameters:
  4281          - name: "all"
  4282            in: "query"
  4283            description: "Show all images. Only images from a final layer (no children) are shown by default."
  4284            type: "boolean"
  4285            default: false
  4286          - name: "filters"
  4287            in: "query"
  4288            description: |
  4289              A JSON encoded value of the filters (a `map[string][]string`) to process on the images list.
  4290  
  4291              Available filters:
  4292              - `dangling=true`
  4293              - `label=key` or `label="key=value"` of an image label
  4294              - `before`=(`<image-name>[:<tag>]`,  `<image id>` or `<image@digest>`)
  4295              - `since`=(`<image-name>[:<tag>]`,  `<image id>` or `<image@digest>`)
  4296              - `reference`=(`<image-name>[:<tag>]`)
  4297            type: "string"
  4298          - name: "digests"
  4299            in: "query"
  4300            description: "Show digest information as a `RepoDigests` field on each image."
  4301            type: "boolean"
  4302            default: false
  4303        tags: ["Image"]
  4304    /build:
  4305      post:
  4306        summary: "Build an image"
  4307        description: |
  4308          Build an image from a tar archive with a `Dockerfile` in it.
  4309  
  4310          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/).
  4311  
  4312          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.
  4313  
  4314          The build is canceled if the client drops the connection by quitting or being killed.
  4315        operationId: "ImageBuild"
  4316        consumes:
  4317          - "application/octet-stream"
  4318        produces:
  4319          - "application/json"
  4320        parameters:
  4321          - name: "inputStream"
  4322            in: "body"
  4323            description: "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz."
  4324            schema:
  4325              type: "string"
  4326              format: "binary"
  4327          - name: "dockerfile"
  4328            in: "query"
  4329            description: "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`."
  4330            type: "string"
  4331            default: "Dockerfile"
  4332          - name: "t"
  4333            in: "query"
  4334            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."
  4335            type: "string"
  4336          - name: "remote"
  4337            in: "query"
  4338            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."
  4339            type: "string"
  4340          - name: "q"
  4341            in: "query"
  4342            description: "Suppress verbose build output."
  4343            type: "boolean"
  4344            default: false
  4345          - name: "nocache"
  4346            in: "query"
  4347            description: "Do not use the cache when building the image."
  4348            type: "boolean"
  4349            default: false
  4350          - name: "cachefrom"
  4351            in: "query"
  4352            description: "JSON array of images used for build cache resolution."
  4353            type: "string"
  4354          - name: "pull"
  4355            in: "query"
  4356            description: "Attempt to pull the image even if an older image exists locally."
  4357            type: "string"
  4358          - name: "rm"
  4359            in: "query"
  4360            description: "Remove intermediate containers after a successful build."
  4361            type: "boolean"
  4362            default: true
  4363          - name: "forcerm"
  4364            in: "query"
  4365            description: "Always remove intermediate containers, even upon failure."
  4366            type: "boolean"
  4367            default: false
  4368          - name: "memory"
  4369            in: "query"
  4370            description: "Set memory limit for build."
  4371            type: "integer"
  4372          - name: "memswap"
  4373            in: "query"
  4374            description: "Total memory (memory + swap). Set as `-1` to disable swap."
  4375            type: "integer"
  4376          - name: "cpushares"
  4377            in: "query"
  4378            description: "CPU shares (relative weight)."
  4379            type: "integer"
  4380          - name: "cpusetcpus"
  4381            in: "query"
  4382            description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)."
  4383            type: "string"
  4384          - name: "cpuperiod"
  4385            in: "query"
  4386            description: "The length of a CPU period in microseconds."
  4387            type: "integer"
  4388          - name: "cpuquota"
  4389            in: "query"
  4390            description: "Microseconds of CPU time that the container can get in a CPU period."
  4391            type: "integer"
  4392          - name: "buildargs"
  4393            in: "query"
  4394            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. [Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)"
  4395            type: "integer"
  4396          - name: "shmsize"
  4397            in: "query"
  4398            description: "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB."
  4399            type: "integer"
  4400          - name: "squash"
  4401            in: "query"
  4402            description: "Squash the resulting images layers into a single layer. *(Experimental release only.)*"
  4403            type: "boolean"
  4404          - name: "labels"
  4405            in: "query"
  4406            description: "Arbitrary key/value labels to set on the image, as a JSON map of string pairs."
  4407            type: "string"
  4408          - name: "networkmode"
  4409            in: "query"
  4410            description: "Sets the networking mode for the run commands during
  4411          build. Supported standard values are: `bridge`, `host`, `none`, and
  4412          `container:<name|id>`. Any other value is taken as a custom network's
  4413          name to which this container should connect to."
  4414            type: "string"
  4415          - name: "Content-type"
  4416            in: "header"
  4417            type: "string"
  4418            enum:
  4419              - "application/tar"
  4420            default: "application/tar"
  4421          - name: "X-Registry-Config"
  4422            in: "header"
  4423            description: |
  4424              This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to.
  4425  
  4426              The key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example:
  4427  
  4428              ```
  4429              {
  4430                "docker.example.com": {
  4431                  "username": "janedoe",
  4432                  "password": "hunter2"
  4433                },
  4434                "https://index.docker.io/v1/": {
  4435                  "username": "mobydock",
  4436                  "password": "conta1n3rize14"
  4437                }
  4438              }
  4439              ```
  4440  
  4441              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.
  4442            type: "string"
  4443        responses:
  4444          200:
  4445            description: "no error"
  4446          400:
  4447            description: "Bad parameter"
  4448            schema:
  4449              $ref: "#/definitions/ErrorResponse"
  4450          500:
  4451            description: "server error"
  4452            schema:
  4453              $ref: "#/definitions/ErrorResponse"
  4454        tags: ["Image"]
  4455    /images/create:
  4456      post:
  4457        summary: "Create an image"
  4458        description: "Create an image by either pulling it from a registry or importing it."
  4459        operationId: "ImageCreate"
  4460        consumes:
  4461          - "text/plain"
  4462          - "application/octet-stream"
  4463        produces:
  4464          - "application/json"
  4465        responses:
  4466          200:
  4467            description: "no error"
  4468          404:
  4469            description: "repository does not exist or no read access"
  4470            schema:
  4471              $ref: "#/definitions/ErrorResponse"
  4472          500:
  4473            description: "server error"
  4474            schema:
  4475              $ref: "#/definitions/ErrorResponse"
  4476        parameters:
  4477          - name: "fromImage"
  4478            in: "query"
  4479            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."
  4480            type: "string"
  4481          - name: "fromSrc"
  4482            in: "query"
  4483            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."
  4484            type: "string"
  4485          - name: "repo"
  4486            in: "query"
  4487            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."
  4488            type: "string"
  4489          - name: "tag"
  4490            in: "query"
  4491            description: "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled."
  4492            type: "string"
  4493          - name: "inputImage"
  4494            in: "body"
  4495            description: "Image content if the value `-` has been specified in fromSrc query parameter"
  4496            schema:
  4497              type: "string"
  4498            required: false
  4499          - name: "X-Registry-Auth"
  4500            in: "header"
  4501            description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
  4502            type: "string"
  4503        tags: ["Image"]
  4504    /images/{name}/json:
  4505      get:
  4506        summary: "Inspect an image"
  4507        description: "Return low-level information about an image."
  4508        operationId: "ImageInspect"
  4509        produces:
  4510          - "application/json"
  4511        responses:
  4512          200:
  4513            description: "No error"
  4514            schema:
  4515              $ref: "#/definitions/Image"
  4516            examples:
  4517              application/json:
  4518                Id: "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c"
  4519                Container: "cb91e48a60d01f1e27028b4fc6819f4f290b3cf12496c8176ec714d0d390984a"
  4520                Comment: ""
  4521                Os: "linux"
  4522                Architecture: "amd64"
  4523                Parent: "sha256:91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c"
  4524                ContainerConfig:
  4525                  Tty: false
  4526                  Hostname: "e611e15f9c9d"
  4527                  Domainname: ""
  4528                  AttachStdout: false
  4529                  PublishService: ""
  4530                  AttachStdin: false
  4531                  OpenStdin: false
  4532                  StdinOnce: false
  4533                  NetworkDisabled: false
  4534                  OnBuild: []
  4535                  Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c"
  4536                  User: ""
  4537                  WorkingDir: ""
  4538                  MacAddress: ""
  4539                  AttachStderr: false
  4540                  Labels:
  4541                    com.example.license: "GPL"
  4542                    com.example.version: "1.0"
  4543                    com.example.vendor: "Acme"
  4544                  Env:
  4545                    - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  4546                  Cmd:
  4547                    - "/bin/sh"
  4548                    - "-c"
  4549                    - "#(nop) LABEL com.example.vendor=Acme com.example.license=GPL com.example.version=1.0"
  4550                DockerVersion: "1.9.0-dev"
  4551                VirtualSize: 188359297
  4552                Size: 0
  4553                Author: ""
  4554                Created: "2015-09-10T08:30:53.26995814Z"
  4555                GraphDriver:
  4556                  Name: "aufs"
  4557                RepoDigests:
  4558                  - "localhost:5000/test/busybox/example@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf"
  4559                RepoTags:
  4560                  - "example:1.0"
  4561                  - "example:latest"
  4562                  - "example:stable"
  4563                Config:
  4564                  Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c"
  4565                  NetworkDisabled: false
  4566                  OnBuild: []
  4567                  StdinOnce: false
  4568                  PublishService: ""
  4569                  AttachStdin: false
  4570                  OpenStdin: false
  4571                  Domainname: ""
  4572                  AttachStdout: false
  4573                  Tty: false
  4574                  Hostname: "e611e15f9c9d"
  4575                  Cmd:
  4576                    - "/bin/bash"
  4577                  Env:
  4578                    - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  4579                  Labels:
  4580                    com.example.vendor: "Acme"
  4581                    com.example.version: "1.0"
  4582                    com.example.license: "GPL"
  4583                  MacAddress: ""
  4584                  AttachStderr: false
  4585                  WorkingDir: ""
  4586                  User: ""
  4587                RootFS:
  4588                  Type: "layers"
  4589                  Layers:
  4590                    - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6"
  4591                    - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
  4592          404:
  4593            description: "No such image"
  4594            schema:
  4595              $ref: "#/definitions/ErrorResponse"
  4596            examples:
  4597              application/json:
  4598                message: "No such image: someimage (tag: latest)"
  4599          500:
  4600            description: "Server error"
  4601            schema:
  4602              $ref: "#/definitions/ErrorResponse"
  4603        parameters:
  4604          - name: "name"
  4605            in: "path"
  4606            description: "Image name or id"
  4607            type: "string"
  4608            required: true
  4609        tags: ["Image"]
  4610    /images/{name}/history:
  4611      get:
  4612        summary: "Get the history of an image"
  4613        description: "Return parent layers of an image."
  4614        operationId: "ImageHistory"
  4615        produces:
  4616          - "application/json"
  4617        responses:
  4618          200:
  4619            description: "No error"
  4620            schema:
  4621              type: "array"
  4622              items:
  4623                type: "object"
  4624                properties:
  4625                  Id:
  4626                    type: "string"
  4627                  Created:
  4628                    type: "integer"
  4629                    format: "int64"
  4630                  CreatedBy:
  4631                    type: "string"
  4632                  Tags:
  4633                    type: "array"
  4634                    items:
  4635                      type: "string"
  4636                  Size:
  4637                    type: "integer"
  4638                    format: "int64"
  4639                  Comment:
  4640                    type: "string"
  4641            examples:
  4642              application/json:
  4643                - Id: "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710"
  4644                  Created: 1398108230
  4645                  CreatedBy: "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /"
  4646                  Tags:
  4647                    - "ubuntu:lucid"
  4648                    - "ubuntu:10.04"
  4649                  Size: 182964289
  4650                  Comment: ""
  4651                - Id: "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8"
  4652                  Created: 1398108222
  4653                  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/"
  4654                  Tags: []
  4655                  Size: 0
  4656                  Comment: ""
  4657                - Id: "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158"
  4658                  Created: 1371157430
  4659                  CreatedBy: ""
  4660                  Tags:
  4661                    - "scratch12:latest"
  4662                    - "scratch:latest"
  4663                  Size: 0
  4664                  Comment: "Imported from -"
  4665          404:
  4666            description: "No such image"
  4667            schema:
  4668              $ref: "#/definitions/ErrorResponse"
  4669          500:
  4670            description: "Server error"
  4671            schema:
  4672              $ref: "#/definitions/ErrorResponse"
  4673        parameters:
  4674          - name: "name"
  4675            in: "path"
  4676            description: "Image name or ID"
  4677            type: "string"
  4678            required: true
  4679        tags: ["Image"]
  4680    /images/{name}/push:
  4681      post:
  4682        summary: "Push an image"
  4683        description: |
  4684          Push an image to a registry.
  4685  
  4686          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`.
  4687  
  4688          The push is cancelled if the HTTP connection is closed.
  4689        operationId: "ImagePush"
  4690        consumes:
  4691          - "application/octet-stream"
  4692        responses:
  4693          200:
  4694            description: "No error"
  4695          404:
  4696            description: "No such image"
  4697            schema:
  4698              $ref: "#/definitions/ErrorResponse"
  4699          500:
  4700            description: "Server error"
  4701            schema:
  4702              $ref: "#/definitions/ErrorResponse"
  4703        parameters:
  4704          - name: "name"
  4705            in: "path"
  4706            description: "Image name or ID."
  4707            type: "string"
  4708            required: true
  4709          - name: "tag"
  4710            in: "query"
  4711            description: "The tag to associate with the image on the registry."
  4712            type: "string"
  4713          - name: "X-Registry-Auth"
  4714            in: "header"
  4715            description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
  4716            type: "string"
  4717            required: true
  4718        tags: ["Image"]
  4719    /images/{name}/tag:
  4720      post:
  4721        summary: "Tag an image"
  4722        description: "Tag an image so that it becomes part of a repository."
  4723        operationId: "ImageTag"
  4724        responses:
  4725          201:
  4726            description: "No error"
  4727          400:
  4728            description: "Bad parameter"
  4729            schema:
  4730              $ref: "#/definitions/ErrorResponse"
  4731          404:
  4732            description: "No such image"
  4733            schema:
  4734              $ref: "#/definitions/ErrorResponse"
  4735          409:
  4736            description: "Conflict"
  4737            schema:
  4738              $ref: "#/definitions/ErrorResponse"
  4739          500:
  4740            description: "Server error"
  4741            schema:
  4742              $ref: "#/definitions/ErrorResponse"
  4743        parameters:
  4744          - name: "name"
  4745            in: "path"
  4746            description: "Image name or ID to tag."
  4747            type: "string"
  4748            required: true
  4749          - name: "repo"
  4750            in: "query"
  4751            description: "The repository to tag in. For example, `someuser/someimage`."
  4752            type: "string"
  4753          - name: "tag"
  4754            in: "query"
  4755            description: "The name of the new tag."
  4756            type: "string"
  4757        tags: ["Image"]
  4758    /images/{name}:
  4759      delete:
  4760        summary: "Remove an image"
  4761        description: |
  4762          Remove an image, along with any untagged parent images that were referenced by that image.
  4763  
  4764          Images can't be removed if they have descendant images, are being used by a running container or are being used by a build.
  4765        operationId: "ImageDelete"
  4766        produces:
  4767          - "application/json"
  4768        responses:
  4769          200:
  4770            description: "No error"
  4771            schema:
  4772              type: "array"
  4773              items:
  4774                $ref: "#/definitions/ImageDeleteResponse"
  4775            examples:
  4776              application/json:
  4777                - Untagged: "3e2f21a89f"
  4778                - Deleted: "3e2f21a89f"
  4779                - Deleted: "53b4f83ac9"
  4780          404:
  4781            description: "No such image"
  4782            schema:
  4783              $ref: "#/definitions/ErrorResponse"
  4784          409:
  4785            description: "Conflict"
  4786            schema:
  4787              $ref: "#/definitions/ErrorResponse"
  4788          500:
  4789            description: "Server error"
  4790            schema:
  4791              $ref: "#/definitions/ErrorResponse"
  4792        parameters:
  4793          - name: "name"
  4794            in: "path"
  4795            description: "Image name or ID"
  4796            type: "string"
  4797            required: true
  4798          - name: "force"
  4799            in: "query"
  4800            description: "Remove the image even if it is being used by stopped containers or has other tags"
  4801            type: "boolean"
  4802            default: false
  4803          - name: "noprune"
  4804            in: "query"
  4805            description: "Do not delete untagged parent images"
  4806            type: "boolean"
  4807            default: false
  4808        tags: ["Image"]
  4809    /images/search:
  4810      get:
  4811        summary: "Search images"
  4812        description: "Search for an image on Docker Hub."
  4813        operationId: "ImageSearch"
  4814        produces:
  4815          - "application/json"
  4816        responses:
  4817          200:
  4818            description: "No error"
  4819            schema:
  4820              type: "array"
  4821              items:
  4822                type: "object"
  4823                properties:
  4824                  description:
  4825                    type: "string"
  4826                  is_official:
  4827                    type: "boolean"
  4828                  is_automated:
  4829                    type: "boolean"
  4830                  name:
  4831                    type: "string"
  4832                  star_count:
  4833                    type: "integer"
  4834            examples:
  4835              application/json:
  4836                - description: ""
  4837                  is_official: false
  4838                  is_automated: false
  4839                  name: "wma55/u1210sshd"
  4840                  star_count: 0
  4841                - description: ""
  4842                  is_official: false
  4843                  is_automated: false
  4844                  name: "jdswinbank/sshd"
  4845                  star_count: 0
  4846                - description: ""
  4847                  is_official: false
  4848                  is_automated: false
  4849                  name: "vgauthier/sshd"
  4850                  star_count: 0
  4851          500:
  4852            description: "Server error"
  4853            schema:
  4854              $ref: "#/definitions/ErrorResponse"
  4855        parameters:
  4856          - name: "term"
  4857            in: "query"
  4858            description: "Term to search"
  4859            type: "string"
  4860            required: true
  4861          - name: "limit"
  4862            in: "query"
  4863            description: "Maximum number of results to return"
  4864            type: "integer"
  4865          - name: "filters"
  4866            in: "query"
  4867            description: |
  4868              A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:
  4869  
  4870              - `stars=<number>`
  4871              - `is-automated=(true|false)`
  4872              - `is-official=(true|false)`
  4873            type: "string"
  4874        tags: ["Image"]
  4875    /images/prune:
  4876      post:
  4877        summary: "Delete unused images"
  4878        produces:
  4879          - "application/json"
  4880        operationId: "ImagePrune"
  4881        parameters:
  4882          - name: "filters"
  4883            in: "query"
  4884            description: |
  4885              Filters to process on the prune list, encoded as JSON (a `map[string][]string`).
  4886  
  4887              Available filters:
  4888              - `dangling=<boolean>` When set to `true` (or `1`), prune only
  4889                 unused *and* untagged images. When set to `false`
  4890                 (or `0`), all unused images are pruned.
  4891            type: "string"
  4892        responses:
  4893          200:
  4894            description: "No error"
  4895            schema:
  4896              type: "object"
  4897              properties:
  4898                ImagesDeleted:
  4899                  description: "Images that were deleted"
  4900                  type: "array"
  4901                  items:
  4902                    $ref: "#/definitions/ImageDeleteResponse"
  4903                SpaceReclaimed:
  4904                  description: "Disk space reclaimed in bytes"
  4905                  type: "integer"
  4906                  format: "int64"
  4907          500:
  4908            description: "Server error"
  4909            schema:
  4910              $ref: "#/definitions/ErrorResponse"
  4911        tags: ["Image"]
  4912    /auth:
  4913      post:
  4914        summary: "Check auth configuration"
  4915        description: "Validate credentials for a registry and, if available, get an identity token for accessing the registry without password."
  4916        operationId: "SystemAuth"
  4917        consumes: ["application/json"]
  4918        produces: ["application/json"]
  4919        responses:
  4920          200:
  4921            description: "An identity token was generated successfully."
  4922            schema:
  4923              type: "object"
  4924              required: [Status]
  4925              properties:
  4926                Status:
  4927                  description: "The status of the authentication"
  4928                  type: "string"
  4929                  x-nullable: false
  4930                IdentityToken:
  4931                  description: "An opaque token used to authenticate a user after a successful login"
  4932                  type: "string"
  4933                  x-nullable: false
  4934            examples:
  4935              application/json:
  4936                Status: "Login Succeeded"
  4937                IdentityToken: "9cbaf023786cd7..."
  4938          204:
  4939            description: "No error"
  4940          500:
  4941            description: "Server error"
  4942            schema:
  4943              $ref: "#/definitions/ErrorResponse"
  4944        parameters:
  4945          - name: "authConfig"
  4946            in: "body"
  4947            description: "Authentication to check"
  4948            schema:
  4949              $ref: "#/definitions/AuthConfig"
  4950        tags: ["System"]
  4951    /info:
  4952      get:
  4953        summary: "Get system information"
  4954        operationId: "SystemInfo"
  4955        produces:
  4956          - "application/json"
  4957        responses:
  4958          200:
  4959            description: "No error"
  4960            schema:
  4961              type: "object"
  4962              properties:
  4963                Architecture:
  4964                  type: "string"
  4965                Containers:
  4966                  type: "integer"
  4967                ContainersRunning:
  4968                  type: "integer"
  4969                ContainersStopped:
  4970                  type: "integer"
  4971                ContainersPaused:
  4972                  type: "integer"
  4973                CpuCfsPeriod:
  4974                  type: "boolean"
  4975                CpuCfsQuota:
  4976                  type: "boolean"
  4977                Debug:
  4978                  type: "boolean"
  4979                DiscoveryBackend:
  4980                  type: "string"
  4981                DockerRootDir:
  4982                  type: "string"
  4983                Driver:
  4984                  type: "string"
  4985                DriverStatus:
  4986                  type: "array"
  4987                  items:
  4988                    type: "array"
  4989                    items:
  4990                      type: "string"
  4991                SystemStatus:
  4992                  type: "array"
  4993                  items:
  4994                    type: "array"
  4995                    items:
  4996                      type: "string"
  4997                Plugins:
  4998                  type: "object"
  4999                  properties:
  5000                    Volume:
  5001                      type: "array"
  5002                      items:
  5003                        type: "string"
  5004                    Network:
  5005                      type: "array"
  5006                      items:
  5007                        type: "string"
  5008                ExperimentalBuild:
  5009                  type: "boolean"
  5010                HttpProxy:
  5011                  type: "string"
  5012                HttpsProxy:
  5013                  type: "string"
  5014                ID:
  5015                  type: "string"
  5016                IPv4Forwarding:
  5017                  type: "boolean"
  5018                Images:
  5019                  type: "integer"
  5020                IndexServerAddress:
  5021                  type: "string"
  5022                InitPath:
  5023                  type: "string"
  5024                InitSha1:
  5025                  type: "string"
  5026                KernelVersion:
  5027                  type: "string"
  5028                Labels:
  5029                  type: "array"
  5030                  items:
  5031                    type: "string"
  5032                MemTotal:
  5033                  type: "integer"
  5034                MemoryLimit:
  5035                  type: "boolean"
  5036                NCPU:
  5037                  type: "integer"
  5038                NEventsListener:
  5039                  type: "integer"
  5040                NFd:
  5041                  type: "integer"
  5042                NGoroutines:
  5043                  type: "integer"
  5044                Name:
  5045                  type: "string"
  5046                NoProxy:
  5047                  type: "string"
  5048                OomKillDisable:
  5049                  type: "boolean"
  5050                OSType:
  5051                  type: "string"
  5052                OomScoreAdj:
  5053                  type: "integer"
  5054                OperatingSystem:
  5055                  type: "string"
  5056                RegistryConfig:
  5057                  type: "object"
  5058                  properties:
  5059                    IndexConfigs:
  5060                      type: "object"
  5061                      additionalProperties:
  5062                        type: "object"
  5063                        properties:
  5064                          Mirrors:
  5065                            type: "array"
  5066                            items:
  5067                              type: "string"
  5068                          Name:
  5069                            type: "string"
  5070                          Official:
  5071                            type: "boolean"
  5072                          Secure:
  5073                            type: "boolean"
  5074                    InsecureRegistryCIDRs:
  5075                      type: "array"
  5076                      items:
  5077                        type: "string"
  5078                SwapLimit:
  5079                  type: "boolean"
  5080                SystemTime:
  5081                  type: "string"
  5082                ServerVersion:
  5083                  type: "string"
  5084            examples:
  5085              application/json:
  5086                Architecture: "x86_64"
  5087                ClusterStore: "etcd://localhost:2379"
  5088                CgroupDriver: "cgroupfs"
  5089                Containers: 11
  5090                ContainersRunning: 7
  5091                ContainersStopped: 3
  5092                ContainersPaused: 1
  5093                CpuCfsPeriod: true
  5094                CpuCfsQuota: true
  5095                Debug: false
  5096                DockerRootDir: "/var/lib/docker"
  5097                Driver: "btrfs"
  5098                DriverStatus:
  5099                  -
  5100                    - ""
  5101                ExperimentalBuild: false
  5102                HttpProxy: "http://test:test@localhost:8080"
  5103                HttpsProxy: "https://test:test@localhost:8080"
  5104                ID: "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS"
  5105                IPv4Forwarding: true
  5106                Images: 16
  5107                IndexServerAddress: "https://index.docker.io/v1/"
  5108                InitPath: "/usr/bin/docker"
  5109                InitSha1: ""
  5110                KernelMemory: true
  5111                KernelVersion: "3.12.0-1-amd64"
  5112                Labels:
  5113                  - "storage=ssd"
  5114                MemTotal: 2099236864
  5115                MemoryLimit: true
  5116                NCPU: 1
  5117                NEventsListener: 0
  5118                NFd: 11
  5119                NGoroutines: 21
  5120                Name: "prod-server-42"
  5121                NoProxy: "9.81.1.160"
  5122                OomKillDisable: true
  5123                OSType: "linux"
  5124                OperatingSystem: "Boot2Docker"
  5125                Plugins:
  5126                  Volume:
  5127                    - "local"
  5128                  Network:
  5129                    - "null"
  5130                    - "host"
  5131                    - "bridge"
  5132                RegistryConfig:
  5133                  IndexConfigs:
  5134                    docker.io:
  5135                      Name: "docker.io"
  5136                      Official: true
  5137                      Secure: true
  5138                  InsecureRegistryCIDRs:
  5139                    - "127.0.0.0/8"
  5140                SecurityOptions:
  5141                  - Key: "Name"
  5142                    Value: "seccomp"
  5143                  - Key: "Profile"
  5144                    Value: "default"
  5145                  - Key: "Name"
  5146                    Value: "apparmor"
  5147                  - Key: "Name"
  5148                    Value: "selinux"
  5149                  - Key: "Name"
  5150                    Value: "userns"
  5151                ServerVersion: "1.9.0"
  5152                SwapLimit: false
  5153                SystemStatus:
  5154                  -
  5155                    - "State"
  5156                    - "Healthy"
  5157                SystemTime: "2015-03-10T11:11:23.730591467-07:00"
  5158          500:
  5159            description: "Server error"
  5160            schema:
  5161              $ref: "#/definitions/ErrorResponse"
  5162        tags: ["System"]
  5163    /version:
  5164      get:
  5165        summary: "Get version"
  5166        description: "Returns the version of Docker that is running and various information about the system that Docker is running on."
  5167        operationId: "SystemVersion"
  5168        produces:
  5169          - "application/json"
  5170        responses:
  5171          200:
  5172            description: "no error"
  5173            schema:
  5174              type: "object"
  5175              properties:
  5176                Version:
  5177                  type: "string"
  5178                ApiVersion:
  5179                  type: "string"
  5180                MinAPIVersion:
  5181                  type: "string"
  5182                GitCommit:
  5183                  type: "string"
  5184                GoVersion:
  5185                  type: "string"
  5186                Os:
  5187                  type: "string"
  5188                Arch:
  5189                  type: "string"
  5190                KernelVersion:
  5191                  type: "string"
  5192                Experimental:
  5193                  type: "boolean"
  5194                BuildTime:
  5195                  type: "string"
  5196            examples:
  5197              application/json:
  5198                Version: "1.13.0"
  5199                Os: "linux"
  5200                KernelVersion: "3.19.0-23-generic"
  5201                GoVersion: "go1.6.3"
  5202                GitCommit: "deadbee"
  5203                Arch: "amd64"
  5204                ApiVersion: "1.25"
  5205                MinAPIVersion: "1.12"
  5206                BuildTime: "2016-06-14T07:09:13.444803460+00:00"
  5207                Experimental: true
  5208          500:
  5209            description: "server error"
  5210            schema:
  5211              $ref: "#/definitions/ErrorResponse"
  5212        tags: ["System"]
  5213    /_ping:
  5214      get:
  5215        summary: "Ping"
  5216        description: "This is a dummy endpoint you can use to test if the server is accessible."
  5217        operationId: "SystemPing"
  5218        produces:
  5219          - "text/plain"
  5220        responses:
  5221          200:
  5222            description: "no error"
  5223            schema:
  5224              type: "string"
  5225              example: "OK"
  5226          500:
  5227            description: "server error"
  5228            schema:
  5229              $ref: "#/definitions/ErrorResponse"
  5230        tags: ["System"]
  5231    /commit:
  5232      post:
  5233        summary: "Create a new image from a container"
  5234        operationId: "ImageCommit"
  5235        consumes:
  5236          - "application/json"
  5237        produces:
  5238          - "application/json"
  5239        responses:
  5240          201:
  5241            description: "no error"
  5242            schema:
  5243              $ref: "#/definitions/IdResponse"
  5244          404:
  5245            description: "no such container"
  5246            schema:
  5247              $ref: "#/definitions/ErrorResponse"
  5248            examples:
  5249              application/json:
  5250                message: "No such container: c2ada9df5af8"
  5251          500:
  5252            description: "server error"
  5253            schema:
  5254              $ref: "#/definitions/ErrorResponse"
  5255        parameters:
  5256          - name: "containerConfig"
  5257            in: "body"
  5258            description: "The container configuration"
  5259            schema:
  5260              $ref: "#/definitions/Config"
  5261          - name: "container"
  5262            in: "query"
  5263            description: "The ID or name of the container to commit"
  5264            type: "string"
  5265          - name: "repo"
  5266            in: "query"
  5267            description: "Repository name for the created image"
  5268            type: "string"
  5269          - name: "tag"
  5270            in: "query"
  5271            description: "Tag name for the create image"
  5272            type: "string"
  5273          - name: "comment"
  5274            in: "query"
  5275            description: "Commit message"
  5276            type: "string"
  5277          - name: "author"
  5278            in: "query"
  5279            description: "Author of the image (e.g., `John Hannibal Smith <hannibal@a-team.com>`)"
  5280            type: "string"
  5281          - name: "pause"
  5282            in: "query"
  5283            description: "Whether to pause the container before committing"
  5284            type: "boolean"
  5285            default: true
  5286          - name: "changes"
  5287            in: "query"
  5288            description: "`Dockerfile` instructions to apply while committing"
  5289            type: "string"
  5290        tags: ["Image"]
  5291    /events:
  5292      get:
  5293        summary: "Monitor events"
  5294        description: |
  5295          Stream real-time events from the server.
  5296  
  5297          Various objects within Docker report events when something happens to them.
  5298  
  5299          Containers report these events: `attach, commit, copy, create, destroy, detach, die, exec_create, exec_detach, exec_start, export, kill, oom, pause, rename, resize, restart, start, stop, top, unpause, update`
  5300  
  5301          Images report these events: `delete, import, load, pull, push, save, tag, untag`
  5302  
  5303          Volumes report these events: `create, mount, unmount, destroy`
  5304  
  5305          Networks report these events: `create, connect, disconnect, destroy`
  5306  
  5307          The Docker daemon reports these events: `reload`
  5308  
  5309        operationId: "SystemEvents"
  5310        produces:
  5311          - "application/json"
  5312        responses:
  5313          200:
  5314            description: "no error"
  5315            schema:
  5316              type: "object"
  5317              properties:
  5318                Type:
  5319                  description: "The type of object emitting the event"
  5320                  type: "string"
  5321                Action:
  5322                  description: "The type of event"
  5323                  type: "string"
  5324                Actor:
  5325                  type: "object"
  5326                  properties:
  5327                    ID:
  5328                      description: "The ID of the object emitting the event"
  5329                      type: "string"
  5330                    Attributes:
  5331                      description: "Various key/value attributes of the object, depending on its type"
  5332                      type: "object"
  5333                      additionalProperties:
  5334                        type: "string"
  5335                time:
  5336                  description: "Timestamp of event"
  5337                  type: "integer"
  5338                timeNano:
  5339                  description: "Timestamp of event, with nanosecond accuracy"
  5340                  type: "integer"
  5341                  format: "int64"
  5342            examples:
  5343              application/json:
  5344                Type: "container"
  5345                Action: "create"
  5346                Actor:
  5347                  ID: "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743"
  5348                  Attributes:
  5349                    com.example.some-label: "some-label-value"
  5350                    image: "alpine"
  5351                    name: "my-container"
  5352                time: 1461943101
  5353          500:
  5354            description: "server error"
  5355            schema:
  5356              $ref: "#/definitions/ErrorResponse"
  5357        parameters:
  5358          - name: "since"
  5359            in: "query"
  5360            description: "Show events created since this timestamp then stream new events."
  5361            type: "string"
  5362          - name: "until"
  5363            in: "query"
  5364            description: "Show events created until this timestamp then stop streaming."
  5365            type: "string"
  5366          - name: "filters"
  5367            in: "query"
  5368            description: |
  5369              A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters:
  5370  
  5371              - `container=<string>` container name or ID
  5372              - `event=<string>` event type
  5373              - `image=<string>` image name or ID
  5374              - `label=<string>` image or container label
  5375              - `type=<string>` object to filter by, one of `container`, `image`, `volume`, `network`, or `daemon`
  5376              - `volume=<string>` volume name or ID
  5377              - `network=<string>` network name or ID
  5378              - `daemon=<string>` daemon name or ID
  5379            type: "string"
  5380        tags: ["System"]
  5381    /system/df:
  5382      get:
  5383        summary: "Get data usage information"
  5384        operationId: "SystemDataUsage"
  5385        responses:
  5386          200:
  5387            description: "no error"
  5388            schema:
  5389              type: "object"
  5390              properties:
  5391                LayersSize:
  5392                  type: "integer"
  5393                  format: "int64"
  5394                Images:
  5395                  type: "array"
  5396                  items:
  5397                    $ref: "#/definitions/ImageSummary"
  5398                Containers:
  5399                  type: "array"
  5400                  items:
  5401                    $ref: "#/definitions/ContainerSummary"
  5402                Volumes:
  5403                  type: "array"
  5404                  items:
  5405                    $ref: "#/definitions/Volume"
  5406              example:
  5407                LayersSize: 1092588
  5408                Images:
  5409                  -
  5410                    Id: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749"
  5411                    ParentId: ""
  5412                    RepoTags:
  5413                      - "busybox:latest"
  5414                    RepoDigests:
  5415                      - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6"
  5416                    Created: 1466724217
  5417                    Size: 1092588
  5418                    SharedSize: 0
  5419                    VirtualSize: 1092588
  5420                    Labels: {}
  5421                    Containers: 1
  5422                Containers:
  5423                  -
  5424                    Id: "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148"
  5425                    Names:
  5426                      - "/top"
  5427                    Image: "busybox"
  5428                    ImageID: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749"
  5429                    Command: "top"
  5430                    Created: 1472592424
  5431                    Ports: []
  5432                    SizeRootFs: 1092588
  5433                    Labels: {}
  5434                    State: "exited"
  5435                    Status: "Exited (0) 56 minutes ago"
  5436                    HostConfig:
  5437                      NetworkMode: "default"
  5438                    NetworkSettings:
  5439                      Networks:
  5440                        bridge:
  5441                          IPAMConfig: null
  5442                          Links: null
  5443                          Aliases: null
  5444                          NetworkID: "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92"
  5445                          EndpointID: "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a"
  5446                          Gateway: "172.18.0.1"
  5447                          IPAddress: "172.18.0.2"
  5448                          IPPrefixLen: 16
  5449                          IPv6Gateway: ""
  5450                          GlobalIPv6Address: ""
  5451                          GlobalIPv6PrefixLen: 0
  5452                          MacAddress: "02:42:ac:12:00:02"
  5453                    Mounts: []
  5454                Volumes:
  5455                  -
  5456                    Name: "my-volume"
  5457                    Driver: "local"
  5458                    Mountpoint: ""
  5459                    Labels: null
  5460                    Scope: ""
  5461                    Options: null
  5462                    UsageData:
  5463                      Size: 0
  5464                      RefCount: 0
  5465          500:
  5466            description: "server error"
  5467            schema:
  5468              $ref: "#/definitions/ErrorResponse"
  5469        tags: ["System"]
  5470    /images/{name}/get:
  5471      get:
  5472        summary: "Export an image"
  5473        description: |
  5474          Get a tarball containing all images and metadata for a repository.
  5475  
  5476          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.
  5477  
  5478          ### Image tarball format
  5479  
  5480          An image tarball contains one directory per image layer (named using its long ID), each containing these files:
  5481  
  5482          - `VERSION`: currently `1.0` - the file format version
  5483          - `json`: detailed layer information, similar to `docker inspect layer_id`
  5484          - `layer.tar`: A tarfile containing the filesystem changes in this layer
  5485  
  5486          The `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions.
  5487  
  5488          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.
  5489  
  5490          ```json
  5491          {
  5492            "hello-world": {
  5493              "latest": "565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1"
  5494            }
  5495          }
  5496          ```
  5497        operationId: "ImageGet"
  5498        produces:
  5499          - "application/x-tar"
  5500        responses:
  5501          200:
  5502            description: "no error"
  5503            schema:
  5504              type: "string"
  5505              format: "binary"
  5506          500:
  5507            description: "server error"
  5508            schema:
  5509              $ref: "#/definitions/ErrorResponse"
  5510        parameters:
  5511          - name: "name"
  5512            in: "path"
  5513            description: "Image name or ID"
  5514            type: "string"
  5515            required: true
  5516        tags: ["Image"]
  5517    /images/get:
  5518      get:
  5519        summary: "Export several images"
  5520        description: |
  5521          Get a tarball containing all images and metadata for several image repositories.
  5522  
  5523          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.
  5524  
  5525          For details on the format, see [the export image endpoint](#operation/ImageGet).
  5526        operationId: "ImageGetAll"
  5527        produces:
  5528          - "application/x-tar"
  5529        responses:
  5530          200:
  5531            description: "no error"
  5532            schema:
  5533              type: "string"
  5534              format: "binary"
  5535          500:
  5536            description: "server error"
  5537            schema:
  5538              $ref: "#/definitions/ErrorResponse"
  5539        parameters:
  5540          - name: "names"
  5541            in: "query"
  5542            description: "Image names to filter by"
  5543            type: "array"
  5544            items:
  5545              type: "string"
  5546        tags: ["Image"]
  5547    /images/load:
  5548      post:
  5549        summary: "Import images"
  5550        description: |
  5551          Load a set of images and tags into a repository.
  5552  
  5553          For details on the format, see [the export image endpoint](#operation/ImageGet).
  5554        operationId: "ImageLoad"
  5555        consumes:
  5556          - "application/x-tar"
  5557        produces:
  5558          - "application/json"
  5559        responses:
  5560          200:
  5561            description: "no error"
  5562          500:
  5563            description: "server error"
  5564            schema:
  5565              $ref: "#/definitions/ErrorResponse"
  5566        parameters:
  5567          - name: "imagesTarball"
  5568            in: "body"
  5569            description: "Tar archive containing images"
  5570            schema:
  5571              type: "string"
  5572              format: "binary"
  5573          - name: "quiet"
  5574            in: "query"
  5575            description: "Suppress progress details during load."
  5576            type: "boolean"
  5577            default: false
  5578        tags: ["Image"]
  5579    /containers/{id}/exec:
  5580      post:
  5581        summary: "Create an exec instance"
  5582        description: "Run a command inside a running container."
  5583        operationId: "ContainerExec"
  5584        consumes:
  5585          - "application/json"
  5586        produces:
  5587          - "application/json"
  5588        responses:
  5589          201:
  5590            description: "no error"
  5591            schema:
  5592              $ref: "#/definitions/IdResponse"
  5593          404:
  5594            description: "no such container"
  5595            schema:
  5596              $ref: "#/definitions/ErrorResponse"
  5597            examples:
  5598              application/json:
  5599                message: "No such container: c2ada9df5af8"
  5600          409:
  5601            description: "container is paused"
  5602            schema:
  5603              $ref: "#/definitions/ErrorResponse"
  5604          500:
  5605            description: "Server error"
  5606            schema:
  5607              $ref: "#/definitions/ErrorResponse"
  5608        parameters:
  5609          - name: "execConfig"
  5610            in: "body"
  5611            description: "Exec configuration"
  5612            schema:
  5613              type: "object"
  5614              properties:
  5615                AttachStdin:
  5616                  type: "boolean"
  5617                  description: "Attach to `stdin` of the exec command."
  5618                AttachStdout:
  5619                  type: "boolean"
  5620                  description: "Attach to `stdout` of the exec command."
  5621                AttachStderr:
  5622                  type: "boolean"
  5623                  description: "Attach to `stderr` of the exec command."
  5624                DetachKeys:
  5625                  type: "string"
  5626                  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 `_`."
  5627                Tty:
  5628                  type: "boolean"
  5629                  description: "Allocate a pseudo-TTY."
  5630                Env:
  5631                  description: "A list of environment variables in the form `[\"VAR=value\", ...]`."
  5632                  type: "array"
  5633                  items:
  5634                    type: "string"
  5635                Cmd:
  5636                  type: "array"
  5637                  description: "Command to run, as a string or array of strings."
  5638                  items:
  5639                    type: "string"
  5640                Privileged:
  5641                  type: "boolean"
  5642                  description: "Runs the exec process with extended privileges."
  5643                  default: false
  5644                User:
  5645                  type: "string"
  5646                  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`."
  5647              example:
  5648                AttachStdin: false
  5649                AttachStdout: true
  5650                AttachStderr: true
  5651                DetachKeys: "ctrl-p,ctrl-q"
  5652                Tty: false
  5653                Cmd:
  5654                  - "date"
  5655                Env:
  5656                  - "FOO=bar"
  5657                  - "BAZ=quux"
  5658            required: true
  5659          - name: "id"
  5660            in: "path"
  5661            description: "ID or name of container"
  5662            type: "string"
  5663            required: true
  5664        tags: ["Exec"]
  5665    /exec/{id}/start:
  5666      post:
  5667        summary: "Start an exec instance"
  5668        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."
  5669        operationId: "ExecStart"
  5670        consumes:
  5671          - "application/json"
  5672        produces:
  5673          - "application/vnd.docker.raw-stream"
  5674        responses:
  5675          200:
  5676            description: "No error"
  5677          404:
  5678            description: "No such exec instance"
  5679            schema:
  5680              $ref: "#/definitions/ErrorResponse"
  5681          409:
  5682            description: "Container is stopped or paused"
  5683            schema:
  5684              $ref: "#/definitions/ErrorResponse"
  5685        parameters:
  5686          - name: "execStartConfig"
  5687            in: "body"
  5688            schema:
  5689              type: "object"
  5690              properties:
  5691                Detach:
  5692                  type: "boolean"
  5693                  description: "Detach from the command."
  5694                Tty:
  5695                  type: "boolean"
  5696                  description: "Allocate a pseudo-TTY."
  5697              example:
  5698                Detach: false
  5699                Tty: false
  5700          - name: "id"
  5701            in: "path"
  5702            description: "Exec instance ID"
  5703            required: true
  5704            type: "string"
  5705        tags: ["Exec"]
  5706    /exec/{id}/resize:
  5707      post:
  5708        summary: "Resize an exec instance"
  5709        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."
  5710        operationId: "ExecResize"
  5711        responses:
  5712          200:
  5713            description: "No error"
  5714          400:
  5715            description: "bad parameter"
  5716            schema:
  5717              $ref: "#/definitions/ErrorResponse"
  5718          404:
  5719            description: "No such exec instance"
  5720            schema:
  5721              $ref: "#/definitions/ErrorResponse"
  5722          500:
  5723            description: "Server error"
  5724            schema:
  5725              $ref: "#/definitions/ErrorResponse"
  5726        parameters:
  5727          - name: "id"
  5728            in: "path"
  5729            description: "Exec instance ID"
  5730            required: true
  5731            type: "string"
  5732          - name: "h"
  5733            in: "query"
  5734            description: "Height of the TTY session in characters"
  5735            type: "integer"
  5736          - name: "w"
  5737            in: "query"
  5738            description: "Width of the TTY session in characters"
  5739            type: "integer"
  5740        tags: ["Exec"]
  5741    /exec/{id}/json:
  5742      get:
  5743        summary: "Inspect an exec instance"
  5744        description: "Return low-level information about an exec instance."
  5745        operationId: "ExecInspect"
  5746        produces:
  5747          - "application/json"
  5748        responses:
  5749          200:
  5750            description: "No error"
  5751            schema:
  5752              type: "object"
  5753              properties:
  5754                ID:
  5755                  type: "string"
  5756                Running:
  5757                  type: "boolean"
  5758                ExitCode:
  5759                  type: "integer"
  5760                ProcessConfig:
  5761                  $ref: "#/definitions/ProcessConfig"
  5762                OpenStdin:
  5763                  type: "boolean"
  5764                OpenStderr:
  5765                  type: "boolean"
  5766                OpenStdout:
  5767                  type: "boolean"
  5768                ContainerID:
  5769                  type: "string"
  5770                Pid:
  5771                  type: "integer"
  5772                  description: "The system process ID for the exec process."
  5773            examples:
  5774              application/json:
  5775                CanRemove: false
  5776                ContainerID: "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126"
  5777                DetachKeys: ""
  5778                ExitCode: 2
  5779                ID: "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b"
  5780                OpenStderr: true
  5781                OpenStdin: true
  5782                OpenStdout: true
  5783                ProcessConfig:
  5784                  arguments:
  5785                    - "-c"
  5786                    - "exit 2"
  5787                  entrypoint: "sh"
  5788                  privileged: false
  5789                  tty: true
  5790                  user: "1000"
  5791                Running: false
  5792                Pid: 42000
  5793          404:
  5794            description: "No such exec instance"
  5795            schema:
  5796              $ref: "#/definitions/ErrorResponse"
  5797          500:
  5798            description: "Server error"
  5799            schema:
  5800              $ref: "#/definitions/ErrorResponse"
  5801        parameters:
  5802          - name: "id"
  5803            in: "path"
  5804            description: "Exec instance ID"
  5805            required: true
  5806            type: "string"
  5807        tags: ["Exec"]
  5808  
  5809    /volumes:
  5810      get:
  5811        summary: "List volumes"
  5812        operationId: "VolumeList"
  5813        produces: ["application/json"]
  5814        responses:
  5815          200:
  5816            description: "Summary volume data that matches the query"
  5817            schema:
  5818              type: "object"
  5819              required: [Volumes, Warnings]
  5820              properties:
  5821                Volumes:
  5822                  type: "array"
  5823                  x-nullable: false
  5824                  description: "List of volumes"
  5825                  items:
  5826                    $ref: "#/definitions/Volume"
  5827                Warnings:
  5828                  type: "array"
  5829                  x-nullable: false
  5830                  description: "Warnings that occurred when fetching the list of volumes"
  5831                  items:
  5832                    type: "string"
  5833  
  5834            examples:
  5835              application/json:
  5836                Volumes:
  5837                  - Name: "tardis"
  5838                    Driver: "local"
  5839                    Mountpoint: "/var/lib/docker/volumes/tardis"
  5840                    Labels:
  5841                      com.example.some-label: "some-value"
  5842                      com.example.some-other-label: "some-other-value"
  5843                    Scope: "local"
  5844                    Options:
  5845                      device: "tmpfs"
  5846                      o: "size=100m,uid=1000"
  5847                      type: "tmpfs"
  5848                Warnings: []
  5849          500:
  5850            description: "Server error"
  5851            schema:
  5852              $ref: "#/definitions/ErrorResponse"
  5853        parameters:
  5854          - name: "filters"
  5855            in: "query"
  5856            description: |
  5857              JSON encoded value of the filters (a `map[string][]string`) to
  5858              process on the volumes list. Available filters:
  5859  
  5860              - `name=<volume-name>` Matches all or part of a volume name.
  5861              - `dangling=<boolean>` When set to `true` (or `1`), returns all
  5862                 volumes that are not in use by a container. When set to `false`
  5863                 (or `0`), only volumes that are in use by one or more
  5864                 containers are returned.
  5865              - `driver=<volume-driver-name>` Matches all or part of a volume
  5866                driver name.
  5867            type: "string"
  5868            format: "json"
  5869        tags: ["Volume"]
  5870  
  5871    /volumes/create:
  5872      post:
  5873        summary: "Create a volume"
  5874        operationId: "VolumeCreate"
  5875        consumes: ["application/json"]
  5876        produces: ["application/json"]
  5877        responses:
  5878          201:
  5879            description: "The volume was created successfully"
  5880            schema:
  5881              $ref: "#/definitions/Volume"
  5882          500:
  5883            description: "Server error"
  5884            schema:
  5885              $ref: "#/definitions/ErrorResponse"
  5886        parameters:
  5887          - name: "volumeConfig"
  5888            in: "body"
  5889            required: true
  5890            description: "Volume configuration"
  5891            schema:
  5892              type: "object"
  5893              properties:
  5894                Name:
  5895                  description: "The new volume's name. If not specified, Docker generates a name."
  5896                  type: "string"
  5897                  x-nullable: false
  5898                Driver:
  5899                  description: "Name of the volume driver to use."
  5900                  type: "string"
  5901                  default: "local"
  5902                  x-nullable: false
  5903                DriverOpts:
  5904                  description: "A mapping of driver options and values. These options are passed directly to the driver and are driver specific."
  5905                  type: "object"
  5906                  additionalProperties:
  5907                    type: "string"
  5908                Labels:
  5909                  description: "User-defined key/value metadata."
  5910                  type: "object"
  5911                  additionalProperties:
  5912                    type: "string"
  5913              example:
  5914                Name: "tardis"
  5915                Labels:
  5916                  com.example.some-label: "some-value"
  5917                  com.example.some-other-label: "some-other-value"
  5918                Driver: "custom"
  5919        tags: ["Volume"]
  5920  
  5921    /volumes/{name}:
  5922      get:
  5923        summary: "Inspect a volume"
  5924        operationId: "VolumeInspect"
  5925        produces: ["application/json"]
  5926        responses:
  5927          200:
  5928            description: "No error"
  5929            schema:
  5930              $ref: "#/definitions/Volume"
  5931          404:
  5932            description: "No such volume"
  5933            schema:
  5934              $ref: "#/definitions/ErrorResponse"
  5935          500:
  5936            description: "Server error"
  5937            schema:
  5938              $ref: "#/definitions/ErrorResponse"
  5939        parameters:
  5940          - name: "name"
  5941            in: "path"
  5942            required: true
  5943            description: "Volume name or ID"
  5944            type: "string"
  5945        tags: ["Volume"]
  5946  
  5947      delete:
  5948        summary: "Remove a volume"
  5949        description: "Instruct the driver to remove the volume."
  5950        operationId: "VolumeDelete"
  5951        responses:
  5952          204:
  5953            description: "The volume was removed"
  5954          404:
  5955            description: "No such volume or volume driver"
  5956            schema:
  5957              $ref: "#/definitions/ErrorResponse"
  5958          409:
  5959            description: "Volume is in use and cannot be removed"
  5960            schema:
  5961              $ref: "#/definitions/ErrorResponse"
  5962          500:
  5963            description: "Server error"
  5964            schema:
  5965              $ref: "#/definitions/ErrorResponse"
  5966        parameters:
  5967          - name: "name"
  5968            in: "path"
  5969            required: true
  5970            description: "Volume name or ID"
  5971            type: "string"
  5972          - name: "force"
  5973            in: "query"
  5974            description: "Force the removal of the volume"
  5975            type: "boolean"
  5976            default: false
  5977        tags: ["Volume"]
  5978    /volumes/prune:
  5979      post:
  5980        summary: "Delete unused volumes"
  5981        produces:
  5982          - "application/json"
  5983        operationId: "VolumePrune"
  5984        parameters:
  5985          - name: "filters"
  5986            in: "query"
  5987            description: |
  5988              Filters to process on the prune list, encoded as JSON (a `map[string][]string`).
  5989  
  5990              Available filters:
  5991            type: "string"
  5992        responses:
  5993          200:
  5994            description: "No error"
  5995            schema:
  5996              type: "object"
  5997              properties:
  5998                VolumesDeleted:
  5999                  description: "Volumes that were deleted"
  6000                  type: "array"
  6001                  items:
  6002                    type: "string"
  6003                SpaceReclaimed:
  6004                  description: "Disk space reclaimed in bytes"
  6005                  type: "integer"
  6006                  format: "int64"
  6007          500:
  6008            description: "Server error"
  6009            schema:
  6010              $ref: "#/definitions/ErrorResponse"
  6011        tags: ["Volume"]
  6012    /networks:
  6013      get:
  6014        summary: "List networks"
  6015        operationId: "NetworkList"
  6016        produces:
  6017          - "application/json"
  6018        responses:
  6019          200:
  6020            description: "No error"
  6021            schema:
  6022              type: "array"
  6023              items:
  6024                $ref: "#/definitions/Network"
  6025            examples:
  6026              application/json:
  6027                - Name: "bridge"
  6028                  Id: "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566"
  6029                  Created: "2016-10-19T06:21:00.416543526Z"
  6030                  Scope: "local"
  6031                  Driver: "bridge"
  6032                  EnableIPv6: false
  6033                  Internal: false
  6034                  IPAM:
  6035                    Driver: "default"
  6036                    Config:
  6037                      -
  6038                        Subnet: "172.17.0.0/16"
  6039                  Containers:
  6040                    39b69226f9d79f5634485fb236a23b2fe4e96a0a94128390a7fbbcc167065867:
  6041                      EndpointID: "ed2419a97c1d9954d05b46e462e7002ea552f216e9b136b80a7db8d98b442eda"
  6042                      MacAddress: "02:42:ac:11:00:02"
  6043                      IPv4Address: "172.17.0.2/16"
  6044                      IPv6Address: ""
  6045                  Options:
  6046                    com.docker.network.bridge.default_bridge: "true"
  6047                    com.docker.network.bridge.enable_icc: "true"
  6048                    com.docker.network.bridge.enable_ip_masquerade: "true"
  6049                    com.docker.network.bridge.host_binding_ipv4: "0.0.0.0"
  6050                    com.docker.network.bridge.name: "docker0"
  6051                    com.docker.network.driver.mtu: "1500"
  6052                - Name: "none"
  6053                  Id: "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794"
  6054                  Created: "0001-01-01T00:00:00Z"
  6055                  Scope: "local"
  6056                  Driver: "null"
  6057                  EnableIPv6: false
  6058                  Internal: false
  6059                  IPAM:
  6060                    Driver: "default"
  6061                    Config: []
  6062                  Containers: {}
  6063                  Options: {}
  6064                - Name: "host"
  6065                  Id: "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e"
  6066                  Created: "0001-01-01T00:00:00Z"
  6067                  Scope: "local"
  6068                  Driver: "host"
  6069                  EnableIPv6: false
  6070                  Internal: false
  6071                  IPAM:
  6072                    Driver: "default"
  6073                    Config: []
  6074                  Containers: {}
  6075                  Options: {}
  6076          500:
  6077            description: "Server error"
  6078            schema:
  6079              $ref: "#/definitions/ErrorResponse"
  6080        parameters:
  6081          - name: "filters"
  6082            in: "query"
  6083            description: |
  6084              JSON encoded value of the filters (a `map[string][]string`) to process on the networks list. Available filters:
  6085  
  6086              - `driver=<driver-name>` Matches a network's driver.
  6087              - `id=<network-id>` Matches all or part of a network ID.
  6088              - `label=<key>` or `label=<key>=<value>` of a network label.
  6089              - `name=<network-name>` Matches all or part of a network name.
  6090              - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks.
  6091            type: "string"
  6092        tags: ["Network"]
  6093  
  6094    /networks/{id}:
  6095      get:
  6096        summary: "Inspect a network"
  6097        operationId: "NetworkInspect"
  6098        produces:
  6099          - "application/json"
  6100        responses:
  6101          200:
  6102            description: "No error"
  6103            schema:
  6104              $ref: "#/definitions/Network"
  6105          404:
  6106            description: "Network not found"
  6107            schema:
  6108              $ref: "#/definitions/ErrorResponse"
  6109        parameters:
  6110          - name: "id"
  6111            in: "path"
  6112            description: "Network ID or name"
  6113            required: true
  6114            type: "string"
  6115        tags: ["Network"]
  6116  
  6117      delete:
  6118        summary: "Remove a network"
  6119        operationId: "NetworkDelete"
  6120        responses:
  6121          204:
  6122            description: "No error"
  6123          404:
  6124            description: "no such network"
  6125            schema:
  6126              $ref: "#/definitions/ErrorResponse"
  6127          500:
  6128            description: "Server error"
  6129            schema:
  6130              $ref: "#/definitions/ErrorResponse"
  6131        parameters:
  6132          - name: "id"
  6133            in: "path"
  6134            description: "Network ID or name"
  6135            required: true
  6136            type: "string"
  6137        tags: ["Network"]
  6138  
  6139    /networks/create:
  6140      post:
  6141        summary: "Create a network"
  6142        operationId: "NetworkCreate"
  6143        consumes:
  6144          - "application/json"
  6145        produces:
  6146          - "application/json"
  6147        responses:
  6148          201:
  6149            description: "No error"
  6150            schema:
  6151              type: "object"
  6152              properties:
  6153                Id:
  6154                  description: "The ID of the created network."
  6155                  type: "string"
  6156                Warning:
  6157                  type: "string"
  6158              example:
  6159                Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
  6160                Warning: ""
  6161          403:
  6162            description: "operation not supported for pre-defined networks"
  6163            schema:
  6164              $ref: "#/definitions/ErrorResponse"
  6165          404:
  6166            description: "plugin not found"
  6167            schema:
  6168              $ref: "#/definitions/ErrorResponse"
  6169          500:
  6170            description: "Server error"
  6171            schema:
  6172              $ref: "#/definitions/ErrorResponse"
  6173        parameters:
  6174          - name: "networkConfig"
  6175            in: "body"
  6176            description: "Network configuration"
  6177            required: true
  6178            schema:
  6179              type: "object"
  6180              required: ["Name"]
  6181              properties:
  6182                Name:
  6183                  description: "The network's name."
  6184                  type: "string"
  6185                CheckDuplicate:
  6186                  description: "Check for networks with duplicate names."
  6187                  type: "boolean"
  6188                Driver:
  6189                  description: "Name of the network driver plugin to use."
  6190                  type: "string"
  6191                  default: "bridge"
  6192                Internal:
  6193                  description: "Restrict external access to the network."
  6194                  type: "boolean"
  6195                IPAM:
  6196                  description: "Optional custom IP scheme for the network."
  6197                  $ref: "#/definitions/IPAM"
  6198                EnableIPv6:
  6199                  description: "Enable IPv6 on the network."
  6200                  type: "boolean"
  6201                Options:
  6202                  description: "Network specific options to be used by the drivers."
  6203                  type: "object"
  6204                  additionalProperties:
  6205                    type: "string"
  6206                Labels:
  6207                  description: "User-defined key/value metadata."
  6208                  type: "object"
  6209                  additionalProperties:
  6210                    type: "string"
  6211              example:
  6212                Name: "isolated_nw"
  6213                CheckDuplicate: false
  6214                Driver: "bridge"
  6215                EnableIPv6: true
  6216                IPAM:
  6217                  Driver: "default"
  6218                  Config:
  6219                    - Subnet: "172.20.0.0/16"
  6220                      IPRange: "172.20.10.0/24"
  6221                      Gateway: "172.20.10.11"
  6222                    - Subnet: "2001:db8:abcd::/64"
  6223                      Gateway: "2001:db8:abcd::1011"
  6224                  Options:
  6225                    foo: "bar"
  6226                Internal: true
  6227                Options:
  6228                  com.docker.network.bridge.default_bridge: "true"
  6229                  com.docker.network.bridge.enable_icc: "true"
  6230                  com.docker.network.bridge.enable_ip_masquerade: "true"
  6231                  com.docker.network.bridge.host_binding_ipv4: "0.0.0.0"
  6232                  com.docker.network.bridge.name: "docker0"
  6233                  com.docker.network.driver.mtu: "1500"
  6234                Labels:
  6235                  com.example.some-label: "some-value"
  6236                  com.example.some-other-label: "some-other-value"
  6237        tags: ["Network"]
  6238  
  6239    /networks/{id}/connect:
  6240      post:
  6241        summary: "Connect a container to a network"
  6242        operationId: "NetworkConnect"
  6243        consumes:
  6244          - "application/octet-stream"
  6245        responses:
  6246          200:
  6247            description: "No error"
  6248          403:
  6249            description: "Operation not supported for swarm scoped networks"
  6250            schema:
  6251              $ref: "#/definitions/ErrorResponse"
  6252          404:
  6253            description: "Network or container not found"
  6254            schema:
  6255              $ref: "#/definitions/ErrorResponse"
  6256          500:
  6257            description: "Server error"
  6258            schema:
  6259              $ref: "#/definitions/ErrorResponse"
  6260        parameters:
  6261          - name: "id"
  6262            in: "path"
  6263            description: "Network ID or name"
  6264            required: true
  6265            type: "string"
  6266          - name: "container"
  6267            in: "body"
  6268            required: true
  6269            schema:
  6270              type: "object"
  6271              properties:
  6272                Container:
  6273                  type: "string"
  6274                  description: "The ID or name of the container to connect to the network."
  6275                EndpointConfig:
  6276                  $ref: "#/definitions/EndpointSettings"
  6277              example:
  6278                Container: "3613f73ba0e4"
  6279                EndpointConfig:
  6280                  IPAMConfig:
  6281                    IPv4Address: "172.24.56.89"
  6282                    IPv6Address: "2001:db8::5689"
  6283        tags: ["Network"]
  6284  
  6285    /networks/{id}/disconnect:
  6286      post:
  6287        summary: "Disconnect a container from a network"
  6288        operationId: "NetworkDisconnect"
  6289        consumes:
  6290          - "application/json"
  6291        responses:
  6292          200:
  6293            description: "No error"
  6294          403:
  6295            description: "Operation not supported for swarm scoped networks"
  6296            schema:
  6297              $ref: "#/definitions/ErrorResponse"
  6298          404:
  6299            description: "Network or container not found"
  6300            schema:
  6301              $ref: "#/definitions/ErrorResponse"
  6302          500:
  6303            description: "Server error"
  6304            schema:
  6305              $ref: "#/definitions/ErrorResponse"
  6306        parameters:
  6307          - name: "id"
  6308            in: "path"
  6309            description: "Network ID or name"
  6310            required: true
  6311            type: "string"
  6312          - name: "container"
  6313            in: "body"
  6314            required: true
  6315            schema:
  6316              type: "object"
  6317              properties:
  6318                Container:
  6319                  type: "string"
  6320                  description: "The ID or name of the container to disconnect from the network."
  6321                Force:
  6322                  type: "boolean"
  6323                  description: "Force the container to disconnect from the network."
  6324        tags: ["Network"]
  6325    /networks/prune:
  6326      post:
  6327        summary: "Delete unused networks"
  6328        consumes:
  6329          - "application/json"
  6330        produces:
  6331          - "application/json"
  6332        operationId: "NetworkPrune"
  6333        parameters:
  6334          - name: "filters"
  6335            in: "query"
  6336            description: |
  6337              Filters to process on the prune list, encoded as JSON (a `map[string][]string`).
  6338  
  6339              Available filters:
  6340            type: "string"
  6341        responses:
  6342          200:
  6343            description: "No error"
  6344            schema:
  6345              type: "object"
  6346              properties:
  6347                NetworksDeleted:
  6348                  description: "Networks that were deleted"
  6349                  type: "array"
  6350                  items:
  6351                    type: "string"
  6352          500:
  6353            description: "Server error"
  6354            schema:
  6355              $ref: "#/definitions/ErrorResponse"
  6356        tags: ["Network"]
  6357    /plugins:
  6358      get:
  6359        summary: "List plugins"
  6360        operationId: "PluginList"
  6361        description: "Returns information about installed plugins."
  6362        produces: ["application/json"]
  6363        responses:
  6364          200:
  6365            description: "No error"
  6366            schema:
  6367              type: "array"
  6368              items:
  6369                $ref: "#/definitions/Plugin"
  6370              example:
  6371                - Id: "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078"
  6372                  Name: "tiborvass/sample-volume-plugin"
  6373                  Tag: "latest"
  6374                  Active: true
  6375                  Settings:
  6376                    Env:
  6377                      - "DEBUG=0"
  6378                    Args: null
  6379                    Devices: null
  6380                  Config:
  6381                    Description: "A sample volume plugin for Docker"
  6382                    Documentation: "https://docs.docker.com/engine/extend/plugins/"
  6383                    Interface:
  6384                      Types:
  6385                        - "docker.volumedriver/1.0"
  6386                      Socket: "plugins.sock"
  6387                    Entrypoint:
  6388                      - "/usr/bin/sample-volume-plugin"
  6389                      - "/data"
  6390                    WorkDir: ""
  6391                    User: {}
  6392                    Network:
  6393                      Type: ""
  6394                    Linux:
  6395                      Capabilities: null
  6396                      AllowAllDevices: false
  6397                      Devices: null
  6398                    Mounts: null
  6399                    PropagatedMount: "/data"
  6400                    Env:
  6401                      - Name: "DEBUG"
  6402                        Description: "If set, prints debug messages"
  6403                        Settable: null
  6404                        Value: "0"
  6405                    Args:
  6406                      Name: "args"
  6407                      Description: "command line arguments"
  6408                      Settable: null
  6409                      Value: []
  6410          500:
  6411            description: "Server error"
  6412            schema:
  6413              $ref: "#/definitions/ErrorResponse"
  6414        tags: ["Plugin"]
  6415  
  6416    /plugins/privileges:
  6417      get:
  6418        summary: "Get plugin privileges"
  6419        operationId: "GetPluginPrivileges"
  6420        responses:
  6421          200:
  6422            description: "no error"
  6423            schema:
  6424              type: "array"
  6425              items:
  6426                description: "Describes a permission the user has to accept upon installing the plugin."
  6427                type: "object"
  6428                properties:
  6429                  Name:
  6430                    type: "string"
  6431                  Description:
  6432                    type: "string"
  6433                  Value:
  6434                    type: "array"
  6435                    items:
  6436                      type: "string"
  6437              example:
  6438                - Name: "network"
  6439                  Description: ""
  6440                  Value:
  6441                    - "host"
  6442                - Name: "mount"
  6443                  Description: ""
  6444                  Value:
  6445                    - "/data"
  6446                - Name: "device"
  6447                  Description: ""
  6448                  Value:
  6449                    - "/dev/cpu_dma_latency"
  6450          500:
  6451            description: "server error"
  6452            schema:
  6453              $ref: "#/definitions/ErrorResponse"
  6454        parameters:
  6455          - name: "name"
  6456            in: "query"
  6457            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  6458            required: true
  6459            type: "string"
  6460        tags:
  6461          - "Plugin"
  6462  
  6463    /plugins/pull:
  6464      post:
  6465        summary: "Install a plugin"
  6466        operationId: "PluginPull"
  6467        description: |
  6468          Pulls and installs a plugin. After the plugin is installed, it can be enabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable).
  6469        produces:
  6470          - "application/json"
  6471        responses:
  6472          204:
  6473            description: "no error"
  6474          500:
  6475            description: "server error"
  6476            schema:
  6477              $ref: "#/definitions/ErrorResponse"
  6478        parameters:
  6479          - name: "remote"
  6480            in: "query"
  6481            description: |
  6482              Remote reference for plugin to install.
  6483  
  6484              The `:latest` tag is optional, and is used as the default if omitted.
  6485            required: true
  6486            type: "string"
  6487          - name: "name"
  6488            in: "query"
  6489            description: |
  6490              Local name for the pulled plugin.
  6491  
  6492              The `:latest` tag is optional, and is used as the default if omitted.
  6493            required: false
  6494            type: "string"
  6495          - name: "X-Registry-Auth"
  6496            in: "header"
  6497            description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
  6498            type: "string"
  6499          - name: "body"
  6500            in: "body"
  6501            schema:
  6502              type: "array"
  6503              items:
  6504                description: "Describes a permission accepted by the user upon installing the plugin."
  6505                type: "object"
  6506                properties:
  6507                  Name:
  6508                    type: "string"
  6509                  Description:
  6510                    type: "string"
  6511                  Value:
  6512                    type: "array"
  6513                    items:
  6514                      type: "string"
  6515              example:
  6516                - Name: "network"
  6517                  Description: ""
  6518                  Value:
  6519                    - "host"
  6520                - Name: "mount"
  6521                  Description: ""
  6522                  Value:
  6523                    - "/data"
  6524                - Name: "device"
  6525                  Description: ""
  6526                  Value:
  6527                    - "/dev/cpu_dma_latency"
  6528        tags: ["Plugin"]
  6529    /plugins/{name}/json:
  6530      get:
  6531        summary: "Inspect a plugin"
  6532        operationId: "PluginInspect"
  6533        responses:
  6534          200:
  6535            description: "no error"
  6536            schema:
  6537              $ref: "#/definitions/Plugin"
  6538          404:
  6539            description: "plugin is not installed"
  6540            schema:
  6541              $ref: "#/definitions/ErrorResponse"
  6542          500:
  6543            description: "server error"
  6544            schema:
  6545              $ref: "#/definitions/ErrorResponse"
  6546        parameters:
  6547          - name: "name"
  6548            in: "path"
  6549            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  6550            required: true
  6551            type: "string"
  6552        tags: ["Plugin"]
  6553    /plugins/{name}:
  6554      delete:
  6555        summary: "Remove a plugin"
  6556        operationId: "PluginDelete"
  6557        responses:
  6558          200:
  6559            description: "no error"
  6560            schema:
  6561              $ref: "#/definitions/Plugin"
  6562          404:
  6563            description: "plugin is not installed"
  6564            schema:
  6565              $ref: "#/definitions/ErrorResponse"
  6566          500:
  6567            description: "server error"
  6568            schema:
  6569              $ref: "#/definitions/ErrorResponse"
  6570        parameters:
  6571          - name: "name"
  6572            in: "path"
  6573            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  6574            required: true
  6575            type: "string"
  6576          - name: "force"
  6577            in: "query"
  6578            description: "Disable the plugin before removing. This may result in issues if the plugin is in use by a container."
  6579            type: "boolean"
  6580            default: false
  6581        tags: ["Plugin"]
  6582    /plugins/{name}/enable:
  6583      post:
  6584        summary: "Enable a plugin"
  6585        operationId: "PluginEnable"
  6586        responses:
  6587          200:
  6588            description: "no error"
  6589          500:
  6590            description: "server error"
  6591            schema:
  6592              $ref: "#/definitions/ErrorResponse"
  6593        parameters:
  6594          - name: "name"
  6595            in: "path"
  6596            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  6597            required: true
  6598            type: "string"
  6599          - name: "timeout"
  6600            in: "query"
  6601            description: "Set the HTTP client timeout (in seconds)"
  6602            type: "integer"
  6603            default: 0
  6604        tags: ["Plugin"]
  6605    /plugins/{name}/disable:
  6606      post:
  6607        summary: "Disable a plugin"
  6608        operationId: "PluginDisable"
  6609        responses:
  6610          200:
  6611            description: "no error"
  6612          500:
  6613            description: "server error"
  6614            schema:
  6615              $ref: "#/definitions/ErrorResponse"
  6616        parameters:
  6617          - name: "name"
  6618            in: "path"
  6619            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  6620            required: true
  6621            type: "string"
  6622        tags: ["Plugin"]
  6623    /plugins/{name}/upgrade:
  6624      post:
  6625        summary: "Upgrade a plugin"
  6626        operationId: "PluginUpgrade"
  6627        responses:
  6628          204:
  6629            description: "no error"
  6630          404:
  6631            description: "plugin not installed"
  6632            schema:
  6633              $ref: "#/definitions/ErrorResponse"
  6634          500:
  6635            description: "server error"
  6636            schema:
  6637              $ref: "#/definitions/ErrorResponse"
  6638        parameters:
  6639          - name: "name"
  6640            in: "path"
  6641            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  6642            required: true
  6643            type: "string"
  6644          - name: "remote"
  6645            in: "query"
  6646            description: |
  6647              Remote reference to upgrade to.
  6648  
  6649              The `:latest` tag is optional, and is used as the default if omitted.
  6650            required: true
  6651            type: "string"
  6652          - name: "X-Registry-Auth"
  6653            in: "header"
  6654            description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
  6655            type: "string"
  6656          - name: "body"
  6657            in: "body"
  6658            schema:
  6659              type: "array"
  6660              items:
  6661                description: "Describes a permission accepted by the user upon installing the plugin."
  6662                type: "object"
  6663                properties:
  6664                  Name:
  6665                    type: "string"
  6666                  Description:
  6667                    type: "string"
  6668                  Value:
  6669                    type: "array"
  6670                    items:
  6671                      type: "string"
  6672              example:
  6673                - Name: "network"
  6674                  Description: ""
  6675                  Value:
  6676                    - "host"
  6677                - Name: "mount"
  6678                  Description: ""
  6679                  Value:
  6680                    - "/data"
  6681                - Name: "device"
  6682                  Description: ""
  6683                  Value:
  6684                    - "/dev/cpu_dma_latency"
  6685        tags: ["Plugin"]
  6686    /plugins/create:
  6687      post:
  6688        summary: "Create a plugin"
  6689        operationId: "PluginCreate"
  6690        consumes:
  6691          - "application/x-tar"
  6692        responses:
  6693          204:
  6694            description: "no error"
  6695          500:
  6696            description: "server error"
  6697            schema:
  6698              $ref: "#/definitions/ErrorResponse"
  6699        parameters:
  6700          - name: "name"
  6701            in: "query"
  6702            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  6703            required: true
  6704            type: "string"
  6705          - name: "tarContext"
  6706            in: "body"
  6707            description: "Path to tar containing plugin rootfs and manifest"
  6708            schema:
  6709              type: "string"
  6710              format: "binary"
  6711        tags: ["Plugin"]
  6712    /plugins/{name}/push:
  6713      post:
  6714        summary: "Push a plugin"
  6715        operationId: "PluginPush"
  6716        description: |
  6717          Push a plugin to the registry.
  6718        parameters:
  6719          - name: "name"
  6720            in: "path"
  6721            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  6722            required: true
  6723            type: "string"
  6724        responses:
  6725          200:
  6726            description: "no error"
  6727          404:
  6728            description: "plugin not installed"
  6729            schema:
  6730              $ref: "#/definitions/ErrorResponse"
  6731          500:
  6732            description: "server error"
  6733            schema:
  6734              $ref: "#/definitions/ErrorResponse"
  6735        tags: ["Plugin"]
  6736    /plugins/{name}/set:
  6737      post:
  6738        summary: "Configure a plugin"
  6739        operationId: "PluginSet"
  6740        consumes:
  6741          - "application/json"
  6742        parameters:
  6743          - name: "name"
  6744            in: "path"
  6745            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  6746            required: true
  6747            type: "string"
  6748          - name: "body"
  6749            in: "body"
  6750            schema:
  6751              type: "array"
  6752              items:
  6753                type: "string"
  6754              example: ["DEBUG=1"]
  6755        responses:
  6756          204:
  6757            description: "No error"
  6758          404:
  6759            description: "Plugin not installed"
  6760            schema:
  6761              $ref: "#/definitions/ErrorResponse"
  6762          500:
  6763            description: "Server error"
  6764            schema:
  6765              $ref: "#/definitions/ErrorResponse"
  6766        tags: ["Plugin"]
  6767    /nodes:
  6768      get:
  6769        summary: "List nodes"
  6770        operationId: "NodeList"
  6771        responses:
  6772          200:
  6773            description: "no error"
  6774            schema:
  6775              type: "array"
  6776              items:
  6777                $ref: "#/definitions/Node"
  6778          500:
  6779            description: "server error"
  6780            schema:
  6781              $ref: "#/definitions/ErrorResponse"
  6782        parameters:
  6783          - name: "filters"
  6784            in: "query"
  6785            description: |
  6786              Filters to process on the nodes list, encoded as JSON (a `map[string][]string`).
  6787  
  6788              Available filters:
  6789              - `id=<node id>`
  6790              - `label=<engine label>`
  6791              - `membership=`(`accepted`|`pending`)`
  6792              - `name=<node name>`
  6793              - `role=`(`manager`|`worker`)`
  6794            type: "string"
  6795        tags: ["Node"]
  6796    /nodes/{id}:
  6797      get:
  6798        summary: "Inspect a node"
  6799        operationId: "NodeInspect"
  6800        responses:
  6801          200:
  6802            description: "no error"
  6803            schema:
  6804              $ref: "#/definitions/Node"
  6805          404:
  6806            description: "no such node"
  6807            schema:
  6808              $ref: "#/definitions/ErrorResponse"
  6809          500:
  6810            description: "server error"
  6811            schema:
  6812              $ref: "#/definitions/ErrorResponse"
  6813        parameters:
  6814          - name: "id"
  6815            in: "path"
  6816            description: "The ID or name of the node"
  6817            type: "string"
  6818            required: true
  6819        tags: ["Node"]
  6820      delete:
  6821        summary: "Delete a node"
  6822        operationId: "NodeDelete"
  6823        responses:
  6824          200:
  6825            description: "no error"
  6826          404:
  6827            description: "no such node"
  6828            schema:
  6829              $ref: "#/definitions/ErrorResponse"
  6830          500:
  6831            description: "server error"
  6832            schema:
  6833              $ref: "#/definitions/ErrorResponse"
  6834        parameters:
  6835          - name: "id"
  6836            in: "path"
  6837            description: "The ID or name of the node"
  6838            type: "string"
  6839            required: true
  6840          - name: "force"
  6841            in: "query"
  6842            description: "Force remove a node from the swarm"
  6843            default: false
  6844            type: "boolean"
  6845        tags: ["Node"]
  6846    /nodes/{id}/update:
  6847      post:
  6848        summary: "Update a node"
  6849        operationId: "NodeUpdate"
  6850        responses:
  6851          200:
  6852            description: "no error"
  6853          404:
  6854            description: "no such node"
  6855            schema:
  6856              $ref: "#/definitions/ErrorResponse"
  6857          500:
  6858            description: "server error"
  6859            schema:
  6860              $ref: "#/definitions/ErrorResponse"
  6861        parameters:
  6862          - name: "id"
  6863            in: "path"
  6864            description: "The ID of the node"
  6865            type: "string"
  6866            required: true
  6867          - name: "body"
  6868            in: "body"
  6869            schema:
  6870              $ref: "#/definitions/NodeSpec"
  6871          - name: "version"
  6872            in: "query"
  6873            description: "The version number of the node object being updated. This is required to avoid conflicting writes."
  6874            type: "integer"
  6875            format: "int64"
  6876            required: true
  6877        tags: ["Node"]
  6878    /swarm:
  6879      get:
  6880        summary: "Inspect swarm"
  6881        operationId: "SwarmInspect"
  6882        responses:
  6883          200:
  6884            description: "no error"
  6885            schema:
  6886              allOf:
  6887                - $ref: "#/definitions/ClusterInfo"
  6888                - type: "object"
  6889                  properties:
  6890                    JoinTokens:
  6891                      description: "The tokens workers and managers need to join the swarm."
  6892                      type: "object"
  6893                      properties:
  6894                        Worker:
  6895                          description: "The token workers can use to join the swarm."
  6896                          type: "string"
  6897                        Manager:
  6898                          description: "The token managers can use to join the swarm."
  6899                          type: "string"
  6900              example:
  6901                CreatedAt: "2016-08-15T16:00:20.349727406Z"
  6902                Spec:
  6903                  Dispatcher:
  6904                    HeartbeatPeriod: 5000000000
  6905                  Orchestration:
  6906                    TaskHistoryRetentionLimit: 10
  6907                  CAConfig:
  6908                    NodeCertExpiry: 7776000000000000
  6909                  Raft:
  6910                    LogEntriesForSlowFollowers: 500
  6911                    HeartbeatTick: 1
  6912                    SnapshotInterval: 10000
  6913                    ElectionTick: 3
  6914                  TaskDefaults: {}
  6915                  EncryptionConfig:
  6916                    AutoLockManagers: false
  6917                  Name: "default"
  6918                JoinTokens:
  6919                  Worker: "SWMTKN-1-1h8aps2yszaiqmz2l3oc5392pgk8e49qhx2aj3nyv0ui0hez2a-6qmn92w6bu3jdvnglku58u11a"
  6920                  Manager: "SWMTKN-1-1h8aps2yszaiqmz2l3oc5392pgk8e49qhx2aj3nyv0ui0hez2a-8llk83c4wm9lwioey2s316r9l"
  6921                ID: "70ilmkj2f6sp2137c753w2nmt"
  6922                UpdatedAt: "2016-08-15T16:32:09.623207604Z"
  6923                Version:
  6924                  Index: 51
  6925          500:
  6926            description: "server error"
  6927            schema:
  6928              $ref: "#/definitions/ErrorResponse"
  6929        tags: ["Swarm"]
  6930    /swarm/init:
  6931      post:
  6932        summary: "Initialize a new swarm"
  6933        operationId: "SwarmInit"
  6934        produces:
  6935          - "application/json"
  6936          - "text/plain"
  6937        responses:
  6938          200:
  6939            description: "no error"
  6940            schema:
  6941              description: "The node ID"
  6942              type: "string"
  6943              example: "7v2t30z9blmxuhnyo6s4cpenp"
  6944          400:
  6945            description: "bad parameter"
  6946            schema:
  6947              $ref: "#/definitions/ErrorResponse"
  6948          406:
  6949            description: "node is already part of a swarm"
  6950            schema:
  6951              $ref: "#/definitions/ErrorResponse"
  6952          500:
  6953            description: "server error"
  6954            schema:
  6955              $ref: "#/definitions/ErrorResponse"
  6956        parameters:
  6957          - name: "body"
  6958            in: "body"
  6959            required: true
  6960            schema:
  6961              type: "object"
  6962              properties:
  6963                ListenAddr:
  6964                  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."
  6965                  type: "string"
  6966                AdvertiseAddr:
  6967                  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."
  6968                  type: "string"
  6969                ForceNewCluster:
  6970                  description: "Force creation of a new swarm."
  6971                  type: "boolean"
  6972                Spec:
  6973                  $ref: "#/definitions/SwarmSpec"
  6974              example:
  6975                ListenAddr: "0.0.0.0:2377"
  6976                AdvertiseAddr: "192.168.1.1:2377"
  6977                ForceNewCluster: false
  6978                Spec:
  6979                  Orchestration: {}
  6980                  Raft: {}
  6981                  Dispatcher: {}
  6982                  CAConfig: {}
  6983                  EncryptionConfig:
  6984                    AutoLockManagers: false
  6985        tags: ["Swarm"]
  6986    /swarm/join:
  6987      post:
  6988        summary: "Join an existing swarm"
  6989        operationId: "SwarmJoin"
  6990        responses:
  6991          200:
  6992            description: "no error"
  6993          400:
  6994            description: "bad parameter"
  6995            schema:
  6996              $ref: "#/definitions/ErrorResponse"
  6997          500:
  6998            description: "server error"
  6999            schema:
  7000              $ref: "#/definitions/ErrorResponse"
  7001          503:
  7002            description: "node is already part of a swarm"
  7003            schema:
  7004              $ref: "#/definitions/ErrorResponse"
  7005        parameters:
  7006          - name: "body"
  7007            in: "body"
  7008            required: true
  7009            schema:
  7010              type: "object"
  7011              properties:
  7012                ListenAddr:
  7013                  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)."
  7014                  type: "string"
  7015                AdvertiseAddr:
  7016                  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."
  7017                  type: "string"
  7018                RemoteAddrs:
  7019                  description: "Addresses of manager nodes already participating in the swarm."
  7020                  type: "string"
  7021                JoinToken:
  7022                  description: "Secret token for joining this swarm."
  7023                  type: "string"
  7024              example:
  7025                ListenAddr: "0.0.0.0:2377"
  7026                AdvertiseAddr: "192.168.1.1:2377"
  7027                RemoteAddrs:
  7028                  - "node1:2377"
  7029                JoinToken: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2"
  7030        tags: ["Swarm"]
  7031    /swarm/leave:
  7032      post:
  7033        summary: "Leave a swarm"
  7034        operationId: "SwarmLeave"
  7035        responses:
  7036          200:
  7037            description: "no error"
  7038          500:
  7039            description: "server error"
  7040            schema:
  7041              $ref: "#/definitions/ErrorResponse"
  7042          503:
  7043            description: "node is not part of a swarm"
  7044            schema:
  7045              $ref: "#/definitions/ErrorResponse"
  7046        parameters:
  7047          - name: "force"
  7048            description: "Force leave swarm, even if this is the last manager or that it will break the cluster."
  7049            in: "query"
  7050            type: "boolean"
  7051            default: false
  7052        tags: ["Swarm"]
  7053    /swarm/update:
  7054      post:
  7055        summary: "Update a swarm"
  7056        operationId: "SwarmUpdate"
  7057        responses:
  7058          200:
  7059            description: "no error"
  7060          400:
  7061            description: "bad parameter"
  7062            schema:
  7063              $ref: "#/definitions/ErrorResponse"
  7064          500:
  7065            description: "server error"
  7066            schema:
  7067              $ref: "#/definitions/ErrorResponse"
  7068          503:
  7069            description: "node is not part of a swarm"
  7070            schema:
  7071              $ref: "#/definitions/ErrorResponse"
  7072        parameters:
  7073          - name: "body"
  7074            in: "body"
  7075            required: true
  7076            schema:
  7077              $ref: "#/definitions/SwarmSpec"
  7078          - name: "version"
  7079            in: "query"
  7080            description: "The version number of the swarm object being updated. This is required to avoid conflicting writes."
  7081            type: "integer"
  7082            format: "int64"
  7083            required: true
  7084          - name: "rotateWorkerToken"
  7085            in: "query"
  7086            description: "Rotate the worker join token."
  7087            type: "boolean"
  7088            default: false
  7089          - name: "rotateManagerToken"
  7090            in: "query"
  7091            description: "Rotate the manager join token."
  7092            type: "boolean"
  7093            default: false
  7094          - name: "rotateManagerUnlockKey"
  7095            in: "query"
  7096            description: "Rotate the manager unlock key."
  7097            type: "boolean"
  7098            default: false
  7099        tags: ["Swarm"]
  7100    /swarm/unlockkey:
  7101      get:
  7102        summary: "Get the unlock key"
  7103        operationId: "SwarmUnlockkey"
  7104        consumes:
  7105          - "application/json"
  7106        responses:
  7107          200:
  7108            description: "no error"
  7109            schema:
  7110              type: "object"
  7111              properties:
  7112                UnlockKey:
  7113                  description: "The swarm's unlock key."
  7114                  type: "string"
  7115              example:
  7116                UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8"
  7117          500:
  7118            description: "server error"
  7119            schema:
  7120              $ref: "#/definitions/ErrorResponse"
  7121        tags: ["Swarm"]
  7122    /swarm/unlock:
  7123      post:
  7124        summary: "Unlock a locked manager"
  7125        operationId: "SwarmUnlock"
  7126        consumes:
  7127          - "application/json"
  7128        produces:
  7129          - "application/json"
  7130        parameters:
  7131          - name: "body"
  7132            in: "body"
  7133            required: true
  7134            schema:
  7135              type: "object"
  7136              properties:
  7137                UnlockKey:
  7138                  description: "The swarm's unlock key."
  7139                  type: "string"
  7140              example:
  7141                UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8"
  7142        responses:
  7143          200:
  7144            description: "no error"
  7145          500:
  7146            description: "server error"
  7147            schema:
  7148              $ref: "#/definitions/ErrorResponse"
  7149        tags: ["Swarm"]
  7150    /services:
  7151      get:
  7152        summary: "List services"
  7153        operationId: "ServiceList"
  7154        responses:
  7155          200:
  7156            description: "no error"
  7157            schema:
  7158              type: "array"
  7159              items:
  7160                $ref: "#/definitions/Service"
  7161          500:
  7162            description: "server error"
  7163            schema:
  7164              $ref: "#/definitions/ErrorResponse"
  7165        parameters:
  7166          - name: "filters"
  7167            in: "query"
  7168            type: "string"
  7169            description: |
  7170              A JSON encoded value of the filters (a `map[string][]string`) to process on the services list. Available filters:
  7171  
  7172              - `id=<service id>`
  7173              - `name=<service name>`
  7174              - `label=<service label>`
  7175        tags: ["Service"]
  7176    /services/create:
  7177      post:
  7178        summary: "Create a service"
  7179        operationId: "ServiceCreate"
  7180        consumes:
  7181          - "application/json"
  7182        produces:
  7183          - "application/json"
  7184        responses:
  7185          201:
  7186            description: "no error"
  7187            schema:
  7188              type: "object"
  7189              properties:
  7190                ID:
  7191                  description: "The ID of the created service."
  7192                  type: "string"
  7193                Warning:
  7194                  description: "Optional warning message"
  7195                  type: "string"
  7196              example:
  7197                ID: "ak7w3gjqoa3kuz8xcpnyy0pvl"
  7198                Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found"
  7199          403:
  7200            description: "network is not eligible for services"
  7201            schema:
  7202              $ref: "#/definitions/ErrorResponse"
  7203          409:
  7204            description: "name conflicts with an existing service"
  7205            schema:
  7206              $ref: "#/definitions/ErrorResponse"
  7207          500:
  7208            description: "server error"
  7209            schema:
  7210              $ref: "#/definitions/ErrorResponse"
  7211          503:
  7212            description: "server error or node is not part of a swarm"
  7213            schema:
  7214              $ref: "#/definitions/ErrorResponse"
  7215        parameters:
  7216          - name: "body"
  7217            in: "body"
  7218            required: true
  7219            schema:
  7220              allOf:
  7221                - $ref: "#/definitions/ServiceSpec"
  7222                - type: "object"
  7223                  example:
  7224                    Name: "web"
  7225                    TaskTemplate:
  7226                      ContainerSpec:
  7227                        Image: "nginx:alpine"
  7228                        Mounts:
  7229                          -
  7230                            ReadOnly: true
  7231                            Source: "web-data"
  7232                            Target: "/usr/share/nginx/html"
  7233                            Type: "volume"
  7234                            VolumeOptions:
  7235                              DriverConfig: {}
  7236                              Labels:
  7237                                com.example.something: "something-value"
  7238                        User: "33"
  7239                        DNSConfig:
  7240                          Nameservers: ["8.8.8.8"]
  7241                          Search: ["example.org"]
  7242                          Options: ["timeout:3"]
  7243                      LogDriver:
  7244                        Name: "json-file"
  7245                        Options:
  7246                          max-file: "3"
  7247                          max-size: "10M"
  7248                      Placement: {}
  7249                      Resources:
  7250                        Limits:
  7251                          MemoryBytes: 104857600
  7252                        Reservations: {}
  7253                      RestartPolicy:
  7254                        Condition: "on-failure"
  7255                        Delay: 10000000000
  7256                        MaxAttempts: 10
  7257                    Mode:
  7258                      Replicated:
  7259                        Replicas: 4
  7260                    UpdateConfig:
  7261                      Delay: 30000000000
  7262                      Parallelism: 2
  7263                      FailureAction: "pause"
  7264                    EndpointSpec:
  7265                      Ports:
  7266                        -
  7267                          Protocol: "tcp"
  7268                          PublishedPort: 8080
  7269                          TargetPort: 80
  7270                    Labels:
  7271                      foo: "bar"
  7272          - name: "X-Registry-Auth"
  7273            in: "header"
  7274            description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
  7275            type: "string"
  7276        tags: ["Service"]
  7277    /services/{id}:
  7278      get:
  7279        summary: "Inspect a service"
  7280        operationId: "ServiceInspect"
  7281        responses:
  7282          200:
  7283            description: "no error"
  7284            schema:
  7285              $ref: "#/definitions/Service"
  7286          404:
  7287            description: "no such service"
  7288            schema:
  7289              $ref: "#/definitions/ErrorResponse"
  7290          500:
  7291            description: "server error"
  7292            schema:
  7293              $ref: "#/definitions/ErrorResponse"
  7294        parameters:
  7295          - name: "id"
  7296            in: "path"
  7297            description: "ID or name of service."
  7298            required: true
  7299            type: "string"
  7300        tags: ["Service"]
  7301      delete:
  7302        summary: "Delete a service"
  7303        operationId: "ServiceDelete"
  7304        responses:
  7305          200:
  7306            description: "no error"
  7307          404:
  7308            description: "no such service"
  7309            schema:
  7310              $ref: "#/definitions/ErrorResponse"
  7311          500:
  7312            description: "server error"
  7313            schema:
  7314              $ref: "#/definitions/ErrorResponse"
  7315        parameters:
  7316          - name: "id"
  7317            in: "path"
  7318            description: "ID or name of service."
  7319            required: true
  7320            type: "string"
  7321        tags: ["Service"]
  7322    /services/{id}/update:
  7323      post:
  7324        summary: "Update a service"
  7325        operationId: "ServiceUpdate"
  7326        consumes: ["application/json"]
  7327        produces: ["application/json"]
  7328        responses:
  7329          200:
  7330            description: "no error"
  7331            schema:
  7332              $ref: "#/definitions/ImageDeleteResponse"
  7333          404:
  7334            description: "no such service"
  7335            schema:
  7336              $ref: "#/definitions/ErrorResponse"
  7337          500:
  7338            description: "server error"
  7339            schema:
  7340              $ref: "#/definitions/ErrorResponse"
  7341        parameters:
  7342          - name: "id"
  7343            in: "path"
  7344            description: "ID or name of service."
  7345            required: true
  7346            type: "string"
  7347          - name: "body"
  7348            in: "body"
  7349            required: true
  7350            schema:
  7351              allOf:
  7352                - $ref: "#/definitions/ServiceSpec"
  7353                - type: "object"
  7354                  example:
  7355                    Name: "top"
  7356                    TaskTemplate:
  7357                      ContainerSpec:
  7358                        Image: "busybox"
  7359                        Args:
  7360                          - "top"
  7361                      Resources:
  7362                        Limits: {}
  7363                        Reservations: {}
  7364                      RestartPolicy:
  7365                        Condition: "any"
  7366                        MaxAttempts: 0
  7367                      Placement: {}
  7368                      ForceUpdate: 0
  7369                    Mode:
  7370                      Replicated:
  7371                        Replicas: 1
  7372                    UpdateConfig:
  7373                      Parallelism: 1
  7374                      Monitor: 15000000000
  7375                      MaxFailureRatio: 0.15
  7376                    EndpointSpec:
  7377                      Mode: "vip"
  7378  
  7379          - name: "version"
  7380            in: "query"
  7381            description: "The version number of the service object being updated. This is required to avoid conflicting writes."
  7382            required: true
  7383            type: "integer"
  7384          - name: "registryAuthFrom"
  7385            in: "query"
  7386            type: "string"
  7387            description: "If the X-Registry-Auth header is not specified, this
  7388    parameter indicates where to find registry authorization credentials. The
  7389    valid values are `spec` and `previous-spec`."
  7390            default: "spec"
  7391          - name: "X-Registry-Auth"
  7392            in: "header"
  7393            description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
  7394            type: "string"
  7395  
  7396        tags: ["Service"]
  7397    /services/{id}/logs:
  7398      get:
  7399        summary: "Get service logs"
  7400        description: |
  7401          Get `stdout` and `stderr` logs from a service.
  7402  
  7403          **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers.
  7404        operationId: "ServiceLogs"
  7405        produces:
  7406          - "application/vnd.docker.raw-stream"
  7407          - "application/json"
  7408        responses:
  7409          101:
  7410            description: "logs returned as a stream"
  7411            schema:
  7412              type: "string"
  7413              format: "binary"
  7414          200:
  7415            description: "logs returned as a string in response body"
  7416            schema:
  7417              type: "string"
  7418          404:
  7419            description: "no such container"
  7420            schema:
  7421              $ref: "#/definitions/ErrorResponse"
  7422            examples:
  7423              application/json:
  7424                message: "No such container: c2ada9df5af8"
  7425          500:
  7426            description: "server error"
  7427            schema:
  7428              $ref: "#/definitions/ErrorResponse"
  7429        parameters:
  7430          - name: "id"
  7431            in: "path"
  7432            required: true
  7433            description: "ID or name of the container"
  7434            type: "string"
  7435          - name: "details"
  7436            in: "query"
  7437            description: "Show extra details provided to logs."
  7438            type: "boolean"
  7439            default: false
  7440          - name: "follow"
  7441            in: "query"
  7442            description: |
  7443              Return the logs as a stream.
  7444  
  7445              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).
  7446            type: "boolean"
  7447            default: false
  7448          - name: "stdout"
  7449            in: "query"
  7450            description: "Return logs from `stdout`"
  7451            type: "boolean"
  7452            default: false
  7453          - name: "stderr"
  7454            in: "query"
  7455            description: "Return logs from `stderr`"
  7456            type: "boolean"
  7457            default: false
  7458          - name: "since"
  7459            in: "query"
  7460            description: "Only return logs since this time, as a UNIX timestamp"
  7461            type: "integer"
  7462            default: 0
  7463          - name: "timestamps"
  7464            in: "query"
  7465            description: "Add timestamps to every log line"
  7466            type: "boolean"
  7467            default: false
  7468          - name: "tail"
  7469            in: "query"
  7470            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."
  7471            type: "string"
  7472            default: "all"
  7473        tags: ["Service"]
  7474    /tasks:
  7475      get:
  7476        summary: "List tasks"
  7477        operationId: "TaskList"
  7478        produces:
  7479          - "application/json"
  7480        responses:
  7481          200:
  7482            description: "no error"
  7483            schema:
  7484              type: "array"
  7485              items:
  7486                $ref: "#/definitions/Task"
  7487              example:
  7488                - ID: "0kzzo1i0y4jz6027t0k7aezc7"
  7489                  Version:
  7490                    Index: 71
  7491                  CreatedAt: "2016-06-07T21:07:31.171892745Z"
  7492                  UpdatedAt: "2016-06-07T21:07:31.376370513Z"
  7493                  Spec:
  7494                    ContainerSpec:
  7495                      Image: "redis"
  7496                    Resources:
  7497                      Limits: {}
  7498                      Reservations: {}
  7499                    RestartPolicy:
  7500                      Condition: "any"
  7501                      MaxAttempts: 0
  7502                    Placement: {}
  7503                  ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz"
  7504                  Slot: 1
  7505                  NodeID: "60gvrl6tm78dmak4yl7srz94v"
  7506                  Status:
  7507                    Timestamp: "2016-06-07T21:07:31.290032978Z"
  7508                    State: "running"
  7509                    Message: "started"
  7510                    ContainerStatus:
  7511                      ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035"
  7512                      PID: 677
  7513                  DesiredState: "running"
  7514                  NetworksAttachments:
  7515                    - Network:
  7516                        ID: "4qvuz4ko70xaltuqbt8956gd1"
  7517                        Version:
  7518                          Index: 18
  7519                        CreatedAt: "2016-06-07T20:31:11.912919752Z"
  7520                        UpdatedAt: "2016-06-07T21:07:29.955277358Z"
  7521                        Spec:
  7522                          Name: "ingress"
  7523                          Labels:
  7524                            com.docker.swarm.internal: "true"
  7525                          DriverConfiguration: {}
  7526                          IPAMOptions:
  7527                            Driver: {}
  7528                            Configs:
  7529                              - Subnet: "10.255.0.0/16"
  7530                                Gateway: "10.255.0.1"
  7531                        DriverState:
  7532                          Name: "overlay"
  7533                          Options:
  7534                            com.docker.network.driver.overlay.vxlanid_list: "256"
  7535                        IPAMOptions:
  7536                          Driver:
  7537                            Name: "default"
  7538                          Configs:
  7539                            - Subnet: "10.255.0.0/16"
  7540                              Gateway: "10.255.0.1"
  7541                      Addresses:
  7542                        - "10.255.0.10/16"
  7543                - ID: "1yljwbmlr8er2waf8orvqpwms"
  7544                  Version:
  7545                    Index: 30
  7546                  CreatedAt: "2016-06-07T21:07:30.019104782Z"
  7547                  UpdatedAt: "2016-06-07T21:07:30.231958098Z"
  7548                  Name: "hopeful_cori"
  7549                  Spec:
  7550                    ContainerSpec:
  7551                      Image: "redis"
  7552                    Resources:
  7553                      Limits: {}
  7554                      Reservations: {}
  7555                    RestartPolicy:
  7556                      Condition: "any"
  7557                      MaxAttempts: 0
  7558                    Placement: {}
  7559                  ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz"
  7560                  Slot: 1
  7561                  NodeID: "60gvrl6tm78dmak4yl7srz94v"
  7562                  Status:
  7563                    Timestamp: "2016-06-07T21:07:30.202183143Z"
  7564                    State: "shutdown"
  7565                    Message: "shutdown"
  7566                    ContainerStatus:
  7567                      ContainerID: "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213"
  7568                  DesiredState: "shutdown"
  7569                  NetworksAttachments:
  7570                    - Network:
  7571                        ID: "4qvuz4ko70xaltuqbt8956gd1"
  7572                        Version:
  7573                          Index: 18
  7574                        CreatedAt: "2016-06-07T20:31:11.912919752Z"
  7575                        UpdatedAt: "2016-06-07T21:07:29.955277358Z"
  7576                        Spec:
  7577                          Name: "ingress"
  7578                          Labels:
  7579                            com.docker.swarm.internal: "true"
  7580                          DriverConfiguration: {}
  7581                          IPAMOptions:
  7582                            Driver: {}
  7583                            Configs:
  7584                              - Subnet: "10.255.0.0/16"
  7585                                Gateway: "10.255.0.1"
  7586                        DriverState:
  7587                          Name: "overlay"
  7588                          Options:
  7589                            com.docker.network.driver.overlay.vxlanid_list: "256"
  7590                        IPAMOptions:
  7591                          Driver:
  7592                            Name: "default"
  7593                          Configs:
  7594                            - Subnet: "10.255.0.0/16"
  7595                              Gateway: "10.255.0.1"
  7596                      Addresses:
  7597                        - "10.255.0.5/16"
  7598  
  7599          500:
  7600            description: "server error"
  7601            schema:
  7602              $ref: "#/definitions/ErrorResponse"
  7603        parameters:
  7604          - name: "filters"
  7605            in: "query"
  7606            type: "string"
  7607            description: |
  7608              A JSON encoded value of the filters (a `map[string][]string`) to process on the tasks list. Available filters:
  7609  
  7610              - `id=<task id>`
  7611              - `name=<task name>`
  7612              - `service=<service name>`
  7613              - `node=<node id or name>`
  7614              - `label=key` or `label="key=value"`
  7615              - `desired-state=(running | shutdown | accepted)`
  7616        tags: ["Task"]
  7617    /tasks/{id}:
  7618      get:
  7619        summary: "Inspect a task"
  7620        operationId: "TaskInspect"
  7621        produces:
  7622          - "application/json"
  7623        responses:
  7624          200:
  7625            description: "no error"
  7626            schema:
  7627              $ref: "#/definitions/Task"
  7628          404:
  7629            description: "no such task"
  7630            schema:
  7631              $ref: "#/definitions/ErrorResponse"
  7632          500:
  7633            description: "server error"
  7634            schema:
  7635              $ref: "#/definitions/ErrorResponse"
  7636        parameters:
  7637          - name: "id"
  7638            in: "path"
  7639            description: "ID of the task"
  7640            required: true
  7641            type: "string"
  7642        tags: ["Task"]
  7643    /secrets:
  7644      get:
  7645        summary: "List secrets"
  7646        operationId: "SecretList"
  7647        produces:
  7648          - "application/json"
  7649        responses:
  7650          200:
  7651            description: "no error"
  7652            schema:
  7653              type: "array"
  7654              items:
  7655                $ref: "#/definitions/Secret"
  7656              example:
  7657                - ID: "ktnbjxoalbkvbvedmg1urrz8h"
  7658                  Version:
  7659                    Index: 11
  7660                  CreatedAt: "2016-11-05T01:20:17.327670065Z"
  7661                  UpdatedAt: "2016-11-05T01:20:17.327670065Z"
  7662                  Spec:
  7663                    Name: "app-dev.crt"
  7664          500:
  7665            description: "server error"
  7666            schema:
  7667              $ref: "#/definitions/ErrorResponse"
  7668        parameters:
  7669          - name: "filters"
  7670            in: "query"
  7671            type: "string"
  7672            description: |
  7673              A JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Available filters:
  7674  
  7675              - `names=<secret name>`
  7676        tags: ["Secret"]
  7677    /secrets/create:
  7678      post:
  7679        summary: "Create a secret"
  7680        operationId: "SecretCreate"
  7681        consumes:
  7682          - "application/json"
  7683        produces:
  7684          - "application/json"
  7685        responses:
  7686          201:
  7687            description: "no error"
  7688            schema:
  7689              type: "object"
  7690              properties:
  7691                ID:
  7692                  description: "The ID of the created secret."
  7693                  type: "string"
  7694              example:
  7695                ID: "ktnbjxoalbkvbvedmg1urrz8h"
  7696          406:
  7697            description: "server error or node is not part of a swarm"
  7698            schema:
  7699              $ref: "#/definitions/ErrorResponse"
  7700          409:
  7701            description: "name conflicts with an existing object"
  7702            schema:
  7703              $ref: "#/definitions/ErrorResponse"
  7704          500:
  7705            description: "server error"
  7706            schema:
  7707              $ref: "#/definitions/ErrorResponse"
  7708        parameters:
  7709          - name: "body"
  7710            in: "body"
  7711            schema:
  7712              allOf:
  7713                - $ref: "#/definitions/SecretSpec"
  7714                - type: "object"
  7715                  example:
  7716                    Name: "app-key.crt"
  7717                    Labels:
  7718                      foo: "bar"
  7719                    Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg=="
  7720        tags: ["Secret"]
  7721    /secrets/{id}:
  7722      get:
  7723        summary: "Inspect a secret"
  7724        operationId: "SecretInspect"
  7725        produces:
  7726          - "application/json"
  7727        responses:
  7728          200:
  7729            description: "no error"
  7730            schema:
  7731              $ref: "#/definitions/Secret"
  7732              example:
  7733                ID: "ktnbjxoalbkvbvedmg1urrz8h"
  7734                Version:
  7735                  Index: 11
  7736                CreatedAt: "2016-11-05T01:20:17.327670065Z"
  7737                UpdatedAt: "2016-11-05T01:20:17.327670065Z"
  7738                Spec:
  7739                  Name: "app-dev.crt"
  7740          404:
  7741            description: "secret not found"
  7742            schema:
  7743              $ref: "#/definitions/ErrorResponse"
  7744          406:
  7745            description: "node is not part of a swarm"
  7746            schema:
  7747              $ref: "#/definitions/ErrorResponse"
  7748          500:
  7749            description: "server error"
  7750            schema:
  7751              $ref: "#/definitions/ErrorResponse"
  7752        parameters:
  7753          - name: "id"
  7754            in: "path"
  7755            required: true
  7756            type: "string"
  7757            description: "ID of the secret"
  7758        tags: ["Secret"]
  7759      delete:
  7760        summary: "Delete a secret"
  7761        operationId: "SecretDelete"
  7762        produces:
  7763          - "application/json"
  7764        responses:
  7765          204:
  7766            description: "no error"
  7767          404:
  7768            description: "secret not found"
  7769            schema:
  7770              $ref: "#/definitions/ErrorResponse"
  7771          500:
  7772            description: "server error"
  7773            schema:
  7774              $ref: "#/definitions/ErrorResponse"
  7775        parameters:
  7776          - name: "id"
  7777            in: "path"
  7778            required: true
  7779            type: "string"
  7780            description: "ID of the secret"
  7781        tags: ["Secret"]
  7782    /secrets/{id}/update:
  7783      post:
  7784        summary: "Update a Secret"
  7785        operationId: "SecretUpdate"
  7786        responses:
  7787          200:
  7788            description: "no error"
  7789          404:
  7790            description: "no such secret"
  7791            schema:
  7792              $ref: "#/definitions/ErrorResponse"
  7793          500:
  7794            description: "server error"
  7795            schema:
  7796              $ref: "#/definitions/ErrorResponse"
  7797        parameters:
  7798          - name: "id"
  7799            in: "path"
  7800            description: "The ID of the secret"
  7801            type: "string"
  7802            required: true
  7803          - name: "body"
  7804            in: "body"
  7805            schema:
  7806              $ref: "#/definitions/SecretSpec"
  7807            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."
  7808          - name: "version"
  7809            in: "query"
  7810            description: "The version number of the secret object being updated. This is required to avoid conflicting writes."
  7811            type: "integer"
  7812            format: "int64"
  7813            required: true
  7814        tags: ["Secret"]