github.com/demonoid81/moby@v0.0.0-20200517203328-62dd8e17c460/docs/api/v1.33.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.33"
    23  info:
    24    title: "Docker Engine API"
    25    version: "1.33"
    26    x-logo:
    27      url: "https://docs.docker.com/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 17.09, the API version is 1.32. To lock to this version, you prefix the URL with `/v1.32`. For example, calling `/info` is the same as calling `/v1.32/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.33 of the API. Use this table to find documentation for previous versions of the API:
    56  
    57      Docker version  | API version | Changes
    58      ----------------|-------------|---------
    59      17.09.x | [1.31](https://docs.docker.com/engine/api/v1.32/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-32-api-changes)
    60      17.07.x | [1.31](https://docs.docker.com/engine/api/v1.31/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-31-api-changes)
    61      17.06.x | [1.30](https://docs.docker.com/engine/api/v1.30/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-30-api-changes)
    62      17.05.x | [1.29](https://docs.docker.com/engine/api/v1.29/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-29-api-changes)
    63      17.04.x | [1.28](https://docs.docker.com/engine/api/v1.28/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-28-api-changes)
    64      17.03.1 | [1.27](https://docs.docker.com/engine/api/v1.27/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-27-api-changes)
    65      1.13.1 & 17.03.0 | [1.26](https://docs.docker.com/engine/api/v1.26/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-26-api-changes)
    66      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)
    67      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)
    68      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)
    69      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)
    70      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)
    71      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)
    72      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)
    73      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)
    74  
    75      # Authentication
    76  
    77      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:
    78  
    79      ```
    80      {
    81        "username": "string",
    82        "password": "string",
    83        "email": "string",
    84        "serveraddress": "string"
    85      }
    86      ```
    87  
    88      The `serveraddress` is a domain/IP without a protocol. Throughout this structure, double quotes are required.
    89  
    90      If you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth), you can just pass this instead of credentials:
    91  
    92      ```
    93      {
    94        "identitytoken": "9cbaf023786cd7..."
    95      }
    96      ```
    97  
    98  # The tags on paths define the menu sections in the ReDoc documentation, so
    99  # the usage of tags must make sense for that:
   100  # - They should be singular, not plural.
   101  # - There should not be too many tags, or the menu becomes unwieldy. For
   102  #   example, it is preferable to add a path to the "System" tag instead of
   103  #   creating a tag with a single path in it.
   104  # - The order of tags in this list defines the order in the menu.
   105  tags:
   106    # Primary objects
   107    - name: "Container"
   108      x-displayName: "Containers"
   109      description: |
   110        Create and manage containers.
   111    - name: "Image"
   112      x-displayName: "Images"
   113    - name: "Network"
   114      x-displayName: "Networks"
   115      description: |
   116        Networks are user-defined networks that containers can be attached to. See the [networking documentation](https://docs.docker.com/engine/userguide/networking/) for more information.
   117    - name: "Volume"
   118      x-displayName: "Volumes"
   119      description: |
   120        Create and manage persistent storage that can be attached to containers.
   121    - name: "Exec"
   122      x-displayName: "Exec"
   123      description: |
   124        Run new commands inside running containers. See the [command-line reference](https://docs.docker.com/engine/reference/commandline/exec/) for more information.
   125  
   126        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`.
   127    # Swarm things
   128    - name: "Swarm"
   129      x-displayName: "Swarm"
   130      description: |
   131        Engines can be clustered together in a swarm. See [the swarm mode documentation](https://docs.docker.com/engine/swarm/) for more information.
   132    - name: "Node"
   133      x-displayName: "Nodes"
   134      description: |
   135        Nodes are instances of the Engine participating in a swarm. Swarm mode must be enabled for these endpoints to work.
   136    - name: "Service"
   137      x-displayName: "Services"
   138      description: |
   139        Services are the definitions of tasks to run on a swarm. Swarm mode must be enabled for these endpoints to work.
   140    - name: "Task"
   141      x-displayName: "Tasks"
   142      description: |
   143        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.
   144    - name: "Secret"
   145      x-displayName: "Secrets"
   146      description: |
   147        Secrets are sensitive data that can be used by services. Swarm mode must be enabled for these endpoints to work.
   148    - name: "Config"
   149      x-displayName: "Configs"
   150      description: |
   151        Configs are application configurations that can be used by services. Swarm mode must be enabled for these endpoints to work.
   152    # System things
   153    - name: "Plugin"
   154      x-displayName: "Plugins"
   155    - name: "System"
   156      x-displayName: "System"
   157  
   158  definitions:
   159    Port:
   160      type: "object"
   161      description: "An open port on a container"
   162      required: [PrivatePort, Type]
   163      properties:
   164        IP:
   165          type: "string"
   166          format: "ip-address"
   167        PrivatePort:
   168          type: "integer"
   169          format: "uint16"
   170          x-nullable: false
   171          description: "Port on the container"
   172        PublicPort:
   173          type: "integer"
   174          format: "uint16"
   175          description: "Port exposed on the host"
   176        Type:
   177          type: "string"
   178          x-nullable: false
   179          enum: ["tcp", "udp"]
   180      example:
   181        PrivatePort: 8080
   182        PublicPort: 80
   183        Type: "tcp"
   184  
   185    MountPoint:
   186      type: "object"
   187      description: "A mount point inside a container"
   188      properties:
   189        Type:
   190          type: "string"
   191        Name:
   192          type: "string"
   193        Source:
   194          type: "string"
   195        Destination:
   196          type: "string"
   197        Driver:
   198          type: "string"
   199        Mode:
   200          type: "string"
   201        RW:
   202          type: "boolean"
   203        Propagation:
   204          type: "string"
   205  
   206    DeviceMapping:
   207      type: "object"
   208      description: "A device mapping between the host and container"
   209      properties:
   210        PathOnHost:
   211          type: "string"
   212        PathInContainer:
   213          type: "string"
   214        CgroupPermissions:
   215          type: "string"
   216      example:
   217        PathOnHost: "/dev/deviceName"
   218        PathInContainer: "/dev/deviceName"
   219        CgroupPermissions: "mrw"
   220  
   221    ThrottleDevice:
   222      type: "object"
   223      properties:
   224        Path:
   225          description: "Device path"
   226          type: "string"
   227        Rate:
   228          description: "Rate"
   229          type: "integer"
   230          format: "int64"
   231          minimum: 0
   232  
   233    Mount:
   234      type: "object"
   235      properties:
   236        Target:
   237          description: "Container path."
   238          type: "string"
   239        Source:
   240          description: "Mount source (e.g. a volume name, a host path)."
   241          type: "string"
   242        Type:
   243          description: |
   244            The mount type. Available types:
   245  
   246            - `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container.
   247            - `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.
   248            - `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs.
   249          type: "string"
   250          enum:
   251            - "bind"
   252            - "volume"
   253            - "tmpfs"
   254        ReadOnly:
   255          description: "Whether the mount should be read-only."
   256          type: "boolean"
   257        Consistency:
   258          description: "The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`."
   259          type: "string"
   260        BindOptions:
   261          description: "Optional configuration for the `bind` type."
   262          type: "object"
   263          properties:
   264            Propagation:
   265              description: "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`."
   266              enum:
   267                - "private"
   268                - "rprivate"
   269                - "shared"
   270                - "rshared"
   271                - "slave"
   272                - "rslave"
   273        VolumeOptions:
   274          description: "Optional configuration for the `volume` type."
   275          type: "object"
   276          properties:
   277            NoCopy:
   278              description: "Populate volume with data from the target."
   279              type: "boolean"
   280              default: false
   281            Labels:
   282              description: "User-defined key/value metadata."
   283              type: "object"
   284              additionalProperties:
   285                type: "string"
   286            DriverConfig:
   287              description: "Map of driver specific options"
   288              type: "object"
   289              properties:
   290                Name:
   291                  description: "Name of the driver to use to create the volume."
   292                  type: "string"
   293                Options:
   294                  description: "key/value map of driver specific options."
   295                  type: "object"
   296                  additionalProperties:
   297                    type: "string"
   298        TmpfsOptions:
   299          description: "Optional configuration for the `tmpfs` type."
   300          type: "object"
   301          properties:
   302            SizeBytes:
   303              description: "The size for the tmpfs mount in bytes."
   304              type: "integer"
   305              format: "int64"
   306            Mode:
   307              description: "The permission mode for the tmpfs mount in an integer."
   308              type: "integer"
   309  
   310    RestartPolicy:
   311      description: |
   312        The behavior to apply when the container exits. The default is not to restart.
   313  
   314        An ever increasing delay (double the previous delay, starting at 100ms) is added before each restart to prevent flooding the server.
   315      type: "object"
   316      properties:
   317        Name:
   318          type: "string"
   319          description: |
   320            - Empty string means not to restart
   321            - `always` Always restart
   322            - `unless-stopped` Restart always except when the user has manually stopped the container
   323            - `on-failure` Restart only when the container exit code is non-zero
   324          enum:
   325            - ""
   326            - "always"
   327            - "unless-stopped"
   328            - "on-failure"
   329        MaximumRetryCount:
   330          type: "integer"
   331          description: "If `on-failure` is used, the number of times to retry before giving up"
   332  
   333    Resources:
   334      description: "A container's resources (cgroups config, ulimits, etc)"
   335      type: "object"
   336      properties:
   337        # Applicable to all platforms
   338        CpuShares:
   339          description: "An integer value representing this container's relative CPU weight versus other containers."
   340          type: "integer"
   341        Memory:
   342          description: "Memory limit in bytes."
   343          type: "integer"
   344          default: 0
   345        # Applicable to UNIX platforms
   346        CgroupParent:
   347          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."
   348          type: "string"
   349        BlkioWeight:
   350          description: "Block IO weight (relative weight)."
   351          type: "integer"
   352          minimum: 0
   353          maximum: 1000
   354        BlkioWeightDevice:
   355          description: |
   356            Block IO weight (relative device weight) in the form `[{"Path": "device_path", "Weight": weight}]`.
   357          type: "array"
   358          items:
   359            type: "object"
   360            properties:
   361              Path:
   362                type: "string"
   363              Weight:
   364                type: "integer"
   365                minimum: 0
   366        BlkioDeviceReadBps:
   367          description: |
   368            Limit read rate (bytes per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
   369          type: "array"
   370          items:
   371            $ref: "#/definitions/ThrottleDevice"
   372        BlkioDeviceWriteBps:
   373          description: |
   374            Limit write rate (bytes per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
   375          type: "array"
   376          items:
   377            $ref: "#/definitions/ThrottleDevice"
   378        BlkioDeviceReadIOps:
   379          description: |
   380            Limit read rate (IO per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
   381          type: "array"
   382          items:
   383            $ref: "#/definitions/ThrottleDevice"
   384        BlkioDeviceWriteIOps:
   385          description: |
   386            Limit write rate (IO per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`.
   387          type: "array"
   388          items:
   389            $ref: "#/definitions/ThrottleDevice"
   390        CpuPeriod:
   391          description: "The length of a CPU period in microseconds."
   392          type: "integer"
   393          format: "int64"
   394        CpuQuota:
   395          description: "Microseconds of CPU time that the container can get in a CPU period."
   396          type: "integer"
   397          format: "int64"
   398        CpuRealtimePeriod:
   399          description: "The length of a CPU real-time period in microseconds. Set to 0 to allocate no time allocated to real-time tasks."
   400          type: "integer"
   401          format: "int64"
   402        CpuRealtimeRuntime:
   403          description: "The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no time allocated to real-time tasks."
   404          type: "integer"
   405          format: "int64"
   406        CpusetCpus:
   407          description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)"
   408          type: "string"
   409          example: "0-3"
   410        CpusetMems:
   411          description: "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems."
   412          type: "string"
   413        Devices:
   414          description: "A list of devices to add to the container."
   415          type: "array"
   416          items:
   417            $ref: "#/definitions/DeviceMapping"
   418        DeviceCgroupRules:
   419          description: "a list of cgroup rules to apply to the container"
   420          type: "array"
   421          items:
   422            type: "string"
   423            example: "c 13:* rwm"
   424        DiskQuota:
   425          description: "Disk limit (in bytes)."
   426          type: "integer"
   427          format: "int64"
   428        KernelMemory:
   429          description: "Kernel memory limit in bytes."
   430          type: "integer"
   431          format: "int64"
   432        MemoryReservation:
   433          description: "Memory soft limit in bytes."
   434          type: "integer"
   435          format: "int64"
   436        MemorySwap:
   437          description: "Total memory limit (memory + swap). Set as `-1` to enable unlimited swap."
   438          type: "integer"
   439          format: "int64"
   440        MemorySwappiness:
   441          description: "Tune a container's memory swappiness behavior. Accepts an integer between 0 and 100."
   442          type: "integer"
   443          format: "int64"
   444          minimum: 0
   445          maximum: 100
   446        NanoCPUs:
   447          description: "CPU quota in units of 10<sup>-9</sup> CPUs."
   448          type: "integer"
   449          format: "int64"
   450        OomKillDisable:
   451          description: "Disable OOM Killer for the container."
   452          type: "boolean"
   453        PidsLimit:
   454          description: "Tune a container's pids limit. Set -1 for unlimited."
   455          type: "integer"
   456          format: "int64"
   457        Ulimits:
   458          description: |
   459            A list of resource limits to set in the container. For example: `{"Name": "nofile", "Soft": 1024, "Hard": 2048}`"
   460          type: "array"
   461          items:
   462            type: "object"
   463            properties:
   464              Name:
   465                description: "Name of ulimit"
   466                type: "string"
   467              Soft:
   468                description: "Soft limit"
   469                type: "integer"
   470              Hard:
   471                description: "Hard limit"
   472                type: "integer"
   473        # Applicable to Windows
   474        CpuCount:
   475          description: |
   476            The number of usable CPUs (Windows only).
   477  
   478            On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last.
   479          type: "integer"
   480          format: "int64"
   481        CpuPercent:
   482          description: |
   483            The usable percentage of the available CPUs (Windows only).
   484  
   485            On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last.
   486          type: "integer"
   487          format: "int64"
   488        IOMaximumIOps:
   489          description: "Maximum IOps for the container system drive (Windows only)"
   490          type: "integer"
   491          format: "int64"
   492        IOMaximumBandwidth:
   493          description: "Maximum IO in bytes per second for the container system drive (Windows only)"
   494          type: "integer"
   495          format: "int64"
   496  
   497    ResourceObject:
   498      description: "An object describing the resources which can be advertised by a node and requested by a task"
   499      type: "object"
   500      properties:
   501        NanoCPUs:
   502          type: "integer"
   503          format: "int64"
   504          example: 4000000000
   505        MemoryBytes:
   506          type: "integer"
   507          format: "int64"
   508          example: 8272408576
   509        GenericResources:
   510          $ref: "#/definitions/GenericResources"
   511  
   512    GenericResources:
   513      description: "User-defined resources can be either Integer resources (e.g, `SSD=3`) or String resources (e.g, `GPU=UUID1`)"
   514      type: "array"
   515      items:
   516        type: "object"
   517        properties:
   518          NamedResourceSpec:
   519            type: "object"
   520            properties:
   521              Kind:
   522                type: "string"
   523              Value:
   524                type: "string"
   525          DiscreteResourceSpec:
   526            type: "object"
   527            properties:
   528              Kind:
   529                type: "string"
   530              Value:
   531                type: "integer"
   532                format: "int64"
   533      example:
   534        - DiscreteResourceSpec:
   535            Kind: "SSD"
   536            Value: 3
   537        - NamedResourceSpec:
   538            Kind: "GPU"
   539            Value: "UUID1"
   540        - NamedResourceSpec:
   541            Kind: "GPU"
   542            Value: "UUID2"
   543  
   544    HealthConfig:
   545      description: "A test to perform to check that the container is healthy."
   546      type: "object"
   547      properties:
   548        Test:
   549          description: |
   550            The test to perform. Possible values are:
   551  
   552            - `[]` inherit healthcheck from image or parent image
   553            - `["NONE"]` disable healthcheck
   554            - `["CMD", args...]` exec arguments directly
   555            - `["CMD-SHELL", command]` run command with system's default shell
   556          type: "array"
   557          items:
   558            type: "string"
   559        Interval:
   560          description: "The time to wait between checks in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit."
   561          type: "integer"
   562        Timeout:
   563          description: "The time to wait before considering the check to have hung. It should be 0 or at least 1000000 (1 ms). 0 means inherit."
   564          type: "integer"
   565        Retries:
   566          description: "The number of consecutive failures needed to consider a container as unhealthy. 0 means inherit."
   567          type: "integer"
   568        StartPeriod:
   569          description: "Start period for the container to initialize before starting health-retries countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit."
   570          type: "integer"
   571  
   572    HostConfig:
   573      description: "Container configuration that depends on the host we are running on"
   574      allOf:
   575        - $ref: "#/definitions/Resources"
   576        - type: "object"
   577          properties:
   578            # Applicable to all platforms
   579            Binds:
   580              type: "array"
   581              description: |
   582                A list of volume bindings for this container. Each volume binding is a string in one of these forms:
   583  
   584                - `host-src:container-dest` to bind-mount a host path into the container. Both `host-src`, and `container-dest` must be an _absolute_ path.
   585                - `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.
   586                - `volume-name:container-dest` to bind-mount a volume managed by a volume driver into the container. `container-dest` must be an _absolute_ path.
   587                - `volume-name:container-dest:ro` to mount the volume read-only inside the container.  `container-dest` must be an _absolute_ path.
   588              items:
   589                type: "string"
   590            ContainerIDFile:
   591              type: "string"
   592              description: "Path to a file where the container ID is written"
   593            LogConfig:
   594              type: "object"
   595              description: "The logging configuration for this container"
   596              properties:
   597                Type:
   598                  type: "string"
   599                  enum:
   600                    - "json-file"
   601                    - "syslog"
   602                    - "journald"
   603                    - "gelf"
   604                    - "fluentd"
   605                    - "awslogs"
   606                    - "splunk"
   607                    - "etwlogs"
   608                    - "none"
   609                Config:
   610                  type: "object"
   611                  additionalProperties:
   612                    type: "string"
   613            NetworkMode:
   614              type: "string"
   615              description: "Network mode to use for this container. Supported standard values are: `bridge`, `host`, `none`, and `container:<name|id>`. Any other value is taken
   616                as a custom network's name to which this container should connect to."
   617            PortBindings:
   618              type: "object"
   619              description: "A map of exposed container ports and the host port they should map to."
   620              additionalProperties:
   621                type: "object"
   622                properties:
   623                  HostIp:
   624                    type: "string"
   625                    description: "The host IP address"
   626                  HostPort:
   627                    type: "string"
   628                    description: "The host port number, as a string"
   629            RestartPolicy:
   630              $ref: "#/definitions/RestartPolicy"
   631            AutoRemove:
   632              type: "boolean"
   633              description: "Automatically remove the container when the container's process exits. This has no effect if `RestartPolicy` is set."
   634            VolumeDriver:
   635              type: "string"
   636              description: "Driver that this container uses to mount volumes."
   637            VolumesFrom:
   638              type: "array"
   639              description: "A list of volumes to inherit from another container, specified in the form `<container name>[:<ro|rw>]`."
   640              items:
   641                type: "string"
   642            Mounts:
   643              description: "Specification for mounts to be added to the container."
   644              type: "array"
   645              items:
   646                $ref: "#/definitions/Mount"
   647  
   648            # Applicable to UNIX platforms
   649            CapAdd:
   650              type: "array"
   651              description: "A list of kernel capabilities to add to the container."
   652              items:
   653                type: "string"
   654            CapDrop:
   655              type: "array"
   656              description: "A list of kernel capabilities to drop from the container."
   657              items:
   658                type: "string"
   659            Dns:
   660              type: "array"
   661              description: "A list of DNS servers for the container to use."
   662              items:
   663                type: "string"
   664            DnsOptions:
   665              type: "array"
   666              description: "A list of DNS options."
   667              items:
   668                type: "string"
   669            DnsSearch:
   670              type: "array"
   671              description: "A list of DNS search domains."
   672              items:
   673                type: "string"
   674            ExtraHosts:
   675              type: "array"
   676              description: |
   677                A list of hostnames/IP mappings to add to the container's `/etc/hosts` file. Specified in the form `["hostname:IP"]`.
   678              items:
   679                type: "string"
   680            GroupAdd:
   681              type: "array"
   682              description: "A list of additional groups that the container process will run as."
   683              items:
   684                type: "string"
   685            IpcMode:
   686              type: "string"
   687              description: |
   688                      IPC sharing mode for the container. Possible values are:
   689  
   690                      - `"none"`: own private IPC namespace, with /dev/shm not mounted
   691                      - `"private"`: own private IPC namespace
   692                      - `"shareable"`: own private IPC namespace, with a possibility to share it with other containers
   693                      - `"container:<name|id>"`: join another (shareable) container's IPC namespace
   694                      - `"host"`: use the host system's IPC namespace
   695  
   696                      If not specified, daemon default is used, which can either be `"private"`
   697                      or `"shareable"`, depending on daemon version and configuration.
   698            Cgroup:
   699              type: "string"
   700              description: "Cgroup to use for the container."
   701            Links:
   702              type: "array"
   703              description: "A list of links for the container in the form `container_name:alias`."
   704              items:
   705                type: "string"
   706            OomScoreAdj:
   707              type: "integer"
   708              description: "An integer value containing the score given to the container in order to tune OOM killer preferences."
   709              example: 500
   710            PidMode:
   711              type: "string"
   712              description: |
   713                Set the PID (Process) Namespace mode for the container. It can be either:
   714  
   715                - `"container:<name|id>"`: joins another container's PID namespace
   716                - `"host"`: use the host's PID namespace inside the container
   717            Privileged:
   718              type: "boolean"
   719              description: "Gives the container full access to the host."
   720            PublishAllPorts:
   721              type: "boolean"
   722              description: "Allocates a random host port for all of a container's exposed ports."
   723            ReadonlyRootfs:
   724              type: "boolean"
   725              description: "Mount the container's root filesystem as read only."
   726            SecurityOpt:
   727              type: "array"
   728              description: "A list of string values to customize labels for MLS
   729              systems, such as SELinux."
   730              items:
   731                type: "string"
   732            StorageOpt:
   733              type: "object"
   734              description: |
   735                Storage driver options for this container, in the form `{"size": "120G"}`.
   736              additionalProperties:
   737                type: "string"
   738            Tmpfs:
   739              type: "object"
   740              description: |
   741                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" }`.
   742              additionalProperties:
   743                type: "string"
   744            UTSMode:
   745              type: "string"
   746              description: "UTS namespace to use for the container."
   747            UsernsMode:
   748              type: "string"
   749              description: "Sets the usernamespace mode for the container when usernamespace remapping option is enabled."
   750            ShmSize:
   751              type: "integer"
   752              description: "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB."
   753              minimum: 0
   754            Sysctls:
   755              type: "object"
   756              description: |
   757                A list of kernel parameters (sysctls) to set in the container. For example: `{"net.ipv4.ip_forward": "1"}`
   758              additionalProperties:
   759                type: "string"
   760            Runtime:
   761              type: "string"
   762              description: "Runtime to use with this container."
   763            # Applicable to Windows
   764            ConsoleSize:
   765              type: "array"
   766              description: "Initial console size, as an `[height, width]` array. (Windows only)"
   767              minItems: 2
   768              maxItems: 2
   769              items:
   770                type: "integer"
   771                minimum: 0
   772            Isolation:
   773              type: "string"
   774              description: "Isolation technology of the container. (Windows only)"
   775              enum:
   776                - "default"
   777                - "process"
   778                - "hyperv"
   779  
   780    ContainerConfig:
   781      description: "Configuration for a container that is portable between hosts"
   782      type: "object"
   783      properties:
   784        Hostname:
   785          description: "The hostname to use for the container, as a valid RFC 1123 hostname."
   786          type: "string"
   787        Domainname:
   788          description: "The domain name to use for the container."
   789          type: "string"
   790        User:
   791          description: "The user that commands are run as inside the container."
   792          type: "string"
   793        AttachStdin:
   794          description: "Whether to attach to `stdin`."
   795          type: "boolean"
   796          default: false
   797        AttachStdout:
   798          description: "Whether to attach to `stdout`."
   799          type: "boolean"
   800          default: true
   801        AttachStderr:
   802          description: "Whether to attach to `stderr`."
   803          type: "boolean"
   804          default: true
   805        ExposedPorts:
   806          description: |
   807            An object mapping ports to an empty object in the form:
   808  
   809            `{"<port>/<tcp|udp>": {}}`
   810          type: "object"
   811          additionalProperties:
   812            type: "object"
   813            enum:
   814              - {}
   815            default: {}
   816        Tty:
   817          description: "Attach standard streams to a TTY, including `stdin` if it is not closed."
   818          type: "boolean"
   819          default: false
   820        OpenStdin:
   821          description: "Open `stdin`"
   822          type: "boolean"
   823          default: false
   824        StdinOnce:
   825          description: "Close `stdin` after one attached client disconnects"
   826          type: "boolean"
   827          default: false
   828        Env:
   829          description: |
   830            A list of environment variables to set inside the container in the form `["VAR=value", ...]`. A variable without `=` is removed from the environment, rather than to have an empty value.
   831          type: "array"
   832          items:
   833            type: "string"
   834        Cmd:
   835          description: "Command to run specified as a string or an array of strings."
   836          type:
   837            - "array"
   838            - "string"
   839          items:
   840            type: "string"
   841        Healthcheck:
   842          $ref: "#/definitions/HealthConfig"
   843        ArgsEscaped:
   844          description: "Command is already escaped (Windows only)"
   845          type: "boolean"
   846        Image:
   847          description: "The name of the image to use when creating the container"
   848          type: "string"
   849        Volumes:
   850          description: "An object mapping mount point paths inside the container to empty objects."
   851          type: "object"
   852          properties:
   853            additionalProperties:
   854              type: "object"
   855              enum:
   856                - {}
   857              default: {}
   858        WorkingDir:
   859          description: "The working directory for commands to run in."
   860          type: "string"
   861        Entrypoint:
   862          description: |
   863            The entry point for the container as a string or an array of strings.
   864  
   865            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`).
   866          type:
   867            - "array"
   868            - "string"
   869          items:
   870            type: "string"
   871        NetworkDisabled:
   872          description: "Disable networking for the container."
   873          type: "boolean"
   874        MacAddress:
   875          description: "MAC address of the container."
   876          type: "string"
   877        OnBuild:
   878          description: "`ONBUILD` metadata that were defined in the image's `Dockerfile`."
   879          type: "array"
   880          items:
   881            type: "string"
   882        Labels:
   883          description: "User-defined key/value metadata."
   884          type: "object"
   885          additionalProperties:
   886            type: "string"
   887        StopSignal:
   888          description: "Signal to stop a container as a string or unsigned integer."
   889          type: "string"
   890          default: "SIGTERM"
   891        StopTimeout:
   892          description: "Timeout to stop a container in seconds."
   893          type: "integer"
   894          default: 10
   895        Shell:
   896          description: "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell."
   897          type: "array"
   898          items:
   899            type: "string"
   900  
   901    NetworkSettings:
   902      description: "NetworkSettings exposes the network settings in the API"
   903      type: "object"
   904      properties:
   905        Bridge:
   906          description: Name of the network'a bridge (for example, `docker0`).
   907          type: "string"
   908          example: "docker0"
   909        SandboxID:
   910          description: SandboxID uniquely represents a container's network stack.
   911          type: "string"
   912          example: "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3"
   913        HairpinMode:
   914          description: |
   915            Indicates if hairpin NAT should be enabled on the virtual interface.
   916          type: "boolean"
   917          example: false
   918        LinkLocalIPv6Address:
   919          description: IPv6 unicast address using the link-local prefix.
   920          type: "string"
   921          example: "fe80::42:acff:fe11:1"
   922        LinkLocalIPv6PrefixLen:
   923          description: Prefix length of the IPv6 unicast address.
   924          type: "integer"
   925          example: "64"
   926        Ports:
   927          $ref: "#/definitions/PortMap"
   928        SandboxKey:
   929          description: SandboxKey identifies the sandbox
   930          type: "string"
   931          example: "/var/run/docker/netns/8ab54b426c38"
   932  
   933        # TODO is SecondaryIPAddresses actually used?
   934        SecondaryIPAddresses:
   935          description: ""
   936          type: "array"
   937          items:
   938            $ref: "#/definitions/Address"
   939          x-nullable: true
   940  
   941        # TODO is SecondaryIPv6Addresses actually used?
   942        SecondaryIPv6Addresses:
   943          description: ""
   944          type: "array"
   945          items:
   946            $ref: "#/definitions/Address"
   947          x-nullable: true
   948  
   949        # TODO properties below are part of DefaultNetworkSettings, which is
   950        # marked as deprecated since Docker 1.9 and to be removed in Docker v17.12
   951        EndpointID:
   952          description: |
   953            EndpointID uniquely represents a service endpoint in a Sandbox.
   954  
   955            <p><br /></p>
   956  
   957            > **Deprecated**: This field is only propagated when attached to the
   958            > default "bridge" network. Use the information from the "bridge"
   959            > network inside the `Networks` map instead, which contains the same
   960            > information. This field was deprecated in Docker 1.9 and is scheduled
   961            > to be removed in Docker 17.12.0
   962          type: "string"
   963          example: "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b"
   964        Gateway:
   965          description: |
   966            Gateway address for the default "bridge" network.
   967  
   968            <p><br /></p>
   969  
   970            > **Deprecated**: This field is only propagated when attached to the
   971            > default "bridge" network. Use the information from the "bridge"
   972            > network inside the `Networks` map instead, which contains the same
   973            > information. This field was deprecated in Docker 1.9 and is scheduled
   974            > to be removed in Docker 17.12.0
   975          type: "string"
   976          example: "172.17.0.1"
   977        GlobalIPv6Address:
   978          description: |
   979            Global IPv6 address for the default "bridge" network.
   980  
   981            <p><br /></p>
   982  
   983            > **Deprecated**: This field is only propagated when attached to the
   984            > default "bridge" network. Use the information from the "bridge"
   985            > network inside the `Networks` map instead, which contains the same
   986            > information. This field was deprecated in Docker 1.9 and is scheduled
   987            > to be removed in Docker 17.12.0
   988          type: "string"
   989          example: "2001:db8::5689"
   990        GlobalIPv6PrefixLen:
   991          description: |
   992            Mask length of the global IPv6 address.
   993  
   994            <p><br /></p>
   995  
   996            > **Deprecated**: This field is only propagated when attached to the
   997            > default "bridge" network. Use the information from the "bridge"
   998            > network inside the `Networks` map instead, which contains the same
   999            > information. This field was deprecated in Docker 1.9 and is scheduled
  1000            > to be removed in Docker 17.12.0
  1001          type: "integer"
  1002          example: 64
  1003        IPAddress:
  1004          description: |
  1005            IPv4 address for the default "bridge" network.
  1006  
  1007            <p><br /></p>
  1008  
  1009            > **Deprecated**: This field is only propagated when attached to the
  1010            > default "bridge" network. Use the information from the "bridge"
  1011            > network inside the `Networks` map instead, which contains the same
  1012            > information. This field was deprecated in Docker 1.9 and is scheduled
  1013            > to be removed in Docker 17.12.0
  1014          type: "string"
  1015          example: "172.17.0.4"
  1016        IPPrefixLen:
  1017          description: |
  1018            Mask length of the IPv4 address.
  1019  
  1020            <p><br /></p>
  1021  
  1022            > **Deprecated**: This field is only propagated when attached to the
  1023            > default "bridge" network. Use the information from the "bridge"
  1024            > network inside the `Networks` map instead, which contains the same
  1025            > information. This field was deprecated in Docker 1.9 and is scheduled
  1026            > to be removed in Docker 17.12.0
  1027          type: "integer"
  1028          example: 16
  1029        IPv6Gateway:
  1030          description: |
  1031            IPv6 gateway address for this network.
  1032  
  1033            <p><br /></p>
  1034  
  1035            > **Deprecated**: This field is only propagated when attached to the
  1036            > default "bridge" network. Use the information from the "bridge"
  1037            > network inside the `Networks` map instead, which contains the same
  1038            > information. This field was deprecated in Docker 1.9 and is scheduled
  1039            > to be removed in Docker 17.12.0
  1040          type: "string"
  1041          example: "2001:db8:2::100"
  1042        MacAddress:
  1043          description: |
  1044            MAC address for the container on the default "bridge" network.
  1045  
  1046            <p><br /></p>
  1047  
  1048            > **Deprecated**: This field is only propagated when attached to the
  1049            > default "bridge" network. Use the information from the "bridge"
  1050            > network inside the `Networks` map instead, which contains the same
  1051            > information. This field was deprecated in Docker 1.9 and is scheduled
  1052            > to be removed in Docker 17.12.0
  1053          type: "string"
  1054          example: "02:42:ac:11:00:04"
  1055        Networks:
  1056          description: |
  1057            Information about all networks that the container is connected to.
  1058          type: "object"
  1059          additionalProperties:
  1060            $ref: "#/definitions/EndpointSettings"
  1061  
  1062    Address:
  1063      description: Address represents an IPv4 or IPv6 IP address.
  1064      type: "object"
  1065      properties:
  1066        Addr:
  1067          description: IP address.
  1068          type: "string"
  1069        PrefixLen:
  1070          description: Mask length of the IP address.
  1071          type: "integer"
  1072  
  1073    PortMap:
  1074      description: |
  1075        PortMap describes the mapping of container ports to host ports, using the
  1076        container's port-number and protocol as key in the format `<port>/<protocol>`,
  1077        for example, `80/udp`.
  1078  
  1079        If a container's port is mapped for both `tcp` and `udp`, two separate
  1080        entries are added to the mapping table.
  1081      type: "object"
  1082      additionalProperties:
  1083        type: "array"
  1084        items:
  1085          $ref: "#/definitions/PortBinding"
  1086      example:
  1087        "443/tcp":
  1088          - HostIp: "127.0.0.1"
  1089            HostPort: "4443"
  1090        "80/tcp":
  1091          - HostIp: "0.0.0.0"
  1092            HostPort: "80"
  1093          - HostIp: "0.0.0.0"
  1094            HostPort: "8080"
  1095        "80/udp":
  1096          - HostIp: "0.0.0.0"
  1097            HostPort: "80"
  1098        "53/udp":
  1099          - HostIp: "0.0.0.0"
  1100            HostPort: "53"
  1101        "2377/tcp": null
  1102  
  1103    PortBinding:
  1104      description: |
  1105        PortBinding represents a binding between a host IP address and a host
  1106        port.
  1107      type: "object"
  1108      x-nullable: true
  1109      properties:
  1110        HostIp:
  1111          description: "Host IP address that the container's port is mapped to."
  1112          type: "string"
  1113          example: "127.0.0.1"
  1114        HostPort:
  1115          description: "Host port number that the container's port is mapped to."
  1116          type: "string"
  1117          example: "4443"
  1118  
  1119    GraphDriverData:
  1120      description: "Information about a container's graph driver."
  1121      type: "object"
  1122      required: [Name, Data]
  1123      properties:
  1124        Name:
  1125          type: "string"
  1126          x-nullable: false
  1127        Data:
  1128          type: "object"
  1129          x-nullable: false
  1130          additionalProperties:
  1131            type: "string"
  1132  
  1133    Image:
  1134      type: "object"
  1135      required:
  1136        - Id
  1137        - Parent
  1138        - Comment
  1139        - Created
  1140        - Container
  1141        - DockerVersion
  1142        - Author
  1143        - Architecture
  1144        - Os
  1145        - Size
  1146        - VirtualSize
  1147        - GraphDriver
  1148        - RootFS
  1149      properties:
  1150        Id:
  1151          type: "string"
  1152          x-nullable: false
  1153        RepoTags:
  1154          type: "array"
  1155          items:
  1156            type: "string"
  1157        RepoDigests:
  1158          type: "array"
  1159          items:
  1160            type: "string"
  1161        Parent:
  1162          type: "string"
  1163          x-nullable: false
  1164        Comment:
  1165          type: "string"
  1166          x-nullable: false
  1167        Created:
  1168          type: "string"
  1169          x-nullable: false
  1170        Container:
  1171          type: "string"
  1172          x-nullable: false
  1173        ContainerConfig:
  1174          $ref: "#/definitions/ContainerConfig"
  1175        DockerVersion:
  1176          type: "string"
  1177          x-nullable: false
  1178        Author:
  1179          type: "string"
  1180          x-nullable: false
  1181        Config:
  1182          $ref: "#/definitions/ContainerConfig"
  1183        Architecture:
  1184          type: "string"
  1185          x-nullable: false
  1186        Os:
  1187          type: "string"
  1188          x-nullable: false
  1189        OsVersion:
  1190          type: "string"
  1191        Size:
  1192          type: "integer"
  1193          format: "int64"
  1194          x-nullable: false
  1195        VirtualSize:
  1196          type: "integer"
  1197          format: "int64"
  1198          x-nullable: false
  1199        GraphDriver:
  1200          $ref: "#/definitions/GraphDriverData"
  1201        RootFS:
  1202          type: "object"
  1203          required: [Type]
  1204          properties:
  1205            Type:
  1206              type: "string"
  1207              x-nullable: false
  1208            Layers:
  1209              type: "array"
  1210              items:
  1211                type: "string"
  1212            BaseLayer:
  1213              type: "string"
  1214        Metadata:
  1215          type: "object"
  1216          properties:
  1217            LastTagTime:
  1218              type: "string"
  1219              format: "dateTime"
  1220  
  1221    ImageSummary:
  1222      type: "object"
  1223      required:
  1224        - Id
  1225        - ParentId
  1226        - RepoTags
  1227        - RepoDigests
  1228        - Created
  1229        - Size
  1230        - SharedSize
  1231        - VirtualSize
  1232        - Labels
  1233        - Containers
  1234      properties:
  1235        Id:
  1236          type: "string"
  1237          x-nullable: false
  1238        ParentId:
  1239          type: "string"
  1240          x-nullable: false
  1241        RepoTags:
  1242          type: "array"
  1243          x-nullable: false
  1244          items:
  1245            type: "string"
  1246        RepoDigests:
  1247          type: "array"
  1248          x-nullable: false
  1249          items:
  1250            type: "string"
  1251        Created:
  1252          type: "integer"
  1253          x-nullable: false
  1254        Size:
  1255          type: "integer"
  1256          x-nullable: false
  1257        SharedSize:
  1258          type: "integer"
  1259          x-nullable: false
  1260        VirtualSize:
  1261          type: "integer"
  1262          x-nullable: false
  1263        Labels:
  1264          type: "object"
  1265          x-nullable: false
  1266          additionalProperties:
  1267            type: "string"
  1268        Containers:
  1269          x-nullable: false
  1270          type: "integer"
  1271  
  1272    AuthConfig:
  1273      type: "object"
  1274      properties:
  1275        username:
  1276          type: "string"
  1277        password:
  1278          type: "string"
  1279        email:
  1280          type: "string"
  1281        serveraddress:
  1282          type: "string"
  1283      example:
  1284        username: "hannibal"
  1285        password: "xxxx"
  1286        serveraddress: "https://index.docker.io/v1/"
  1287  
  1288    ProcessConfig:
  1289      type: "object"
  1290      properties:
  1291        privileged:
  1292          type: "boolean"
  1293        user:
  1294          type: "string"
  1295        tty:
  1296          type: "boolean"
  1297        entrypoint:
  1298          type: "string"
  1299        arguments:
  1300          type: "array"
  1301          items:
  1302            type: "string"
  1303  
  1304    Volume:
  1305      type: "object"
  1306      required: [Name, Driver, Mountpoint, Labels, Scope, Options]
  1307      properties:
  1308        Name:
  1309          type: "string"
  1310          description: "Name of the volume."
  1311          x-nullable: false
  1312        Driver:
  1313          type: "string"
  1314          description: "Name of the volume driver used by the volume."
  1315          x-nullable: false
  1316        Mountpoint:
  1317          type: "string"
  1318          description: "Mount path of the volume on the host."
  1319          x-nullable: false
  1320        CreatedAt:
  1321          type: "string"
  1322          format: "dateTime"
  1323          description: "Date/Time the volume was created."
  1324        Status:
  1325          type: "object"
  1326          description: |
  1327            Low-level details about the volume, provided by the volume driver.
  1328            Details are returned as a map with key/value pairs:
  1329            `{"key":"value","key2":"value2"}`.
  1330  
  1331            The `Status` field is optional, and is omitted if the volume driver
  1332            does not support this feature.
  1333          additionalProperties:
  1334            type: "object"
  1335        Labels:
  1336          type: "object"
  1337          description: "User-defined key/value metadata."
  1338          x-nullable: false
  1339          additionalProperties:
  1340            type: "string"
  1341        Scope:
  1342          type: "string"
  1343          description: "The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level."
  1344          default: "local"
  1345          x-nullable: false
  1346          enum: ["local", "global"]
  1347        Options:
  1348          type: "object"
  1349          description: "The driver specific options used when creating the volume."
  1350          additionalProperties:
  1351            type: "string"
  1352        UsageData:
  1353          type: "object"
  1354          x-nullable: true
  1355          required: [Size, RefCount]
  1356          description: |
  1357            Usage details about the volume. This information is used by the
  1358            `GET /system/df` endpoint, and omitted in other endpoints.
  1359          properties:
  1360            Size:
  1361              type: "integer"
  1362              default: -1
  1363              description: |
  1364                Amount of disk space used by the volume (in bytes). This information
  1365                is only available for volumes created with the `"local"` volume
  1366                driver. For volumes created with other volume drivers, this field
  1367                is set to `-1` ("not available")
  1368              x-nullable: false
  1369            RefCount:
  1370              type: "integer"
  1371              default: -1
  1372              description: |
  1373                The number of containers referencing this volume. This field
  1374                is set to `-1` if the reference-count is not available.
  1375              x-nullable: false
  1376  
  1377      example:
  1378        Name: "tardis"
  1379        Driver: "custom"
  1380        Mountpoint: "/var/lib/docker/volumes/tardis"
  1381        Status:
  1382          hello: "world"
  1383        Labels:
  1384          com.example.some-label: "some-value"
  1385          com.example.some-other-label: "some-other-value"
  1386        Scope: "local"
  1387        CreatedAt: "2016-06-07T20:31:11.853781916Z"
  1388  
  1389    Network:
  1390      type: "object"
  1391      properties:
  1392        Name:
  1393          type: "string"
  1394        Id:
  1395          type: "string"
  1396        Created:
  1397          type: "string"
  1398          format: "dateTime"
  1399        Scope:
  1400          type: "string"
  1401        Driver:
  1402          type: "string"
  1403        EnableIPv6:
  1404          type: "boolean"
  1405        IPAM:
  1406          $ref: "#/definitions/IPAM"
  1407        Internal:
  1408          type: "boolean"
  1409        Attachable:
  1410          type: "boolean"
  1411        Ingress:
  1412          type: "boolean"
  1413        Containers:
  1414          type: "object"
  1415          additionalProperties:
  1416            $ref: "#/definitions/NetworkContainer"
  1417        Options:
  1418          type: "object"
  1419          additionalProperties:
  1420            type: "string"
  1421        Labels:
  1422          type: "object"
  1423          additionalProperties:
  1424            type: "string"
  1425      example:
  1426        Name: "net01"
  1427        Id: "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99"
  1428        Created: "2016-10-19T04:33:30.360899459Z"
  1429        Scope: "local"
  1430        Driver: "bridge"
  1431        EnableIPv6: false
  1432        IPAM:
  1433          Driver: "default"
  1434          Config:
  1435            - Subnet: "172.19.0.0/16"
  1436              Gateway: "172.19.0.1"
  1437          Options:
  1438            foo: "bar"
  1439        Internal: false
  1440        Attachable: false
  1441        Ingress: false
  1442        Containers:
  1443          19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c:
  1444            Name: "test"
  1445            EndpointID: "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a"
  1446            MacAddress: "02:42:ac:13:00:02"
  1447            IPv4Address: "172.19.0.2/16"
  1448            IPv6Address: ""
  1449        Options:
  1450          com.docker.network.bridge.default_bridge: "true"
  1451          com.docker.network.bridge.enable_icc: "true"
  1452          com.docker.network.bridge.enable_ip_masquerade: "true"
  1453          com.docker.network.bridge.host_binding_ipv4: "0.0.0.0"
  1454          com.docker.network.bridge.name: "docker0"
  1455          com.docker.network.driver.mtu: "1500"
  1456        Labels:
  1457          com.example.some-label: "some-value"
  1458          com.example.some-other-label: "some-other-value"
  1459    IPAM:
  1460      type: "object"
  1461      properties:
  1462        Driver:
  1463          description: "Name of the IPAM driver to use."
  1464          type: "string"
  1465          default: "default"
  1466        Config:
  1467          description: "List of IPAM configuration options, specified as a map: `{\"Subnet\": <CIDR>, \"IPRange\": <CIDR>, \"Gateway\": <IP address>, \"AuxAddress\": <device_name:IP address>}`"
  1468          type: "array"
  1469          items:
  1470            type: "object"
  1471            additionalProperties:
  1472              type: "string"
  1473        Options:
  1474          description: "Driver-specific options, specified as a map."
  1475          type: "array"
  1476          items:
  1477            type: "object"
  1478            additionalProperties:
  1479              type: "string"
  1480  
  1481    NetworkContainer:
  1482      type: "object"
  1483      properties:
  1484        Name:
  1485          type: "string"
  1486        EndpointID:
  1487          type: "string"
  1488        MacAddress:
  1489          type: "string"
  1490        IPv4Address:
  1491          type: "string"
  1492        IPv6Address:
  1493          type: "string"
  1494  
  1495    BuildInfo:
  1496      type: "object"
  1497      properties:
  1498        id:
  1499          type: "string"
  1500        stream:
  1501          type: "string"
  1502        error:
  1503          type: "string"
  1504        errorDetail:
  1505          $ref: "#/definitions/ErrorDetail"
  1506        status:
  1507          type: "string"
  1508        progress:
  1509          type: "string"
  1510        progressDetail:
  1511          $ref: "#/definitions/ProgressDetail"
  1512  
  1513    CreateImageInfo:
  1514      type: "object"
  1515      properties:
  1516        error:
  1517          type: "string"
  1518        status:
  1519          type: "string"
  1520        progress:
  1521          type: "string"
  1522        progressDetail:
  1523          $ref: "#/definitions/ProgressDetail"
  1524  
  1525    PushImageInfo:
  1526      type: "object"
  1527      properties:
  1528        error:
  1529          type: "string"
  1530        status:
  1531          type: "string"
  1532        progress:
  1533          type: "string"
  1534        progressDetail:
  1535          $ref: "#/definitions/ProgressDetail"
  1536  
  1537    ErrorDetail:
  1538      type: "object"
  1539      properties:
  1540        code:
  1541          type: "integer"
  1542        message:
  1543          type: "string"
  1544  
  1545    ProgressDetail:
  1546      type: "object"
  1547      properties:
  1548        code:
  1549          type: "integer"
  1550        message:
  1551          type: "integer"
  1552  
  1553    ErrorResponse:
  1554      description: "Represents an error."
  1555      type: "object"
  1556      required: ["message"]
  1557      properties:
  1558        message:
  1559          description: "The error message."
  1560          type: "string"
  1561          x-nullable: false
  1562      example:
  1563        message: "Something went wrong."
  1564  
  1565    IdResponse:
  1566      description: "Response to an API call that returns just an Id"
  1567      type: "object"
  1568      required: ["Id"]
  1569      properties:
  1570        Id:
  1571          description: "The id of the newly created object."
  1572          type: "string"
  1573          x-nullable: false
  1574  
  1575    EndpointSettings:
  1576      description: "Configuration for a network endpoint."
  1577      type: "object"
  1578      properties:
  1579        # Configurations
  1580        IPAMConfig:
  1581          $ref: "#/definitions/EndpointIPAMConfig"
  1582        Links:
  1583          type: "array"
  1584          items:
  1585            type: "string"
  1586          example:
  1587            - "container_1"
  1588            - "container_2"
  1589        Aliases:
  1590          type: "array"
  1591          items:
  1592            type: "string"
  1593          example:
  1594            - "server_x"
  1595            - "server_y"
  1596  
  1597        # Operational data
  1598        NetworkID:
  1599          description: |
  1600            Unique ID of the network.
  1601          type: "string"
  1602          example: "08754567f1f40222263eab4102e1c733ae697e8e354aa9cd6e18d7402835292a"
  1603        EndpointID:
  1604          description: |
  1605            Unique ID for the service endpoint in a Sandbox.
  1606          type: "string"
  1607          example: "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b"
  1608        Gateway:
  1609          description: |
  1610            Gateway address for this network.
  1611          type: "string"
  1612          example: "172.17.0.1"
  1613        IPAddress:
  1614          description: |
  1615            IPv4 address.
  1616          type: "string"
  1617          example: "172.17.0.4"
  1618        IPPrefixLen:
  1619          description: |
  1620            Mask length of the IPv4 address.
  1621          type: "integer"
  1622          example: 16
  1623        IPv6Gateway:
  1624          description: |
  1625            IPv6 gateway address.
  1626          type: "string"
  1627          example: "2001:db8:2::100"
  1628        GlobalIPv6Address:
  1629          description: |
  1630            Global IPv6 address.
  1631          type: "string"
  1632          example: "2001:db8::5689"
  1633        GlobalIPv6PrefixLen:
  1634          description: |
  1635            Mask length of the global IPv6 address.
  1636          type: "integer"
  1637          format: "int64"
  1638          example: 64
  1639        MacAddress:
  1640          description: |
  1641            MAC address for the endpoint on this network.
  1642          type: "string"
  1643          example: "02:42:ac:11:00:04"
  1644        DriverOpts:
  1645          description: |
  1646            DriverOpts is a mapping of driver options and values. These options
  1647            are passed directly to the driver and are driver specific.
  1648          type: "object"
  1649          x-nullable: true
  1650          additionalProperties:
  1651            type: "string"
  1652          example:
  1653            com.example.some-label: "some-value"
  1654            com.example.some-other-label: "some-other-value"
  1655  
  1656    EndpointIPAMConfig:
  1657      description: |
  1658        EndpointIPAMConfig represents an endpoint's IPAM configuration.
  1659      type: "object"
  1660      x-nullable: true
  1661      properties:
  1662        IPv4Address:
  1663          type: "string"
  1664          example: "172.20.30.33"
  1665        IPv6Address:
  1666          type: "string"
  1667          example: "2001:db8:abcd::3033"
  1668        LinkLocalIPs:
  1669          type: "array"
  1670          items:
  1671            type: "string"
  1672          example:
  1673            - "169.254.34.68"
  1674            - "fe80::3468"
  1675  
  1676    PluginMount:
  1677      type: "object"
  1678      x-nullable: false
  1679      required: [Name, Description, Settable, Source, Destination, Type, Options]
  1680      properties:
  1681        Name:
  1682          type: "string"
  1683          x-nullable: false
  1684          example: "some-mount"
  1685        Description:
  1686          type: "string"
  1687          x-nullable: false
  1688          example: "This is a mount that's used by the plugin."
  1689        Settable:
  1690          type: "array"
  1691          items:
  1692            type: "string"
  1693        Source:
  1694          type: "string"
  1695          example: "/var/lib/docker/plugins/"
  1696        Destination:
  1697          type: "string"
  1698          x-nullable: false
  1699          example: "/mnt/state"
  1700        Type:
  1701          type: "string"
  1702          x-nullable: false
  1703          example: "bind"
  1704        Options:
  1705          type: "array"
  1706          items:
  1707            type: "string"
  1708          example:
  1709            - "rbind"
  1710            - "rw"
  1711  
  1712    PluginDevice:
  1713      type: "object"
  1714      required: [Name, Description, Settable, Path]
  1715      x-nullable: false
  1716      properties:
  1717        Name:
  1718          type: "string"
  1719          x-nullable: false
  1720        Description:
  1721          type: "string"
  1722          x-nullable: false
  1723        Settable:
  1724          type: "array"
  1725          items:
  1726            type: "string"
  1727        Path:
  1728          type: "string"
  1729          example: "/dev/fuse"
  1730  
  1731    PluginEnv:
  1732      type: "object"
  1733      x-nullable: false
  1734      required: [Name, Description, Settable, Value]
  1735      properties:
  1736        Name:
  1737          x-nullable: false
  1738          type: "string"
  1739        Description:
  1740          x-nullable: false
  1741          type: "string"
  1742        Settable:
  1743          type: "array"
  1744          items:
  1745            type: "string"
  1746        Value:
  1747          type: "string"
  1748  
  1749    PluginInterfaceType:
  1750      type: "object"
  1751      x-nullable: false
  1752      required: [Prefix, Capability, Version]
  1753      properties:
  1754        Prefix:
  1755          type: "string"
  1756          x-nullable: false
  1757        Capability:
  1758          type: "string"
  1759          x-nullable: false
  1760        Version:
  1761          type: "string"
  1762          x-nullable: false
  1763  
  1764    Plugin:
  1765      description: "A plugin for the Engine API"
  1766      type: "object"
  1767      required: [Settings, Enabled, Config, Name]
  1768      properties:
  1769        Id:
  1770          type: "string"
  1771          example: "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078"
  1772        Name:
  1773          type: "string"
  1774          x-nullable: false
  1775          example: "tiborvass/sample-volume-plugin"
  1776        Enabled:
  1777          description: "True if the plugin is running. False if the plugin is not running, only installed."
  1778          type: "boolean"
  1779          x-nullable: false
  1780          example: true
  1781        Settings:
  1782          description: "Settings that can be modified by users."
  1783          type: "object"
  1784          x-nullable: false
  1785          required: [Args, Devices, Env, Mounts]
  1786          properties:
  1787            Mounts:
  1788              type: "array"
  1789              items:
  1790                $ref: "#/definitions/PluginMount"
  1791            Env:
  1792              type: "array"
  1793              items:
  1794                type: "string"
  1795              example:
  1796                - "DEBUG=0"
  1797            Args:
  1798              type: "array"
  1799              items:
  1800                type: "string"
  1801            Devices:
  1802              type: "array"
  1803              items:
  1804                $ref: "#/definitions/PluginDevice"
  1805        PluginReference:
  1806          description: "plugin remote reference used to push/pull the plugin"
  1807          type: "string"
  1808          x-nullable: false
  1809          example: "localhost:5000/tiborvass/sample-volume-plugin:latest"
  1810        Config:
  1811          description: "The config of a plugin."
  1812          type: "object"
  1813          x-nullable: false
  1814          required:
  1815            - Description
  1816            - Documentation
  1817            - Interface
  1818            - Entrypoint
  1819            - WorkDir
  1820            - Network
  1821            - Linux
  1822            - PidHost
  1823            - PropagatedMount
  1824            - IpcHost
  1825            - Mounts
  1826            - Env
  1827            - Args
  1828          properties:
  1829            DockerVersion:
  1830              description: "Docker Version used to create the plugin"
  1831              type: "string"
  1832              x-nullable: false
  1833              example: "17.06.0-ce"
  1834            Description:
  1835              type: "string"
  1836              x-nullable: false
  1837              example: "A sample volume plugin for Docker"
  1838            Documentation:
  1839              type: "string"
  1840              x-nullable: false
  1841              example: "https://docs.docker.com/engine/extend/plugins/"
  1842            Interface:
  1843              description: "The interface between Docker and the plugin"
  1844              x-nullable: false
  1845              type: "object"
  1846              required: [Types, Socket]
  1847              properties:
  1848                Types:
  1849                  type: "array"
  1850                  items:
  1851                    $ref: "#/definitions/PluginInterfaceType"
  1852                  example:
  1853                    - "docker.volumedriver/1.0"
  1854                Socket:
  1855                  type: "string"
  1856                  x-nullable: false
  1857                  example: "plugins.sock"
  1858            Entrypoint:
  1859              type: "array"
  1860              items:
  1861                type: "string"
  1862              example:
  1863                - "/usr/bin/sample-volume-plugin"
  1864                - "/data"
  1865            WorkDir:
  1866              type: "string"
  1867              x-nullable: false
  1868              example: "/bin/"
  1869            User:
  1870              type: "object"
  1871              x-nullable: false
  1872              properties:
  1873                UID:
  1874                  type: "integer"
  1875                  format: "uint32"
  1876                  example: 1000
  1877                GID:
  1878                  type: "integer"
  1879                  format: "uint32"
  1880                  example: 1000
  1881            Network:
  1882              type: "object"
  1883              x-nullable: false
  1884              required: [Type]
  1885              properties:
  1886                Type:
  1887                  x-nullable: false
  1888                  type: "string"
  1889                  example: "host"
  1890            Linux:
  1891              type: "object"
  1892              x-nullable: false
  1893              required: [Capabilities, AllowAllDevices, Devices]
  1894              properties:
  1895                Capabilities:
  1896                  type: "array"
  1897                  items:
  1898                    type: "string"
  1899                  example:
  1900                    - "CAP_SYS_ADMIN"
  1901                    - "CAP_SYSLOG"
  1902                AllowAllDevices:
  1903                  type: "boolean"
  1904                  x-nullable: false
  1905                  example: false
  1906                Devices:
  1907                  type: "array"
  1908                  items:
  1909                    $ref: "#/definitions/PluginDevice"
  1910            PropagatedMount:
  1911              type: "string"
  1912              x-nullable: false
  1913              example: "/mnt/volumes"
  1914            IpcHost:
  1915              type: "boolean"
  1916              x-nullable: false
  1917              example: false
  1918            PidHost:
  1919              type: "boolean"
  1920              x-nullable: false
  1921              example: false
  1922            Mounts:
  1923              type: "array"
  1924              items:
  1925                $ref: "#/definitions/PluginMount"
  1926            Env:
  1927              type: "array"
  1928              items:
  1929                $ref: "#/definitions/PluginEnv"
  1930              example:
  1931                - Name: "DEBUG"
  1932                  Description: "If set, prints debug messages"
  1933                  Settable: null
  1934                  Value: "0"
  1935            Args:
  1936              type: "object"
  1937              x-nullable: false
  1938              required: [Name, Description, Settable, Value]
  1939              properties:
  1940                Name:
  1941                  x-nullable: false
  1942                  type: "string"
  1943                  example: "args"
  1944                Description:
  1945                  x-nullable: false
  1946                  type: "string"
  1947                  example: "command line arguments"
  1948                Settable:
  1949                  type: "array"
  1950                  items:
  1951                    type: "string"
  1952                Value:
  1953                  type: "array"
  1954                  items:
  1955                    type: "string"
  1956            rootfs:
  1957              type: "object"
  1958              properties:
  1959                type:
  1960                  type: "string"
  1961                  example: "layers"
  1962                diff_ids:
  1963                  type: "array"
  1964                  items:
  1965                    type: "string"
  1966                  example:
  1967                    - "sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887"
  1968                    - "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8"
  1969  
  1970    ObjectVersion:
  1971      description: |
  1972        The version number of the object such as node, service, etc. This is needed to avoid conflicting writes.
  1973        The client must send the version number along with the modified specification when updating these objects.
  1974        This approach ensures safe concurrency and determinism in that the change on the object
  1975        may not be applied if the version number has changed from the last read. In other words,
  1976        if two update requests specify the same base version, only one of the requests can succeed.
  1977        As a result, two separate update requests that happen at the same time will not
  1978        unintentionally overwrite each other.
  1979      type: "object"
  1980      properties:
  1981        Index:
  1982          type: "integer"
  1983          format: "uint64"
  1984          example: 373531
  1985  
  1986    NodeSpec:
  1987      type: "object"
  1988      properties:
  1989        Name:
  1990          description: "Name for the node."
  1991          type: "string"
  1992          example: "my-node"
  1993        Labels:
  1994          description: "User-defined key/value metadata."
  1995          type: "object"
  1996          additionalProperties:
  1997            type: "string"
  1998        Role:
  1999          description: "Role of the node."
  2000          type: "string"
  2001          enum:
  2002            - "worker"
  2003            - "manager"
  2004          example: "manager"
  2005        Availability:
  2006          description: "Availability of the node."
  2007          type: "string"
  2008          enum:
  2009            - "active"
  2010            - "pause"
  2011            - "drain"
  2012          example: "active"
  2013      example:
  2014        Availability: "active"
  2015        Name: "node-name"
  2016        Role: "manager"
  2017        Labels:
  2018          foo: "bar"
  2019  
  2020    Node:
  2021      type: "object"
  2022      properties:
  2023        ID:
  2024          type: "string"
  2025          example: "24ifsmvkjbyhk"
  2026        Version:
  2027          $ref: "#/definitions/ObjectVersion"
  2028        CreatedAt:
  2029          description: |
  2030            Date and time at which the node was added to the swarm in
  2031            [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
  2032          type: "string"
  2033          format: "dateTime"
  2034          example: "2016-08-18T10:44:24.496525531Z"
  2035        UpdatedAt:
  2036          description: |
  2037            Date and time at which the node was last updated in
  2038            [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
  2039          type: "string"
  2040          format: "dateTime"
  2041          example: "2017-08-09T07:09:37.632105588Z"
  2042        Spec:
  2043          $ref: "#/definitions/NodeSpec"
  2044        Description:
  2045          $ref: "#/definitions/NodeDescription"
  2046        Status:
  2047          $ref: "#/definitions/NodeStatus"
  2048        ManagerStatus:
  2049          $ref: "#/definitions/ManagerStatus"
  2050  
  2051    NodeDescription:
  2052      description: |
  2053        NodeDescription encapsulates the properties of the Node as reported by the
  2054        agent.
  2055      type: "object"
  2056      properties:
  2057        Hostname:
  2058          type: "string"
  2059          example: "bf3067039e47"
  2060        Platform:
  2061          $ref: "#/definitions/Platform"
  2062        Resources:
  2063          $ref: "#/definitions/ResourceObject"
  2064        Engine:
  2065          $ref: "#/definitions/EngineDescription"
  2066        TLSInfo:
  2067          $ref: "#/definitions/TLSInfo"
  2068  
  2069    Platform:
  2070      description: |
  2071        Platform represents the platform (Arch/OS).
  2072      type: "object"
  2073      properties:
  2074        Architecture:
  2075          description: |
  2076            Architecture represents the hardware architecture (for example,
  2077            `x86_64`).
  2078          type: "string"
  2079          example: "x86_64"
  2080        OS:
  2081          description: |
  2082            OS represents the Operating System (for example, `linux` or `windows`).
  2083          type: "string"
  2084          example: "linux"
  2085  
  2086    EngineDescription:
  2087      description: "EngineDescription provides information about an engine."
  2088      type: "object"
  2089      properties:
  2090        EngineVersion:
  2091          type: "string"
  2092          example: "17.06.0"
  2093        Labels:
  2094          type: "object"
  2095          additionalProperties:
  2096            type: "string"
  2097          example:
  2098            foo: "bar"
  2099        Plugins:
  2100          type: "array"
  2101          items:
  2102            type: "object"
  2103            properties:
  2104              Type:
  2105                type: "string"
  2106              Name:
  2107                type: "string"
  2108          example:
  2109            - Type: "Log"
  2110              Name: "awslogs"
  2111            - Type: "Log"
  2112              Name: "fluentd"
  2113            - Type: "Log"
  2114              Name: "gcplogs"
  2115            - Type: "Log"
  2116              Name: "gelf"
  2117            - Type: "Log"
  2118              Name: "journald"
  2119            - Type: "Log"
  2120              Name: "json-file"
  2121            - Type: "Log"
  2122              Name: "logentries"
  2123            - Type: "Log"
  2124              Name: "splunk"
  2125            - Type: "Log"
  2126              Name: "syslog"
  2127            - Type: "Network"
  2128              Name: "bridge"
  2129            - Type: "Network"
  2130              Name: "host"
  2131            - Type: "Network"
  2132              Name: "ipvlan"
  2133            - Type: "Network"
  2134              Name: "macvlan"
  2135            - Type: "Network"
  2136              Name: "null"
  2137            - Type: "Network"
  2138              Name: "overlay"
  2139            - Type: "Volume"
  2140              Name: "local"
  2141            - Type: "Volume"
  2142              Name: "localhost:5000/vieux/sshfs:latest"
  2143            - Type: "Volume"
  2144              Name: "vieux/sshfs:latest"
  2145  
  2146    TLSInfo:
  2147      description: "Information about the issuer of leaf TLS certificates and the trusted root CA certificate"
  2148      type: "object"
  2149      properties:
  2150        TrustRoot:
  2151          description: "The root CA certificate(s) that are used to validate leaf TLS certificates"
  2152          type: "string"
  2153        CertIssuerSubject:
  2154          description: "The base64-url-safe-encoded raw subject bytes of the issuer"
  2155          type: "string"
  2156        CertIssuerPublicKey:
  2157          description: "The base64-url-safe-encoded raw public key bytes of the issuer"
  2158          type: "string"
  2159      example:
  2160        TrustRoot: |
  2161          -----BEGIN CERTIFICATE-----
  2162          MIIBajCCARCgAwIBAgIUbYqrLSOSQHoxD8CwG6Bi2PJi9c8wCgYIKoZIzj0EAwIw
  2163          EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNDI0MjE0MzAwWhcNMzcwNDE5MjE0
  2164          MzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH
  2165          A0IABJk/VyMPYdaqDXJb/VXh5n/1Yuv7iNrxV3Qb3l06XD46seovcDWs3IZNV1lf
  2166          3Skyr0ofcchipoiHkXBODojJydSjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
  2167          Af8EBTADAQH/MB0GA1UdDgQWBBRUXxuRcnFjDfR/RIAUQab8ZV/n4jAKBggqhkjO
  2168          PQQDAgNIADBFAiAy+JTe6Uc3KyLCMiqGl2GyWGQqQDEcO3/YG36x7om65AIhAJvz
  2169          pxv6zFeVEkAEEkqIYi0omA9+CjanB/6Bz4n1uw8H
  2170          -----END CERTIFICATE-----
  2171        CertIssuerSubject: "MBMxETAPBgNVBAMTCHN3YXJtLWNh"
  2172        CertIssuerPublicKey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmT9XIw9h1qoNclv9VeHmf/Vi6/uI2vFXdBveXTpcPjqx6i9wNazchk1XWV/dKTKvSh9xyGKmiIeRcE4OiMnJ1A=="
  2173  
  2174    NodeStatus:
  2175      description: |
  2176        NodeStatus represents the status of a node.
  2177  
  2178        It provides the current status of the node, as seen by the manager.
  2179      type: "object"
  2180      properties:
  2181        State:
  2182          $ref: "#/definitions/NodeState"
  2183        Message:
  2184          type: "string"
  2185          example: ""
  2186        Addr:
  2187          description: "IP address of the node."
  2188          type: "string"
  2189          example: "172.17.0.2"
  2190  
  2191    NodeState:
  2192      description: "NodeState represents the state of a node."
  2193      type: "string"
  2194      enum:
  2195        - "unknown"
  2196        - "down"
  2197        - "ready"
  2198        - "disconnected"
  2199      example: "ready"
  2200  
  2201    ManagerStatus:
  2202      description: |
  2203        ManagerStatus represents the status of a manager.
  2204  
  2205        It provides the current status of a node's manager component, if the node
  2206        is a manager.
  2207      x-nullable: true
  2208      type: "object"
  2209      properties:
  2210        Leader:
  2211          type: "boolean"
  2212          default: false
  2213          example: true
  2214        Reachability:
  2215          $ref: "#/definitions/Reachability"
  2216        Addr:
  2217          description: |
  2218            The IP address and port at which the manager is reachable.
  2219          type: "string"
  2220          example: "10.0.0.46:2377"
  2221  
  2222    Reachability:
  2223      description: "Reachability represents the reachability of a node."
  2224      type: "string"
  2225      enum:
  2226        - "unknown"
  2227        - "unreachable"
  2228        - "reachable"
  2229      example: "reachable"
  2230  
  2231    SwarmSpec:
  2232      description: "User modifiable swarm configuration."
  2233      type: "object"
  2234      properties:
  2235        Name:
  2236          description: "Name of the swarm."
  2237          type: "string"
  2238          example: "default"
  2239        Labels:
  2240          description: "User-defined key/value metadata."
  2241          type: "object"
  2242          additionalProperties:
  2243            type: "string"
  2244          example:
  2245            com.example.corp.type: "production"
  2246            com.example.corp.department: "engineering"
  2247        Orchestration:
  2248          description: "Orchestration configuration."
  2249          type: "object"
  2250          x-nullable: true
  2251          properties:
  2252            TaskHistoryRetentionLimit:
  2253              description: "The number of historic tasks to keep per instance or node. If negative, never remove completed or failed tasks."
  2254              type: "integer"
  2255              format: "int64"
  2256              example: 10
  2257        Raft:
  2258          description: "Raft configuration."
  2259          type: "object"
  2260          properties:
  2261            SnapshotInterval:
  2262              description: "The number of log entries between snapshots."
  2263              type: "integer"
  2264              format: "uint64"
  2265              example: 10000
  2266            KeepOldSnapshots:
  2267              description: "The number of snapshots to keep beyond the current snapshot."
  2268              type: "integer"
  2269              format: "uint64"
  2270            LogEntriesForSlowFollowers:
  2271              description: "The number of log entries to keep around to sync up slow followers after a snapshot is created."
  2272              type: "integer"
  2273              format: "uint64"
  2274              example: 500
  2275            ElectionTick:
  2276              description: |
  2277                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`.
  2278  
  2279                A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.
  2280              type: "integer"
  2281              example: 3
  2282            HeartbeatTick:
  2283              description: |
  2284                The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader will send a heartbeat to the followers.
  2285  
  2286                A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.
  2287              type: "integer"
  2288              example: 1
  2289        Dispatcher:
  2290          description: "Dispatcher configuration."
  2291          type: "object"
  2292          x-nullable: true
  2293          properties:
  2294            HeartbeatPeriod:
  2295              description: "The delay for an agent to send a heartbeat to the dispatcher."
  2296              type: "integer"
  2297              format: "int64"
  2298              example: 5000000000
  2299        CAConfig:
  2300          description: "CA configuration."
  2301          type: "object"
  2302          x-nullable: true
  2303          properties:
  2304            NodeCertExpiry:
  2305              description: "The duration node certificates are issued for."
  2306              type: "integer"
  2307              format: "int64"
  2308              example: 7776000000000000
  2309            ExternalCAs:
  2310              description: "Configuration for forwarding signing requests to an external certificate authority."
  2311              type: "array"
  2312              items:
  2313                type: "object"
  2314                properties:
  2315                  Protocol:
  2316                    description: "Protocol for communication with the external CA (currently only `cfssl` is supported)."
  2317                    type: "string"
  2318                    enum:
  2319                      - "cfssl"
  2320                    default: "cfssl"
  2321                  URL:
  2322                    description: "URL where certificate signing requests should be sent."
  2323                    type: "string"
  2324                  Options:
  2325                    description: "An object with key/value pairs that are interpreted as protocol-specific options for the external CA driver."
  2326                    type: "object"
  2327                    additionalProperties:
  2328                      type: "string"
  2329                  CACert:
  2330                    description: "The root CA certificate (in PEM format) this external CA uses to issue TLS certificates (assumed to be to the current swarm root CA certificate if not provided)."
  2331                    type: "string"
  2332            SigningCACert:
  2333              description: "The desired signing CA certificate for all swarm node TLS leaf certificates, in PEM format."
  2334              type: "string"
  2335            SigningCAKey:
  2336              description: "The desired signing CA key for all swarm node TLS leaf certificates, in PEM format."
  2337              type: "string"
  2338            ForceRotate:
  2339              description: "An integer whose purpose is to force swarm to generate a new signing CA certificate and key, if none have been specified in `SigningCACert` and `SigningCAKey`"
  2340              format: "uint64"
  2341              type: "integer"
  2342        EncryptionConfig:
  2343          description: "Parameters related to encryption-at-rest."
  2344          type: "object"
  2345          properties:
  2346            AutoLockManagers:
  2347              description: "If set, generate a key and use it to lock data stored on the managers."
  2348              type: "boolean"
  2349              example: false
  2350        TaskDefaults:
  2351          description: "Defaults for creating tasks in this cluster."
  2352          type: "object"
  2353          properties:
  2354            LogDriver:
  2355              description: |
  2356                The log driver to use for tasks created in the orchestrator if
  2357                unspecified by a service.
  2358  
  2359                Updating this value only affects new tasks. Existing tasks continue
  2360                to use their previously configured log driver until recreated.
  2361              type: "object"
  2362              properties:
  2363                Name:
  2364                  description: |
  2365                    The log driver to use as a default for new tasks.
  2366                  type: "string"
  2367                  example: "json-file"
  2368                Options:
  2369                  description: |
  2370                    Driver-specific options for the selectd log driver, specified
  2371                    as key/value pairs.
  2372                  type: "object"
  2373                  additionalProperties:
  2374                    type: "string"
  2375                  example:
  2376                    "max-file": "10"
  2377                    "max-size": "100m"
  2378  
  2379    # The Swarm information for `GET /info`. It is the same as `GET /swarm`, but
  2380    # without `JoinTokens`.
  2381    ClusterInfo:
  2382      description: |
  2383        ClusterInfo represents information about the swarm as is returned by the
  2384        "/info" endpoint. Join-tokens are not included.
  2385      x-nullable: true
  2386      type: "object"
  2387      properties:
  2388        ID:
  2389          description: "The ID of the swarm."
  2390          type: "string"
  2391          example: "abajmipo7b4xz5ip2nrla6b11"
  2392        Version:
  2393          $ref: "#/definitions/ObjectVersion"
  2394        CreatedAt:
  2395          description: |
  2396            Date and time at which the swarm was initialised in
  2397            [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
  2398          type: "string"
  2399          format: "dateTime"
  2400          example: "2016-08-18T10:44:24.496525531Z"
  2401        UpdatedAt:
  2402          description: |
  2403            Date and time at which the swarm was last updated in
  2404            [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
  2405          type: "string"
  2406          format: "dateTime"
  2407          example: "2017-08-09T07:09:37.632105588Z"
  2408        Spec:
  2409          $ref: "#/definitions/SwarmSpec"
  2410        TLSInfo:
  2411          $ref: "#/definitions/TLSInfo"
  2412        RootRotationInProgress:
  2413          description: "Whether there is currently a root CA rotation in progress for the swarm"
  2414          type: "boolean"
  2415          example: false
  2416  
  2417    JoinTokens:
  2418      description: |
  2419        JoinTokens contains the tokens workers and managers need to join the swarm.
  2420      type: "object"
  2421      properties:
  2422        Worker:
  2423          description: |
  2424            The token workers can use to join the swarm.
  2425          type: "string"
  2426          example: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx"
  2427        Manager:
  2428          description: |
  2429            The token managers can use to join the swarm.
  2430          type: "string"
  2431          example: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2"
  2432  
  2433    Swarm:
  2434      type: "object"
  2435      allOf:
  2436        - $ref: "#/definitions/ClusterInfo"
  2437        - type: "object"
  2438          properties:
  2439            JoinTokens:
  2440              $ref: "#/definitions/JoinTokens"
  2441  
  2442    TaskSpec:
  2443      description: "User modifiable task configuration."
  2444      type: "object"
  2445      properties:
  2446        PluginSpec:
  2447          type: "object"
  2448          description: "Invalid when specified with `ContainerSpec`. *(Experimental release only.)*"
  2449          properties:
  2450            Name:
  2451              description: "The name or 'alias' to use for the plugin."
  2452              type: "string"
  2453            Remote:
  2454              description: "The plugin image reference to use."
  2455              type: "string"
  2456            Disabled:
  2457              description: "Disable the plugin once scheduled."
  2458              type: "boolean"
  2459            PluginPrivilege:
  2460              type: "array"
  2461              items:
  2462                description: "Describes a permission accepted by the user upon installing the plugin."
  2463                type: "object"
  2464                properties:
  2465                  Name:
  2466                    type: "string"
  2467                  Description:
  2468                    type: "string"
  2469                  Value:
  2470                    type: "array"
  2471                    items:
  2472                      type: "string"
  2473        ContainerSpec:
  2474          type: "object"
  2475          description: "Invalid when specified with `PluginSpec`."
  2476          properties:
  2477            Image:
  2478              description: "The image name to use for the container"
  2479              type: "string"
  2480            Labels:
  2481              description: "User-defined key/value data."
  2482              type: "object"
  2483              additionalProperties:
  2484                type: "string"
  2485            Command:
  2486              description: "The command to be run in the image."
  2487              type: "array"
  2488              items:
  2489                type: "string"
  2490            Args:
  2491              description: "Arguments to the command."
  2492              type: "array"
  2493              items:
  2494                type: "string"
  2495            Hostname:
  2496              description: "The hostname to use for the container, as a valid RFC 1123 hostname."
  2497              type: "string"
  2498            Env:
  2499              description: "A list of environment variables in the form `VAR=value`."
  2500              type: "array"
  2501              items:
  2502                type: "string"
  2503            Dir:
  2504              description: "The working directory for commands to run in."
  2505              type: "string"
  2506            User:
  2507              description: "The user inside the container."
  2508              type: "string"
  2509            Groups:
  2510              type: "array"
  2511              description: "A list of additional groups that the container process will run as."
  2512              items:
  2513                type: "string"
  2514            Privileges:
  2515              type: "object"
  2516              description: "Security options for the container"
  2517              properties:
  2518                CredentialSpec:
  2519                  type: "object"
  2520                  description: "CredentialSpec for managed service account (Windows only)"
  2521                  properties:
  2522                    File:
  2523                      type: "string"
  2524                      description: |
  2525                        Load credential spec from this file. The file is read by the daemon, and must be present in the
  2526                        `CredentialSpecs` subdirectory in the docker data directory, which defaults to
  2527                        `C:\ProgramData\Docker\` on Windows.
  2528  
  2529                        For example, specifying `spec.json` loads `C:\ProgramData\Docker\CredentialSpecs\spec.json`.
  2530  
  2531                        <p><br /></p>
  2532  
  2533                        > **Note**: `CredentialSpec.File` and `CredentialSpec.Registry` are mutually exclusive.
  2534                    Registry:
  2535                      type: "string"
  2536                      description: |
  2537                        Load credential spec from this value in the Windows registry. The specified registry value must be
  2538                        located in:
  2539  
  2540                        `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs`
  2541  
  2542                        <p><br /></p>
  2543  
  2544  
  2545                        > **Note**: `CredentialSpec.File` and `CredentialSpec.Registry` are mutually exclusive.
  2546                SELinuxContext:
  2547                  type: "object"
  2548                  description: "SELinux labels of the container"
  2549                  properties:
  2550                    Disable:
  2551                      type: "boolean"
  2552                      description: "Disable SELinux"
  2553                    User:
  2554                      type: "string"
  2555                      description: "SELinux user label"
  2556                    Role:
  2557                      type: "string"
  2558                      description: "SELinux role label"
  2559                    Type:
  2560                      type: "string"
  2561                      description: "SELinux type label"
  2562                    Level:
  2563                      type: "string"
  2564                      description: "SELinux level label"
  2565            TTY:
  2566              description: "Whether a pseudo-TTY should be allocated."
  2567              type: "boolean"
  2568            OpenStdin:
  2569              description: "Open `stdin`"
  2570              type: "boolean"
  2571            ReadOnly:
  2572              description: "Mount the container's root filesystem as read only."
  2573              type: "boolean"
  2574            Mounts:
  2575              description: "Specification for mounts to be added to containers created as part of the service."
  2576              type: "array"
  2577              items:
  2578                $ref: "#/definitions/Mount"
  2579            StopSignal:
  2580              description: "Signal to stop the container."
  2581              type: "string"
  2582            StopGracePeriod:
  2583              description: "Amount of time to wait for the container to terminate before forcefully killing it."
  2584              type: "integer"
  2585              format: "int64"
  2586            HealthCheck:
  2587              $ref: "#/definitions/HealthConfig"
  2588            Hosts:
  2589              type: "array"
  2590              description: |
  2591                A list of hostname/IP mappings to add to the container's `hosts`
  2592                file. The format of extra hosts is specified in the
  2593                [hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html)
  2594                man page:
  2595  
  2596                    IP_address canonical_hostname [aliases...]
  2597              items:
  2598                type: "string"
  2599            DNSConfig:
  2600              description: "Specification for DNS related configurations in resolver configuration file (`resolv.conf`)."
  2601              type: "object"
  2602              properties:
  2603                Nameservers:
  2604                  description: "The IP addresses of the name servers."
  2605                  type: "array"
  2606                  items:
  2607                    type: "string"
  2608                Search:
  2609                  description: "A search list for host-name lookup."
  2610                  type: "array"
  2611                  items:
  2612                    type: "string"
  2613                Options:
  2614                  description: "A list of internal resolver variables to be modified (e.g., `debug`, `ndots:3`, etc.)."
  2615                  type: "array"
  2616                  items:
  2617                    type: "string"
  2618            Secrets:
  2619              description: "Secrets contains references to zero or more secrets that will be exposed to the service."
  2620              type: "array"
  2621              items:
  2622                type: "object"
  2623                properties:
  2624                  File:
  2625                    description: "File represents a specific target that is backed by a file."
  2626                    type: "object"
  2627                    properties:
  2628                      Name:
  2629                        description: "Name represents the final filename in the filesystem."
  2630                        type: "string"
  2631                      UID:
  2632                        description: "UID represents the file UID."
  2633                        type: "string"
  2634                      GID:
  2635                        description: "GID represents the file GID."
  2636                        type: "string"
  2637                      Mode:
  2638                        description: "Mode represents the FileMode of the file."
  2639                        type: "integer"
  2640                        format: "uint32"
  2641                  SecretID:
  2642                    description: "SecretID represents the ID of the specific secret that we're referencing."
  2643                    type: "string"
  2644                  SecretName:
  2645                    description: |
  2646                      SecretName is the name of the secret that this references, but this is just provided for
  2647                      lookup/display purposes. The secret in the reference will be identified by its ID.
  2648                    type: "string"
  2649            Configs:
  2650              description: "Configs contains references to zero or more configs that will be exposed to the service."
  2651              type: "array"
  2652              items:
  2653                type: "object"
  2654                properties:
  2655                  File:
  2656                    description: "File represents a specific target that is backed by a file."
  2657                    type: "object"
  2658                    properties:
  2659                      Name:
  2660                        description: "Name represents the final filename in the filesystem."
  2661                        type: "string"
  2662                      UID:
  2663                        description: "UID represents the file UID."
  2664                        type: "string"
  2665                      GID:
  2666                        description: "GID represents the file GID."
  2667                        type: "string"
  2668                      Mode:
  2669                        description: "Mode represents the FileMode of the file."
  2670                        type: "integer"
  2671                        format: "uint32"
  2672                  ConfigID:
  2673                    description: "ConfigID represents the ID of the specific config that we're referencing."
  2674                    type: "string"
  2675                  ConfigName:
  2676                    description: |
  2677                      ConfigName is the name of the config that this references, but this is just provided for
  2678                      lookup/display purposes. The config in the reference will be identified by its ID.
  2679                    type: "string"
  2680  
  2681        Resources:
  2682          description: "Resource requirements which apply to each individual container created as part of the service."
  2683          type: "object"
  2684          properties:
  2685            Limits:
  2686              description: "Define resources limits."
  2687              $ref: "#/definitions/ResourceObject"
  2688            Reservation:
  2689              description: "Define resources reservation."
  2690              $ref: "#/definitions/ResourceObject"
  2691        RestartPolicy:
  2692          description: "Specification for the restart policy which applies to containers created as part of this service."
  2693          type: "object"
  2694          properties:
  2695            Condition:
  2696              description: "Condition for restart."
  2697              type: "string"
  2698              enum:
  2699                - "none"
  2700                - "on-failure"
  2701                - "any"
  2702            Delay:
  2703              description: "Delay between restart attempts."
  2704              type: "integer"
  2705              format: "int64"
  2706            MaxAttempts:
  2707              description: "Maximum attempts to restart a given container before giving up (default value is 0, which is ignored)."
  2708              type: "integer"
  2709              format: "int64"
  2710              default: 0
  2711            Window:
  2712              description: "Windows is the time window used to evaluate the restart policy (default value is 0, which is unbounded)."
  2713              type: "integer"
  2714              format: "int64"
  2715              default: 0
  2716        Placement:
  2717          type: "object"
  2718          properties:
  2719            Constraints:
  2720              description: "An array of constraints."
  2721              type: "array"
  2722              items:
  2723                type: "string"
  2724              example:
  2725                - "node.hostname!=node3.corp.example.com"
  2726                - "node.role!=manager"
  2727                - "node.labels.type==production"
  2728            Preferences:
  2729              description: "Preferences provide a way to make the scheduler aware of factors such as topology. They are provided in order from highest to lowest precedence."
  2730              type: "array"
  2731              items:
  2732                type: "object"
  2733                properties:
  2734                  Spread:
  2735                    type: "object"
  2736                    properties:
  2737                      SpreadDescriptor:
  2738                        description: "label descriptor, such as engine.labels.az"
  2739                        type: "string"
  2740              example:
  2741                - Spread:
  2742                    SpreadDescriptor: "node.labels.datacenter"
  2743                - Spread:
  2744                    SpreadDescriptor: "node.labels.rack"
  2745            Platforms:
  2746              description: |
  2747                Platforms stores all the platforms that the service's image can
  2748                run on. This field is used in the platform filter for scheduling.
  2749                If empty, then the platform filter is off, meaning there are no
  2750                scheduling restrictions.
  2751              type: "array"
  2752              items:
  2753                $ref: "#/definitions/Platform"
  2754        ForceUpdate:
  2755          description: "A counter that triggers an update even if no relevant parameters have been changed."
  2756          type: "integer"
  2757        Runtime:
  2758          description: "Runtime is the type of runtime specified for the task executor."
  2759          type: "string"
  2760        Networks:
  2761          type: "array"
  2762          items:
  2763            type: "object"
  2764            properties:
  2765              Target:
  2766                type: "string"
  2767              Aliases:
  2768                type: "array"
  2769                items:
  2770                  type: "string"
  2771        LogDriver:
  2772          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."
  2773          type: "object"
  2774          properties:
  2775            Name:
  2776              type: "string"
  2777            Options:
  2778              type: "object"
  2779              additionalProperties:
  2780                type: "string"
  2781  
  2782    TaskState:
  2783      type: "string"
  2784      enum:
  2785        - "new"
  2786        - "allocated"
  2787        - "pending"
  2788        - "assigned"
  2789        - "accepted"
  2790        - "preparing"
  2791        - "ready"
  2792        - "starting"
  2793        - "running"
  2794        - "complete"
  2795        - "shutdown"
  2796        - "failed"
  2797        - "rejected"
  2798  
  2799    Task:
  2800      type: "object"
  2801      properties:
  2802        ID:
  2803          description: "The ID of the task."
  2804          type: "string"
  2805        Version:
  2806          $ref: "#/definitions/ObjectVersion"
  2807        CreatedAt:
  2808          type: "string"
  2809          format: "dateTime"
  2810        UpdatedAt:
  2811          type: "string"
  2812          format: "dateTime"
  2813        Name:
  2814          description: "Name of the task."
  2815          type: "string"
  2816        Labels:
  2817          description: "User-defined key/value metadata."
  2818          type: "object"
  2819          additionalProperties:
  2820            type: "string"
  2821        Spec:
  2822          $ref: "#/definitions/TaskSpec"
  2823        ServiceID:
  2824          description: "The ID of the service this task is part of."
  2825          type: "string"
  2826        Slot:
  2827          type: "integer"
  2828        NodeID:
  2829          description: "The ID of the node that this task is on."
  2830          type: "string"
  2831        AssignedGenericResources:
  2832          $ref: "#/definitions/GenericResources"
  2833        Status:
  2834          type: "object"
  2835          properties:
  2836            Timestamp:
  2837              type: "string"
  2838              format: "dateTime"
  2839            State:
  2840              $ref: "#/definitions/TaskState"
  2841            Message:
  2842              type: "string"
  2843            Err:
  2844              type: "string"
  2845            ContainerStatus:
  2846              type: "object"
  2847              properties:
  2848                ContainerID:
  2849                  type: "string"
  2850                PID:
  2851                  type: "integer"
  2852                ExitCode:
  2853                  type: "integer"
  2854        DesiredState:
  2855          $ref: "#/definitions/TaskState"
  2856      example:
  2857        ID: "0kzzo1i0y4jz6027t0k7aezc7"
  2858        Version:
  2859          Index: 71
  2860        CreatedAt: "2016-06-07T21:07:31.171892745Z"
  2861        UpdatedAt: "2016-06-07T21:07:31.376370513Z"
  2862        Spec:
  2863          ContainerSpec:
  2864            Image: "redis"
  2865          Resources:
  2866            Limits: {}
  2867            Reservations: {}
  2868          RestartPolicy:
  2869            Condition: "any"
  2870            MaxAttempts: 0
  2871          Placement: {}
  2872        ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz"
  2873        Slot: 1
  2874        NodeID: "60gvrl6tm78dmak4yl7srz94v"
  2875        Status:
  2876          Timestamp: "2016-06-07T21:07:31.290032978Z"
  2877          State: "running"
  2878          Message: "started"
  2879          ContainerStatus:
  2880            ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035"
  2881            PID: 677
  2882        DesiredState: "running"
  2883        NetworksAttachments:
  2884          - Network:
  2885              ID: "4qvuz4ko70xaltuqbt8956gd1"
  2886              Version:
  2887                Index: 18
  2888              CreatedAt: "2016-06-07T20:31:11.912919752Z"
  2889              UpdatedAt: "2016-06-07T21:07:29.955277358Z"
  2890              Spec:
  2891                Name: "ingress"
  2892                Labels:
  2893                  com.docker.swarm.internal: "true"
  2894                DriverConfiguration: {}
  2895                IPAMOptions:
  2896                  Driver: {}
  2897                  Configs:
  2898                    - Subnet: "10.255.0.0/16"
  2899                      Gateway: "10.255.0.1"
  2900              DriverState:
  2901                Name: "overlay"
  2902                Options:
  2903                  com.docker.network.driver.overlay.vxlanid_list: "256"
  2904              IPAMOptions:
  2905                Driver:
  2906                  Name: "default"
  2907                Configs:
  2908                  - Subnet: "10.255.0.0/16"
  2909                    Gateway: "10.255.0.1"
  2910            Addresses:
  2911              - "10.255.0.10/16"
  2912        AssignedGenericResources:
  2913          - DiscreteResourceSpec:
  2914              Kind: "SSD"
  2915              Value: 3
  2916          - NamedResourceSpec:
  2917              Kind: "GPU"
  2918              Value: "UUID1"
  2919          - NamedResourceSpec:
  2920              Kind: "GPU"
  2921              Value: "UUID2"
  2922  
  2923    ServiceSpec:
  2924      description: "User modifiable configuration for a service."
  2925      properties:
  2926        Name:
  2927          description: "Name of the service."
  2928          type: "string"
  2929        Labels:
  2930          description: "User-defined key/value metadata."
  2931          type: "object"
  2932          additionalProperties:
  2933            type: "string"
  2934        TaskTemplate:
  2935          $ref: "#/definitions/TaskSpec"
  2936        Mode:
  2937          description: "Scheduling mode for the service."
  2938          type: "object"
  2939          properties:
  2940            Replicated:
  2941              type: "object"
  2942              properties:
  2943                Replicas:
  2944                  type: "integer"
  2945                  format: "int64"
  2946            Global:
  2947              type: "object"
  2948        UpdateConfig:
  2949          description: "Specification for the update strategy of the service."
  2950          type: "object"
  2951          properties:
  2952            Parallelism:
  2953              description: "Maximum number of tasks to be updated in one iteration (0 means unlimited parallelism)."
  2954              type: "integer"
  2955              format: "int64"
  2956            Delay:
  2957              description: "Amount of time between updates, in nanoseconds."
  2958              type: "integer"
  2959              format: "int64"
  2960            FailureAction:
  2961              description: "Action to take if an updated task fails to run, or stops running during the update."
  2962              type: "string"
  2963              enum:
  2964                - "continue"
  2965                - "pause"
  2966                - "rollback"
  2967            Monitor:
  2968              description: "Amount of time to monitor each updated task for failures, in nanoseconds."
  2969              type: "integer"
  2970              format: "int64"
  2971            MaxFailureRatio:
  2972              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."
  2973              type: "number"
  2974              default: 0
  2975            Order:
  2976              description: "The order of operations when rolling out an updated task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down."
  2977              type: "string"
  2978              enum:
  2979                - "stop-first"
  2980                - "start-first"
  2981        RollbackConfig:
  2982          description: "Specification for the rollback strategy of the service."
  2983          type: "object"
  2984          properties:
  2985            Parallelism:
  2986              description: "Maximum number of tasks to be rolled back in one iteration (0 means unlimited parallelism)."
  2987              type: "integer"
  2988              format: "int64"
  2989            Delay:
  2990              description: "Amount of time between rollback iterations, in nanoseconds."
  2991              type: "integer"
  2992              format: "int64"
  2993            FailureAction:
  2994              description: "Action to take if an rolled back task fails to run, or stops running during the rollback."
  2995              type: "string"
  2996              enum:
  2997                - "continue"
  2998                - "pause"
  2999            Monitor:
  3000              description: "Amount of time to monitor each rolled back task for failures, in nanoseconds."
  3001              type: "integer"
  3002              format: "int64"
  3003            MaxFailureRatio:
  3004              description: "The fraction of tasks that may fail during a rollback before the failure action is invoked, specified as a floating point number between 0 and 1."
  3005              type: "number"
  3006              default: 0
  3007            Order:
  3008              description: "The order of operations when rolling back a task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down."
  3009              type: "string"
  3010              enum:
  3011                - "stop-first"
  3012                - "start-first"
  3013        Networks:
  3014          description: "Array of network names or IDs to attach the service to."
  3015          type: "array"
  3016          items:
  3017            type: "object"
  3018            properties:
  3019              Target:
  3020                type: "string"
  3021              Aliases:
  3022                type: "array"
  3023                items:
  3024                  type: "string"
  3025        EndpointSpec:
  3026          $ref: "#/definitions/EndpointSpec"
  3027  
  3028    EndpointPortConfig:
  3029      type: "object"
  3030      properties:
  3031        Name:
  3032          type: "string"
  3033        Protocol:
  3034          type: "string"
  3035          enum:
  3036            - "tcp"
  3037            - "udp"
  3038        TargetPort:
  3039          description: "The port inside the container."
  3040          type: "integer"
  3041        PublishedPort:
  3042          description: "The port on the swarm hosts."
  3043          type: "integer"
  3044  
  3045    EndpointSpec:
  3046      description: "Properties that can be configured to access and load balance a service."
  3047      type: "object"
  3048      properties:
  3049        Mode:
  3050          description: "The mode of resolution to use for internal load balancing
  3051        between tasks."
  3052          type: "string"
  3053          enum:
  3054            - "vip"
  3055            - "dnsrr"
  3056          default: "vip"
  3057        Ports:
  3058          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."
  3059          type: "array"
  3060          items:
  3061            $ref: "#/definitions/EndpointPortConfig"
  3062  
  3063    Service:
  3064      type: "object"
  3065      properties:
  3066        ID:
  3067          type: "string"
  3068        Version:
  3069          $ref: "#/definitions/ObjectVersion"
  3070        CreatedAt:
  3071          type: "string"
  3072          format: "dateTime"
  3073        UpdatedAt:
  3074          type: "string"
  3075          format: "dateTime"
  3076        Spec:
  3077          $ref: "#/definitions/ServiceSpec"
  3078        Endpoint:
  3079          type: "object"
  3080          properties:
  3081            Spec:
  3082              $ref: "#/definitions/EndpointSpec"
  3083            Ports:
  3084              type: "array"
  3085              items:
  3086                $ref: "#/definitions/EndpointPortConfig"
  3087            VirtualIPs:
  3088              type: "array"
  3089              items:
  3090                type: "object"
  3091                properties:
  3092                  NetworkID:
  3093                    type: "string"
  3094                  Addr:
  3095                    type: "string"
  3096        UpdateStatus:
  3097          description: "The status of a service update."
  3098          type: "object"
  3099          properties:
  3100            State:
  3101              type: "string"
  3102              enum:
  3103                - "updating"
  3104                - "paused"
  3105                - "completed"
  3106            StartedAt:
  3107              type: "string"
  3108              format: "dateTime"
  3109            CompletedAt:
  3110              type: "string"
  3111              format: "dateTime"
  3112            Message:
  3113              type: "string"
  3114      example:
  3115        ID: "9mnpnzenvg8p8tdbtq4wvbkcz"
  3116        Version:
  3117          Index: 19
  3118        CreatedAt: "2016-06-07T21:05:51.880065305Z"
  3119        UpdatedAt: "2016-06-07T21:07:29.962229872Z"
  3120        Spec:
  3121          Name: "hopeful_cori"
  3122          TaskTemplate:
  3123            ContainerSpec:
  3124              Image: "redis"
  3125            Resources:
  3126              Limits: {}
  3127              Reservations: {}
  3128            RestartPolicy:
  3129              Condition: "any"
  3130              MaxAttempts: 0
  3131            Placement: {}
  3132            ForceUpdate: 0
  3133          Mode:
  3134            Replicated:
  3135              Replicas: 1
  3136          UpdateConfig:
  3137            Parallelism: 1
  3138            Delay: 1000000000
  3139            FailureAction: "pause"
  3140            Monitor: 15000000000
  3141            MaxFailureRatio: 0.15
  3142          RollbackConfig:
  3143            Parallelism: 1
  3144            Delay: 1000000000
  3145            FailureAction: "pause"
  3146            Monitor: 15000000000
  3147            MaxFailureRatio: 0.15
  3148          EndpointSpec:
  3149            Mode: "vip"
  3150            Ports:
  3151              -
  3152                Protocol: "tcp"
  3153                TargetPort: 6379
  3154                PublishedPort: 30001
  3155        Endpoint:
  3156          Spec:
  3157            Mode: "vip"
  3158            Ports:
  3159              -
  3160                Protocol: "tcp"
  3161                TargetPort: 6379
  3162                PublishedPort: 30001
  3163          Ports:
  3164            -
  3165              Protocol: "tcp"
  3166              TargetPort: 6379
  3167              PublishedPort: 30001
  3168          VirtualIPs:
  3169            -
  3170              NetworkID: "4qvuz4ko70xaltuqbt8956gd1"
  3171              Addr: "10.255.0.2/16"
  3172            -
  3173              NetworkID: "4qvuz4ko70xaltuqbt8956gd1"
  3174              Addr: "10.255.0.3/16"
  3175  
  3176    ImageDeleteResponseItem:
  3177      type: "object"
  3178      properties:
  3179        Untagged:
  3180          description: "The image ID of an image that was untagged"
  3181          type: "string"
  3182        Deleted:
  3183          description: "The image ID of an image that was deleted"
  3184          type: "string"
  3185  
  3186    ServiceUpdateResponse:
  3187      type: "object"
  3188      properties:
  3189        Warnings:
  3190          description: "Optional warning messages"
  3191          type: "array"
  3192          items:
  3193            type: "string"
  3194      example:
  3195        Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found"
  3196  
  3197    ContainerSummary:
  3198      type: "array"
  3199      items:
  3200        type: "object"
  3201        properties:
  3202          Id:
  3203            description: "The ID of this container"
  3204            type: "string"
  3205            x-go-name: "ID"
  3206          Names:
  3207            description: "The names that this container has been given"
  3208            type: "array"
  3209            items:
  3210              type: "string"
  3211          Image:
  3212            description: "The name of the image used when creating this container"
  3213            type: "string"
  3214          ImageID:
  3215            description: "The ID of the image that this container was created from"
  3216            type: "string"
  3217          Command:
  3218            description: "Command to run when starting the container"
  3219            type: "string"
  3220          Created:
  3221            description: "When the container was created"
  3222            type: "integer"
  3223            format: "int64"
  3224          Ports:
  3225            description: "The ports exposed by this container"
  3226            type: "array"
  3227            items:
  3228              $ref: "#/definitions/Port"
  3229          SizeRw:
  3230            description: "The size of files that have been created or changed by this container"
  3231            type: "integer"
  3232            format: "int64"
  3233          SizeRootFs:
  3234            description: "The total size of all the files in this container"
  3235            type: "integer"
  3236            format: "int64"
  3237          Labels:
  3238            description: "User-defined key/value metadata."
  3239            type: "object"
  3240            additionalProperties:
  3241              type: "string"
  3242          State:
  3243            description: "The state of this container (e.g. `Exited`)"
  3244            type: "string"
  3245          Status:
  3246            description: "Additional human-readable status of this container (e.g. `Exit 0`)"
  3247            type: "string"
  3248          HostConfig:
  3249            type: "object"
  3250            properties:
  3251              NetworkMode:
  3252                type: "string"
  3253          NetworkSettings:
  3254            description: "A summary of the container's network settings"
  3255            type: "object"
  3256            properties:
  3257              Networks:
  3258                type: "object"
  3259                additionalProperties:
  3260                  $ref: "#/definitions/EndpointSettings"
  3261          Mounts:
  3262            type: "array"
  3263            items:
  3264              $ref: "#/definitions/Mount"
  3265  
  3266    Driver:
  3267      description: "Driver represents a driver (network, logging, secrets)."
  3268      type: "object"
  3269      required: [Name]
  3270      properties:
  3271        Name:
  3272          description: "Name of the driver."
  3273          type: "string"
  3274          x-nullable: false
  3275          example: "some-driver"
  3276        Options:
  3277          description: "Key/value map of driver-specific options."
  3278          type: "object"
  3279          x-nullable: false
  3280          additionalProperties:
  3281            type: "string"
  3282          example:
  3283            OptionA: "value for driver-specific option A"
  3284            OptionB: "value for driver-specific option B"
  3285  
  3286    SecretSpec:
  3287      type: "object"
  3288      properties:
  3289        Name:
  3290          description: "User-defined name of the secret."
  3291          type: "string"
  3292        Labels:
  3293          description: "User-defined key/value metadata."
  3294          type: "object"
  3295          additionalProperties:
  3296            type: "string"
  3297          example:
  3298            com.example.some-label: "some-value"
  3299            com.example.some-other-label: "some-other-value"
  3300        Data:
  3301          description: |
  3302            Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2))
  3303            data to store as secret.
  3304  
  3305            This field is only used to _create_ a secret, and is not returned by
  3306            other endpoints.
  3307          type: "string"
  3308          example: ""
  3309        Driver:
  3310          description: "Name of the secrets driver used to fetch the secret's value from an external secret store"
  3311          $ref: "#/definitions/Driver"
  3312  
  3313    Secret:
  3314      type: "object"
  3315      properties:
  3316        ID:
  3317          type: "string"
  3318          example: "blt1owaxmitz71s9v5zh81zun"
  3319        Version:
  3320          $ref: "#/definitions/ObjectVersion"
  3321        CreatedAt:
  3322          type: "string"
  3323          format: "dateTime"
  3324          example: "2017-07-20T13:55:28.678958722Z"
  3325        UpdatedAt:
  3326          type: "string"
  3327          format: "dateTime"
  3328          example: "2017-07-20T13:55:28.678958722Z"
  3329        Spec:
  3330          $ref: "#/definitions/SecretSpec"
  3331  
  3332    ConfigSpec:
  3333      type: "object"
  3334      properties:
  3335        Name:
  3336          description: "User-defined name of the config."
  3337          type: "string"
  3338        Labels:
  3339          description: "User-defined key/value metadata."
  3340          type: "object"
  3341          additionalProperties:
  3342            type: "string"
  3343        Data:
  3344          description: |
  3345            Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2))
  3346            config data.
  3347          type: "string"
  3348  
  3349    Config:
  3350      type: "object"
  3351      properties:
  3352        ID:
  3353          type: "string"
  3354        Version:
  3355          $ref: "#/definitions/ObjectVersion"
  3356        CreatedAt:
  3357          type: "string"
  3358          format: "dateTime"
  3359        UpdatedAt:
  3360          type: "string"
  3361          format: "dateTime"
  3362        Spec:
  3363          $ref: "#/definitions/ConfigSpec"
  3364  
  3365    SystemInfo:
  3366      type: "object"
  3367      properties:
  3368        ID:
  3369          description: |
  3370            Unique identifier of the daemon.
  3371  
  3372            <p><br /></p>
  3373  
  3374            > **Note**: The format of the ID itself is not part of the API, and
  3375            > should not be considered stable.
  3376          type: "string"
  3377          example: "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS"
  3378        Containers:
  3379          description: "Total number of containers on the host."
  3380          type: "integer"
  3381          example: 14
  3382        ContainersRunning:
  3383          description: |
  3384            Number of containers with status `"running"`.
  3385          type: "integer"
  3386          example: 3
  3387        ContainersPaused:
  3388          description: |
  3389            Number of containers with status `"paused"`.
  3390          type: "integer"
  3391          example: 1
  3392        ContainersStopped:
  3393          description: |
  3394            Number of containers with status `"stopped"`.
  3395          type: "integer"
  3396          example: 10
  3397        Images:
  3398          description: |
  3399            Total number of images on the host.
  3400  
  3401            Both _tagged_ and _untagged_ (dangling) images are counted.
  3402          type: "integer"
  3403          example: 508
  3404        Driver:
  3405          description: "Name of the storage driver in use."
  3406          type: "string"
  3407          example: "overlay2"
  3408        DriverStatus:
  3409          description: |
  3410            Information specific to the storage driver, provided as
  3411            "label" / "value" pairs.
  3412  
  3413            This information is provided by the storage driver, and formatted
  3414            in a way consistent with the output of `docker info` on the command
  3415            line.
  3416  
  3417            <p><br /></p>
  3418  
  3419            > **Note**: The information returned in this field, including the
  3420            > formatting of values and labels, should not be considered stable,
  3421            > and may change without notice.
  3422          type: "array"
  3423          items:
  3424            type: "array"
  3425            items:
  3426              type: "string"
  3427          example:
  3428            - ["Backing Filesystem", "extfs"]
  3429            - ["Supports d_type", "true"]
  3430            - ["Native Overlay Diff", "true"]
  3431        DockerRootDir:
  3432          description: |
  3433            Root directory of persistent Docker state.
  3434  
  3435            Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker`
  3436            on Windows.
  3437          type: "string"
  3438          example: "/var/lib/docker"
  3439        SystemStatus:
  3440          description: |
  3441            Status information about this node (standalone Swarm API).
  3442  
  3443            <p><br /></p>
  3444  
  3445            > **Note**: The information returned in this field is only propagated
  3446            > by the Swarm standalone API, and is empty (`null`) when using
  3447            > built-in swarm mode.
  3448          type: "array"
  3449          items:
  3450            type: "array"
  3451            items:
  3452              type: "string"
  3453          example:
  3454            - ["Role", "primary"]
  3455            - ["State", "Healthy"]
  3456            - ["Strategy", "spread"]
  3457            - ["Filters", "health, port, containerslots, dependency, affinity, constraint, whitelist"]
  3458            - ["Nodes", "2"]
  3459            - [" swarm-agent-00", "192.168.99.102:2376"]
  3460            - ["  └ ID", "5CT6:FBGO:RVGO:CZL4:PB2K:WCYN:2JSV:KSHH:GGFW:QOPG:6J5Q:IOZ2|192.168.99.102:2376"]
  3461            - ["  └ Status", "Healthy"]
  3462            - ["  └ Containers", "1 (1 Running, 0 Paused, 0 Stopped)"]
  3463            - ["  └ Reserved CPUs", "0 / 1"]
  3464            - ["  └ Reserved Memory", "0 B / 1.021 GiB"]
  3465            - ["  └ Labels", "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs"]
  3466            - ["  └ UpdatedAt", "2017-08-09T10:03:46Z"]
  3467            - ["  └ ServerVersion", "17.06.0-ce"]
  3468            - [" swarm-manager", "192.168.99.101:2376"]
  3469            - ["  └ ID", "TAMD:7LL3:SEF7:LW2W:4Q2X:WVFH:RTXX:JSYS:XY2P:JEHL:ZMJK:JGIW|192.168.99.101:2376"]
  3470            - ["  └ Status", "Healthy"]
  3471            - ["  └ Containers", "2 (2 Running, 0 Paused, 0 Stopped)"]
  3472            - ["  └ Reserved CPUs", "0 / 1"]
  3473            - ["  └ Reserved Memory", "0 B / 1.021 GiB"]
  3474            - ["  └ Labels", "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs"]
  3475            - ["  └ UpdatedAt", "2017-08-09T10:04:11Z"]
  3476            - ["  └ ServerVersion", "17.06.0-ce"]
  3477        Plugins:
  3478          $ref: "#/definitions/PluginsInfo"
  3479        MemoryLimit:
  3480          description: "Indicates if the host has memory limit support enabled."
  3481          type: "boolean"
  3482          example: true
  3483        SwapLimit:
  3484          description: "Indicates if the host has memory swap limit support enabled."
  3485          type: "boolean"
  3486          example: true
  3487        KernelMemory:
  3488          description: "Indicates if the host has kernel memory limit support enabled."
  3489          type: "boolean"
  3490          example: true
  3491        CpuCfsPeriod:
  3492          description: "Indicates if CPU CFS(Completely Fair Scheduler) period is supported by the host."
  3493          type: "boolean"
  3494          example: true
  3495        CpuCfsQuota:
  3496          description: "Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by the host."
  3497          type: "boolean"
  3498          example: true
  3499        CPUShares:
  3500          description: "Indicates if CPU Shares limiting is supported by the host."
  3501          type: "boolean"
  3502          example: true
  3503        CPUSet:
  3504          description: |
  3505            Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.
  3506  
  3507            See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)
  3508          type: "boolean"
  3509          example: true
  3510        OomKillDisable:
  3511          description: "Indicates if OOM killer disable is supported on the host."
  3512          type: "boolean"
  3513        IPv4Forwarding:
  3514          description: "Indicates IPv4 forwarding is enabled."
  3515          type: "boolean"
  3516          example: true
  3517        BridgeNfIptables:
  3518          description: "Indicates if `bridge-nf-call-iptables` is available on the host."
  3519          type: "boolean"
  3520          example: true
  3521        BridgeNfIp6tables:
  3522          description: "Indicates if `bridge-nf-call-ip6tables` is available on the host."
  3523          type: "boolean"
  3524          example: true
  3525        Debug:
  3526          description: "Indicates if the daemon is running in debug-mode / with debug-level logging enabled."
  3527          type: "boolean"
  3528          example: true
  3529        NFd:
  3530          description: |
  3531            The total number of file Descriptors in use by the daemon process.
  3532  
  3533            This information is only returned if debug-mode is enabled.
  3534          type: "integer"
  3535          example: 64
  3536        NGoroutines:
  3537          description: |
  3538            The  number of goroutines that currently exist.
  3539  
  3540            This information is only returned if debug-mode is enabled.
  3541          type: "integer"
  3542          example: 174
  3543        SystemTime:
  3544          description: |
  3545            Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)
  3546            format with nano-seconds.
  3547          type: "string"
  3548          example: "2017-08-08T20:28:29.06202363Z"
  3549        LoggingDriver:
  3550          description: |
  3551            The logging driver to use as a default for new containers.
  3552          type: "string"
  3553        CgroupDriver:
  3554          description: |
  3555            The driver to use for managing cgroups.
  3556          type: "string"
  3557          enum: ["cgroupfs", "systemd"]
  3558          default: "cgroupfs"
  3559          example: "cgroupfs"
  3560        NEventsListener:
  3561          description: "Number of event listeners subscribed."
  3562          type: "integer"
  3563          example: 30
  3564        KernelVersion:
  3565          description: |
  3566            Kernel version of the host.
  3567  
  3568            On Linux, this information obtained from `uname`. On Windows this
  3569            information is queried from the <kbd>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\</kbd>
  3570            registry value, for example _"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)"_.
  3571          type: "string"
  3572          example: "4.9.38-moby"
  3573        OperatingSystem:
  3574          description: |
  3575            Name of the host's operating system, for example: "Ubuntu 16.04.2 LTS"
  3576            or "Windows Server 2016 Datacenter"
  3577          type: "string"
  3578          example: "Alpine Linux v3.5"
  3579        OSType:
  3580          description: |
  3581            Generic type of the operating system of the host, as returned by the
  3582            Go runtime (`GOOS`).
  3583  
  3584            Currently returned values are "linux" and "windows". A full list of
  3585            possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).
  3586          type: "string"
  3587          example: "linux"
  3588        Architecture:
  3589          description: |
  3590            Hardware architecture of the host, as returned by the Go runtime
  3591            (`GOARCH`).
  3592  
  3593            A full list of possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment).
  3594          type: "string"
  3595          example: "x86_64"
  3596        NCPU:
  3597          description: |
  3598            The number of logical CPUs usable by the daemon.
  3599  
  3600            The number of available CPUs is checked by querying the operating
  3601            system when the daemon starts. Changes to operating system CPU
  3602            allocation after the daemon is started are not reflected.
  3603          type: "integer"
  3604          example: 4
  3605        MemTotal:
  3606          description: |
  3607            Total amount of physical memory available on the host, in kilobytes (kB).
  3608          type: "integer"
  3609          format: "int64"
  3610          example: 2095882240
  3611  
  3612        IndexServerAddress:
  3613          description: |
  3614            Address / URL of the index server that is used for image search,
  3615            and as a default for user authentication for Docker Hub and Docker Cloud.
  3616          default: "https://index.docker.io/v1/"
  3617          type: "string"
  3618          example: "https://index.docker.io/v1/"
  3619        RegistryConfig:
  3620          $ref: "#/definitions/RegistryServiceConfig"
  3621        GenericResources:
  3622          $ref: "#/definitions/GenericResources"
  3623        HttpProxy:
  3624          description: |
  3625            HTTP-proxy configured for the daemon. This value is obtained from the
  3626            [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.
  3627  
  3628            Containers do not automatically inherit this configuration.
  3629          type: "string"
  3630          example: "http://user:pass@proxy.corp.example.com:8080"
  3631        HttpsProxy:
  3632          description: |
  3633            HTTPS-proxy configured for the daemon. This value is obtained from the
  3634            [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable.
  3635  
  3636            Containers do not automatically inherit this configuration.
  3637          type: "string"
  3638          example: "https://user:pass@proxy.corp.example.com:4443"
  3639        NoProxy:
  3640          description: |
  3641            Comma-separated list of domain extensions for which no proxy should be
  3642            used. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
  3643            environment variable.
  3644  
  3645            Containers do not automatically inherit this configuration.
  3646          type: "string"
  3647          example: "*.local, 169.254/16"
  3648        Name:
  3649          description: "Hostname of the host."
  3650          type: "string"
  3651          example: "node5.corp.example.com"
  3652        Labels:
  3653          description: |
  3654            User-defined labels (key/value metadata) as set on the daemon.
  3655  
  3656            <p><br /></p>
  3657  
  3658            > **Note**: When part of a Swarm, nodes can both have _daemon_ labels,
  3659            > set through the daemon configuration, and _node_ labels, set from a
  3660            > manager node in the Swarm. Node labels are not included in this
  3661            > field. Node labels can be retrieved using the `/nodes/(id)` endpoint
  3662            > on a manager node in the Swarm.
  3663          type: "array"
  3664          items:
  3665            type: "string"
  3666          example: ["storage=ssd", "production"]
  3667        ExperimentalBuild:
  3668          description: |
  3669            Indicates if experimental features are enabled on the daemon.
  3670          type: "boolean"
  3671          example: true
  3672        ServerVersion:
  3673          description: |
  3674            Version string of the daemon.
  3675  
  3676            > **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
  3677            > returns the Swarm version instead of the daemon  version, for example
  3678            > `swarm/1.2.8`.
  3679          type: "string"
  3680          example: "17.06.0-ce"
  3681        ClusterStore:
  3682          description: |
  3683            URL of the distributed storage backend.
  3684  
  3685  
  3686            The storage backend is used for multihost networking (to store
  3687            network and endpoint information) and by the node discovery mechanism.
  3688  
  3689            <p><br /></p>
  3690  
  3691            > **Note**: This field is only propagated when using standalone Swarm
  3692            > mode, and overlay networking using an external k/v store. Overlay
  3693            > networks with Swarm mode enabled use the built-in raft store, and
  3694            > this field will be empty.
  3695          type: "string"
  3696          example: "consul://consul.corp.example.com:8600/some/path"
  3697        ClusterAdvertise:
  3698          description: |
  3699            The network endpoint that the Engine advertises for the purpose of
  3700            node discovery. ClusterAdvertise is a `host:port` combination on which
  3701            the daemon is reachable by other hosts.
  3702  
  3703            <p><br /></p>
  3704  
  3705            > **Note**: This field is only propagated when using standalone Swarm
  3706            > mode, and overlay networking using an external k/v store. Overlay
  3707            > networks with Swarm mode enabled use the built-in raft store, and
  3708            > this field will be empty.
  3709          type: "string"
  3710          example: "node5.corp.example.com:8000"
  3711        Runtimes:
  3712          description: |
  3713            List of [OCI compliant](https://github.com/opencontainers/runtime-spec)
  3714            runtimes configured on the daemon. Keys hold the "name" used to
  3715            reference the runtime.
  3716  
  3717            The Docker daemon relies on an OCI compliant runtime (invoked via the
  3718            `containerd` daemon) as its interface to the Linux kernel namespaces,
  3719            cgroups, and SELinux.
  3720  
  3721            The default runtime is `runc`, and automatically configured. Additional
  3722            runtimes can be configured by the user and will be listed here.
  3723          type: "object"
  3724          additionalProperties:
  3725            $ref: "#/definitions/Runtime"
  3726          default:
  3727            runc:
  3728              path: "docker-runc"
  3729          example:
  3730            runc:
  3731              path: "docker-runc"
  3732            runc-master:
  3733              path: "/go/bin/runc"
  3734            custom:
  3735              path: "/usr/local/bin/my-oci-runtime"
  3736              runtimeArgs: ["--debug", "--systemd-cgroup=false"]
  3737        DefaultRuntime:
  3738          description: |
  3739            Name of the default OCI runtime that is used when starting containers.
  3740  
  3741            The default can be overridden per-container at create time.
  3742          type: "string"
  3743          default: "runc"
  3744          example: "runc"
  3745        Swarm:
  3746          $ref: "#/definitions/SwarmInfo"
  3747        LiveRestoreEnabled:
  3748          description: |
  3749            Indicates if live restore is enabled.
  3750  
  3751            If enabled, containers are kept running when the daemon is shutdown
  3752            or upon daemon start if running containers are detected.
  3753          type: "boolean"
  3754          default: false
  3755          example: false
  3756        Isolation:
  3757          description: |
  3758            Represents the isolation technology to use as a default for containers.
  3759            The supported values are platform-specific.
  3760  
  3761            If no isolation value is specified on daemon start, on Windows client,
  3762            the default is `hyperv`, and on Windows server, the default is `process`.
  3763  
  3764            This option is currently not used on other platforms.
  3765          default: "default"
  3766          type: "string"
  3767          enum:
  3768            - "default"
  3769            - "hyperv"
  3770            - "process"
  3771        InitBinary:
  3772          description: |
  3773            Name and, optional, path of the the `docker-init` binary.
  3774  
  3775            If the path is omitted, the daemon searches the host's `$PATH` for the
  3776            binary and uses the first result.
  3777          type: "string"
  3778          example: "docker-init"
  3779        ContainerdCommit:
  3780          $ref: "#/definitions/Commit"
  3781        RuncCommit:
  3782          $ref: "#/definitions/Commit"
  3783        InitCommit:
  3784          $ref: "#/definitions/Commit"
  3785        SecurityOptions:
  3786          description: |
  3787            List of security features that are enabled on the daemon, such as
  3788            apparmor, seccomp, SELinux, and user-namespaces (userns).
  3789  
  3790            Additional configuration options for each security feature may
  3791            be present, and are included as a comma-separated list of key/value
  3792            pairs.
  3793          type: "array"
  3794          items:
  3795            type: "string"
  3796          example:
  3797            - "name=apparmor"
  3798            - "name=seccomp,profile=default"
  3799            - "name=selinux"
  3800            - "name=userns"
  3801  
  3802  
  3803    # PluginsInfo is a temp struct holding Plugins name
  3804    # registered with docker daemon. It is used by Info struct
  3805    PluginsInfo:
  3806      description: |
  3807        Available plugins per type.
  3808  
  3809        <p><br /></p>
  3810  
  3811        > **Note**: Only unmanaged (V1) plugins are included in this list.
  3812        > V1 plugins are "lazily" loaded, and are not returned in this list
  3813        > if there is no resource using the plugin.
  3814      type: "object"
  3815      properties:
  3816        Volume:
  3817          description: "Names of available volume-drivers, and network-driver plugins."
  3818          type: "array"
  3819          items:
  3820            type: "string"
  3821          example: ["local"]
  3822        Network:
  3823          description: "Names of available network-drivers, and network-driver plugins."
  3824          type: "array"
  3825          items:
  3826            type: "string"
  3827          example: ["bridge", "host", "ipvlan", "macvlan", "null", "overlay"]
  3828        Authorization:
  3829          description: "Names of available authorization plugins."
  3830          type: "array"
  3831          items:
  3832            type: "string"
  3833          example: ["img-authz-plugin", "hbm"]
  3834        Log:
  3835          description: "Names of available logging-drivers, and logging-driver plugins."
  3836          type: "array"
  3837          items:
  3838            type: "string"
  3839          example: ["awslogs", "fluentd", "gcplogs", "gelf", "journald", "json-file", "logentries", "splunk", "syslog"]
  3840  
  3841  
  3842    RegistryServiceConfig:
  3843      description: |
  3844        RegistryServiceConfig stores daemon registry services configuration.
  3845      type: "object"
  3846      x-nullable: true
  3847      properties:
  3848        AllowNondistributableArtifactsCIDRs:
  3849          description: |
  3850            List of IP ranges to which nondistributable artifacts can be pushed,
  3851            using the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632).
  3852  
  3853            Some images (for example, Windows base images) contain artifacts
  3854            whose distribution is restricted by license. When these images are
  3855            pushed to a registry, restricted artifacts are not included.
  3856  
  3857            This configuration override this behavior, and enables the daemon to
  3858            push nondistributable artifacts to all registries whose resolved IP
  3859            address is within the subnet described by the CIDR syntax.
  3860  
  3861            This option is useful when pushing images containing
  3862            nondistributable artifacts to a registry on an air-gapped network so
  3863            hosts on that network can pull the images without connecting to
  3864            another server.
  3865  
  3866            > **Warning**: Nondistributable artifacts typically have restrictions
  3867            > on how and where they can be distributed and shared. Only use this
  3868            > feature to push artifacts to private registries and ensure that you
  3869            > are in compliance with any terms that cover redistributing
  3870            > nondistributable artifacts.
  3871  
  3872          type: "array"
  3873          items:
  3874            type: "string"
  3875          example: ["::1/128", "127.0.0.0/8"]
  3876        AllowNondistributableArtifactsHostnames:
  3877          description: |
  3878            List of registry hostnames to which nondistributable artifacts can be
  3879            pushed, using the format `<hostname>[:<port>]` or `<IP address>[:<port>]`.
  3880  
  3881            Some images (for example, Windows base images) contain artifacts
  3882            whose distribution is restricted by license. When these images are
  3883            pushed to a registry, restricted artifacts are not included.
  3884  
  3885            This configuration override this behavior for the specified
  3886            registries.
  3887  
  3888            This option is useful when pushing images containing
  3889            nondistributable artifacts to a registry on an air-gapped network so
  3890            hosts on that network can pull the images without connecting to
  3891            another server.
  3892  
  3893            > **Warning**: Nondistributable artifacts typically have restrictions
  3894            > on how and where they can be distributed and shared. Only use this
  3895            > feature to push artifacts to private registries and ensure that you
  3896            > are in compliance with any terms that cover redistributing
  3897            > nondistributable artifacts.
  3898          type: "array"
  3899          items:
  3900            type: "string"
  3901          example: ["registry.internal.corp.example.com:3000", "[2001:db8:a0b:12f0::1]:443"]
  3902        InsecureRegistryCIDRs:
  3903          description: |
  3904            List of IP ranges of insecure registries, using the CIDR syntax
  3905            ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries
  3906            accept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates
  3907            from unknown CAs) communication.
  3908  
  3909            By default, local registries (`127.0.0.0/8`) are configured as
  3910            insecure. All other registries are secure. Communicating with an
  3911            insecure registry is not possible if the daemon assumes that registry
  3912            is secure.
  3913  
  3914            This configuration override this behavior, insecure communication with
  3915            registries whose resolved IP address is within the subnet described by
  3916            the CIDR syntax.
  3917  
  3918            Registries can also be marked insecure by hostname. Those registries
  3919            are listed under `IndexConfigs` and have their `Secure` field set to
  3920            `false`.
  3921  
  3922            > **Warning**: Using this option can be useful when running a local
  3923            > registry, but introduces security vulnerabilities. This option
  3924            > should therefore ONLY be used for testing purposes. For increased
  3925            > security, users should add their CA to their system's list of trusted
  3926            > CAs instead of enabling this option.
  3927          type: "array"
  3928          items:
  3929            type: "string"
  3930          example: ["::1/128", "127.0.0.0/8"]
  3931        IndexConfigs:
  3932          type: "object"
  3933          additionalProperties:
  3934            $ref: "#/definitions/IndexInfo"
  3935          example:
  3936            "127.0.0.1:5000":
  3937              "Name": "127.0.0.1:5000"
  3938              "Mirrors": []
  3939              "Secure": false
  3940              "Official": false
  3941            "[2001:db8:a0b:12f0::1]:80":
  3942              "Name": "[2001:db8:a0b:12f0::1]:80"
  3943              "Mirrors": []
  3944              "Secure": false
  3945              "Official": false
  3946            "docker.io":
  3947              Name: "docker.io"
  3948              Mirrors: ["https://hub-mirror.corp.example.com:5000/"]
  3949              Secure: true
  3950              Official: true
  3951            "registry.internal.corp.example.com:3000":
  3952              Name: "registry.internal.corp.example.com:3000"
  3953              Mirrors: []
  3954              Secure: false
  3955              Official: false
  3956        Mirrors:
  3957          description: |
  3958            List of registry URLs that act as a mirror for the official
  3959            (`docker.io`) registry.
  3960  
  3961          type: "array"
  3962          items:
  3963            type: "string"
  3964          example:
  3965            - "https://hub-mirror.corp.example.com:5000/"
  3966            - "https://[2001:db8:a0b:12f0::1]/"
  3967  
  3968    IndexInfo:
  3969      description:
  3970        IndexInfo contains information about a registry.
  3971      type: "object"
  3972      x-nullable: true
  3973      properties:
  3974        Name:
  3975          description: |
  3976            Name of the registry, such as "docker.io".
  3977          type: "string"
  3978          example: "docker.io"
  3979        Mirrors:
  3980          description: |
  3981            List of mirrors, expressed as URIs.
  3982          type: "array"
  3983          items:
  3984            type: "string"
  3985          example:
  3986            - "https://hub-mirror.corp.example.com:5000/"
  3987            - "https://registry-2.docker.io/"
  3988            - "https://registry-3.docker.io/"
  3989        Secure:
  3990          description: |
  3991            Indicates if the the registry is part of the list of insecure
  3992            registries.
  3993  
  3994            If `false`, the registry is insecure. Insecure registries accept
  3995            un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from
  3996            unknown CAs) communication.
  3997  
  3998            > **Warning**: Insecure registries can be useful when running a local
  3999            > registry. However, because its use creates security vulnerabilities
  4000            > it should ONLY be enabled for testing purposes. For increased
  4001            > security, users should add their CA to their system's list of
  4002            > trusted CAs instead of enabling this option.
  4003          type: "boolean"
  4004          example: true
  4005        Official:
  4006          description: |
  4007            Indicates whether this is an official registry (i.e., Docker Hub / docker.io)
  4008          type: "boolean"
  4009          example: true
  4010  
  4011    Runtime:
  4012      description: |
  4013        Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec)
  4014        runtime.
  4015  
  4016        The runtime is invoked by the daemon via the `containerd` daemon. OCI
  4017        runtimes act as an interface to the Linux kernel namespaces, cgroups,
  4018        and SELinux.
  4019      type: "object"
  4020      properties:
  4021        path:
  4022          description: |
  4023            Name and, optional, path, of the OCI executable binary.
  4024  
  4025            If the path is omitted, the daemon searches the host's `$PATH` for the
  4026            binary and uses the first result.
  4027          type: "string"
  4028          example: "/usr/local/bin/my-oci-runtime"
  4029        runtimeArgs:
  4030          description: |
  4031            List of command-line arguments to pass to the runtime when invoked.
  4032          type: "array"
  4033          x-nullable: true
  4034          items:
  4035            type: "string"
  4036          example: ["--debug", "--systemd-cgroup=false"]
  4037  
  4038    Commit:
  4039      description: |
  4040        Commit holds the Git-commit (SHA1) that a binary was built from, as
  4041        reported in the version-string of external tools, such as `containerd`,
  4042        or `runC`.
  4043      type: "object"
  4044      properties:
  4045        ID:
  4046          description: "Actual commit ID of external tool."
  4047          type: "string"
  4048          example: "cfb82a876ecc11b5ca0977d1733adbe58599088a"
  4049        Expected:
  4050          description: |
  4051            Commit ID of external tool expected by dockerd as set at build time.
  4052          type: "string"
  4053          example: "2d41c047c83e09a6d61d464906feb2a2f3c52aa4"
  4054  
  4055    SwarmInfo:
  4056      description: |
  4057        Represents generic information about swarm.
  4058      type: "object"
  4059      properties:
  4060        NodeID:
  4061          description: "Unique identifier of for this node in the swarm."
  4062          type: "string"
  4063          default: ""
  4064          example: "k67qz4598weg5unwwffg6z1m1"
  4065        NodeAddr:
  4066          description: |
  4067            IP address at which this node can be reached by other nodes in the
  4068            swarm.
  4069          type: "string"
  4070          default: ""
  4071          example: "10.0.0.46"
  4072        LocalNodeState:
  4073          $ref: "#/definitions/LocalNodeState"
  4074        ControlAvailable:
  4075          type: "boolean"
  4076          default: false
  4077          example: true
  4078        Error:
  4079          type: "string"
  4080          default: ""
  4081        RemoteManagers:
  4082          description: |
  4083            List of ID's and addresses of other managers in the swarm.
  4084          type: "array"
  4085          default: null
  4086          x-nullable: true
  4087          items:
  4088            $ref: "#/definitions/PeerNode"
  4089          example:
  4090            - NodeID: "71izy0goik036k48jg985xnds"
  4091              Addr: "10.0.0.158:2377"
  4092            - NodeID: "79y6h1o4gv8n120drcprv5nmc"
  4093              Addr: "10.0.0.159:2377"
  4094            - NodeID: "k67qz4598weg5unwwffg6z1m1"
  4095              Addr: "10.0.0.46:2377"
  4096        Nodes:
  4097          description: "Total number of nodes in the swarm."
  4098          type: "integer"
  4099          x-nullable: true
  4100          example: 4
  4101        Managers:
  4102          description: "Total number of managers in the swarm."
  4103          type: "integer"
  4104          x-nullable: true
  4105          example: 3
  4106        Cluster:
  4107          $ref: "#/definitions/ClusterInfo"
  4108  
  4109    LocalNodeState:
  4110      description: "Current local status of this node."
  4111      type: "string"
  4112      default: ""
  4113      enum:
  4114        - ""
  4115        - "inactive"
  4116        - "pending"
  4117        - "active"
  4118        - "error"
  4119        - "locked"
  4120      example: "active"
  4121  
  4122    PeerNode:
  4123      description: "Represents a peer-node in the swarm"
  4124      properties:
  4125        NodeID:
  4126          description: "Unique identifier of for this node in the swarm."
  4127          type: "string"
  4128        Addr:
  4129          description: |
  4130            IP address and ports at which this node can be reached.
  4131          type: "string"
  4132  
  4133  paths:
  4134    /containers/json:
  4135      get:
  4136        summary: "List containers"
  4137        description: |
  4138          Returns a list of containers. For details on the format, see [the inspect endpoint](#operation/ContainerInspect).
  4139  
  4140          Note that it uses a different, smaller representation of a container than inspecting a single container. For example,
  4141          the list of linked containers is not propagated .
  4142        operationId: "ContainerList"
  4143        produces:
  4144          - "application/json"
  4145        parameters:
  4146          - name: "all"
  4147            in: "query"
  4148            description: "Return all containers. By default, only running containers are shown"
  4149            type: "boolean"
  4150            default: false
  4151          - name: "limit"
  4152            in: "query"
  4153            description: "Return this number of most recently created containers, including non-running ones."
  4154            type: "integer"
  4155          - name: "size"
  4156            in: "query"
  4157            description: "Return the size of container as fields `SizeRw` and `SizeRootFs`."
  4158            type: "boolean"
  4159            default: false
  4160          - name: "filters"
  4161            in: "query"
  4162            description: |
  4163              Filters to process on the container list, encoded as JSON (a `map[string][]string`). For example, `{"status": ["paused"]}` will only return paused containers. Available filters:
  4164  
  4165              - `ancestor`=(`<image-name>[:<tag>]`, `<image id>`, or `<image@digest>`)
  4166              - `before`=(`<container id>` or `<container name>`)
  4167              - `expose`=(`<port>[/<proto>]`|`<startport-endport>/[<proto>]`)
  4168              - `exited=<int>` containers with exit code of `<int>`
  4169              - `health`=(`starting`|`healthy`|`unhealthy`|`none`)
  4170              - `id=<ID>` a container's ID
  4171              - `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only)
  4172              - `is-task=`(`true`|`false`)
  4173              - `label=key` or `label="key=value"` of a container label
  4174              - `name=<name>` a container's name
  4175              - `network`=(`<network id>` or `<network name>`)
  4176              - `publish`=(`<port>[/<proto>]`|`<startport-endport>/[<proto>]`)
  4177              - `since`=(`<container id>` or `<container name>`)
  4178              - `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`)
  4179              - `volume`=(`<volume name>` or `<mount point destination>`)
  4180            type: "string"
  4181        responses:
  4182          200:
  4183            description: "no error"
  4184            schema:
  4185              $ref: "#/definitions/ContainerSummary"
  4186            examples:
  4187              application/json:
  4188                - Id: "8dfafdbc3a40"
  4189                  Names:
  4190                    - "/boring_feynman"
  4191                  Image: "ubuntu:latest"
  4192                  ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
  4193                  Command: "echo 1"
  4194                  Created: 1367854155
  4195                  State: "Exited"
  4196                  Status: "Exit 0"
  4197                  Ports:
  4198                    - PrivatePort: 2222
  4199                      PublicPort: 3333
  4200                      Type: "tcp"
  4201                  Labels:
  4202                    com.example.vendor: "Acme"
  4203                    com.example.license: "GPL"
  4204                    com.example.version: "1.0"
  4205                  SizeRw: 12288
  4206                  SizeRootFs: 0
  4207                  HostConfig:
  4208                    NetworkMode: "default"
  4209                  NetworkSettings:
  4210                    Networks:
  4211                      bridge:
  4212                        NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  4213                        EndpointID: "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f"
  4214                        Gateway: "172.17.0.1"
  4215                        IPAddress: "172.17.0.2"
  4216                        IPPrefixLen: 16
  4217                        IPv6Gateway: ""
  4218                        GlobalIPv6Address: ""
  4219                        GlobalIPv6PrefixLen: 0
  4220                        MacAddress: "02:42:ac:11:00:02"
  4221                  Mounts:
  4222                    - Name: "fac362...80535"
  4223                      Source: "/data"
  4224                      Destination: "/data"
  4225                      Driver: "local"
  4226                      Mode: "ro,Z"
  4227                      RW: false
  4228                      Propagation: ""
  4229                - Id: "9cd87474be90"
  4230                  Names:
  4231                    - "/coolName"
  4232                  Image: "ubuntu:latest"
  4233                  ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
  4234                  Command: "echo 222222"
  4235                  Created: 1367854155
  4236                  State: "Exited"
  4237                  Status: "Exit 0"
  4238                  Ports: []
  4239                  Labels: {}
  4240                  SizeRw: 12288
  4241                  SizeRootFs: 0
  4242                  HostConfig:
  4243                    NetworkMode: "default"
  4244                  NetworkSettings:
  4245                    Networks:
  4246                      bridge:
  4247                        NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  4248                        EndpointID: "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a"
  4249                        Gateway: "172.17.0.1"
  4250                        IPAddress: "172.17.0.8"
  4251                        IPPrefixLen: 16
  4252                        IPv6Gateway: ""
  4253                        GlobalIPv6Address: ""
  4254                        GlobalIPv6PrefixLen: 0
  4255                        MacAddress: "02:42:ac:11:00:08"
  4256                  Mounts: []
  4257                - Id: "3176a2479c92"
  4258                  Names:
  4259                    - "/sleepy_dog"
  4260                  Image: "ubuntu:latest"
  4261                  ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
  4262                  Command: "echo 3333333333333333"
  4263                  Created: 1367854154
  4264                  State: "Exited"
  4265                  Status: "Exit 0"
  4266                  Ports: []
  4267                  Labels: {}
  4268                  SizeRw: 12288
  4269                  SizeRootFs: 0
  4270                  HostConfig:
  4271                    NetworkMode: "default"
  4272                  NetworkSettings:
  4273                    Networks:
  4274                      bridge:
  4275                        NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  4276                        EndpointID: "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d"
  4277                        Gateway: "172.17.0.1"
  4278                        IPAddress: "172.17.0.6"
  4279                        IPPrefixLen: 16
  4280                        IPv6Gateway: ""
  4281                        GlobalIPv6Address: ""
  4282                        GlobalIPv6PrefixLen: 0
  4283                        MacAddress: "02:42:ac:11:00:06"
  4284                  Mounts: []
  4285                - Id: "4cb07b47f9fb"
  4286                  Names:
  4287                    - "/running_cat"
  4288                  Image: "ubuntu:latest"
  4289                  ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82"
  4290                  Command: "echo 444444444444444444444444444444444"
  4291                  Created: 1367854152
  4292                  State: "Exited"
  4293                  Status: "Exit 0"
  4294                  Ports: []
  4295                  Labels: {}
  4296                  SizeRw: 12288
  4297                  SizeRootFs: 0
  4298                  HostConfig:
  4299                    NetworkMode: "default"
  4300                  NetworkSettings:
  4301                    Networks:
  4302                      bridge:
  4303                        NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  4304                        EndpointID: "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9"
  4305                        Gateway: "172.17.0.1"
  4306                        IPAddress: "172.17.0.5"
  4307                        IPPrefixLen: 16
  4308                        IPv6Gateway: ""
  4309                        GlobalIPv6Address: ""
  4310                        GlobalIPv6PrefixLen: 0
  4311                        MacAddress: "02:42:ac:11:00:05"
  4312                  Mounts: []
  4313          400:
  4314            description: "bad parameter"
  4315            schema:
  4316              $ref: "#/definitions/ErrorResponse"
  4317          500:
  4318            description: "server error"
  4319            schema:
  4320              $ref: "#/definitions/ErrorResponse"
  4321        tags: ["Container"]
  4322    /containers/create:
  4323      post:
  4324        summary: "Create a container"
  4325        operationId: "ContainerCreate"
  4326        consumes:
  4327          - "application/json"
  4328          - "application/octet-stream"
  4329        produces:
  4330          - "application/json"
  4331        parameters:
  4332          - name: "name"
  4333            in: "query"
  4334            description: "Assign the specified name to the container. Must match `/?[a-zA-Z0-9_-]+`."
  4335            type: "string"
  4336            pattern: "/?[a-zA-Z0-9_-]+"
  4337          - name: "body"
  4338            in: "body"
  4339            description: "Container to create"
  4340            schema:
  4341              allOf:
  4342                - $ref: "#/definitions/ContainerConfig"
  4343                - type: "object"
  4344                  properties:
  4345                    HostConfig:
  4346                      $ref: "#/definitions/HostConfig"
  4347                    NetworkingConfig:
  4348                      description: "This container's networking configuration."
  4349                      type: "object"
  4350                      properties:
  4351                        EndpointsConfig:
  4352                          description: "A mapping of network name to endpoint configuration for that network."
  4353                          type: "object"
  4354                          additionalProperties:
  4355                            $ref: "#/definitions/EndpointSettings"
  4356              example:
  4357                Hostname: ""
  4358                Domainname: ""
  4359                User: ""
  4360                AttachStdin: false
  4361                AttachStdout: true
  4362                AttachStderr: true
  4363                Tty: false
  4364                OpenStdin: false
  4365                StdinOnce: false
  4366                Env:
  4367                  - "FOO=bar"
  4368                  - "BAZ=quux"
  4369                Cmd:
  4370                  - "date"
  4371                Entrypoint: ""
  4372                Image: "ubuntu"
  4373                Labels:
  4374                  com.example.vendor: "Acme"
  4375                  com.example.license: "GPL"
  4376                  com.example.version: "1.0"
  4377                Volumes:
  4378                  /volumes/data: {}
  4379                WorkingDir: ""
  4380                NetworkDisabled: false
  4381                MacAddress: "12:34:56:78:9a:bc"
  4382                ExposedPorts:
  4383                  22/tcp: {}
  4384                StopSignal: "SIGTERM"
  4385                StopTimeout: 10
  4386                HostConfig:
  4387                  Binds:
  4388                    - "/tmp:/tmp"
  4389                  Links:
  4390                    - "redis3:redis"
  4391                  Memory: 0
  4392                  MemorySwap: 0
  4393                  MemoryReservation: 0
  4394                  KernelMemory: 0
  4395                  NanoCPUs: 500000
  4396                  CpuPercent: 80
  4397                  CpuShares: 512
  4398                  CpuPeriod: 100000
  4399                  CpuRealtimePeriod: 1000000
  4400                  CpuRealtimeRuntime: 10000
  4401                  CpuQuota: 50000
  4402                  CpusetCpus: "0,1"
  4403                  CpusetMems: "0,1"
  4404                  MaximumIOps: 0
  4405                  MaximumIOBps: 0
  4406                  BlkioWeight: 300
  4407                  BlkioWeightDevice:
  4408                    - {}
  4409                  BlkioDeviceReadBps:
  4410                    - {}
  4411                  BlkioDeviceReadIOps:
  4412                    - {}
  4413                  BlkioDeviceWriteBps:
  4414                    - {}
  4415                  BlkioDeviceWriteIOps:
  4416                    - {}
  4417                  MemorySwappiness: 60
  4418                  OomKillDisable: false
  4419                  OomScoreAdj: 500
  4420                  PidMode: ""
  4421                  PidsLimit: -1
  4422                  PortBindings:
  4423                    22/tcp:
  4424                      - HostPort: "11022"
  4425                  PublishAllPorts: false
  4426                  Privileged: false
  4427                  ReadonlyRootfs: false
  4428                  Dns:
  4429                    - "8.8.8.8"
  4430                  DnsOptions:
  4431                    - ""
  4432                  DnsSearch:
  4433                    - ""
  4434                  VolumesFrom:
  4435                    - "parent"
  4436                    - "other:ro"
  4437                  CapAdd:
  4438                    - "NET_ADMIN"
  4439                  CapDrop:
  4440                    - "MKNOD"
  4441                  GroupAdd:
  4442                    - "newgroup"
  4443                  RestartPolicy:
  4444                    Name: ""
  4445                    MaximumRetryCount: 0
  4446                  AutoRemove: true
  4447                  NetworkMode: "bridge"
  4448                  Devices: []
  4449                  Ulimits:
  4450                    - {}
  4451                  LogConfig:
  4452                    Type: "json-file"
  4453                    Config: {}
  4454                  SecurityOpt: []
  4455                  StorageOpt: {}
  4456                  CgroupParent: ""
  4457                  VolumeDriver: ""
  4458                  ShmSize: 67108864
  4459                NetworkingConfig:
  4460                  EndpointsConfig:
  4461                    isolated_nw:
  4462                      IPAMConfig:
  4463                        IPv4Address: "172.20.30.33"
  4464                        IPv6Address: "2001:db8:abcd::3033"
  4465                        LinkLocalIPs:
  4466                          - "169.254.34.68"
  4467                          - "fe80::3468"
  4468                      Links:
  4469                        - "container_1"
  4470                        - "container_2"
  4471                      Aliases:
  4472                        - "server_x"
  4473                        - "server_y"
  4474  
  4475            required: true
  4476        responses:
  4477          201:
  4478            description: "Container created successfully"
  4479            schema:
  4480              type: "object"
  4481              required: [Id, Warnings]
  4482              properties:
  4483                Id:
  4484                  description: "The ID of the created container"
  4485                  type: "string"
  4486                  x-nullable: false
  4487                Warnings:
  4488                  description: "Warnings encountered when creating the container"
  4489                  type: "array"
  4490                  x-nullable: false
  4491                  items:
  4492                    type: "string"
  4493            examples:
  4494              application/json:
  4495                Id: "e90e34656806"
  4496                Warnings: []
  4497          400:
  4498            description: "bad parameter"
  4499            schema:
  4500              $ref: "#/definitions/ErrorResponse"
  4501          404:
  4502            description: "no such container"
  4503            schema:
  4504              $ref: "#/definitions/ErrorResponse"
  4505            examples:
  4506              application/json:
  4507                message: "No such container: c2ada9df5af8"
  4508          409:
  4509            description: "conflict"
  4510            schema:
  4511              $ref: "#/definitions/ErrorResponse"
  4512          500:
  4513            description: "server error"
  4514            schema:
  4515              $ref: "#/definitions/ErrorResponse"
  4516        tags: ["Container"]
  4517    /containers/{id}/json:
  4518      get:
  4519        summary: "Inspect a container"
  4520        description: "Return low-level information about a container."
  4521        operationId: "ContainerInspect"
  4522        produces:
  4523          - "application/json"
  4524        responses:
  4525          200:
  4526            description: "no error"
  4527            schema:
  4528              type: "object"
  4529              properties:
  4530                Id:
  4531                  description: "The ID of the container"
  4532                  type: "string"
  4533                Created:
  4534                  description: "The time the container was created"
  4535                  type: "string"
  4536                Path:
  4537                  description: "The path to the command being run"
  4538                  type: "string"
  4539                Args:
  4540                  description: "The arguments to the command being run"
  4541                  type: "array"
  4542                  items:
  4543                    type: "string"
  4544                State:
  4545                  description: "The state of the container."
  4546                  type: "object"
  4547                  properties:
  4548                    Status:
  4549                      description: |
  4550                        The status of the container. For example, `"running"` or `"exited"`.
  4551                      type: "string"
  4552                      enum: ["created", "running", "paused", "restarting", "removing", "exited", "dead"]
  4553                    Running:
  4554                      description: |
  4555                        Whether this container is running.
  4556  
  4557                        Note that a running container can be _paused_. The `Running` and `Paused`
  4558                        booleans are not mutually exclusive:
  4559  
  4560                        When pausing a container (on Linux), the cgroups freezer is used to suspend
  4561                        all processes in the container. Freezing the process requires the process to
  4562                        be running. As a result, paused containers are both `Running` _and_ `Paused`.
  4563  
  4564                        Use the `Status` field instead to determine if a container's state is "running".
  4565                      type: "boolean"
  4566                    Paused:
  4567                      description: "Whether this container is paused."
  4568                      type: "boolean"
  4569                    Restarting:
  4570                      description: "Whether this container is restarting."
  4571                      type: "boolean"
  4572                    OOMKilled:
  4573                      description: "Whether this container has been killed because it ran out of memory."
  4574                      type: "boolean"
  4575                    Dead:
  4576                      type: "boolean"
  4577                    Pid:
  4578                      description: "The process ID of this container"
  4579                      type: "integer"
  4580                    ExitCode:
  4581                      description: "The last exit code of this container"
  4582                      type: "integer"
  4583                    Error:
  4584                      type: "string"
  4585                    StartedAt:
  4586                      description: "The time when this container was last started."
  4587                      type: "string"
  4588                    FinishedAt:
  4589                      description: "The time when this container last exited."
  4590                      type: "string"
  4591                Image:
  4592                  description: "The container's image"
  4593                  type: "string"
  4594                ResolvConfPath:
  4595                  type: "string"
  4596                HostnamePath:
  4597                  type: "string"
  4598                HostsPath:
  4599                  type: "string"
  4600                LogPath:
  4601                  type: "string"
  4602                Node:
  4603                  description: "TODO"
  4604                  type: "object"
  4605                Name:
  4606                  type: "string"
  4607                RestartCount:
  4608                  type: "integer"
  4609                Driver:
  4610                  type: "string"
  4611                MountLabel:
  4612                  type: "string"
  4613                ProcessLabel:
  4614                  type: "string"
  4615                AppArmorProfile:
  4616                  type: "string"
  4617                ExecIDs:
  4618                  type: "string"
  4619                HostConfig:
  4620                  $ref: "#/definitions/HostConfig"
  4621                GraphDriver:
  4622                  $ref: "#/definitions/GraphDriverData"
  4623                SizeRw:
  4624                  description: "The size of files that have been created or changed by this container."
  4625                  type: "integer"
  4626                  format: "int64"
  4627                SizeRootFs:
  4628                  description: "The total size of all the files in this container."
  4629                  type: "integer"
  4630                  format: "int64"
  4631                Mounts:
  4632                  type: "array"
  4633                  items:
  4634                    $ref: "#/definitions/MountPoint"
  4635                Config:
  4636                  $ref: "#/definitions/ContainerConfig"
  4637                NetworkSettings:
  4638                  $ref: "#/definitions/NetworkSettings"
  4639            examples:
  4640              application/json:
  4641                AppArmorProfile: ""
  4642                Args:
  4643                  - "-c"
  4644                  - "exit 9"
  4645                Config:
  4646                  AttachStderr: true
  4647                  AttachStdin: false
  4648                  AttachStdout: true
  4649                  Cmd:
  4650                    - "/bin/sh"
  4651                    - "-c"
  4652                    - "exit 9"
  4653                  Domainname: ""
  4654                  Env:
  4655                    - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  4656                  Hostname: "ba033ac44011"
  4657                  Image: "ubuntu"
  4658                  Labels:
  4659                    com.example.vendor: "Acme"
  4660                    com.example.license: "GPL"
  4661                    com.example.version: "1.0"
  4662                  MacAddress: ""
  4663                  NetworkDisabled: false
  4664                  OpenStdin: false
  4665                  StdinOnce: false
  4666                  Tty: false
  4667                  User: ""
  4668                  Volumes:
  4669                    /volumes/data: {}
  4670                  WorkingDir: ""
  4671                  StopSignal: "SIGTERM"
  4672                  StopTimeout: 10
  4673                Created: "2015-01-06T15:47:31.485331387Z"
  4674                Driver: "devicemapper"
  4675                HostConfig:
  4676                  MaximumIOps: 0
  4677                  MaximumIOBps: 0
  4678                  BlkioWeight: 0
  4679                  BlkioWeightDevice:
  4680                    - {}
  4681                  BlkioDeviceReadBps:
  4682                    - {}
  4683                  BlkioDeviceWriteBps:
  4684                    - {}
  4685                  BlkioDeviceReadIOps:
  4686                    - {}
  4687                  BlkioDeviceWriteIOps:
  4688                    - {}
  4689                  ContainerIDFile: ""
  4690                  CpusetCpus: ""
  4691                  CpusetMems: ""
  4692                  CpuPercent: 80
  4693                  CpuShares: 0
  4694                  CpuPeriod: 100000
  4695                  CpuRealtimePeriod: 1000000
  4696                  CpuRealtimeRuntime: 10000
  4697                  Devices: []
  4698                  IpcMode: ""
  4699                  LxcConf: []
  4700                  Memory: 0
  4701                  MemorySwap: 0
  4702                  MemoryReservation: 0
  4703                  KernelMemory: 0
  4704                  OomKillDisable: false
  4705                  OomScoreAdj: 500
  4706                  NetworkMode: "bridge"
  4707                  PidMode: ""
  4708                  PortBindings: {}
  4709                  Privileged: false
  4710                  ReadonlyRootfs: false
  4711                  PublishAllPorts: false
  4712                  RestartPolicy:
  4713                    MaximumRetryCount: 2
  4714                    Name: "on-failure"
  4715                  LogConfig:
  4716                    Type: "json-file"
  4717                  Sysctls:
  4718                    net.ipv4.ip_forward: "1"
  4719                  Ulimits:
  4720                    - {}
  4721                  VolumeDriver: ""
  4722                  ShmSize: 67108864
  4723                HostnamePath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname"
  4724                HostsPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts"
  4725                LogPath: "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log"
  4726                Id: "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39"
  4727                Image: "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2"
  4728                MountLabel: ""
  4729                Name: "/boring_euclid"
  4730                NetworkSettings:
  4731                  Bridge: ""
  4732                  SandboxID: ""
  4733                  HairpinMode: false
  4734                  LinkLocalIPv6Address: ""
  4735                  LinkLocalIPv6PrefixLen: 0
  4736                  SandboxKey: ""
  4737                  EndpointID: ""
  4738                  Gateway: ""
  4739                  GlobalIPv6Address: ""
  4740                  GlobalIPv6PrefixLen: 0
  4741                  IPAddress: ""
  4742                  IPPrefixLen: 0
  4743                  IPv6Gateway: ""
  4744                  MacAddress: ""
  4745                  Networks:
  4746                    bridge:
  4747                      NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812"
  4748                      EndpointID: "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d"
  4749                      Gateway: "172.17.0.1"
  4750                      IPAddress: "172.17.0.2"
  4751                      IPPrefixLen: 16
  4752                      IPv6Gateway: ""
  4753                      GlobalIPv6Address: ""
  4754                      GlobalIPv6PrefixLen: 0
  4755                      MacAddress: "02:42:ac:12:00:02"
  4756                Path: "/bin/sh"
  4757                ProcessLabel: ""
  4758                ResolvConfPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf"
  4759                RestartCount: 1
  4760                State:
  4761                  Error: ""
  4762                  ExitCode: 9
  4763                  FinishedAt: "2015-01-06T15:47:32.080254511Z"
  4764                  OOMKilled: false
  4765                  Dead: false
  4766                  Paused: false
  4767                  Pid: 0
  4768                  Restarting: false
  4769                  Running: true
  4770                  StartedAt: "2015-01-06T15:47:32.072697474Z"
  4771                  Status: "running"
  4772                Mounts:
  4773                  - Name: "fac362...80535"
  4774                    Source: "/data"
  4775                    Destination: "/data"
  4776                    Driver: "local"
  4777                    Mode: "ro,Z"
  4778                    RW: false
  4779                    Propagation: ""
  4780          404:
  4781            description: "no such container"
  4782            schema:
  4783              $ref: "#/definitions/ErrorResponse"
  4784            examples:
  4785              application/json:
  4786                message: "No such container: c2ada9df5af8"
  4787          500:
  4788            description: "server error"
  4789            schema:
  4790              $ref: "#/definitions/ErrorResponse"
  4791        parameters:
  4792          - name: "id"
  4793            in: "path"
  4794            required: true
  4795            description: "ID or name of the container"
  4796            type: "string"
  4797          - name: "size"
  4798            in: "query"
  4799            type: "boolean"
  4800            default: false
  4801            description: "Return the size of container as fields `SizeRw` and `SizeRootFs`"
  4802        tags: ["Container"]
  4803    /containers/{id}/top:
  4804      get:
  4805        summary: "List processes running inside a container"
  4806        description: "On Unix systems, this is done by running the `ps` command. This endpoint is not supported on Windows."
  4807        operationId: "ContainerTop"
  4808        responses:
  4809          200:
  4810            description: "no error"
  4811            schema:
  4812              type: "object"
  4813              properties:
  4814                Titles:
  4815                  description: "The ps column titles"
  4816                  type: "array"
  4817                  items:
  4818                    type: "string"
  4819                Processes:
  4820                  description: "Each process running in the container, where each is process is an array of values corresponding to the titles"
  4821                  type: "array"
  4822                  items:
  4823                    type: "array"
  4824                    items:
  4825                      type: "string"
  4826            examples:
  4827              application/json:
  4828                Titles:
  4829                  - "UID"
  4830                  - "PID"
  4831                  - "PPID"
  4832                  - "C"
  4833                  - "STIME"
  4834                  - "TTY"
  4835                  - "TIME"
  4836                  - "CMD"
  4837                Processes:
  4838                  -
  4839                    - "root"
  4840                    - "13642"
  4841                    - "882"
  4842                    - "0"
  4843                    - "17:03"
  4844                    - "pts/0"
  4845                    - "00:00:00"
  4846                    - "/bin/bash"
  4847                  -
  4848                    - "root"
  4849                    - "13735"
  4850                    - "13642"
  4851                    - "0"
  4852                    - "17:06"
  4853                    - "pts/0"
  4854                    - "00:00:00"
  4855                    - "sleep 10"
  4856          404:
  4857            description: "no such container"
  4858            schema:
  4859              $ref: "#/definitions/ErrorResponse"
  4860            examples:
  4861              application/json:
  4862                message: "No such container: c2ada9df5af8"
  4863          500:
  4864            description: "server error"
  4865            schema:
  4866              $ref: "#/definitions/ErrorResponse"
  4867        parameters:
  4868          - name: "id"
  4869            in: "path"
  4870            required: true
  4871            description: "ID or name of the container"
  4872            type: "string"
  4873          - name: "ps_args"
  4874            in: "query"
  4875            description: "The arguments to pass to `ps`. For example, `aux`"
  4876            type: "string"
  4877            default: "-ef"
  4878        tags: ["Container"]
  4879    /containers/{id}/logs:
  4880      get:
  4881        summary: "Get container logs"
  4882        description: |
  4883          Get `stdout` and `stderr` logs from a container.
  4884  
  4885          Note: This endpoint works only for containers with the `json-file` or `journald` logging driver.
  4886        operationId: "ContainerLogs"
  4887        responses:
  4888          101:
  4889            description: "logs returned as a stream"
  4890            schema:
  4891              type: "string"
  4892              format: "binary"
  4893          200:
  4894            description: "logs returned as a string in response body"
  4895            schema:
  4896              type: "string"
  4897          404:
  4898            description: "no such container"
  4899            schema:
  4900              $ref: "#/definitions/ErrorResponse"
  4901            examples:
  4902              application/json:
  4903                message: "No such container: c2ada9df5af8"
  4904          500:
  4905            description: "server error"
  4906            schema:
  4907              $ref: "#/definitions/ErrorResponse"
  4908        parameters:
  4909          - name: "id"
  4910            in: "path"
  4911            required: true
  4912            description: "ID or name of the container"
  4913            type: "string"
  4914          - name: "follow"
  4915            in: "query"
  4916            description: |
  4917              Return the logs as a stream.
  4918  
  4919              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).
  4920            type: "boolean"
  4921            default: false
  4922          - name: "stdout"
  4923            in: "query"
  4924            description: "Return logs from `stdout`"
  4925            type: "boolean"
  4926            default: false
  4927          - name: "stderr"
  4928            in: "query"
  4929            description: "Return logs from `stderr`"
  4930            type: "boolean"
  4931            default: false
  4932          - name: "since"
  4933            in: "query"
  4934            description: "Only return logs since this time, as a UNIX timestamp"
  4935            type: "integer"
  4936            default: 0
  4937          - name: "timestamps"
  4938            in: "query"
  4939            description: "Add timestamps to every log line"
  4940            type: "boolean"
  4941            default: false
  4942          - name: "tail"
  4943            in: "query"
  4944            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."
  4945            type: "string"
  4946            default: "all"
  4947        tags: ["Container"]
  4948    /containers/{id}/changes:
  4949      get:
  4950        summary: "Get changes on a container’s filesystem"
  4951        description: |
  4952          Returns which files in a container's filesystem have been added, deleted,
  4953          or modified. The `Kind` of modification can be one of:
  4954  
  4955          - `0`: Modified
  4956          - `1`: Added
  4957          - `2`: Deleted
  4958        operationId: "ContainerChanges"
  4959        produces: ["application/json"]
  4960        responses:
  4961          200:
  4962            description: "The list of changes"
  4963            schema:
  4964              type: "array"
  4965              items:
  4966                type: "object"
  4967                x-go-name: "ContainerChangeResponseItem"
  4968                required: [Path, Kind]
  4969                properties:
  4970                  Path:
  4971                    description: "Path to file that has changed"
  4972                    type: "string"
  4973                    x-nullable: false
  4974                  Kind:
  4975                    description: "Kind of change"
  4976                    type: "integer"
  4977                    format: "uint8"
  4978                    enum: [0, 1, 2]
  4979                    x-nullable: false
  4980            examples:
  4981              application/json:
  4982                - Path: "/dev"
  4983                  Kind: 0
  4984                - Path: "/dev/kmsg"
  4985                  Kind: 1
  4986                - Path: "/test"
  4987                  Kind: 1
  4988          404:
  4989            description: "no such container"
  4990            schema:
  4991              $ref: "#/definitions/ErrorResponse"
  4992            examples:
  4993              application/json:
  4994                message: "No such container: c2ada9df5af8"
  4995          500:
  4996            description: "server error"
  4997            schema:
  4998              $ref: "#/definitions/ErrorResponse"
  4999        parameters:
  5000          - name: "id"
  5001            in: "path"
  5002            required: true
  5003            description: "ID or name of the container"
  5004            type: "string"
  5005        tags: ["Container"]
  5006    /containers/{id}/export:
  5007      get:
  5008        summary: "Export a container"
  5009        description: "Export the contents of a container as a tarball."
  5010        operationId: "ContainerExport"
  5011        produces:
  5012          - "application/octet-stream"
  5013        responses:
  5014          200:
  5015            description: "no error"
  5016          404:
  5017            description: "no such container"
  5018            schema:
  5019              $ref: "#/definitions/ErrorResponse"
  5020            examples:
  5021              application/json:
  5022                message: "No such container: c2ada9df5af8"
  5023          500:
  5024            description: "server error"
  5025            schema:
  5026              $ref: "#/definitions/ErrorResponse"
  5027        parameters:
  5028          - name: "id"
  5029            in: "path"
  5030            required: true
  5031            description: "ID or name of the container"
  5032            type: "string"
  5033        tags: ["Container"]
  5034    /containers/{id}/stats:
  5035      get:
  5036        summary: "Get container stats based on resource usage"
  5037        description: |
  5038          This endpoint returns a live stream of a container’s resource usage
  5039          statistics.
  5040  
  5041          The `precpu_stats` is the CPU statistic of last read, which is used
  5042          for calculating the CPU usage percentage. It is not the same as the
  5043          `cpu_stats` field.
  5044  
  5045          If either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is
  5046          nil then for compatibility with older daemons the length of the
  5047          corresponding `cpu_usage.percpu_usage` array should be used.
  5048        operationId: "ContainerStats"
  5049        produces: ["application/json"]
  5050        responses:
  5051          200:
  5052            description: "no error"
  5053            schema:
  5054              type: "object"
  5055            examples:
  5056              application/json:
  5057                read: "2015-01-08T22:57:31.547920715Z"
  5058                pids_stats:
  5059                  current: 3
  5060                networks:
  5061                  eth0:
  5062                    rx_bytes: 5338
  5063                    rx_dropped: 0
  5064                    rx_errors: 0
  5065                    rx_packets: 36
  5066                    tx_bytes: 648
  5067                    tx_dropped: 0
  5068                    tx_errors: 0
  5069                    tx_packets: 8
  5070                  eth5:
  5071                    rx_bytes: 4641
  5072                    rx_dropped: 0
  5073                    rx_errors: 0
  5074                    rx_packets: 26
  5075                    tx_bytes: 690
  5076                    tx_dropped: 0
  5077                    tx_errors: 0
  5078                    tx_packets: 9
  5079                memory_stats:
  5080                  stats:
  5081                    total_pgmajfault: 0
  5082                    cache: 0
  5083                    mapped_file: 0
  5084                    total_inactive_file: 0
  5085                    pgpgout: 414
  5086                    rss: 6537216
  5087                    total_mapped_file: 0
  5088                    writeback: 0
  5089                    unevictable: 0
  5090                    pgpgin: 477
  5091                    total_unevictable: 0
  5092                    pgmajfault: 0
  5093                    total_rss: 6537216
  5094                    total_rss_huge: 6291456
  5095                    total_writeback: 0
  5096                    total_inactive_anon: 0
  5097                    rss_huge: 6291456
  5098                    hierarchical_memory_limit: 67108864
  5099                    total_pgfault: 964
  5100                    total_active_file: 0
  5101                    active_anon: 6537216
  5102                    total_active_anon: 6537216
  5103                    total_pgpgout: 414
  5104                    total_cache: 0
  5105                    inactive_anon: 0
  5106                    active_file: 0
  5107                    pgfault: 964
  5108                    inactive_file: 0
  5109                    total_pgpgin: 477
  5110                  max_usage: 6651904
  5111                  usage: 6537216
  5112                  failcnt: 0
  5113                  limit: 67108864
  5114                blkio_stats: {}
  5115                cpu_stats:
  5116                  cpu_usage:
  5117                    percpu_usage:
  5118                      - 8646879
  5119                      - 24472255
  5120                      - 36438778
  5121                      - 30657443
  5122                    usage_in_usermode: 50000000
  5123                    total_usage: 100215355
  5124                    usage_in_kernelmode: 30000000
  5125                  system_cpu_usage: 739306590000000
  5126                  online_cpus: 4
  5127                  throttling_data:
  5128                    periods: 0
  5129                    throttled_periods: 0
  5130                    throttled_time: 0
  5131                precpu_stats:
  5132                  cpu_usage:
  5133                    percpu_usage:
  5134                      - 8646879
  5135                      - 24350896
  5136                      - 36438778
  5137                      - 30657443
  5138                    usage_in_usermode: 50000000
  5139                    total_usage: 100093996
  5140                    usage_in_kernelmode: 30000000
  5141                  system_cpu_usage: 9492140000000
  5142                  online_cpus: 4
  5143                  throttling_data:
  5144                    periods: 0
  5145                    throttled_periods: 0
  5146                    throttled_time: 0
  5147          404:
  5148            description: "no such container"
  5149            schema:
  5150              $ref: "#/definitions/ErrorResponse"
  5151            examples:
  5152              application/json:
  5153                message: "No such container: c2ada9df5af8"
  5154          500:
  5155            description: "server error"
  5156            schema:
  5157              $ref: "#/definitions/ErrorResponse"
  5158        parameters:
  5159          - name: "id"
  5160            in: "path"
  5161            required: true
  5162            description: "ID or name of the container"
  5163            type: "string"
  5164          - name: "stream"
  5165            in: "query"
  5166            description: "Stream the output. If false, the stats will be output once and then it will disconnect."
  5167            type: "boolean"
  5168            default: true
  5169        tags: ["Container"]
  5170    /containers/{id}/resize:
  5171      post:
  5172        summary: "Resize a container TTY"
  5173        description: "Resize the TTY for a container. You must restart the container for the resize to take effect."
  5174        operationId: "ContainerResize"
  5175        consumes:
  5176          - "application/octet-stream"
  5177        produces:
  5178          - "text/plain"
  5179        responses:
  5180          200:
  5181            description: "no error"
  5182          404:
  5183            description: "no such container"
  5184            schema:
  5185              $ref: "#/definitions/ErrorResponse"
  5186            examples:
  5187              application/json:
  5188                message: "No such container: c2ada9df5af8"
  5189          500:
  5190            description: "cannot resize container"
  5191            schema:
  5192              $ref: "#/definitions/ErrorResponse"
  5193        parameters:
  5194          - name: "id"
  5195            in: "path"
  5196            required: true
  5197            description: "ID or name of the container"
  5198            type: "string"
  5199          - name: "h"
  5200            in: "query"
  5201            description: "Height of the tty session in characters"
  5202            type: "integer"
  5203          - name: "w"
  5204            in: "query"
  5205            description: "Width of the tty session in characters"
  5206            type: "integer"
  5207        tags: ["Container"]
  5208    /containers/{id}/start:
  5209      post:
  5210        summary: "Start a container"
  5211        operationId: "ContainerStart"
  5212        responses:
  5213          204:
  5214            description: "no error"
  5215          304:
  5216            description: "container already started"
  5217            schema:
  5218              $ref: "#/definitions/ErrorResponse"
  5219          404:
  5220            description: "no such container"
  5221            schema:
  5222              $ref: "#/definitions/ErrorResponse"
  5223            examples:
  5224              application/json:
  5225                message: "No such container: c2ada9df5af8"
  5226          500:
  5227            description: "server error"
  5228            schema:
  5229              $ref: "#/definitions/ErrorResponse"
  5230        parameters:
  5231          - name: "id"
  5232            in: "path"
  5233            required: true
  5234            description: "ID or name of the container"
  5235            type: "string"
  5236          - name: "detachKeys"
  5237            in: "query"
  5238            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 `_`."
  5239            type: "string"
  5240        tags: ["Container"]
  5241    /containers/{id}/stop:
  5242      post:
  5243        summary: "Stop a container"
  5244        operationId: "ContainerStop"
  5245        responses:
  5246          204:
  5247            description: "no error"
  5248          304:
  5249            description: "container already stopped"
  5250            schema:
  5251              $ref: "#/definitions/ErrorResponse"
  5252          404:
  5253            description: "no such container"
  5254            schema:
  5255              $ref: "#/definitions/ErrorResponse"
  5256            examples:
  5257              application/json:
  5258                message: "No such container: c2ada9df5af8"
  5259          500:
  5260            description: "server error"
  5261            schema:
  5262              $ref: "#/definitions/ErrorResponse"
  5263        parameters:
  5264          - name: "id"
  5265            in: "path"
  5266            required: true
  5267            description: "ID or name of the container"
  5268            type: "string"
  5269          - name: "t"
  5270            in: "query"
  5271            description: "Number of seconds to wait before killing the container"
  5272            type: "integer"
  5273        tags: ["Container"]
  5274    /containers/{id}/restart:
  5275      post:
  5276        summary: "Restart a container"
  5277        operationId: "ContainerRestart"
  5278        responses:
  5279          204:
  5280            description: "no error"
  5281          404:
  5282            description: "no such container"
  5283            schema:
  5284              $ref: "#/definitions/ErrorResponse"
  5285            examples:
  5286              application/json:
  5287                message: "No such container: c2ada9df5af8"
  5288          500:
  5289            description: "server error"
  5290            schema:
  5291              $ref: "#/definitions/ErrorResponse"
  5292        parameters:
  5293          - name: "id"
  5294            in: "path"
  5295            required: true
  5296            description: "ID or name of the container"
  5297            type: "string"
  5298          - name: "t"
  5299            in: "query"
  5300            description: "Number of seconds to wait before killing the container"
  5301            type: "integer"
  5302        tags: ["Container"]
  5303    /containers/{id}/kill:
  5304      post:
  5305        summary: "Kill a container"
  5306        description: "Send a POSIX signal to a container, defaulting to killing to the container."
  5307        operationId: "ContainerKill"
  5308        responses:
  5309          204:
  5310            description: "no error"
  5311          404:
  5312            description: "no such container"
  5313            schema:
  5314              $ref: "#/definitions/ErrorResponse"
  5315            examples:
  5316              application/json:
  5317                message: "No such container: c2ada9df5af8"
  5318          500:
  5319            description: "server error"
  5320            schema:
  5321              $ref: "#/definitions/ErrorResponse"
  5322        parameters:
  5323          - name: "id"
  5324            in: "path"
  5325            required: true
  5326            description: "ID or name of the container"
  5327            type: "string"
  5328          - name: "signal"
  5329            in: "query"
  5330            description: "Signal to send to the container as an integer or string (e.g. `SIGINT`)"
  5331            type: "string"
  5332            default: "SIGKILL"
  5333        tags: ["Container"]
  5334    /containers/{id}/update:
  5335      post:
  5336        summary: "Update a container"
  5337        description: "Change various configuration options of a container without having to recreate it."
  5338        operationId: "ContainerUpdate"
  5339        consumes: ["application/json"]
  5340        produces: ["application/json"]
  5341        responses:
  5342          200:
  5343            description: "The container has been updated."
  5344            schema:
  5345              type: "object"
  5346              properties:
  5347                Warnings:
  5348                  type: "array"
  5349                  items:
  5350                    type: "string"
  5351          404:
  5352            description: "no such container"
  5353            schema:
  5354              $ref: "#/definitions/ErrorResponse"
  5355            examples:
  5356              application/json:
  5357                message: "No such container: c2ada9df5af8"
  5358          500:
  5359            description: "server error"
  5360            schema:
  5361              $ref: "#/definitions/ErrorResponse"
  5362        parameters:
  5363          - name: "id"
  5364            in: "path"
  5365            required: true
  5366            description: "ID or name of the container"
  5367            type: "string"
  5368          - name: "update"
  5369            in: "body"
  5370            required: true
  5371            schema:
  5372              allOf:
  5373                - $ref: "#/definitions/Resources"
  5374                - type: "object"
  5375                  properties:
  5376                    RestartPolicy:
  5377                      $ref: "#/definitions/RestartPolicy"
  5378              example:
  5379                BlkioWeight: 300
  5380                CpuShares: 512
  5381                CpuPeriod: 100000
  5382                CpuQuota: 50000
  5383                CpuRealtimePeriod: 1000000
  5384                CpuRealtimeRuntime: 10000
  5385                CpusetCpus: "0,1"
  5386                CpusetMems: "0"
  5387                Memory: 314572800
  5388                MemorySwap: 514288000
  5389                MemoryReservation: 209715200
  5390                KernelMemory: 52428800
  5391                RestartPolicy:
  5392                  MaximumRetryCount: 4
  5393                  Name: "on-failure"
  5394        tags: ["Container"]
  5395    /containers/{id}/rename:
  5396      post:
  5397        summary: "Rename a container"
  5398        operationId: "ContainerRename"
  5399        responses:
  5400          204:
  5401            description: "no error"
  5402          404:
  5403            description: "no such container"
  5404            schema:
  5405              $ref: "#/definitions/ErrorResponse"
  5406            examples:
  5407              application/json:
  5408                message: "No such container: c2ada9df5af8"
  5409          409:
  5410            description: "name already in use"
  5411            schema:
  5412              $ref: "#/definitions/ErrorResponse"
  5413          500:
  5414            description: "server error"
  5415            schema:
  5416              $ref: "#/definitions/ErrorResponse"
  5417        parameters:
  5418          - name: "id"
  5419            in: "path"
  5420            required: true
  5421            description: "ID or name of the container"
  5422            type: "string"
  5423          - name: "name"
  5424            in: "query"
  5425            required: true
  5426            description: "New name for the container"
  5427            type: "string"
  5428        tags: ["Container"]
  5429    /containers/{id}/pause:
  5430      post:
  5431        summary: "Pause a container"
  5432        description: |
  5433          Use the cgroups freezer to suspend all processes in a container.
  5434  
  5435          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.
  5436        operationId: "ContainerPause"
  5437        responses:
  5438          204:
  5439            description: "no error"
  5440          404:
  5441            description: "no such container"
  5442            schema:
  5443              $ref: "#/definitions/ErrorResponse"
  5444            examples:
  5445              application/json:
  5446                message: "No such container: c2ada9df5af8"
  5447          500:
  5448            description: "server error"
  5449            schema:
  5450              $ref: "#/definitions/ErrorResponse"
  5451        parameters:
  5452          - name: "id"
  5453            in: "path"
  5454            required: true
  5455            description: "ID or name of the container"
  5456            type: "string"
  5457        tags: ["Container"]
  5458    /containers/{id}/unpause:
  5459      post:
  5460        summary: "Unpause a container"
  5461        description: "Resume a container which has been paused."
  5462        operationId: "ContainerUnpause"
  5463        responses:
  5464          204:
  5465            description: "no error"
  5466          404:
  5467            description: "no such container"
  5468            schema:
  5469              $ref: "#/definitions/ErrorResponse"
  5470            examples:
  5471              application/json:
  5472                message: "No such container: c2ada9df5af8"
  5473          500:
  5474            description: "server error"
  5475            schema:
  5476              $ref: "#/definitions/ErrorResponse"
  5477        parameters:
  5478          - name: "id"
  5479            in: "path"
  5480            required: true
  5481            description: "ID or name of the container"
  5482            type: "string"
  5483        tags: ["Container"]
  5484    /containers/{id}/attach:
  5485      post:
  5486        summary: "Attach to a container"
  5487        description: |
  5488          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.
  5489  
  5490          Either the `stream` or `logs` parameter must be `true` for this endpoint to do anything.
  5491  
  5492          See [the documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/) for more details.
  5493  
  5494          ### Hijacking
  5495  
  5496          This endpoint hijacks the HTTP connection to transport `stdin`, `stdout`, and `stderr` on the same socket.
  5497  
  5498          This is the response from the daemon for an attach request:
  5499  
  5500          ```
  5501          HTTP/1.1 200 OK
  5502          Content-Type: application/vnd.docker.raw-stream
  5503  
  5504          [STREAM]
  5505          ```
  5506  
  5507          After the headers and two new lines, the TCP connection can now be used for raw, bidirectional communication between the client and server.
  5508  
  5509          To hint potential proxies about connection hijacking, the Docker client can also optionally send connection upgrade headers.
  5510  
  5511          For example, the client sends this request to upgrade the connection:
  5512  
  5513          ```
  5514          POST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1
  5515          Upgrade: tcp
  5516          Connection: Upgrade
  5517          ```
  5518  
  5519          The Docker daemon will respond with a `101 UPGRADED` response, and will similarly follow with the raw stream:
  5520  
  5521          ```
  5522          HTTP/1.1 101 UPGRADED
  5523          Content-Type: application/vnd.docker.raw-stream
  5524          Connection: Upgrade
  5525          Upgrade: tcp
  5526  
  5527          [STREAM]
  5528          ```
  5529  
  5530          ### Stream format
  5531  
  5532          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.
  5533  
  5534          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`).
  5535  
  5536          It is encoded on the first eight bytes like this:
  5537  
  5538          ```go
  5539          header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4}
  5540          ```
  5541  
  5542          `STREAM_TYPE` can be:
  5543  
  5544          - 0: `stdin` (is written on `stdout`)
  5545          - 1: `stdout`
  5546          - 2: `stderr`
  5547  
  5548          `SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size encoded as big endian.
  5549  
  5550          Following the header is the payload, which is the specified number of bytes of `STREAM_TYPE`.
  5551  
  5552          The simplest way to implement this protocol is the following:
  5553  
  5554          1. Read 8 bytes.
  5555          2. Choose `stdout` or `stderr` depending on the first byte.
  5556          3. Extract the frame size from the last four bytes.
  5557          4. Read the extracted size and output it on the correct output.
  5558          5. Goto 1.
  5559  
  5560          ### Stream format when using a TTY
  5561  
  5562          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`.
  5563  
  5564        operationId: "ContainerAttach"
  5565        produces:
  5566          - "application/vnd.docker.raw-stream"
  5567        responses:
  5568          101:
  5569            description: "no error, hints proxy about hijacking"
  5570          200:
  5571            description: "no error, no upgrade header found"
  5572          400:
  5573            description: "bad parameter"
  5574            schema:
  5575              $ref: "#/definitions/ErrorResponse"
  5576          404:
  5577            description: "no such container"
  5578            schema:
  5579              $ref: "#/definitions/ErrorResponse"
  5580            examples:
  5581              application/json:
  5582                message: "No such container: c2ada9df5af8"
  5583          500:
  5584            description: "server error"
  5585            schema:
  5586              $ref: "#/definitions/ErrorResponse"
  5587        parameters:
  5588          - name: "id"
  5589            in: "path"
  5590            required: true
  5591            description: "ID or name of the container"
  5592            type: "string"
  5593          - name: "detachKeys"
  5594            in: "query"
  5595            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 `_`."
  5596            type: "string"
  5597          - name: "logs"
  5598            in: "query"
  5599            description: |
  5600              Replay previous logs from the container.
  5601  
  5602              This is useful for attaching to a container that has started and you want to output everything since the container started.
  5603  
  5604              If `stream` is also enabled, once all the previous output has been returned, it will seamlessly transition into streaming current output.
  5605            type: "boolean"
  5606            default: false
  5607          - name: "stream"
  5608            in: "query"
  5609            description: "Stream attached streams from the time the request was made onwards"
  5610            type: "boolean"
  5611            default: false
  5612          - name: "stdin"
  5613            in: "query"
  5614            description: "Attach to `stdin`"
  5615            type: "boolean"
  5616            default: false
  5617          - name: "stdout"
  5618            in: "query"
  5619            description: "Attach to `stdout`"
  5620            type: "boolean"
  5621            default: false
  5622          - name: "stderr"
  5623            in: "query"
  5624            description: "Attach to `stderr`"
  5625            type: "boolean"
  5626            default: false
  5627        tags: ["Container"]
  5628    /containers/{id}/attach/ws:
  5629      get:
  5630        summary: "Attach to a container via a websocket"
  5631        operationId: "ContainerAttachWebsocket"
  5632        responses:
  5633          101:
  5634            description: "no error, hints proxy about hijacking"
  5635          200:
  5636            description: "no error, no upgrade header found"
  5637          400:
  5638            description: "bad parameter"
  5639            schema:
  5640              $ref: "#/definitions/ErrorResponse"
  5641          404:
  5642            description: "no such container"
  5643            schema:
  5644              $ref: "#/definitions/ErrorResponse"
  5645            examples:
  5646              application/json:
  5647                message: "No such container: c2ada9df5af8"
  5648          500:
  5649            description: "server error"
  5650            schema:
  5651              $ref: "#/definitions/ErrorResponse"
  5652        parameters:
  5653          - name: "id"
  5654            in: "path"
  5655            required: true
  5656            description: "ID or name of the container"
  5657            type: "string"
  5658          - name: "detachKeys"
  5659            in: "query"
  5660            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 `_`."
  5661            type: "string"
  5662          - name: "logs"
  5663            in: "query"
  5664            description: "Return logs"
  5665            type: "boolean"
  5666            default: false
  5667          - name: "stream"
  5668            in: "query"
  5669            description: "Return stream"
  5670            type: "boolean"
  5671            default: false
  5672          - name: "stdin"
  5673            in: "query"
  5674            description: "Attach to `stdin`"
  5675            type: "boolean"
  5676            default: false
  5677          - name: "stdout"
  5678            in: "query"
  5679            description: "Attach to `stdout`"
  5680            type: "boolean"
  5681            default: false
  5682          - name: "stderr"
  5683            in: "query"
  5684            description: "Attach to `stderr`"
  5685            type: "boolean"
  5686            default: false
  5687        tags: ["Container"]
  5688    /containers/{id}/wait:
  5689      post:
  5690        summary: "Wait for a container"
  5691        description: "Block until a container stops, then returns the exit code."
  5692        operationId: "ContainerWait"
  5693        produces: ["application/json"]
  5694        responses:
  5695          200:
  5696            description: "The container has exit."
  5697            schema:
  5698              type: "object"
  5699              required: [StatusCode]
  5700              properties:
  5701                StatusCode:
  5702                  description: "Exit code of the container"
  5703                  type: "integer"
  5704                  x-nullable: false
  5705          404:
  5706            description: "no such container"
  5707            schema:
  5708              $ref: "#/definitions/ErrorResponse"
  5709            examples:
  5710              application/json:
  5711                message: "No such container: c2ada9df5af8"
  5712          500:
  5713            description: "server error"
  5714            schema:
  5715              $ref: "#/definitions/ErrorResponse"
  5716        parameters:
  5717          - name: "id"
  5718            in: "path"
  5719            required: true
  5720            description: "ID or name of the container"
  5721            type: "string"
  5722          - name: "condition"
  5723            in: "query"
  5724            description: "Wait until a container state reaches the given condition, either 'not-running' (default), 'next-exit', or 'removed'."
  5725            type: "string"
  5726            default: "not-running"
  5727        tags: ["Container"]
  5728    /containers/{id}:
  5729      delete:
  5730        summary: "Remove a container"
  5731        operationId: "ContainerDelete"
  5732        responses:
  5733          204:
  5734            description: "no error"
  5735          400:
  5736            description: "bad parameter"
  5737            schema:
  5738              $ref: "#/definitions/ErrorResponse"
  5739          404:
  5740            description: "no such container"
  5741            schema:
  5742              $ref: "#/definitions/ErrorResponse"
  5743            examples:
  5744              application/json:
  5745                message: "No such container: c2ada9df5af8"
  5746          409:
  5747            description: "conflict"
  5748            schema:
  5749              $ref: "#/definitions/ErrorResponse"
  5750            examples:
  5751              application/json:
  5752                message: "You cannot remove a running container: c2ada9df5af8. Stop the container before attempting removal or force remove"
  5753          500:
  5754            description: "server error"
  5755            schema:
  5756              $ref: "#/definitions/ErrorResponse"
  5757        parameters:
  5758          - name: "id"
  5759            in: "path"
  5760            required: true
  5761            description: "ID or name of the container"
  5762            type: "string"
  5763          - name: "v"
  5764            in: "query"
  5765            description: "Remove the volumes associated with the container."
  5766            type: "boolean"
  5767            default: false
  5768          - name: "force"
  5769            in: "query"
  5770            description: "If the container is running, kill it before removing it."
  5771            type: "boolean"
  5772            default: false
  5773          - name: "link"
  5774            in: "query"
  5775            description: "Remove the specified link associated with the container."
  5776            type: "boolean"
  5777            default: false
  5778        tags: ["Container"]
  5779    /containers/{id}/archive:
  5780      head:
  5781        summary: "Get information about files in a container"
  5782        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."
  5783        operationId: "ContainerArchiveInfo"
  5784        responses:
  5785          200:
  5786            description: "no error"
  5787            headers:
  5788              X-Docker-Container-Path-Stat:
  5789                type: "string"
  5790                description: "TODO"
  5791          400:
  5792            description: "Bad parameter"
  5793            schema:
  5794              allOf:
  5795                - $ref: "#/definitions/ErrorResponse"
  5796                - type: "object"
  5797                  properties:
  5798                    message:
  5799                      description: "The error message. Either \"must specify path parameter\" (path cannot be empty) or \"not a directory\" (path was asserted to be a directory but exists as a file)."
  5800                      type: "string"
  5801                      x-nullable: false
  5802          404:
  5803            description: "Container or path does not exist"
  5804            schema:
  5805              $ref: "#/definitions/ErrorResponse"
  5806            examples:
  5807              application/json:
  5808                message: "No such container: c2ada9df5af8"
  5809          500:
  5810            description: "Server error"
  5811            schema:
  5812              $ref: "#/definitions/ErrorResponse"
  5813        parameters:
  5814          - name: "id"
  5815            in: "path"
  5816            required: true
  5817            description: "ID or name of the container"
  5818            type: "string"
  5819          - name: "path"
  5820            in: "query"
  5821            required: true
  5822            description: "Resource in the container’s filesystem to archive."
  5823            type: "string"
  5824        tags: ["Container"]
  5825      get:
  5826        summary: "Get an archive of a filesystem resource in a container"
  5827        description: "Get a tar archive of a resource in the filesystem of container id."
  5828        operationId: "ContainerArchive"
  5829        produces: ["application/x-tar"]
  5830        responses:
  5831          200:
  5832            description: "no error"
  5833          400:
  5834            description: "Bad parameter"
  5835            schema:
  5836              allOf:
  5837                - $ref: "#/definitions/ErrorResponse"
  5838                - type: "object"
  5839                  properties:
  5840                    message:
  5841                      description: "The error message. Either \"must specify path parameter\" (path cannot be empty) or \"not a directory\" (path was asserted to be a directory but exists as a file)."
  5842                      type: "string"
  5843                      x-nullable: false
  5844          404:
  5845            description: "Container or path does not exist"
  5846            schema:
  5847              $ref: "#/definitions/ErrorResponse"
  5848            examples:
  5849              application/json:
  5850                message: "No such container: c2ada9df5af8"
  5851          500:
  5852            description: "server error"
  5853            schema:
  5854              $ref: "#/definitions/ErrorResponse"
  5855        parameters:
  5856          - name: "id"
  5857            in: "path"
  5858            required: true
  5859            description: "ID or name of the container"
  5860            type: "string"
  5861          - name: "path"
  5862            in: "query"
  5863            required: true
  5864            description: "Resource in the container’s filesystem to archive."
  5865            type: "string"
  5866        tags: ["Container"]
  5867      put:
  5868        summary: "Extract an archive of files or folders to a directory in a container"
  5869        description: "Upload a tar archive to be extracted to a path in the filesystem of container id."
  5870        operationId: "PutContainerArchive"
  5871        consumes: ["application/x-tar", "application/octet-stream"]
  5872        responses:
  5873          200:
  5874            description: "The content was extracted successfully"
  5875          400:
  5876            description: "Bad parameter"
  5877            schema:
  5878              $ref: "#/definitions/ErrorResponse"
  5879          403:
  5880            description: "Permission denied, the volume or container rootfs is marked as read-only."
  5881            schema:
  5882              $ref: "#/definitions/ErrorResponse"
  5883          404:
  5884            description: "No such container or path does not exist inside the container"
  5885            schema:
  5886              $ref: "#/definitions/ErrorResponse"
  5887            examples:
  5888              application/json:
  5889                message: "No such container: c2ada9df5af8"
  5890          500:
  5891            description: "Server error"
  5892            schema:
  5893              $ref: "#/definitions/ErrorResponse"
  5894        parameters:
  5895          - name: "id"
  5896            in: "path"
  5897            required: true
  5898            description: "ID or name of the container"
  5899            type: "string"
  5900          - name: "path"
  5901            in: "query"
  5902            required: true
  5903            description: "Path to a directory in the container to extract the archive’s contents into. "
  5904            type: "string"
  5905          - name: "noOverwriteDirNonDir"
  5906            in: "query"
  5907            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."
  5908            type: "string"
  5909          - name: "inputStream"
  5910            in: "body"
  5911            required: true
  5912            description: "The input stream must be a tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz."
  5913            schema:
  5914              type: "string"
  5915        tags: ["Container"]
  5916    /containers/prune:
  5917      post:
  5918        summary: "Delete stopped containers"
  5919        produces:
  5920          - "application/json"
  5921        operationId: "ContainerPrune"
  5922        parameters:
  5923          - name: "filters"
  5924            in: "query"
  5925            description: |
  5926              Filters to process on the prune list, encoded as JSON (a `map[string][]string`).
  5927  
  5928              Available filters:
  5929              - `until=<timestamp>` Prune containers created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.
  5930              - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune containers with (or without, in case `label!=...` is used) the specified labels.
  5931            type: "string"
  5932        responses:
  5933          200:
  5934            description: "No error"
  5935            schema:
  5936              type: "object"
  5937              properties:
  5938                ContainersDeleted:
  5939                  description: "Container IDs that were deleted"
  5940                  type: "array"
  5941                  items:
  5942                    type: "string"
  5943                SpaceReclaimed:
  5944                  description: "Disk space reclaimed in bytes"
  5945                  type: "integer"
  5946                  format: "int64"
  5947          500:
  5948            description: "Server error"
  5949            schema:
  5950              $ref: "#/definitions/ErrorResponse"
  5951        tags: ["Container"]
  5952    /images/json:
  5953      get:
  5954        summary: "List Images"
  5955        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."
  5956        operationId: "ImageList"
  5957        produces:
  5958          - "application/json"
  5959        responses:
  5960          200:
  5961            description: "Summary image data for the images matching the query"
  5962            schema:
  5963              type: "array"
  5964              items:
  5965                $ref: "#/definitions/ImageSummary"
  5966            examples:
  5967              application/json:
  5968                - Id: "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8"
  5969                  ParentId: ""
  5970                  RepoTags:
  5971                    - "ubuntu:12.04"
  5972                    - "ubuntu:precise"
  5973                  RepoDigests:
  5974                    - "ubuntu@sha256:992069aee4016783df6345315302fa59681aae51a8eeb2f889dea59290f21787"
  5975                  Created: 1474925151
  5976                  Size: 103579269
  5977                  VirtualSize: 103579269
  5978                  SharedSize: 0
  5979                  Labels: {}
  5980                  Containers: 2
  5981                - Id: "sha256:3e314f95dcace0f5e4fd37b10862fe8398e3c60ed36600bc0ca5fda78b087175"
  5982                  ParentId: ""
  5983                  RepoTags:
  5984                    - "ubuntu:12.10"
  5985                    - "ubuntu:quantal"
  5986                  RepoDigests:
  5987                    - "ubuntu@sha256:002fba3e3255af10be97ea26e476692a7ebed0bb074a9ab960b2e7a1526b15d7"
  5988                    - "ubuntu@sha256:68ea0200f0b90df725d99d823905b04cf844f6039ef60c60bf3e019915017bd3"
  5989                  Created: 1403128455
  5990                  Size: 172064416
  5991                  VirtualSize: 172064416
  5992                  SharedSize: 0
  5993                  Labels: {}
  5994                  Containers: 5
  5995          500:
  5996            description: "server error"
  5997            schema:
  5998              $ref: "#/definitions/ErrorResponse"
  5999        parameters:
  6000          - name: "all"
  6001            in: "query"
  6002            description: "Show all images. Only images from a final layer (no children) are shown by default."
  6003            type: "boolean"
  6004            default: false
  6005          - name: "filters"
  6006            in: "query"
  6007            description: |
  6008              A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:
  6009  
  6010              - `before`=(`<image-name>[:<tag>]`,  `<image id>` or `<image@digest>`)
  6011              - `dangling=true`
  6012              - `label=key` or `label="key=value"` of an image label
  6013              - `reference`=(`<image-name>[:<tag>]`)
  6014              - `since`=(`<image-name>[:<tag>]`,  `<image id>` or `<image@digest>`)
  6015            type: "string"
  6016          - name: "digests"
  6017            in: "query"
  6018            description: "Show digest information as a `RepoDigests` field on each image."
  6019            type: "boolean"
  6020            default: false
  6021        tags: ["Image"]
  6022    /build:
  6023      post:
  6024        summary: "Build an image"
  6025        description: |
  6026          Build an image from a tar archive with a `Dockerfile` in it.
  6027  
  6028          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/).
  6029  
  6030          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.
  6031  
  6032          The build is canceled if the client drops the connection by quitting or being killed.
  6033        operationId: "ImageBuild"
  6034        consumes:
  6035          - "application/octet-stream"
  6036        produces:
  6037          - "application/json"
  6038        parameters:
  6039          - name: "inputStream"
  6040            in: "body"
  6041            description: "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz."
  6042            schema:
  6043              type: "string"
  6044              format: "binary"
  6045          - name: "dockerfile"
  6046            in: "query"
  6047            description: "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`."
  6048            type: "string"
  6049            default: "Dockerfile"
  6050          - name: "t"
  6051            in: "query"
  6052            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."
  6053            type: "string"
  6054          - name: "extrahosts"
  6055            in: "query"
  6056            description: "Extra hosts to add to /etc/hosts"
  6057            type: "string"
  6058          - name: "remote"
  6059            in: "query"
  6060            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."
  6061            type: "string"
  6062          - name: "q"
  6063            in: "query"
  6064            description: "Suppress verbose build output."
  6065            type: "boolean"
  6066            default: false
  6067          - name: "nocache"
  6068            in: "query"
  6069            description: "Do not use the cache when building the image."
  6070            type: "boolean"
  6071            default: false
  6072          - name: "cachefrom"
  6073            in: "query"
  6074            description: "JSON array of images used for build cache resolution."
  6075            type: "string"
  6076          - name: "pull"
  6077            in: "query"
  6078            description: "Attempt to pull the image even if an older image exists locally."
  6079            type: "string"
  6080          - name: "rm"
  6081            in: "query"
  6082            description: "Remove intermediate containers after a successful build."
  6083            type: "boolean"
  6084            default: true
  6085          - name: "forcerm"
  6086            in: "query"
  6087            description: "Always remove intermediate containers, even upon failure."
  6088            type: "boolean"
  6089            default: false
  6090          - name: "memory"
  6091            in: "query"
  6092            description: "Set memory limit for build."
  6093            type: "integer"
  6094          - name: "memswap"
  6095            in: "query"
  6096            description: "Total memory (memory + swap). Set as `-1` to disable swap."
  6097            type: "integer"
  6098          - name: "cpushares"
  6099            in: "query"
  6100            description: "CPU shares (relative weight)."
  6101            type: "integer"
  6102          - name: "cpusetcpus"
  6103            in: "query"
  6104            description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)."
  6105            type: "string"
  6106          - name: "cpuperiod"
  6107            in: "query"
  6108            description: "The length of a CPU period in microseconds."
  6109            type: "integer"
  6110          - name: "cpuquota"
  6111            in: "query"
  6112            description: "Microseconds of CPU time that the container can get in a CPU period."
  6113            type: "integer"
  6114          - name: "buildargs"
  6115            in: "query"
  6116            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)"
  6117            type: "integer"
  6118          - name: "shmsize"
  6119            in: "query"
  6120            description: "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB."
  6121            type: "integer"
  6122          - name: "squash"
  6123            in: "query"
  6124            description: "Squash the resulting images layers into a single layer. *(Experimental release only.)*"
  6125            type: "boolean"
  6126          - name: "labels"
  6127            in: "query"
  6128            description: "Arbitrary key/value labels to set on the image, as a JSON map of string pairs."
  6129            type: "string"
  6130          - name: "networkmode"
  6131            in: "query"
  6132            description: "Sets the networking mode for the run commands during
  6133          build. Supported standard values are: `bridge`, `host`, `none`, and
  6134          `container:<name|id>`. Any other value is taken as a custom network's
  6135          name to which this container should connect to."
  6136            type: "string"
  6137          - name: "Content-type"
  6138            in: "header"
  6139            type: "string"
  6140            enum:
  6141              - "application/x-tar"
  6142            default: "application/x-tar"
  6143          - name: "X-Registry-Config"
  6144            in: "header"
  6145            description: |
  6146              This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to.
  6147  
  6148              The key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example:
  6149  
  6150              ```
  6151              {
  6152                "docker.example.com": {
  6153                  "username": "janedoe",
  6154                  "password": "hunter2"
  6155                },
  6156                "https://index.docker.io/v1/": {
  6157                  "username": "mobydock",
  6158                  "password": "conta1n3rize14"
  6159                }
  6160              }
  6161              ```
  6162  
  6163              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.
  6164            type: "string"
  6165        responses:
  6166          200:
  6167            description: "no error"
  6168          400:
  6169            description: "Bad parameter"
  6170            schema:
  6171              $ref: "#/definitions/ErrorResponse"
  6172          500:
  6173            description: "server error"
  6174            schema:
  6175              $ref: "#/definitions/ErrorResponse"
  6176        tags: ["Image"]
  6177    /build/prune:
  6178      post:
  6179        summary: "Delete builder cache"
  6180        produces:
  6181          - "application/json"
  6182        operationId: "BuildPrune"
  6183        responses:
  6184          200:
  6185            description: "No error"
  6186            schema:
  6187              type: "object"
  6188              properties:
  6189                SpaceReclaimed:
  6190                  description: "Disk space reclaimed in bytes"
  6191                  type: "integer"
  6192                  format: "int64"
  6193          500:
  6194            description: "Server error"
  6195            schema:
  6196              $ref: "#/definitions/ErrorResponse"
  6197        tags: ["Image"]
  6198    /images/create:
  6199      post:
  6200        summary: "Create an image"
  6201        description: "Create an image by either pulling it from a registry or importing it."
  6202        operationId: "ImageCreate"
  6203        consumes:
  6204          - "text/plain"
  6205          - "application/octet-stream"
  6206        produces:
  6207          - "application/json"
  6208        responses:
  6209          200:
  6210            description: "no error"
  6211          404:
  6212            description: "repository does not exist or no read access"
  6213            schema:
  6214              $ref: "#/definitions/ErrorResponse"
  6215          500:
  6216            description: "server error"
  6217            schema:
  6218              $ref: "#/definitions/ErrorResponse"
  6219        parameters:
  6220          - name: "fromImage"
  6221            in: "query"
  6222            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."
  6223            type: "string"
  6224          - name: "fromSrc"
  6225            in: "query"
  6226            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."
  6227            type: "string"
  6228          - name: "repo"
  6229            in: "query"
  6230            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."
  6231            type: "string"
  6232          - name: "tag"
  6233            in: "query"
  6234            description: "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled."
  6235            type: "string"
  6236          - name: "inputImage"
  6237            in: "body"
  6238            description: "Image content if the value `-` has been specified in fromSrc query parameter"
  6239            schema:
  6240              type: "string"
  6241            required: false
  6242          - name: "X-Registry-Auth"
  6243            in: "header"
  6244            description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
  6245            type: "string"
  6246        tags: ["Image"]
  6247    /images/{name}/json:
  6248      get:
  6249        summary: "Inspect an image"
  6250        description: "Return low-level information about an image."
  6251        operationId: "ImageInspect"
  6252        produces:
  6253          - "application/json"
  6254        responses:
  6255          200:
  6256            description: "No error"
  6257            schema:
  6258              $ref: "#/definitions/Image"
  6259            examples:
  6260              application/json:
  6261                Id: "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c"
  6262                Container: "cb91e48a60d01f1e27028b4fc6819f4f290b3cf12496c8176ec714d0d390984a"
  6263                Comment: ""
  6264                Os: "linux"
  6265                Architecture: "amd64"
  6266                Parent: "sha256:91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c"
  6267                ContainerConfig:
  6268                  Tty: false
  6269                  Hostname: "e611e15f9c9d"
  6270                  Domainname: ""
  6271                  AttachStdout: false
  6272                  PublishService: ""
  6273                  AttachStdin: false
  6274                  OpenStdin: false
  6275                  StdinOnce: false
  6276                  NetworkDisabled: false
  6277                  OnBuild: []
  6278                  Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c"
  6279                  User: ""
  6280                  WorkingDir: ""
  6281                  MacAddress: ""
  6282                  AttachStderr: false
  6283                  Labels:
  6284                    com.example.license: "GPL"
  6285                    com.example.version: "1.0"
  6286                    com.example.vendor: "Acme"
  6287                  Env:
  6288                    - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  6289                  Cmd:
  6290                    - "/bin/sh"
  6291                    - "-c"
  6292                    - "#(nop) LABEL com.example.vendor=Acme com.example.license=GPL com.example.version=1.0"
  6293                DockerVersion: "1.9.0-dev"
  6294                VirtualSize: 188359297
  6295                Size: 0
  6296                Author: ""
  6297                Created: "2015-09-10T08:30:53.26995814Z"
  6298                GraphDriver:
  6299                  Name: "aufs"
  6300                  Data: {}
  6301                RepoDigests:
  6302                  - "localhost:5000/test/busybox/example@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf"
  6303                RepoTags:
  6304                  - "example:1.0"
  6305                  - "example:latest"
  6306                  - "example:stable"
  6307                Config:
  6308                  Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c"
  6309                  NetworkDisabled: false
  6310                  OnBuild: []
  6311                  StdinOnce: false
  6312                  PublishService: ""
  6313                  AttachStdin: false
  6314                  OpenStdin: false
  6315                  Domainname: ""
  6316                  AttachStdout: false
  6317                  Tty: false
  6318                  Hostname: "e611e15f9c9d"
  6319                  Cmd:
  6320                    - "/bin/bash"
  6321                  Env:
  6322                    - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  6323                  Labels:
  6324                    com.example.vendor: "Acme"
  6325                    com.example.version: "1.0"
  6326                    com.example.license: "GPL"
  6327                  MacAddress: ""
  6328                  AttachStderr: false
  6329                  WorkingDir: ""
  6330                  User: ""
  6331                RootFS:
  6332                  Type: "layers"
  6333                  Layers:
  6334                    - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6"
  6335                    - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
  6336          404:
  6337            description: "No such image"
  6338            schema:
  6339              $ref: "#/definitions/ErrorResponse"
  6340            examples:
  6341              application/json:
  6342                message: "No such image: someimage (tag: latest)"
  6343          500:
  6344            description: "Server error"
  6345            schema:
  6346              $ref: "#/definitions/ErrorResponse"
  6347        parameters:
  6348          - name: "name"
  6349            in: "path"
  6350            description: "Image name or id"
  6351            type: "string"
  6352            required: true
  6353        tags: ["Image"]
  6354    /images/{name}/history:
  6355      get:
  6356        summary: "Get the history of an image"
  6357        description: "Return parent layers of an image."
  6358        operationId: "ImageHistory"
  6359        produces: ["application/json"]
  6360        responses:
  6361          200:
  6362            description: "List of image layers"
  6363            schema:
  6364              type: "array"
  6365              items:
  6366                type: "object"
  6367                x-go-name: HistoryResponseItem
  6368                required: [Id, Created, CreatedBy, Tags, Size, Comment]
  6369                properties:
  6370                  Id:
  6371                    type: "string"
  6372                    x-nullable: false
  6373                  Created:
  6374                    type: "integer"
  6375                    format: "int64"
  6376                    x-nullable: false
  6377                  CreatedBy:
  6378                    type: "string"
  6379                    x-nullable: false
  6380                  Tags:
  6381                    type: "array"
  6382                    items:
  6383                      type: "string"
  6384                  Size:
  6385                    type: "integer"
  6386                    format: "int64"
  6387                    x-nullable: false
  6388                  Comment:
  6389                    type: "string"
  6390                    x-nullable: false
  6391            examples:
  6392              application/json:
  6393                - Id: "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710"
  6394                  Created: 1398108230
  6395                  CreatedBy: "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /"
  6396                  Tags:
  6397                    - "ubuntu:lucid"
  6398                    - "ubuntu:10.04"
  6399                  Size: 182964289
  6400                  Comment: ""
  6401                - Id: "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8"
  6402                  Created: 1398108222
  6403                  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/"
  6404                  Tags: []
  6405                  Size: 0
  6406                  Comment: ""
  6407                - Id: "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158"
  6408                  Created: 1371157430
  6409                  CreatedBy: ""
  6410                  Tags:
  6411                    - "scratch12:latest"
  6412                    - "scratch:latest"
  6413                  Size: 0
  6414                  Comment: "Imported from -"
  6415          404:
  6416            description: "No such image"
  6417            schema:
  6418              $ref: "#/definitions/ErrorResponse"
  6419          500:
  6420            description: "Server error"
  6421            schema:
  6422              $ref: "#/definitions/ErrorResponse"
  6423        parameters:
  6424          - name: "name"
  6425            in: "path"
  6426            description: "Image name or ID"
  6427            type: "string"
  6428            required: true
  6429        tags: ["Image"]
  6430    /images/{name}/push:
  6431      post:
  6432        summary: "Push an image"
  6433        description: |
  6434          Push an image to a registry.
  6435  
  6436          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`.
  6437  
  6438          The push is cancelled if the HTTP connection is closed.
  6439        operationId: "ImagePush"
  6440        consumes:
  6441          - "application/octet-stream"
  6442        responses:
  6443          200:
  6444            description: "No error"
  6445          404:
  6446            description: "No such image"
  6447            schema:
  6448              $ref: "#/definitions/ErrorResponse"
  6449          500:
  6450            description: "Server error"
  6451            schema:
  6452              $ref: "#/definitions/ErrorResponse"
  6453        parameters:
  6454          - name: "name"
  6455            in: "path"
  6456            description: "Image name or ID."
  6457            type: "string"
  6458            required: true
  6459          - name: "tag"
  6460            in: "query"
  6461            description: "The tag to associate with the image on the registry."
  6462            type: "string"
  6463          - name: "X-Registry-Auth"
  6464            in: "header"
  6465            description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
  6466            type: "string"
  6467            required: true
  6468        tags: ["Image"]
  6469    /images/{name}/tag:
  6470      post:
  6471        summary: "Tag an image"
  6472        description: "Tag an image so that it becomes part of a repository."
  6473        operationId: "ImageTag"
  6474        responses:
  6475          201:
  6476            description: "No error"
  6477          400:
  6478            description: "Bad parameter"
  6479            schema:
  6480              $ref: "#/definitions/ErrorResponse"
  6481          404:
  6482            description: "No such image"
  6483            schema:
  6484              $ref: "#/definitions/ErrorResponse"
  6485          409:
  6486            description: "Conflict"
  6487            schema:
  6488              $ref: "#/definitions/ErrorResponse"
  6489          500:
  6490            description: "Server error"
  6491            schema:
  6492              $ref: "#/definitions/ErrorResponse"
  6493        parameters:
  6494          - name: "name"
  6495            in: "path"
  6496            description: "Image name or ID to tag."
  6497            type: "string"
  6498            required: true
  6499          - name: "repo"
  6500            in: "query"
  6501            description: "The repository to tag in. For example, `someuser/someimage`."
  6502            type: "string"
  6503          - name: "tag"
  6504            in: "query"
  6505            description: "The name of the new tag."
  6506            type: "string"
  6507        tags: ["Image"]
  6508    /images/{name}:
  6509      delete:
  6510        summary: "Remove an image"
  6511        description: |
  6512          Remove an image, along with any untagged parent images that were
  6513          referenced by that image.
  6514  
  6515          Images can't be removed if they have descendant images, are being
  6516          used by a running container or are being used by a build.
  6517        operationId: "ImageDelete"
  6518        produces: ["application/json"]
  6519        responses:
  6520          200:
  6521            description: "The image was deleted successfully"
  6522            schema:
  6523              type: "array"
  6524              items:
  6525                $ref: "#/definitions/ImageDeleteResponseItem"
  6526            examples:
  6527              application/json:
  6528                - Untagged: "3e2f21a89f"
  6529                - Deleted: "3e2f21a89f"
  6530                - Deleted: "53b4f83ac9"
  6531          404:
  6532            description: "No such image"
  6533            schema:
  6534              $ref: "#/definitions/ErrorResponse"
  6535          409:
  6536            description: "Conflict"
  6537            schema:
  6538              $ref: "#/definitions/ErrorResponse"
  6539          500:
  6540            description: "Server error"
  6541            schema:
  6542              $ref: "#/definitions/ErrorResponse"
  6543        parameters:
  6544          - name: "name"
  6545            in: "path"
  6546            description: "Image name or ID"
  6547            type: "string"
  6548            required: true
  6549          - name: "force"
  6550            in: "query"
  6551            description: "Remove the image even if it is being used by stopped containers or has other tags"
  6552            type: "boolean"
  6553            default: false
  6554          - name: "noprune"
  6555            in: "query"
  6556            description: "Do not delete untagged parent images"
  6557            type: "boolean"
  6558            default: false
  6559        tags: ["Image"]
  6560    /images/search:
  6561      get:
  6562        summary: "Search images"
  6563        description: "Search for an image on Docker Hub."
  6564        operationId: "ImageSearch"
  6565        produces:
  6566          - "application/json"
  6567        responses:
  6568          200:
  6569            description: "No error"
  6570            schema:
  6571              type: "array"
  6572              items:
  6573                type: "object"
  6574                properties:
  6575                  description:
  6576                    type: "string"
  6577                  is_official:
  6578                    type: "boolean"
  6579                  is_automated:
  6580                    type: "boolean"
  6581                  name:
  6582                    type: "string"
  6583                  star_count:
  6584                    type: "integer"
  6585            examples:
  6586              application/json:
  6587                - description: ""
  6588                  is_official: false
  6589                  is_automated: false
  6590                  name: "wma55/u1210sshd"
  6591                  star_count: 0
  6592                - description: ""
  6593                  is_official: false
  6594                  is_automated: false
  6595                  name: "jdswinbank/sshd"
  6596                  star_count: 0
  6597                - description: ""
  6598                  is_official: false
  6599                  is_automated: false
  6600                  name: "vgauthier/sshd"
  6601                  star_count: 0
  6602          500:
  6603            description: "Server error"
  6604            schema:
  6605              $ref: "#/definitions/ErrorResponse"
  6606        parameters:
  6607          - name: "term"
  6608            in: "query"
  6609            description: "Term to search"
  6610            type: "string"
  6611            required: true
  6612          - name: "limit"
  6613            in: "query"
  6614            description: "Maximum number of results to return"
  6615            type: "integer"
  6616          - name: "filters"
  6617            in: "query"
  6618            description: |
  6619              A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:
  6620  
  6621              - `is-automated=(true|false)`
  6622              - `is-official=(true|false)`
  6623              - `stars=<number>` Matches images that has at least 'number' stars.
  6624            type: "string"
  6625        tags: ["Image"]
  6626    /images/prune:
  6627      post:
  6628        summary: "Delete unused images"
  6629        produces:
  6630          - "application/json"
  6631        operationId: "ImagePrune"
  6632        parameters:
  6633          - name: "filters"
  6634            in: "query"
  6635            description: |
  6636              Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:
  6637  
  6638              - `dangling=<boolean>` When set to `true` (or `1`), prune only
  6639                 unused *and* untagged images. When set to `false`
  6640                 (or `0`), all unused images are pruned.
  6641              - `until=<string>` Prune images created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.
  6642              - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune images with (or without, in case `label!=...` is used) the specified labels.
  6643            type: "string"
  6644        responses:
  6645          200:
  6646            description: "No error"
  6647            schema:
  6648              type: "object"
  6649              properties:
  6650                ImagesDeleted:
  6651                  description: "Images that were deleted"
  6652                  type: "array"
  6653                  items:
  6654                    $ref: "#/definitions/ImageDeleteResponseItem"
  6655                SpaceReclaimed:
  6656                  description: "Disk space reclaimed in bytes"
  6657                  type: "integer"
  6658                  format: "int64"
  6659          500:
  6660            description: "Server error"
  6661            schema:
  6662              $ref: "#/definitions/ErrorResponse"
  6663        tags: ["Image"]
  6664    /auth:
  6665      post:
  6666        summary: "Check auth configuration"
  6667        description: "Validate credentials for a registry and, if available, get an identity token for accessing the registry without password."
  6668        operationId: "SystemAuth"
  6669        consumes: ["application/json"]
  6670        produces: ["application/json"]
  6671        responses:
  6672          200:
  6673            description: "An identity token was generated successfully."
  6674            schema:
  6675              type: "object"
  6676              required: [Status]
  6677              properties:
  6678                Status:
  6679                  description: "The status of the authentication"
  6680                  type: "string"
  6681                  x-nullable: false
  6682                IdentityToken:
  6683                  description: "An opaque token used to authenticate a user after a successful login"
  6684                  type: "string"
  6685                  x-nullable: false
  6686            examples:
  6687              application/json:
  6688                Status: "Login Succeeded"
  6689                IdentityToken: "9cbaf023786cd7..."
  6690          204:
  6691            description: "No error"
  6692          500:
  6693            description: "Server error"
  6694            schema:
  6695              $ref: "#/definitions/ErrorResponse"
  6696        parameters:
  6697          - name: "authConfig"
  6698            in: "body"
  6699            description: "Authentication to check"
  6700            schema:
  6701              $ref: "#/definitions/AuthConfig"
  6702        tags: ["System"]
  6703    /info:
  6704      get:
  6705        summary: "Get system information"
  6706        operationId: "SystemInfo"
  6707        produces:
  6708          - "application/json"
  6709        responses:
  6710          200:
  6711            description: "No error"
  6712            schema:
  6713              $ref: "#/definitions/SystemInfo"
  6714          500:
  6715            description: "Server error"
  6716            schema:
  6717              $ref: "#/definitions/ErrorResponse"
  6718        tags: ["System"]
  6719    /version:
  6720      get:
  6721        summary: "Get version"
  6722        description: "Returns the version of Docker that is running and various information about the system that Docker is running on."
  6723        operationId: "SystemVersion"
  6724        produces: ["application/json"]
  6725        responses:
  6726          200:
  6727            description: "no error"
  6728            schema:
  6729              type: "object"
  6730              properties:
  6731                Version:
  6732                  type: "string"
  6733                ApiVersion:
  6734                  type: "string"
  6735                MinAPIVersion:
  6736                  type: "string"
  6737                GitCommit:
  6738                  type: "string"
  6739                GoVersion:
  6740                  type: "string"
  6741                Os:
  6742                  type: "string"
  6743                Arch:
  6744                  type: "string"
  6745                KernelVersion:
  6746                  type: "string"
  6747                Experimental:
  6748                  type: "boolean"
  6749                BuildTime:
  6750                  type: "string"
  6751            examples:
  6752              application/json:
  6753                Version: "17.04.0"
  6754                Os: "linux"
  6755                KernelVersion: "3.19.0-23-generic"
  6756                GoVersion: "go1.7.5"
  6757                GitCommit: "deadbee"
  6758                Arch: "amd64"
  6759                ApiVersion: "1.27"
  6760                MinAPIVersion: "1.12"
  6761                BuildTime: "2016-06-14T07:09:13.444803460+00:00"
  6762                Experimental: true
  6763          500:
  6764            description: "server error"
  6765            schema:
  6766              $ref: "#/definitions/ErrorResponse"
  6767        tags: ["System"]
  6768    /_ping:
  6769      get:
  6770        summary: "Ping"
  6771        description: "This is a dummy endpoint you can use to test if the server is accessible."
  6772        operationId: "SystemPing"
  6773        produces: ["text/plain"]
  6774        responses:
  6775          200:
  6776            description: "no error"
  6777            schema:
  6778              type: "string"
  6779              example: "OK"
  6780            headers:
  6781              API-Version:
  6782                type: "string"
  6783                description: "Max API Version the server supports"
  6784              Docker-Experimental:
  6785                type: "boolean"
  6786                description: "If the server is running with experimental mode enabled"
  6787          500:
  6788            description: "server error"
  6789            schema:
  6790              $ref: "#/definitions/ErrorResponse"
  6791        tags: ["System"]
  6792    /commit:
  6793      post:
  6794        summary: "Create a new image from a container"
  6795        operationId: "ImageCommit"
  6796        consumes:
  6797          - "application/json"
  6798        produces:
  6799          - "application/json"
  6800        responses:
  6801          201:
  6802            description: "no error"
  6803            schema:
  6804              $ref: "#/definitions/IdResponse"
  6805          404:
  6806            description: "no such container"
  6807            schema:
  6808              $ref: "#/definitions/ErrorResponse"
  6809            examples:
  6810              application/json:
  6811                message: "No such container: c2ada9df5af8"
  6812          500:
  6813            description: "server error"
  6814            schema:
  6815              $ref: "#/definitions/ErrorResponse"
  6816        parameters:
  6817          - name: "containerConfig"
  6818            in: "body"
  6819            description: "The container configuration"
  6820            schema:
  6821              $ref: "#/definitions/ContainerConfig"
  6822          - name: "container"
  6823            in: "query"
  6824            description: "The ID or name of the container to commit"
  6825            type: "string"
  6826          - name: "repo"
  6827            in: "query"
  6828            description: "Repository name for the created image"
  6829            type: "string"
  6830          - name: "tag"
  6831            in: "query"
  6832            description: "Tag name for the create image"
  6833            type: "string"
  6834          - name: "comment"
  6835            in: "query"
  6836            description: "Commit message"
  6837            type: "string"
  6838          - name: "author"
  6839            in: "query"
  6840            description: "Author of the image (e.g., `John Hannibal Smith <hannibal@a-team.com>`)"
  6841            type: "string"
  6842          - name: "pause"
  6843            in: "query"
  6844            description: "Whether to pause the container before committing"
  6845            type: "boolean"
  6846            default: true
  6847          - name: "changes"
  6848            in: "query"
  6849            description: "`Dockerfile` instructions to apply while committing"
  6850            type: "string"
  6851        tags: ["Image"]
  6852    /events:
  6853      get:
  6854        summary: "Monitor events"
  6855        description: |
  6856          Stream real-time events from the server.
  6857  
  6858          Various objects within Docker report events when something happens to them.
  6859  
  6860          Containers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, and `update`
  6861  
  6862          Images report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, and `untag`
  6863  
  6864          Volumes report these events: `create`, `mount`, `unmount`, and `destroy`
  6865  
  6866          Networks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, and `remove`
  6867  
  6868          The Docker daemon reports these events: `reload`
  6869  
  6870          Services report these events: `create`, `update`, and `remove`
  6871  
  6872          Nodes report these events: `create`, `update`, and `remove`
  6873  
  6874          Secrets report these events: `create`, `update`, and `remove`
  6875  
  6876          Configs report these events: `create`, `update`, and `remove`
  6877  
  6878        operationId: "SystemEvents"
  6879        produces:
  6880          - "application/json"
  6881        responses:
  6882          200:
  6883            description: "no error"
  6884            schema:
  6885              type: "object"
  6886              properties:
  6887                Type:
  6888                  description: "The type of object emitting the event"
  6889                  type: "string"
  6890                Action:
  6891                  description: "The type of event"
  6892                  type: "string"
  6893                Actor:
  6894                  type: "object"
  6895                  properties:
  6896                    ID:
  6897                      description: "The ID of the object emitting the event"
  6898                      type: "string"
  6899                    Attributes:
  6900                      description: "Various key/value attributes of the object, depending on its type"
  6901                      type: "object"
  6902                      additionalProperties:
  6903                        type: "string"
  6904                time:
  6905                  description: "Timestamp of event"
  6906                  type: "integer"
  6907                timeNano:
  6908                  description: "Timestamp of event, with nanosecond accuracy"
  6909                  type: "integer"
  6910                  format: "int64"
  6911            examples:
  6912              application/json:
  6913                Type: "container"
  6914                Action: "create"
  6915                Actor:
  6916                  ID: "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743"
  6917                  Attributes:
  6918                    com.example.some-label: "some-label-value"
  6919                    image: "alpine"
  6920                    name: "my-container"
  6921                time: 1461943101
  6922          400:
  6923            description: "bad parameter"
  6924            schema:
  6925              $ref: "#/definitions/ErrorResponse"
  6926          500:
  6927            description: "server error"
  6928            schema:
  6929              $ref: "#/definitions/ErrorResponse"
  6930        parameters:
  6931          - name: "since"
  6932            in: "query"
  6933            description: "Show events created since this timestamp then stream new events."
  6934            type: "string"
  6935          - name: "until"
  6936            in: "query"
  6937            description: "Show events created until this timestamp then stop streaming."
  6938            type: "string"
  6939          - name: "filters"
  6940            in: "query"
  6941            description: |
  6942              A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters:
  6943  
  6944              - `config=<string>` config name or ID
  6945              - `container=<string>` container name or ID
  6946              - `daemon=<string>` daemon name or ID
  6947              - `event=<string>` event type
  6948              - `image=<string>` image name or ID
  6949              - `label=<string>` image or container label
  6950              - `network=<string>` network name or ID
  6951              - `node=<string>` node ID
  6952              - `plugin`=<string> plugin name or ID
  6953              - `scope`=<string> local or swarm
  6954              - `secret=<string>` secret name or ID
  6955              - `service=<string>` service name or ID
  6956              - `type=<string>` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config`
  6957              - `volume=<string>` volume name
  6958            type: "string"
  6959        tags: ["System"]
  6960    /system/df:
  6961      get:
  6962        summary: "Get data usage information"
  6963        operationId: "SystemDataUsage"
  6964        responses:
  6965          200:
  6966            description: "no error"
  6967            schema:
  6968              type: "object"
  6969              properties:
  6970                LayersSize:
  6971                  type: "integer"
  6972                  format: "int64"
  6973                Images:
  6974                  type: "array"
  6975                  items:
  6976                    $ref: "#/definitions/ImageSummary"
  6977                Containers:
  6978                  type: "array"
  6979                  items:
  6980                    $ref: "#/definitions/ContainerSummary"
  6981                Volumes:
  6982                  type: "array"
  6983                  items:
  6984                    $ref: "#/definitions/Volume"
  6985              example:
  6986                LayersSize: 1092588
  6987                Images:
  6988                  -
  6989                    Id: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749"
  6990                    ParentId: ""
  6991                    RepoTags:
  6992                      - "busybox:latest"
  6993                    RepoDigests:
  6994                      - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6"
  6995                    Created: 1466724217
  6996                    Size: 1092588
  6997                    SharedSize: 0
  6998                    VirtualSize: 1092588
  6999                    Labels: {}
  7000                    Containers: 1
  7001                Containers:
  7002                  -
  7003                    Id: "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148"
  7004                    Names:
  7005                      - "/top"
  7006                    Image: "busybox"
  7007                    ImageID: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749"
  7008                    Command: "top"
  7009                    Created: 1472592424
  7010                    Ports: []
  7011                    SizeRootFs: 1092588
  7012                    Labels: {}
  7013                    State: "exited"
  7014                    Status: "Exited (0) 56 minutes ago"
  7015                    HostConfig:
  7016                      NetworkMode: "default"
  7017                    NetworkSettings:
  7018                      Networks:
  7019                        bridge:
  7020                          IPAMConfig: null
  7021                          Links: null
  7022                          Aliases: null
  7023                          NetworkID: "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92"
  7024                          EndpointID: "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a"
  7025                          Gateway: "172.18.0.1"
  7026                          IPAddress: "172.18.0.2"
  7027                          IPPrefixLen: 16
  7028                          IPv6Gateway: ""
  7029                          GlobalIPv6Address: ""
  7030                          GlobalIPv6PrefixLen: 0
  7031                          MacAddress: "02:42:ac:12:00:02"
  7032                    Mounts: []
  7033                Volumes:
  7034                  -
  7035                    Name: "my-volume"
  7036                    Driver: "local"
  7037                    Mountpoint: "/var/lib/docker/volumes/my-volume/_data"
  7038                    Labels: null
  7039                    Scope: "local"
  7040                    Options: null
  7041                    UsageData:
  7042                      Size: 10920104
  7043                      RefCount: 2
  7044          500:
  7045            description: "server error"
  7046            schema:
  7047              $ref: "#/definitions/ErrorResponse"
  7048        tags: ["System"]
  7049    /images/{name}/get:
  7050      get:
  7051        summary: "Export an image"
  7052        description: |
  7053          Get a tarball containing all images and metadata for a repository.
  7054  
  7055          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.
  7056  
  7057          ### Image tarball format
  7058  
  7059          An image tarball contains one directory per image layer (named using its long ID), each containing these files:
  7060  
  7061          - `VERSION`: currently `1.0` - the file format version
  7062          - `json`: detailed layer information, similar to `docker inspect layer_id`
  7063          - `layer.tar`: A tarfile containing the filesystem changes in this layer
  7064  
  7065          The `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions.
  7066  
  7067          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.
  7068  
  7069          ```json
  7070          {
  7071            "hello-world": {
  7072              "latest": "565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1"
  7073            }
  7074          }
  7075          ```
  7076        operationId: "ImageGet"
  7077        produces:
  7078          - "application/x-tar"
  7079        responses:
  7080          200:
  7081            description: "no error"
  7082            schema:
  7083              type: "string"
  7084              format: "binary"
  7085          500:
  7086            description: "server error"
  7087            schema:
  7088              $ref: "#/definitions/ErrorResponse"
  7089        parameters:
  7090          - name: "name"
  7091            in: "path"
  7092            description: "Image name or ID"
  7093            type: "string"
  7094            required: true
  7095        tags: ["Image"]
  7096    /images/get:
  7097      get:
  7098        summary: "Export several images"
  7099        description: |
  7100          Get a tarball containing all images and metadata for several image repositories.
  7101  
  7102          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.
  7103  
  7104          For details on the format, see [the export image endpoint](#operation/ImageGet).
  7105        operationId: "ImageGetAll"
  7106        produces:
  7107          - "application/x-tar"
  7108        responses:
  7109          200:
  7110            description: "no error"
  7111            schema:
  7112              type: "string"
  7113              format: "binary"
  7114          500:
  7115            description: "server error"
  7116            schema:
  7117              $ref: "#/definitions/ErrorResponse"
  7118        parameters:
  7119          - name: "names"
  7120            in: "query"
  7121            description: "Image names to filter by"
  7122            type: "array"
  7123            items:
  7124              type: "string"
  7125        tags: ["Image"]
  7126    /images/load:
  7127      post:
  7128        summary: "Import images"
  7129        description: |
  7130          Load a set of images and tags into a repository.
  7131  
  7132          For details on the format, see [the export image endpoint](#operation/ImageGet).
  7133        operationId: "ImageLoad"
  7134        consumes:
  7135          - "application/x-tar"
  7136        produces:
  7137          - "application/json"
  7138        responses:
  7139          200:
  7140            description: "no error"
  7141          500:
  7142            description: "server error"
  7143            schema:
  7144              $ref: "#/definitions/ErrorResponse"
  7145        parameters:
  7146          - name: "imagesTarball"
  7147            in: "body"
  7148            description: "Tar archive containing images"
  7149            schema:
  7150              type: "string"
  7151              format: "binary"
  7152          - name: "quiet"
  7153            in: "query"
  7154            description: "Suppress progress details during load."
  7155            type: "boolean"
  7156            default: false
  7157        tags: ["Image"]
  7158    /containers/{id}/exec:
  7159      post:
  7160        summary: "Create an exec instance"
  7161        description: "Run a command inside a running container."
  7162        operationId: "ContainerExec"
  7163        consumes:
  7164          - "application/json"
  7165        produces:
  7166          - "application/json"
  7167        responses:
  7168          201:
  7169            description: "no error"
  7170            schema:
  7171              $ref: "#/definitions/IdResponse"
  7172          404:
  7173            description: "no such container"
  7174            schema:
  7175              $ref: "#/definitions/ErrorResponse"
  7176            examples:
  7177              application/json:
  7178                message: "No such container: c2ada9df5af8"
  7179          409:
  7180            description: "container is paused"
  7181            schema:
  7182              $ref: "#/definitions/ErrorResponse"
  7183          500:
  7184            description: "Server error"
  7185            schema:
  7186              $ref: "#/definitions/ErrorResponse"
  7187        parameters:
  7188          - name: "execConfig"
  7189            in: "body"
  7190            description: "Exec configuration"
  7191            schema:
  7192              type: "object"
  7193              properties:
  7194                AttachStdin:
  7195                  type: "boolean"
  7196                  description: "Attach to `stdin` of the exec command."
  7197                AttachStdout:
  7198                  type: "boolean"
  7199                  description: "Attach to `stdout` of the exec command."
  7200                AttachStderr:
  7201                  type: "boolean"
  7202                  description: "Attach to `stderr` of the exec command."
  7203                DetachKeys:
  7204                  type: "string"
  7205                  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 `_`."
  7206                Tty:
  7207                  type: "boolean"
  7208                  description: "Allocate a pseudo-TTY."
  7209                Env:
  7210                  description: "A list of environment variables in the form `[\"VAR=value\", ...]`."
  7211                  type: "array"
  7212                  items:
  7213                    type: "string"
  7214                Cmd:
  7215                  type: "array"
  7216                  description: "Command to run, as a string or array of strings."
  7217                  items:
  7218                    type: "string"
  7219                Privileged:
  7220                  type: "boolean"
  7221                  description: "Runs the exec process with extended privileges."
  7222                  default: false
  7223                User:
  7224                  type: "string"
  7225                  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`."
  7226              example:
  7227                AttachStdin: false
  7228                AttachStdout: true
  7229                AttachStderr: true
  7230                DetachKeys: "ctrl-p,ctrl-q"
  7231                Tty: false
  7232                Cmd:
  7233                  - "date"
  7234                Env:
  7235                  - "FOO=bar"
  7236                  - "BAZ=quux"
  7237            required: true
  7238          - name: "id"
  7239            in: "path"
  7240            description: "ID or name of container"
  7241            type: "string"
  7242            required: true
  7243        tags: ["Exec"]
  7244    /exec/{id}/start:
  7245      post:
  7246        summary: "Start an exec instance"
  7247        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."
  7248        operationId: "ExecStart"
  7249        consumes:
  7250          - "application/json"
  7251        produces:
  7252          - "application/vnd.docker.raw-stream"
  7253        responses:
  7254          200:
  7255            description: "No error"
  7256          404:
  7257            description: "No such exec instance"
  7258            schema:
  7259              $ref: "#/definitions/ErrorResponse"
  7260          409:
  7261            description: "Container is stopped or paused"
  7262            schema:
  7263              $ref: "#/definitions/ErrorResponse"
  7264        parameters:
  7265          - name: "execStartConfig"
  7266            in: "body"
  7267            schema:
  7268              type: "object"
  7269              properties:
  7270                Detach:
  7271                  type: "boolean"
  7272                  description: "Detach from the command."
  7273                Tty:
  7274                  type: "boolean"
  7275                  description: "Allocate a pseudo-TTY."
  7276              example:
  7277                Detach: false
  7278                Tty: false
  7279          - name: "id"
  7280            in: "path"
  7281            description: "Exec instance ID"
  7282            required: true
  7283            type: "string"
  7284        tags: ["Exec"]
  7285    /exec/{id}/resize:
  7286      post:
  7287        summary: "Resize an exec instance"
  7288        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."
  7289        operationId: "ExecResize"
  7290        responses:
  7291          201:
  7292            description: "No error"
  7293          404:
  7294            description: "No such exec instance"
  7295            schema:
  7296              $ref: "#/definitions/ErrorResponse"
  7297        parameters:
  7298          - name: "id"
  7299            in: "path"
  7300            description: "Exec instance ID"
  7301            required: true
  7302            type: "string"
  7303          - name: "h"
  7304            in: "query"
  7305            description: "Height of the TTY session in characters"
  7306            type: "integer"
  7307          - name: "w"
  7308            in: "query"
  7309            description: "Width of the TTY session in characters"
  7310            type: "integer"
  7311        tags: ["Exec"]
  7312    /exec/{id}/json:
  7313      get:
  7314        summary: "Inspect an exec instance"
  7315        description: "Return low-level information about an exec instance."
  7316        operationId: "ExecInspect"
  7317        produces:
  7318          - "application/json"
  7319        responses:
  7320          200:
  7321            description: "No error"
  7322            schema:
  7323              type: "object"
  7324              properties:
  7325                ID:
  7326                  type: "string"
  7327                Running:
  7328                  type: "boolean"
  7329                ExitCode:
  7330                  type: "integer"
  7331                ProcessConfig:
  7332                  $ref: "#/definitions/ProcessConfig"
  7333                OpenStdin:
  7334                  type: "boolean"
  7335                OpenStderr:
  7336                  type: "boolean"
  7337                OpenStdout:
  7338                  type: "boolean"
  7339                ContainerID:
  7340                  type: "string"
  7341                Pid:
  7342                  type: "integer"
  7343                  description: "The system process ID for the exec process."
  7344            examples:
  7345              application/json:
  7346                CanRemove: false
  7347                ContainerID: "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126"
  7348                DetachKeys: ""
  7349                ExitCode: 2
  7350                ID: "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b"
  7351                OpenStderr: true
  7352                OpenStdin: true
  7353                OpenStdout: true
  7354                ProcessConfig:
  7355                  arguments:
  7356                    - "-c"
  7357                    - "exit 2"
  7358                  entrypoint: "sh"
  7359                  privileged: false
  7360                  tty: true
  7361                  user: "1000"
  7362                Running: false
  7363                Pid: 42000
  7364          404:
  7365            description: "No such exec instance"
  7366            schema:
  7367              $ref: "#/definitions/ErrorResponse"
  7368          500:
  7369            description: "Server error"
  7370            schema:
  7371              $ref: "#/definitions/ErrorResponse"
  7372        parameters:
  7373          - name: "id"
  7374            in: "path"
  7375            description: "Exec instance ID"
  7376            required: true
  7377            type: "string"
  7378        tags: ["Exec"]
  7379  
  7380    /volumes:
  7381      get:
  7382        summary: "List volumes"
  7383        operationId: "VolumeList"
  7384        produces: ["application/json"]
  7385        responses:
  7386          200:
  7387            description: "Summary volume data that matches the query"
  7388            schema:
  7389              type: "object"
  7390              required: [Volumes, Warnings]
  7391              properties:
  7392                Volumes:
  7393                  type: "array"
  7394                  x-nullable: false
  7395                  description: "List of volumes"
  7396                  items:
  7397                    $ref: "#/definitions/Volume"
  7398                Warnings:
  7399                  type: "array"
  7400                  x-nullable: false
  7401                  description: "Warnings that occurred when fetching the list of volumes"
  7402                  items:
  7403                    type: "string"
  7404  
  7405            examples:
  7406              application/json:
  7407                Volumes:
  7408                  - CreatedAt: "2017-07-19T12:00:26Z"
  7409                    Name: "tardis"
  7410                    Driver: "local"
  7411                    Mountpoint: "/var/lib/docker/volumes/tardis"
  7412                    Labels:
  7413                      com.example.some-label: "some-value"
  7414                      com.example.some-other-label: "some-other-value"
  7415                    Scope: "local"
  7416                    Options:
  7417                      device: "tmpfs"
  7418                      o: "size=100m,uid=1000"
  7419                      type: "tmpfs"
  7420                Warnings: []
  7421          500:
  7422            description: "Server error"
  7423            schema:
  7424              $ref: "#/definitions/ErrorResponse"
  7425        parameters:
  7426          - name: "filters"
  7427            in: "query"
  7428            description: |
  7429              JSON encoded value of the filters (a `map[string][]string`) to
  7430              process on the volumes list. Available filters:
  7431  
  7432              - `dangling=<boolean>` When set to `true` (or `1`), returns all
  7433                 volumes that are not in use by a container. When set to `false`
  7434                 (or `0`), only volumes that are in use by one or more
  7435                 containers are returned.
  7436              - `driver=<volume-driver-name>` Matches volumes based on their driver.
  7437              - `label=<key>` or `label=<key>:<value>` Matches volumes based on
  7438                 the presence of a `label` alone or a `label` and a value.
  7439              - `name=<volume-name>` Matches all or part of a volume name.
  7440            type: "string"
  7441            format: "json"
  7442        tags: ["Volume"]
  7443  
  7444    /volumes/create:
  7445      post:
  7446        summary: "Create a volume"
  7447        operationId: "VolumeCreate"
  7448        consumes: ["application/json"]
  7449        produces: ["application/json"]
  7450        responses:
  7451          201:
  7452            description: "The volume was created successfully"
  7453            schema:
  7454              $ref: "#/definitions/Volume"
  7455          500:
  7456            description: "Server error"
  7457            schema:
  7458              $ref: "#/definitions/ErrorResponse"
  7459        parameters:
  7460          - name: "volumeConfig"
  7461            in: "body"
  7462            required: true
  7463            description: "Volume configuration"
  7464            schema:
  7465              type: "object"
  7466              properties:
  7467                Name:
  7468                  description: "The new volume's name. If not specified, Docker generates a name."
  7469                  type: "string"
  7470                  x-nullable: false
  7471                Driver:
  7472                  description: "Name of the volume driver to use."
  7473                  type: "string"
  7474                  default: "local"
  7475                  x-nullable: false
  7476                DriverOpts:
  7477                  description: "A mapping of driver options and values. These options are passed directly to the driver and are driver specific."
  7478                  type: "object"
  7479                  additionalProperties:
  7480                    type: "string"
  7481                Labels:
  7482                  description: "User-defined key/value metadata."
  7483                  type: "object"
  7484                  additionalProperties:
  7485                    type: "string"
  7486              example:
  7487                Name: "tardis"
  7488                Labels:
  7489                  com.example.some-label: "some-value"
  7490                  com.example.some-other-label: "some-other-value"
  7491                Driver: "custom"
  7492        tags: ["Volume"]
  7493  
  7494    /volumes/{name}:
  7495      get:
  7496        summary: "Inspect a volume"
  7497        operationId: "VolumeInspect"
  7498        produces: ["application/json"]
  7499        responses:
  7500          200:
  7501            description: "No error"
  7502            schema:
  7503              $ref: "#/definitions/Volume"
  7504          404:
  7505            description: "No such volume"
  7506            schema:
  7507              $ref: "#/definitions/ErrorResponse"
  7508          500:
  7509            description: "Server error"
  7510            schema:
  7511              $ref: "#/definitions/ErrorResponse"
  7512        parameters:
  7513          - name: "name"
  7514            in: "path"
  7515            required: true
  7516            description: "Volume name or ID"
  7517            type: "string"
  7518        tags: ["Volume"]
  7519  
  7520      delete:
  7521        summary: "Remove a volume"
  7522        description: "Instruct the driver to remove the volume."
  7523        operationId: "VolumeDelete"
  7524        responses:
  7525          204:
  7526            description: "The volume was removed"
  7527          404:
  7528            description: "No such volume or volume driver"
  7529            schema:
  7530              $ref: "#/definitions/ErrorResponse"
  7531          409:
  7532            description: "Volume is in use and cannot be removed"
  7533            schema:
  7534              $ref: "#/definitions/ErrorResponse"
  7535          500:
  7536            description: "Server error"
  7537            schema:
  7538              $ref: "#/definitions/ErrorResponse"
  7539        parameters:
  7540          - name: "name"
  7541            in: "path"
  7542            required: true
  7543            description: "Volume name or ID"
  7544            type: "string"
  7545          - name: "force"
  7546            in: "query"
  7547            description: "Force the removal of the volume"
  7548            type: "boolean"
  7549            default: false
  7550        tags: ["Volume"]
  7551    /volumes/prune:
  7552      post:
  7553        summary: "Delete unused volumes"
  7554        produces:
  7555          - "application/json"
  7556        operationId: "VolumePrune"
  7557        parameters:
  7558          - name: "filters"
  7559            in: "query"
  7560            description: |
  7561              Filters to process on the prune list, encoded as JSON (a `map[string][]string`).
  7562  
  7563              Available filters:
  7564              - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune volumes with (or without, in case `label!=...` is used) the specified labels.
  7565            type: "string"
  7566        responses:
  7567          200:
  7568            description: "No error"
  7569            schema:
  7570              type: "object"
  7571              properties:
  7572                VolumesDeleted:
  7573                  description: "Volumes that were deleted"
  7574                  type: "array"
  7575                  items:
  7576                    type: "string"
  7577                SpaceReclaimed:
  7578                  description: "Disk space reclaimed in bytes"
  7579                  type: "integer"
  7580                  format: "int64"
  7581          500:
  7582            description: "Server error"
  7583            schema:
  7584              $ref: "#/definitions/ErrorResponse"
  7585        tags: ["Volume"]
  7586    /networks:
  7587      get:
  7588        summary: "List networks"
  7589        description: |
  7590          Returns a list of networks. For details on the format, see [the network inspect endpoint](#operation/NetworkInspect).
  7591  
  7592          Note that it uses a different, smaller representation of a network than inspecting a single network. For example,
  7593          the list of containers attached to the network is not propagated in API versions 1.28 and up.
  7594        operationId: "NetworkList"
  7595        produces:
  7596          - "application/json"
  7597        responses:
  7598          200:
  7599            description: "No error"
  7600            schema:
  7601              type: "array"
  7602              items:
  7603                $ref: "#/definitions/Network"
  7604            examples:
  7605              application/json:
  7606                - Name: "bridge"
  7607                  Id: "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566"
  7608                  Created: "2016-10-19T06:21:00.416543526Z"
  7609                  Scope: "local"
  7610                  Driver: "bridge"
  7611                  EnableIPv6: false
  7612                  Internal: false
  7613                  Attachable: false
  7614                  Ingress: false
  7615                  IPAM:
  7616                    Driver: "default"
  7617                    Config:
  7618                      -
  7619                        Subnet: "172.17.0.0/16"
  7620                  Options:
  7621                    com.docker.network.bridge.default_bridge: "true"
  7622                    com.docker.network.bridge.enable_icc: "true"
  7623                    com.docker.network.bridge.enable_ip_masquerade: "true"
  7624                    com.docker.network.bridge.host_binding_ipv4: "0.0.0.0"
  7625                    com.docker.network.bridge.name: "docker0"
  7626                    com.docker.network.driver.mtu: "1500"
  7627                - Name: "none"
  7628                  Id: "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794"
  7629                  Created: "0001-01-01T00:00:00Z"
  7630                  Scope: "local"
  7631                  Driver: "null"
  7632                  EnableIPv6: false
  7633                  Internal: false
  7634                  Attachable: false
  7635                  Ingress: false
  7636                  IPAM:
  7637                    Driver: "default"
  7638                    Config: []
  7639                  Containers: {}
  7640                  Options: {}
  7641                - Name: "host"
  7642                  Id: "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e"
  7643                  Created: "0001-01-01T00:00:00Z"
  7644                  Scope: "local"
  7645                  Driver: "host"
  7646                  EnableIPv6: false
  7647                  Internal: false
  7648                  Attachable: false
  7649                  Ingress: false
  7650                  IPAM:
  7651                    Driver: "default"
  7652                    Config: []
  7653                  Containers: {}
  7654                  Options: {}
  7655          500:
  7656            description: "Server error"
  7657            schema:
  7658              $ref: "#/definitions/ErrorResponse"
  7659        parameters:
  7660          - name: "filters"
  7661            in: "query"
  7662            description: |
  7663              JSON encoded value of the filters (a `map[string][]string`) to process on the networks list. Available filters:
  7664  
  7665              - `driver=<driver-name>` Matches a network's driver.
  7666              - `id=<network-id>` Matches all or part of a network ID.
  7667              - `label=<key>` or `label=<key>=<value>` of a network label.
  7668              - `name=<network-name>` Matches all or part of a network name.
  7669              - `scope=["swarm"|"global"|"local"]` Filters networks by scope (`swarm`, `global`, or `local`).
  7670              - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks.
  7671            type: "string"
  7672        tags: ["Network"]
  7673  
  7674    /networks/{id}:
  7675      get:
  7676        summary: "Inspect a network"
  7677        operationId: "NetworkInspect"
  7678        produces:
  7679          - "application/json"
  7680        responses:
  7681          200:
  7682            description: "No error"
  7683            schema:
  7684              $ref: "#/definitions/Network"
  7685          404:
  7686            description: "Network not found"
  7687            schema:
  7688              $ref: "#/definitions/ErrorResponse"
  7689          500:
  7690            description: "Server error"
  7691            schema:
  7692              $ref: "#/definitions/ErrorResponse"
  7693        parameters:
  7694          - name: "id"
  7695            in: "path"
  7696            description: "Network ID or name"
  7697            required: true
  7698            type: "string"
  7699          - name: "verbose"
  7700            in: "query"
  7701            description: "Detailed inspect output for troubleshooting"
  7702            type: "boolean"
  7703            default: false
  7704          - name: "scope"
  7705            in: "query"
  7706            description: "Filter the network by scope (swarm, global, or local)"
  7707            type: "string"
  7708        tags: ["Network"]
  7709  
  7710      delete:
  7711        summary: "Remove a network"
  7712        operationId: "NetworkDelete"
  7713        responses:
  7714          204:
  7715            description: "No error"
  7716          403:
  7717            description: "operation not supported for pre-defined networks"
  7718            schema:
  7719              $ref: "#/definitions/ErrorResponse"
  7720          404:
  7721            description: "no such network"
  7722            schema:
  7723              $ref: "#/definitions/ErrorResponse"
  7724          500:
  7725            description: "Server error"
  7726            schema:
  7727              $ref: "#/definitions/ErrorResponse"
  7728        parameters:
  7729          - name: "id"
  7730            in: "path"
  7731            description: "Network ID or name"
  7732            required: true
  7733            type: "string"
  7734        tags: ["Network"]
  7735  
  7736    /networks/create:
  7737      post:
  7738        summary: "Create a network"
  7739        operationId: "NetworkCreate"
  7740        consumes:
  7741          - "application/json"
  7742        produces:
  7743          - "application/json"
  7744        responses:
  7745          201:
  7746            description: "No error"
  7747            schema:
  7748              type: "object"
  7749              properties:
  7750                Id:
  7751                  description: "The ID of the created network."
  7752                  type: "string"
  7753                Warning:
  7754                  type: "string"
  7755              example:
  7756                Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30"
  7757                Warning: ""
  7758          403:
  7759            description: "operation not supported for pre-defined networks"
  7760            schema:
  7761              $ref: "#/definitions/ErrorResponse"
  7762          404:
  7763            description: "plugin not found"
  7764            schema:
  7765              $ref: "#/definitions/ErrorResponse"
  7766          500:
  7767            description: "Server error"
  7768            schema:
  7769              $ref: "#/definitions/ErrorResponse"
  7770        parameters:
  7771          - name: "networkConfig"
  7772            in: "body"
  7773            description: "Network configuration"
  7774            required: true
  7775            schema:
  7776              type: "object"
  7777              required: ["Name"]
  7778              properties:
  7779                Name:
  7780                  description: "The network's name."
  7781                  type: "string"
  7782                CheckDuplicate:
  7783                  description: "Check for networks with duplicate names. Since Network is primarily keyed based on a random ID and not on the name, and network name is strictly a user-friendly alias to the network which is uniquely identified using ID, there is no guaranteed way to check for duplicates. CheckDuplicate is there to provide a best effort checking of any networks which has the same name but it is not guaranteed to catch all name collisions."
  7784                  type: "boolean"
  7785                Driver:
  7786                  description: "Name of the network driver plugin to use."
  7787                  type: "string"
  7788                  default: "bridge"
  7789                Internal:
  7790                  description: "Restrict external access to the network."
  7791                  type: "boolean"
  7792                Attachable:
  7793                  description: "Globally scoped network is manually attachable by regular containers from workers in swarm mode."
  7794                  type: "boolean"
  7795                Ingress:
  7796                  description: "Ingress network is the network which provides the routing-mesh in swarm mode."
  7797                  type: "boolean"
  7798                IPAM:
  7799                  description: "Optional custom IP scheme for the network."
  7800                  $ref: "#/definitions/IPAM"
  7801                EnableIPv6:
  7802                  description: "Enable IPv6 on the network."
  7803                  type: "boolean"
  7804                Options:
  7805                  description: "Network specific options to be used by the drivers."
  7806                  type: "object"
  7807                  additionalProperties:
  7808                    type: "string"
  7809                Labels:
  7810                  description: "User-defined key/value metadata."
  7811                  type: "object"
  7812                  additionalProperties:
  7813                    type: "string"
  7814              example:
  7815                Name: "isolated_nw"
  7816                CheckDuplicate: false
  7817                Driver: "bridge"
  7818                EnableIPv6: true
  7819                IPAM:
  7820                  Driver: "default"
  7821                  Config:
  7822                    - Subnet: "172.20.0.0/16"
  7823                      IPRange: "172.20.10.0/24"
  7824                      Gateway: "172.20.10.11"
  7825                    - Subnet: "2001:db8:abcd::/64"
  7826                      Gateway: "2001:db8:abcd::1011"
  7827                  Options:
  7828                    foo: "bar"
  7829                Internal: true
  7830                Attachable: false
  7831                Ingress: false
  7832                Options:
  7833                  com.docker.network.bridge.default_bridge: "true"
  7834                  com.docker.network.bridge.enable_icc: "true"
  7835                  com.docker.network.bridge.enable_ip_masquerade: "true"
  7836                  com.docker.network.bridge.host_binding_ipv4: "0.0.0.0"
  7837                  com.docker.network.bridge.name: "docker0"
  7838                  com.docker.network.driver.mtu: "1500"
  7839                Labels:
  7840                  com.example.some-label: "some-value"
  7841                  com.example.some-other-label: "some-other-value"
  7842        tags: ["Network"]
  7843  
  7844    /networks/{id}/connect:
  7845      post:
  7846        summary: "Connect a container to a network"
  7847        operationId: "NetworkConnect"
  7848        consumes:
  7849          - "application/octet-stream"
  7850        responses:
  7851          200:
  7852            description: "No error"
  7853          403:
  7854            description: "Operation not supported for swarm scoped networks"
  7855            schema:
  7856              $ref: "#/definitions/ErrorResponse"
  7857          404:
  7858            description: "Network or container not found"
  7859            schema:
  7860              $ref: "#/definitions/ErrorResponse"
  7861          500:
  7862            description: "Server error"
  7863            schema:
  7864              $ref: "#/definitions/ErrorResponse"
  7865        parameters:
  7866          - name: "id"
  7867            in: "path"
  7868            description: "Network ID or name"
  7869            required: true
  7870            type: "string"
  7871          - name: "container"
  7872            in: "body"
  7873            required: true
  7874            schema:
  7875              type: "object"
  7876              properties:
  7877                Container:
  7878                  type: "string"
  7879                  description: "The ID or name of the container to connect to the network."
  7880                EndpointConfig:
  7881                  $ref: "#/definitions/EndpointSettings"
  7882              example:
  7883                Container: "3613f73ba0e4"
  7884                EndpointConfig:
  7885                  IPAMConfig:
  7886                    IPv4Address: "172.24.56.89"
  7887                    IPv6Address: "2001:db8::5689"
  7888        tags: ["Network"]
  7889  
  7890    /networks/{id}/disconnect:
  7891      post:
  7892        summary: "Disconnect a container from a network"
  7893        operationId: "NetworkDisconnect"
  7894        consumes:
  7895          - "application/json"
  7896        responses:
  7897          200:
  7898            description: "No error"
  7899          403:
  7900            description: "Operation not supported for swarm scoped networks"
  7901            schema:
  7902              $ref: "#/definitions/ErrorResponse"
  7903          404:
  7904            description: "Network or container not found"
  7905            schema:
  7906              $ref: "#/definitions/ErrorResponse"
  7907          500:
  7908            description: "Server error"
  7909            schema:
  7910              $ref: "#/definitions/ErrorResponse"
  7911        parameters:
  7912          - name: "id"
  7913            in: "path"
  7914            description: "Network ID or name"
  7915            required: true
  7916            type: "string"
  7917          - name: "container"
  7918            in: "body"
  7919            required: true
  7920            schema:
  7921              type: "object"
  7922              properties:
  7923                Container:
  7924                  type: "string"
  7925                  description: "The ID or name of the container to disconnect from the network."
  7926                Force:
  7927                  type: "boolean"
  7928                  description: "Force the container to disconnect from the network."
  7929        tags: ["Network"]
  7930    /networks/prune:
  7931      post:
  7932        summary: "Delete unused networks"
  7933        produces:
  7934          - "application/json"
  7935        operationId: "NetworkPrune"
  7936        parameters:
  7937          - name: "filters"
  7938            in: "query"
  7939            description: |
  7940              Filters to process on the prune list, encoded as JSON (a `map[string][]string`).
  7941  
  7942              Available filters:
  7943              - `until=<timestamp>` Prune networks created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.
  7944              - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune networks with (or without, in case `label!=...` is used) the specified labels.
  7945            type: "string"
  7946        responses:
  7947          200:
  7948            description: "No error"
  7949            schema:
  7950              type: "object"
  7951              properties:
  7952                NetworksDeleted:
  7953                  description: "Networks that were deleted"
  7954                  type: "array"
  7955                  items:
  7956                    type: "string"
  7957          500:
  7958            description: "Server error"
  7959            schema:
  7960              $ref: "#/definitions/ErrorResponse"
  7961        tags: ["Network"]
  7962    /plugins:
  7963      get:
  7964        summary: "List plugins"
  7965        operationId: "PluginList"
  7966        description: "Returns information about installed plugins."
  7967        produces: ["application/json"]
  7968        responses:
  7969          200:
  7970            description: "No error"
  7971            schema:
  7972              type: "array"
  7973              items:
  7974                $ref: "#/definitions/Plugin"
  7975          500:
  7976            description: "Server error"
  7977            schema:
  7978              $ref: "#/definitions/ErrorResponse"
  7979        parameters:
  7980          - name: "filters"
  7981            in: "query"
  7982            type: "string"
  7983            description: |
  7984              A JSON encoded value of the filters (a `map[string][]string`) to process on the plugin list. Available filters:
  7985  
  7986              - `capability=<capability name>`
  7987              - `enable=<true>|<false>`
  7988        tags: ["Plugin"]
  7989  
  7990    /plugins/privileges:
  7991      get:
  7992        summary: "Get plugin privileges"
  7993        operationId: "GetPluginPrivileges"
  7994        responses:
  7995          200:
  7996            description: "no error"
  7997            schema:
  7998              type: "array"
  7999              items:
  8000                description: "Describes a permission the user has to accept upon installing the plugin."
  8001                type: "object"
  8002                properties:
  8003                  Name:
  8004                    type: "string"
  8005                  Description:
  8006                    type: "string"
  8007                  Value:
  8008                    type: "array"
  8009                    items:
  8010                      type: "string"
  8011              example:
  8012                - Name: "network"
  8013                  Description: ""
  8014                  Value:
  8015                    - "host"
  8016                - Name: "mount"
  8017                  Description: ""
  8018                  Value:
  8019                    - "/data"
  8020                - Name: "device"
  8021                  Description: ""
  8022                  Value:
  8023                    - "/dev/cpu_dma_latency"
  8024          500:
  8025            description: "server error"
  8026            schema:
  8027              $ref: "#/definitions/ErrorResponse"
  8028        parameters:
  8029          - name: "remote"
  8030            in: "query"
  8031            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  8032            required: true
  8033            type: "string"
  8034        tags:
  8035          - "Plugin"
  8036  
  8037    /plugins/pull:
  8038      post:
  8039        summary: "Install a plugin"
  8040        operationId: "PluginPull"
  8041        description: |
  8042          Pulls and installs a plugin. After the plugin is installed, it can be enabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable).
  8043        produces:
  8044          - "application/json"
  8045        responses:
  8046          204:
  8047            description: "no error"
  8048          500:
  8049            description: "server error"
  8050            schema:
  8051              $ref: "#/definitions/ErrorResponse"
  8052        parameters:
  8053          - name: "remote"
  8054            in: "query"
  8055            description: |
  8056              Remote reference for plugin to install.
  8057  
  8058              The `:latest` tag is optional, and is used as the default if omitted.
  8059            required: true
  8060            type: "string"
  8061          - name: "name"
  8062            in: "query"
  8063            description: |
  8064              Local name for the pulled plugin.
  8065  
  8066              The `:latest` tag is optional, and is used as the default if omitted.
  8067            required: false
  8068            type: "string"
  8069          - name: "X-Registry-Auth"
  8070            in: "header"
  8071            description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
  8072            type: "string"
  8073          - name: "body"
  8074            in: "body"
  8075            schema:
  8076              type: "array"
  8077              items:
  8078                description: "Describes a permission accepted by the user upon installing the plugin."
  8079                type: "object"
  8080                properties:
  8081                  Name:
  8082                    type: "string"
  8083                  Description:
  8084                    type: "string"
  8085                  Value:
  8086                    type: "array"
  8087                    items:
  8088                      type: "string"
  8089              example:
  8090                - Name: "network"
  8091                  Description: ""
  8092                  Value:
  8093                    - "host"
  8094                - Name: "mount"
  8095                  Description: ""
  8096                  Value:
  8097                    - "/data"
  8098                - Name: "device"
  8099                  Description: ""
  8100                  Value:
  8101                    - "/dev/cpu_dma_latency"
  8102        tags: ["Plugin"]
  8103    /plugins/{name}/json:
  8104      get:
  8105        summary: "Inspect a plugin"
  8106        operationId: "PluginInspect"
  8107        responses:
  8108          200:
  8109            description: "no error"
  8110            schema:
  8111              $ref: "#/definitions/Plugin"
  8112          404:
  8113            description: "plugin is not installed"
  8114            schema:
  8115              $ref: "#/definitions/ErrorResponse"
  8116          500:
  8117            description: "server error"
  8118            schema:
  8119              $ref: "#/definitions/ErrorResponse"
  8120        parameters:
  8121          - name: "name"
  8122            in: "path"
  8123            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  8124            required: true
  8125            type: "string"
  8126        tags: ["Plugin"]
  8127    /plugins/{name}:
  8128      delete:
  8129        summary: "Remove a plugin"
  8130        operationId: "PluginDelete"
  8131        responses:
  8132          200:
  8133            description: "no error"
  8134            schema:
  8135              $ref: "#/definitions/Plugin"
  8136          404:
  8137            description: "plugin is not installed"
  8138            schema:
  8139              $ref: "#/definitions/ErrorResponse"
  8140          500:
  8141            description: "server error"
  8142            schema:
  8143              $ref: "#/definitions/ErrorResponse"
  8144        parameters:
  8145          - name: "name"
  8146            in: "path"
  8147            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  8148            required: true
  8149            type: "string"
  8150          - name: "force"
  8151            in: "query"
  8152            description: "Disable the plugin before removing. This may result in issues if the plugin is in use by a container."
  8153            type: "boolean"
  8154            default: false
  8155        tags: ["Plugin"]
  8156    /plugins/{name}/enable:
  8157      post:
  8158        summary: "Enable a plugin"
  8159        operationId: "PluginEnable"
  8160        responses:
  8161          200:
  8162            description: "no error"
  8163          404:
  8164            description: "plugin is not installed"
  8165            schema:
  8166              $ref: "#/definitions/ErrorResponse"
  8167          500:
  8168            description: "server error"
  8169            schema:
  8170              $ref: "#/definitions/ErrorResponse"
  8171        parameters:
  8172          - name: "name"
  8173            in: "path"
  8174            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  8175            required: true
  8176            type: "string"
  8177          - name: "timeout"
  8178            in: "query"
  8179            description: "Set the HTTP client timeout (in seconds)"
  8180            type: "integer"
  8181            default: 0
  8182        tags: ["Plugin"]
  8183    /plugins/{name}/disable:
  8184      post:
  8185        summary: "Disable a plugin"
  8186        operationId: "PluginDisable"
  8187        responses:
  8188          200:
  8189            description: "no error"
  8190          404:
  8191            description: "plugin is not installed"
  8192            schema:
  8193              $ref: "#/definitions/ErrorResponse"
  8194          500:
  8195            description: "server error"
  8196            schema:
  8197              $ref: "#/definitions/ErrorResponse"
  8198        parameters:
  8199          - name: "name"
  8200            in: "path"
  8201            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  8202            required: true
  8203            type: "string"
  8204        tags: ["Plugin"]
  8205    /plugins/{name}/upgrade:
  8206      post:
  8207        summary: "Upgrade a plugin"
  8208        operationId: "PluginUpgrade"
  8209        responses:
  8210          204:
  8211            description: "no error"
  8212          404:
  8213            description: "plugin not installed"
  8214            schema:
  8215              $ref: "#/definitions/ErrorResponse"
  8216          500:
  8217            description: "server error"
  8218            schema:
  8219              $ref: "#/definitions/ErrorResponse"
  8220        parameters:
  8221          - name: "name"
  8222            in: "path"
  8223            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  8224            required: true
  8225            type: "string"
  8226          - name: "remote"
  8227            in: "query"
  8228            description: |
  8229              Remote reference to upgrade to.
  8230  
  8231              The `:latest` tag is optional, and is used as the default if omitted.
  8232            required: true
  8233            type: "string"
  8234          - name: "X-Registry-Auth"
  8235            in: "header"
  8236            description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
  8237            type: "string"
  8238          - name: "body"
  8239            in: "body"
  8240            schema:
  8241              type: "array"
  8242              items:
  8243                description: "Describes a permission accepted by the user upon installing the plugin."
  8244                type: "object"
  8245                properties:
  8246                  Name:
  8247                    type: "string"
  8248                  Description:
  8249                    type: "string"
  8250                  Value:
  8251                    type: "array"
  8252                    items:
  8253                      type: "string"
  8254              example:
  8255                - Name: "network"
  8256                  Description: ""
  8257                  Value:
  8258                    - "host"
  8259                - Name: "mount"
  8260                  Description: ""
  8261                  Value:
  8262                    - "/data"
  8263                - Name: "device"
  8264                  Description: ""
  8265                  Value:
  8266                    - "/dev/cpu_dma_latency"
  8267        tags: ["Plugin"]
  8268    /plugins/create:
  8269      post:
  8270        summary: "Create a plugin"
  8271        operationId: "PluginCreate"
  8272        consumes:
  8273          - "application/x-tar"
  8274        responses:
  8275          204:
  8276            description: "no error"
  8277          500:
  8278            description: "server error"
  8279            schema:
  8280              $ref: "#/definitions/ErrorResponse"
  8281        parameters:
  8282          - name: "name"
  8283            in: "query"
  8284            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  8285            required: true
  8286            type: "string"
  8287          - name: "tarContext"
  8288            in: "body"
  8289            description: "Path to tar containing plugin rootfs and manifest"
  8290            schema:
  8291              type: "string"
  8292              format: "binary"
  8293        tags: ["Plugin"]
  8294    /plugins/{name}/push:
  8295      post:
  8296        summary: "Push a plugin"
  8297        operationId: "PluginPush"
  8298        description: |
  8299          Push a plugin to the registry.
  8300        parameters:
  8301          - name: "name"
  8302            in: "path"
  8303            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  8304            required: true
  8305            type: "string"
  8306        responses:
  8307          200:
  8308            description: "no error"
  8309          404:
  8310            description: "plugin not installed"
  8311            schema:
  8312              $ref: "#/definitions/ErrorResponse"
  8313          500:
  8314            description: "server error"
  8315            schema:
  8316              $ref: "#/definitions/ErrorResponse"
  8317        tags: ["Plugin"]
  8318    /plugins/{name}/set:
  8319      post:
  8320        summary: "Configure a plugin"
  8321        operationId: "PluginSet"
  8322        consumes:
  8323          - "application/json"
  8324        parameters:
  8325          - name: "name"
  8326            in: "path"
  8327            description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted."
  8328            required: true
  8329            type: "string"
  8330          - name: "body"
  8331            in: "body"
  8332            schema:
  8333              type: "array"
  8334              items:
  8335                type: "string"
  8336              example: ["DEBUG=1"]
  8337        responses:
  8338          204:
  8339            description: "No error"
  8340          404:
  8341            description: "Plugin not installed"
  8342            schema:
  8343              $ref: "#/definitions/ErrorResponse"
  8344          500:
  8345            description: "Server error"
  8346            schema:
  8347              $ref: "#/definitions/ErrorResponse"
  8348        tags: ["Plugin"]
  8349    /nodes:
  8350      get:
  8351        summary: "List nodes"
  8352        operationId: "NodeList"
  8353        responses:
  8354          200:
  8355            description: "no error"
  8356            schema:
  8357              type: "array"
  8358              items:
  8359                $ref: "#/definitions/Node"
  8360          500:
  8361            description: "server error"
  8362            schema:
  8363              $ref: "#/definitions/ErrorResponse"
  8364          503:
  8365            description: "node is not part of a swarm"
  8366            schema:
  8367              $ref: "#/definitions/ErrorResponse"
  8368        parameters:
  8369          - name: "filters"
  8370            in: "query"
  8371            description: |
  8372              Filters to process on the nodes list, encoded as JSON (a `map[string][]string`).
  8373  
  8374              Available filters:
  8375              - `id=<node id>`
  8376              - `label=<engine label>`
  8377              - `membership=`(`accepted`|`pending`)`
  8378              - `name=<node name>`
  8379              - `role=`(`manager`|`worker`)`
  8380            type: "string"
  8381        tags: ["Node"]
  8382    /nodes/{id}:
  8383      get:
  8384        summary: "Inspect a node"
  8385        operationId: "NodeInspect"
  8386        responses:
  8387          200:
  8388            description: "no error"
  8389            schema:
  8390              $ref: "#/definitions/Node"
  8391          404:
  8392            description: "no such node"
  8393            schema:
  8394              $ref: "#/definitions/ErrorResponse"
  8395          500:
  8396            description: "server error"
  8397            schema:
  8398              $ref: "#/definitions/ErrorResponse"
  8399          503:
  8400            description: "node is not part of a swarm"
  8401            schema:
  8402              $ref: "#/definitions/ErrorResponse"
  8403        parameters:
  8404          - name: "id"
  8405            in: "path"
  8406            description: "The ID or name of the node"
  8407            type: "string"
  8408            required: true
  8409        tags: ["Node"]
  8410      delete:
  8411        summary: "Delete a node"
  8412        operationId: "NodeDelete"
  8413        responses:
  8414          200:
  8415            description: "no error"
  8416          404:
  8417            description: "no such node"
  8418            schema:
  8419              $ref: "#/definitions/ErrorResponse"
  8420          500:
  8421            description: "server error"
  8422            schema:
  8423              $ref: "#/definitions/ErrorResponse"
  8424          503:
  8425            description: "node is not part of a swarm"
  8426            schema:
  8427              $ref: "#/definitions/ErrorResponse"
  8428        parameters:
  8429          - name: "id"
  8430            in: "path"
  8431            description: "The ID or name of the node"
  8432            type: "string"
  8433            required: true
  8434          - name: "force"
  8435            in: "query"
  8436            description: "Force remove a node from the swarm"
  8437            default: false
  8438            type: "boolean"
  8439        tags: ["Node"]
  8440    /nodes/{id}/update:
  8441      post:
  8442        summary: "Update a node"
  8443        operationId: "NodeUpdate"
  8444        responses:
  8445          200:
  8446            description: "no error"
  8447          400:
  8448            description: "bad parameter"
  8449            schema:
  8450              $ref: "#/definitions/ErrorResponse"
  8451          404:
  8452            description: "no such node"
  8453            schema:
  8454              $ref: "#/definitions/ErrorResponse"
  8455          500:
  8456            description: "server error"
  8457            schema:
  8458              $ref: "#/definitions/ErrorResponse"
  8459          503:
  8460            description: "node is not part of a swarm"
  8461            schema:
  8462              $ref: "#/definitions/ErrorResponse"
  8463        parameters:
  8464          - name: "id"
  8465            in: "path"
  8466            description: "The ID of the node"
  8467            type: "string"
  8468            required: true
  8469          - name: "body"
  8470            in: "body"
  8471            schema:
  8472              $ref: "#/definitions/NodeSpec"
  8473          - name: "version"
  8474            in: "query"
  8475            description: "The version number of the node object being updated. This is required to avoid conflicting writes."
  8476            type: "integer"
  8477            format: "int64"
  8478            required: true
  8479        tags: ["Node"]
  8480    /swarm:
  8481      get:
  8482        summary: "Inspect swarm"
  8483        operationId: "SwarmInspect"
  8484        responses:
  8485          200:
  8486            description: "no error"
  8487            schema:
  8488              $ref: "#/definitions/Swarm"
  8489          404:
  8490            description: "no such swarm"
  8491            schema:
  8492              $ref: "#/definitions/ErrorResponse"
  8493          500:
  8494            description: "server error"
  8495            schema:
  8496              $ref: "#/definitions/ErrorResponse"
  8497          503:
  8498            description: "node is not part of a swarm"
  8499            schema:
  8500              $ref: "#/definitions/ErrorResponse"
  8501        tags: ["Swarm"]
  8502    /swarm/init:
  8503      post:
  8504        summary: "Initialize a new swarm"
  8505        operationId: "SwarmInit"
  8506        produces:
  8507          - "application/json"
  8508          - "text/plain"
  8509        responses:
  8510          200:
  8511            description: "no error"
  8512            schema:
  8513              description: "The node ID"
  8514              type: "string"
  8515              example: "7v2t30z9blmxuhnyo6s4cpenp"
  8516          400:
  8517            description: "bad parameter"
  8518            schema:
  8519              $ref: "#/definitions/ErrorResponse"
  8520          500:
  8521            description: "server error"
  8522            schema:
  8523              $ref: "#/definitions/ErrorResponse"
  8524          503:
  8525            description: "node is already part of a swarm"
  8526            schema:
  8527              $ref: "#/definitions/ErrorResponse"
  8528        parameters:
  8529          - name: "body"
  8530            in: "body"
  8531            required: true
  8532            schema:
  8533              type: "object"
  8534              properties:
  8535                ListenAddr:
  8536                  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."
  8537                  type: "string"
  8538                AdvertiseAddr:
  8539                  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."
  8540                  type: "string"
  8541                DataPathAddr:
  8542                  description: |
  8543                    Address or interface to use for data path traffic (format: `<ip|interface>`), for example,  `192.168.1.1`,
  8544                    or an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr`
  8545                    is used.
  8546  
  8547                    The `DataPathAddr` specifies the address that global scope network drivers will publish towards other
  8548                    nodes in order to reach the containers running on this node. Using this parameter it is possible to
  8549                    separate the container data traffic from the management traffic of the cluster.
  8550                  type: "string"
  8551                ForceNewCluster:
  8552                  description: "Force creation of a new swarm."
  8553                  type: "boolean"
  8554                Spec:
  8555                  $ref: "#/definitions/SwarmSpec"
  8556              example:
  8557                ListenAddr: "0.0.0.0:2377"
  8558                AdvertiseAddr: "192.168.1.1:2377"
  8559                ForceNewCluster: false
  8560                Spec:
  8561                  Orchestration: {}
  8562                  Raft: {}
  8563                  Dispatcher: {}
  8564                  CAConfig: {}
  8565                  EncryptionConfig:
  8566                    AutoLockManagers: false
  8567        tags: ["Swarm"]
  8568    /swarm/join:
  8569      post:
  8570        summary: "Join an existing swarm"
  8571        operationId: "SwarmJoin"
  8572        responses:
  8573          200:
  8574            description: "no error"
  8575          400:
  8576            description: "bad parameter"
  8577            schema:
  8578              $ref: "#/definitions/ErrorResponse"
  8579          500:
  8580            description: "server error"
  8581            schema:
  8582              $ref: "#/definitions/ErrorResponse"
  8583          503:
  8584            description: "node is already part of a swarm"
  8585            schema:
  8586              $ref: "#/definitions/ErrorResponse"
  8587        parameters:
  8588          - name: "body"
  8589            in: "body"
  8590            required: true
  8591            schema:
  8592              type: "object"
  8593              properties:
  8594                ListenAddr:
  8595                  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)."
  8596                  type: "string"
  8597                AdvertiseAddr:
  8598                  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."
  8599                  type: "string"
  8600                DataPathAddr:
  8601                  description: |
  8602                    Address or interface to use for data path traffic (format: `<ip|interface>`), for example,  `192.168.1.1`,
  8603                    or an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr`
  8604                    is used.
  8605  
  8606                    The `DataPathAddr` specifies the address that global scope network drivers will publish towards other
  8607                    nodes in order to reach the containers running on this node. Using this parameter it is possible to
  8608                    separate the container data traffic from the management traffic of the cluster.
  8609  
  8610                  type: "string"
  8611                RemoteAddrs:
  8612                  description: "Addresses of manager nodes already participating in the swarm."
  8613                  type: "string"
  8614                JoinToken:
  8615                  description: "Secret token for joining this swarm."
  8616                  type: "string"
  8617              example:
  8618                ListenAddr: "0.0.0.0:2377"
  8619                AdvertiseAddr: "192.168.1.1:2377"
  8620                RemoteAddrs:
  8621                  - "node1:2377"
  8622                JoinToken: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2"
  8623        tags: ["Swarm"]
  8624    /swarm/leave:
  8625      post:
  8626        summary: "Leave a swarm"
  8627        operationId: "SwarmLeave"
  8628        responses:
  8629          200:
  8630            description: "no error"
  8631          500:
  8632            description: "server error"
  8633            schema:
  8634              $ref: "#/definitions/ErrorResponse"
  8635          503:
  8636            description: "node is not part of a swarm"
  8637            schema:
  8638              $ref: "#/definitions/ErrorResponse"
  8639        parameters:
  8640          - name: "force"
  8641            description: "Force leave swarm, even if this is the last manager or that it will break the cluster."
  8642            in: "query"
  8643            type: "boolean"
  8644            default: false
  8645        tags: ["Swarm"]
  8646    /swarm/update:
  8647      post:
  8648        summary: "Update a swarm"
  8649        operationId: "SwarmUpdate"
  8650        responses:
  8651          200:
  8652            description: "no error"
  8653          400:
  8654            description: "bad parameter"
  8655            schema:
  8656              $ref: "#/definitions/ErrorResponse"
  8657          500:
  8658            description: "server error"
  8659            schema:
  8660              $ref: "#/definitions/ErrorResponse"
  8661          503:
  8662            description: "node is not part of a swarm"
  8663            schema:
  8664              $ref: "#/definitions/ErrorResponse"
  8665        parameters:
  8666          - name: "body"
  8667            in: "body"
  8668            required: true
  8669            schema:
  8670              $ref: "#/definitions/SwarmSpec"
  8671          - name: "version"
  8672            in: "query"
  8673            description: "The version number of the swarm object being updated. This is required to avoid conflicting writes."
  8674            type: "integer"
  8675            format: "int64"
  8676            required: true
  8677          - name: "rotateWorkerToken"
  8678            in: "query"
  8679            description: "Rotate the worker join token."
  8680            type: "boolean"
  8681            default: false
  8682          - name: "rotateManagerToken"
  8683            in: "query"
  8684            description: "Rotate the manager join token."
  8685            type: "boolean"
  8686            default: false
  8687          - name: "rotateManagerUnlockKey"
  8688            in: "query"
  8689            description: "Rotate the manager unlock key."
  8690            type: "boolean"
  8691            default: false
  8692        tags: ["Swarm"]
  8693    /swarm/unlockkey:
  8694      get:
  8695        summary: "Get the unlock key"
  8696        operationId: "SwarmUnlockkey"
  8697        consumes:
  8698          - "application/json"
  8699        responses:
  8700          200:
  8701            description: "no error"
  8702            schema:
  8703              type: "object"
  8704              properties:
  8705                UnlockKey:
  8706                  description: "The swarm's unlock key."
  8707                  type: "string"
  8708              example:
  8709                UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8"
  8710          500:
  8711            description: "server error"
  8712            schema:
  8713              $ref: "#/definitions/ErrorResponse"
  8714          503:
  8715            description: "node is not part of a swarm"
  8716            schema:
  8717              $ref: "#/definitions/ErrorResponse"
  8718        tags: ["Swarm"]
  8719    /swarm/unlock:
  8720      post:
  8721        summary: "Unlock a locked manager"
  8722        operationId: "SwarmUnlock"
  8723        consumes:
  8724          - "application/json"
  8725        produces:
  8726          - "application/json"
  8727        parameters:
  8728          - name: "body"
  8729            in: "body"
  8730            required: true
  8731            schema:
  8732              type: "object"
  8733              properties:
  8734                UnlockKey:
  8735                  description: "The swarm's unlock key."
  8736                  type: "string"
  8737              example:
  8738                UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8"
  8739        responses:
  8740          200:
  8741            description: "no error"
  8742          500:
  8743            description: "server error"
  8744            schema:
  8745              $ref: "#/definitions/ErrorResponse"
  8746          503:
  8747            description: "node is not part of a swarm"
  8748            schema:
  8749              $ref: "#/definitions/ErrorResponse"
  8750        tags: ["Swarm"]
  8751    /services:
  8752      get:
  8753        summary: "List services"
  8754        operationId: "ServiceList"
  8755        responses:
  8756          200:
  8757            description: "no error"
  8758            schema:
  8759              type: "array"
  8760              items:
  8761                $ref: "#/definitions/Service"
  8762          500:
  8763            description: "server error"
  8764            schema:
  8765              $ref: "#/definitions/ErrorResponse"
  8766          503:
  8767            description: "node is not part of a swarm"
  8768            schema:
  8769              $ref: "#/definitions/ErrorResponse"
  8770        parameters:
  8771          - name: "filters"
  8772            in: "query"
  8773            type: "string"
  8774            description: |
  8775              A JSON encoded value of the filters (a `map[string][]string`) to process on the services list. Available filters:
  8776  
  8777              - `id=<service id>`
  8778              - `label=<service label>`
  8779              - `mode=["replicated"|"global"]`
  8780              - `name=<service name>`
  8781        tags: ["Service"]
  8782    /services/create:
  8783      post:
  8784        summary: "Create a service"
  8785        operationId: "ServiceCreate"
  8786        consumes:
  8787          - "application/json"
  8788        produces:
  8789          - "application/json"
  8790        responses:
  8791          201:
  8792            description: "no error"
  8793            schema:
  8794              type: "object"
  8795              properties:
  8796                ID:
  8797                  description: "The ID of the created service."
  8798                  type: "string"
  8799                Warning:
  8800                  description: "Optional warning message"
  8801                  type: "string"
  8802              example:
  8803                ID: "ak7w3gjqoa3kuz8xcpnyy0pvl"
  8804                Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found"
  8805          400:
  8806            description: "bad parameter"
  8807            schema:
  8808              $ref: "#/definitions/ErrorResponse"
  8809          403:
  8810            description: "network is not eligible for services"
  8811            schema:
  8812              $ref: "#/definitions/ErrorResponse"
  8813          409:
  8814            description: "name conflicts with an existing service"
  8815            schema:
  8816              $ref: "#/definitions/ErrorResponse"
  8817          500:
  8818            description: "server error"
  8819            schema:
  8820              $ref: "#/definitions/ErrorResponse"
  8821          503:
  8822            description: "node is not part of a swarm"
  8823            schema:
  8824              $ref: "#/definitions/ErrorResponse"
  8825        parameters:
  8826          - name: "body"
  8827            in: "body"
  8828            required: true
  8829            schema:
  8830              allOf:
  8831                - $ref: "#/definitions/ServiceSpec"
  8832                - type: "object"
  8833                  example:
  8834                    Name: "web"
  8835                    TaskTemplate:
  8836                      ContainerSpec:
  8837                        Image: "nginx:alpine"
  8838                        Mounts:
  8839                          -
  8840                            ReadOnly: true
  8841                            Source: "web-data"
  8842                            Target: "/usr/share/nginx/html"
  8843                            Type: "volume"
  8844                            VolumeOptions:
  8845                              DriverConfig: {}
  8846                              Labels:
  8847                                com.example.something: "something-value"
  8848                        Hosts: ["10.10.10.10 host1", "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2"]
  8849                        User: "33"
  8850                        DNSConfig:
  8851                          Nameservers: ["8.8.8.8"]
  8852                          Search: ["example.org"]
  8853                          Options: ["timeout:3"]
  8854                        Secrets:
  8855                          -
  8856                            File:
  8857                              Name: "www.example.org.key"
  8858                              UID: "33"
  8859                              GID: "33"
  8860                              Mode: 384
  8861                            SecretID: "fpjqlhnwb19zds35k8wn80lq9"
  8862                            SecretName: "example_org_domain_key"
  8863                      LogDriver:
  8864                        Name: "json-file"
  8865                        Options:
  8866                          max-file: "3"
  8867                          max-size: "10M"
  8868                      Placement: {}
  8869                      Resources:
  8870                        Limits:
  8871                          MemoryBytes: 104857600
  8872                        Reservations: {}
  8873                      RestartPolicy:
  8874                        Condition: "on-failure"
  8875                        Delay: 10000000000
  8876                        MaxAttempts: 10
  8877                    Mode:
  8878                      Replicated:
  8879                        Replicas: 4
  8880                    UpdateConfig:
  8881                      Parallelism: 2
  8882                      Delay: 1000000000
  8883                      FailureAction: "pause"
  8884                      Monitor: 15000000000
  8885                      MaxFailureRatio: 0.15
  8886                    RollbackConfig:
  8887                      Parallelism: 1
  8888                      Delay: 1000000000
  8889                      FailureAction: "pause"
  8890                      Monitor: 15000000000
  8891                      MaxFailureRatio: 0.15
  8892                    EndpointSpec:
  8893                      Ports:
  8894                        -
  8895                          Protocol: "tcp"
  8896                          PublishedPort: 8080
  8897                          TargetPort: 80
  8898                    Labels:
  8899                      foo: "bar"
  8900          - name: "X-Registry-Auth"
  8901            in: "header"
  8902            description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
  8903            type: "string"
  8904        tags: ["Service"]
  8905    /services/{id}:
  8906      get:
  8907        summary: "Inspect a service"
  8908        operationId: "ServiceInspect"
  8909        responses:
  8910          200:
  8911            description: "no error"
  8912            schema:
  8913              $ref: "#/definitions/Service"
  8914          404:
  8915            description: "no such service"
  8916            schema:
  8917              $ref: "#/definitions/ErrorResponse"
  8918          500:
  8919            description: "server error"
  8920            schema:
  8921              $ref: "#/definitions/ErrorResponse"
  8922          503:
  8923            description: "node is not part of a swarm"
  8924            schema:
  8925              $ref: "#/definitions/ErrorResponse"
  8926        parameters:
  8927          - name: "id"
  8928            in: "path"
  8929            description: "ID or name of service."
  8930            required: true
  8931            type: "string"
  8932          - name: "insertDefaults"
  8933            in: "query"
  8934            description: "Fill empty fields with default values."
  8935            type: "boolean"
  8936            default: false
  8937        tags: ["Service"]
  8938      delete:
  8939        summary: "Delete a service"
  8940        operationId: "ServiceDelete"
  8941        responses:
  8942          200:
  8943            description: "no error"
  8944          404:
  8945            description: "no such service"
  8946            schema:
  8947              $ref: "#/definitions/ErrorResponse"
  8948          500:
  8949            description: "server error"
  8950            schema:
  8951              $ref: "#/definitions/ErrorResponse"
  8952          503:
  8953            description: "node is not part of a swarm"
  8954            schema:
  8955              $ref: "#/definitions/ErrorResponse"
  8956        parameters:
  8957          - name: "id"
  8958            in: "path"
  8959            description: "ID or name of service."
  8960            required: true
  8961            type: "string"
  8962        tags: ["Service"]
  8963    /services/{id}/update:
  8964      post:
  8965        summary: "Update a service"
  8966        operationId: "ServiceUpdate"
  8967        consumes: ["application/json"]
  8968        produces: ["application/json"]
  8969        responses:
  8970          200:
  8971            description: "no error"
  8972            schema:
  8973              $ref: "#/definitions/ServiceUpdateResponse"
  8974          400:
  8975            description: "bad parameter"
  8976            schema:
  8977              $ref: "#/definitions/ErrorResponse"
  8978          404:
  8979            description: "no such service"
  8980            schema:
  8981              $ref: "#/definitions/ErrorResponse"
  8982          500:
  8983            description: "server error"
  8984            schema:
  8985              $ref: "#/definitions/ErrorResponse"
  8986          503:
  8987            description: "node is not part of a swarm"
  8988            schema:
  8989              $ref: "#/definitions/ErrorResponse"
  8990        parameters:
  8991          - name: "id"
  8992            in: "path"
  8993            description: "ID or name of service."
  8994            required: true
  8995            type: "string"
  8996          - name: "body"
  8997            in: "body"
  8998            required: true
  8999            schema:
  9000              allOf:
  9001                - $ref: "#/definitions/ServiceSpec"
  9002                - type: "object"
  9003                  example:
  9004                    Name: "top"
  9005                    TaskTemplate:
  9006                      ContainerSpec:
  9007                        Image: "busybox"
  9008                        Args:
  9009                          - "top"
  9010                      Resources:
  9011                        Limits: {}
  9012                        Reservations: {}
  9013                      RestartPolicy:
  9014                        Condition: "any"
  9015                        MaxAttempts: 0
  9016                      Placement: {}
  9017                      ForceUpdate: 0
  9018                    Mode:
  9019                      Replicated:
  9020                        Replicas: 1
  9021                    UpdateConfig:
  9022                      Parallelism: 2
  9023                      Delay: 1000000000
  9024                      FailureAction: "pause"
  9025                      Monitor: 15000000000
  9026                      MaxFailureRatio: 0.15
  9027                    RollbackConfig:
  9028                      Parallelism: 1
  9029                      Delay: 1000000000
  9030                      FailureAction: "pause"
  9031                      Monitor: 15000000000
  9032                      MaxFailureRatio: 0.15
  9033                    EndpointSpec:
  9034                      Mode: "vip"
  9035  
  9036          - name: "version"
  9037            in: "query"
  9038            description: "The version number of the service object being updated. This is required to avoid conflicting writes."
  9039            required: true
  9040            type: "integer"
  9041          - name: "registryAuthFrom"
  9042            in: "query"
  9043            type: "string"
  9044            description: "If the X-Registry-Auth header is not specified, this
  9045    parameter indicates where to find registry authorization credentials. The
  9046    valid values are `spec` and `previous-spec`."
  9047            default: "spec"
  9048          - name: "rollback"
  9049            in: "query"
  9050            type: "string"
  9051            description: "Set to this parameter to `previous` to cause a
  9052    server-side rollback to the previous service spec. The supplied spec will be
  9053    ignored in this case."
  9054          - name: "X-Registry-Auth"
  9055            in: "header"
  9056            description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
  9057            type: "string"
  9058  
  9059        tags: ["Service"]
  9060    /services/{id}/logs:
  9061      get:
  9062        summary: "Get service logs"
  9063        description: |
  9064          Get `stdout` and `stderr` logs from a service.
  9065  
  9066          **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers.
  9067        operationId: "ServiceLogs"
  9068        produces:
  9069          - "application/vnd.docker.raw-stream"
  9070          - "application/json"
  9071        responses:
  9072          101:
  9073            description: "logs returned as a stream"
  9074            schema:
  9075              type: "string"
  9076              format: "binary"
  9077          200:
  9078            description: "logs returned as a string in response body"
  9079            schema:
  9080              type: "string"
  9081          404:
  9082            description: "no such service"
  9083            schema:
  9084              $ref: "#/definitions/ErrorResponse"
  9085            examples:
  9086              application/json:
  9087                message: "No such service: c2ada9df5af8"
  9088          500:
  9089            description: "server error"
  9090            schema:
  9091              $ref: "#/definitions/ErrorResponse"
  9092          503:
  9093            description: "node is not part of a swarm"
  9094            schema:
  9095              $ref: "#/definitions/ErrorResponse"
  9096        parameters:
  9097          - name: "id"
  9098            in: "path"
  9099            required: true
  9100            description: "ID or name of the service"
  9101            type: "string"
  9102          - name: "details"
  9103            in: "query"
  9104            description: "Show service context and extra details provided to logs."
  9105            type: "boolean"
  9106            default: false
  9107          - name: "follow"
  9108            in: "query"
  9109            description: |
  9110              Return the logs as a stream.
  9111  
  9112              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).
  9113            type: "boolean"
  9114            default: false
  9115          - name: "stdout"
  9116            in: "query"
  9117            description: "Return logs from `stdout`"
  9118            type: "boolean"
  9119            default: false
  9120          - name: "stderr"
  9121            in: "query"
  9122            description: "Return logs from `stderr`"
  9123            type: "boolean"
  9124            default: false
  9125          - name: "since"
  9126            in: "query"
  9127            description: "Only return logs since this time, as a UNIX timestamp"
  9128            type: "integer"
  9129            default: 0
  9130          - name: "timestamps"
  9131            in: "query"
  9132            description: "Add timestamps to every log line"
  9133            type: "boolean"
  9134            default: false
  9135          - name: "tail"
  9136            in: "query"
  9137            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."
  9138            type: "string"
  9139            default: "all"
  9140        tags: ["Service"]
  9141    /tasks:
  9142      get:
  9143        summary: "List tasks"
  9144        operationId: "TaskList"
  9145        produces:
  9146          - "application/json"
  9147        responses:
  9148          200:
  9149            description: "no error"
  9150            schema:
  9151              type: "array"
  9152              items:
  9153                $ref: "#/definitions/Task"
  9154              example:
  9155                - ID: "0kzzo1i0y4jz6027t0k7aezc7"
  9156                  Version:
  9157                    Index: 71
  9158                  CreatedAt: "2016-06-07T21:07:31.171892745Z"
  9159                  UpdatedAt: "2016-06-07T21:07:31.376370513Z"
  9160                  Spec:
  9161                    ContainerSpec:
  9162                      Image: "redis"
  9163                    Resources:
  9164                      Limits: {}
  9165                      Reservations: {}
  9166                    RestartPolicy:
  9167                      Condition: "any"
  9168                      MaxAttempts: 0
  9169                    Placement: {}
  9170                  ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz"
  9171                  Slot: 1
  9172                  NodeID: "60gvrl6tm78dmak4yl7srz94v"
  9173                  Status:
  9174                    Timestamp: "2016-06-07T21:07:31.290032978Z"
  9175                    State: "running"
  9176                    Message: "started"
  9177                    ContainerStatus:
  9178                      ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035"
  9179                      PID: 677
  9180                  DesiredState: "running"
  9181                  NetworksAttachments:
  9182                    - Network:
  9183                        ID: "4qvuz4ko70xaltuqbt8956gd1"
  9184                        Version:
  9185                          Index: 18
  9186                        CreatedAt: "2016-06-07T20:31:11.912919752Z"
  9187                        UpdatedAt: "2016-06-07T21:07:29.955277358Z"
  9188                        Spec:
  9189                          Name: "ingress"
  9190                          Labels:
  9191                            com.docker.swarm.internal: "true"
  9192                          DriverConfiguration: {}
  9193                          IPAMOptions:
  9194                            Driver: {}
  9195                            Configs:
  9196                              - Subnet: "10.255.0.0/16"
  9197                                Gateway: "10.255.0.1"
  9198                        DriverState:
  9199                          Name: "overlay"
  9200                          Options:
  9201                            com.docker.network.driver.overlay.vxlanid_list: "256"
  9202                        IPAMOptions:
  9203                          Driver:
  9204                            Name: "default"
  9205                          Configs:
  9206                            - Subnet: "10.255.0.0/16"
  9207                              Gateway: "10.255.0.1"
  9208                      Addresses:
  9209                        - "10.255.0.10/16"
  9210                - ID: "1yljwbmlr8er2waf8orvqpwms"
  9211                  Version:
  9212                    Index: 30
  9213                  CreatedAt: "2016-06-07T21:07:30.019104782Z"
  9214                  UpdatedAt: "2016-06-07T21:07:30.231958098Z"
  9215                  Name: "hopeful_cori"
  9216                  Spec:
  9217                    ContainerSpec:
  9218                      Image: "redis"
  9219                    Resources:
  9220                      Limits: {}
  9221                      Reservations: {}
  9222                    RestartPolicy:
  9223                      Condition: "any"
  9224                      MaxAttempts: 0
  9225                    Placement: {}
  9226                  ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz"
  9227                  Slot: 1
  9228                  NodeID: "60gvrl6tm78dmak4yl7srz94v"
  9229                  Status:
  9230                    Timestamp: "2016-06-07T21:07:30.202183143Z"
  9231                    State: "shutdown"
  9232                    Message: "shutdown"
  9233                    ContainerStatus:
  9234                      ContainerID: "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213"
  9235                  DesiredState: "shutdown"
  9236                  NetworksAttachments:
  9237                    - Network:
  9238                        ID: "4qvuz4ko70xaltuqbt8956gd1"
  9239                        Version:
  9240                          Index: 18
  9241                        CreatedAt: "2016-06-07T20:31:11.912919752Z"
  9242                        UpdatedAt: "2016-06-07T21:07:29.955277358Z"
  9243                        Spec:
  9244                          Name: "ingress"
  9245                          Labels:
  9246                            com.docker.swarm.internal: "true"
  9247                          DriverConfiguration: {}
  9248                          IPAMOptions:
  9249                            Driver: {}
  9250                            Configs:
  9251                              - Subnet: "10.255.0.0/16"
  9252                                Gateway: "10.255.0.1"
  9253                        DriverState:
  9254                          Name: "overlay"
  9255                          Options:
  9256                            com.docker.network.driver.overlay.vxlanid_list: "256"
  9257                        IPAMOptions:
  9258                          Driver:
  9259                            Name: "default"
  9260                          Configs:
  9261                            - Subnet: "10.255.0.0/16"
  9262                              Gateway: "10.255.0.1"
  9263                      Addresses:
  9264                        - "10.255.0.5/16"
  9265          500:
  9266            description: "server error"
  9267            schema:
  9268              $ref: "#/definitions/ErrorResponse"
  9269          503:
  9270            description: "node is not part of a swarm"
  9271            schema:
  9272              $ref: "#/definitions/ErrorResponse"
  9273        parameters:
  9274          - name: "filters"
  9275            in: "query"
  9276            type: "string"
  9277            description: |
  9278              A JSON encoded value of the filters (a `map[string][]string`) to process on the tasks list. Available filters:
  9279  
  9280              - `desired-state=(running | shutdown | accepted)`
  9281              - `id=<task id>`
  9282              - `label=key` or `label="key=value"`
  9283              - `name=<task name>`
  9284              - `node=<node id or name>`
  9285              - `service=<service name>`
  9286        tags: ["Task"]
  9287    /tasks/{id}:
  9288      get:
  9289        summary: "Inspect a task"
  9290        operationId: "TaskInspect"
  9291        produces:
  9292          - "application/json"
  9293        responses:
  9294          200:
  9295            description: "no error"
  9296            schema:
  9297              $ref: "#/definitions/Task"
  9298          404:
  9299            description: "no such task"
  9300            schema:
  9301              $ref: "#/definitions/ErrorResponse"
  9302          500:
  9303            description: "server error"
  9304            schema:
  9305              $ref: "#/definitions/ErrorResponse"
  9306          503:
  9307            description: "node is not part of a swarm"
  9308            schema:
  9309              $ref: "#/definitions/ErrorResponse"
  9310        parameters:
  9311          - name: "id"
  9312            in: "path"
  9313            description: "ID of the task"
  9314            required: true
  9315            type: "string"
  9316        tags: ["Task"]
  9317    /tasks/{id}/logs:
  9318      get:
  9319        summary: "Get task logs"
  9320        description: |
  9321          Get `stdout` and `stderr` logs from a task.
  9322  
  9323          **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers.
  9324        operationId: "TaskLogs"
  9325        produces:
  9326          - "application/vnd.docker.raw-stream"
  9327          - "application/json"
  9328        responses:
  9329          101:
  9330            description: "logs returned as a stream"
  9331            schema:
  9332              type: "string"
  9333              format: "binary"
  9334          200:
  9335            description: "logs returned as a string in response body"
  9336            schema:
  9337              type: "string"
  9338          404:
  9339            description: "no such task"
  9340            schema:
  9341              $ref: "#/definitions/ErrorResponse"
  9342            examples:
  9343              application/json:
  9344                message: "No such task: c2ada9df5af8"
  9345          500:
  9346            description: "server error"
  9347            schema:
  9348              $ref: "#/definitions/ErrorResponse"
  9349          503:
  9350            description: "node is not part of a swarm"
  9351            schema:
  9352              $ref: "#/definitions/ErrorResponse"
  9353        parameters:
  9354          - name: "id"
  9355            in: "path"
  9356            required: true
  9357            description: "ID of the task"
  9358            type: "string"
  9359          - name: "details"
  9360            in: "query"
  9361            description: "Show task context and extra details provided to logs."
  9362            type: "boolean"
  9363            default: false
  9364          - name: "follow"
  9365            in: "query"
  9366            description: |
  9367              Return the logs as a stream.
  9368  
  9369              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).
  9370            type: "boolean"
  9371            default: false
  9372          - name: "stdout"
  9373            in: "query"
  9374            description: "Return logs from `stdout`"
  9375            type: "boolean"
  9376            default: false
  9377          - name: "stderr"
  9378            in: "query"
  9379            description: "Return logs from `stderr`"
  9380            type: "boolean"
  9381            default: false
  9382          - name: "since"
  9383            in: "query"
  9384            description: "Only return logs since this time, as a UNIX timestamp"
  9385            type: "integer"
  9386            default: 0
  9387          - name: "timestamps"
  9388            in: "query"
  9389            description: "Add timestamps to every log line"
  9390            type: "boolean"
  9391            default: false
  9392          - name: "tail"
  9393            in: "query"
  9394            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."
  9395            type: "string"
  9396            default: "all"
  9397    /secrets:
  9398      get:
  9399        summary: "List secrets"
  9400        operationId: "SecretList"
  9401        produces:
  9402          - "application/json"
  9403        responses:
  9404          200:
  9405            description: "no error"
  9406            schema:
  9407              type: "array"
  9408              items:
  9409                $ref: "#/definitions/Secret"
  9410              example:
  9411                - ID: "blt1owaxmitz71s9v5zh81zun"
  9412                  Version:
  9413                    Index: 85
  9414                  CreatedAt: "2017-07-20T13:55:28.678958722Z"
  9415                  UpdatedAt: "2017-07-20T13:55:28.678958722Z"
  9416                  Spec:
  9417                    Name: "mysql-passwd"
  9418                    Labels:
  9419                      some.label: "some.value"
  9420                    Driver:
  9421                      Name: "secret-bucket"
  9422                      Options:
  9423                        OptionA: "value for driver option A"
  9424                        OptionB: "value for driver option B"
  9425                - ID: "ktnbjxoalbkvbvedmg1urrz8h"
  9426                  Version:
  9427                    Index: 11
  9428                  CreatedAt: "2016-11-05T01:20:17.327670065Z"
  9429                  UpdatedAt: "2016-11-05T01:20:17.327670065Z"
  9430                  Spec:
  9431                    Name: "app-dev.crt"
  9432                    Labels:
  9433                      foo: "bar"
  9434          500:
  9435            description: "server error"
  9436            schema:
  9437              $ref: "#/definitions/ErrorResponse"
  9438          503:
  9439            description: "node is not part of a swarm"
  9440            schema:
  9441              $ref: "#/definitions/ErrorResponse"
  9442        parameters:
  9443          - name: "filters"
  9444            in: "query"
  9445            type: "string"
  9446            description: |
  9447              A JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Available filters:
  9448  
  9449              - `id=<secret id>`
  9450              - `label=<key> or label=<key>=value`
  9451              - `name=<secret name>`
  9452              - `names=<secret name>`
  9453        tags: ["Secret"]
  9454    /secrets/create:
  9455      post:
  9456        summary: "Create a secret"
  9457        operationId: "SecretCreate"
  9458        consumes:
  9459          - "application/json"
  9460        produces:
  9461          - "application/json"
  9462        responses:
  9463          201:
  9464            description: "no error"
  9465            schema:
  9466              type: "object"
  9467              properties:
  9468                ID:
  9469                  description: "The ID of the created secret."
  9470                  type: "string"
  9471              example:
  9472                ID: "ktnbjxoalbkvbvedmg1urrz8h"
  9473          409:
  9474            description: "name conflicts with an existing object"
  9475            schema:
  9476              $ref: "#/definitions/ErrorResponse"
  9477          500:
  9478            description: "server error"
  9479            schema:
  9480              $ref: "#/definitions/ErrorResponse"
  9481          503:
  9482            description: "node is not part of a swarm"
  9483            schema:
  9484              $ref: "#/definitions/ErrorResponse"
  9485        parameters:
  9486          - name: "body"
  9487            in: "body"
  9488            schema:
  9489              allOf:
  9490                - $ref: "#/definitions/SecretSpec"
  9491                - type: "object"
  9492                  example:
  9493                    Name: "app-key.crt"
  9494                    Labels:
  9495                      foo: "bar"
  9496                    Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg=="
  9497                    Driver:
  9498                      Name: "secret-bucket"
  9499                      Options:
  9500                        OptionA: "value for driver option A"
  9501                        OptionB: "value for driver option B"
  9502        tags: ["Secret"]
  9503    /secrets/{id}:
  9504      get:
  9505        summary: "Inspect a secret"
  9506        operationId: "SecretInspect"
  9507        produces:
  9508          - "application/json"
  9509        responses:
  9510          200:
  9511            description: "no error"
  9512            schema:
  9513              $ref: "#/definitions/Secret"
  9514            examples:
  9515              application/json:
  9516                ID: "ktnbjxoalbkvbvedmg1urrz8h"
  9517                Version:
  9518                  Index: 11
  9519                CreatedAt: "2016-11-05T01:20:17.327670065Z"
  9520                UpdatedAt: "2016-11-05T01:20:17.327670065Z"
  9521                Spec:
  9522                  Name: "app-dev.crt"
  9523                  Labels:
  9524                    foo: "bar"
  9525                  Driver:
  9526                    Name: "secret-bucket"
  9527                    Options:
  9528                      OptionA: "value for driver option A"
  9529                      OptionB: "value for driver option B"
  9530  
  9531          404:
  9532            description: "secret not found"
  9533            schema:
  9534              $ref: "#/definitions/ErrorResponse"
  9535          500:
  9536            description: "server error"
  9537            schema:
  9538              $ref: "#/definitions/ErrorResponse"
  9539          503:
  9540            description: "node is not part of a swarm"
  9541            schema:
  9542              $ref: "#/definitions/ErrorResponse"
  9543        parameters:
  9544          - name: "id"
  9545            in: "path"
  9546            required: true
  9547            type: "string"
  9548            description: "ID of the secret"
  9549        tags: ["Secret"]
  9550      delete:
  9551        summary: "Delete a secret"
  9552        operationId: "SecretDelete"
  9553        produces:
  9554          - "application/json"
  9555        responses:
  9556          204:
  9557            description: "no error"
  9558          404:
  9559            description: "secret not found"
  9560            schema:
  9561              $ref: "#/definitions/ErrorResponse"
  9562          500:
  9563            description: "server error"
  9564            schema:
  9565              $ref: "#/definitions/ErrorResponse"
  9566          503:
  9567            description: "node is not part of a swarm"
  9568            schema:
  9569              $ref: "#/definitions/ErrorResponse"
  9570        parameters:
  9571          - name: "id"
  9572            in: "path"
  9573            required: true
  9574            type: "string"
  9575            description: "ID of the secret"
  9576        tags: ["Secret"]
  9577    /secrets/{id}/update:
  9578      post:
  9579        summary: "Update a Secret"
  9580        operationId: "SecretUpdate"
  9581        responses:
  9582          200:
  9583            description: "no error"
  9584          400:
  9585            description: "bad parameter"
  9586            schema:
  9587              $ref: "#/definitions/ErrorResponse"
  9588          404:
  9589            description: "no such secret"
  9590            schema:
  9591              $ref: "#/definitions/ErrorResponse"
  9592          500:
  9593            description: "server error"
  9594            schema:
  9595              $ref: "#/definitions/ErrorResponse"
  9596          503:
  9597            description: "node is not part of a swarm"
  9598            schema:
  9599              $ref: "#/definitions/ErrorResponse"
  9600        parameters:
  9601          - name: "id"
  9602            in: "path"
  9603            description: "The ID or name of the secret"
  9604            type: "string"
  9605            required: true
  9606          - name: "body"
  9607            in: "body"
  9608            schema:
  9609              $ref: "#/definitions/SecretSpec"
  9610            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."
  9611          - name: "version"
  9612            in: "query"
  9613            description: "The version number of the secret object being updated. This is required to avoid conflicting writes."
  9614            type: "integer"
  9615            format: "int64"
  9616            required: true
  9617        tags: ["Secret"]
  9618    /configs:
  9619      get:
  9620        summary: "List configs"
  9621        operationId: "ConfigList"
  9622        produces:
  9623          - "application/json"
  9624        responses:
  9625          200:
  9626            description: "no error"
  9627            schema:
  9628              type: "array"
  9629              items:
  9630                $ref: "#/definitions/Config"
  9631              example:
  9632                - ID: "ktnbjxoalbkvbvedmg1urrz8h"
  9633                  Version:
  9634                    Index: 11
  9635                  CreatedAt: "2016-11-05T01:20:17.327670065Z"
  9636                  UpdatedAt: "2016-11-05T01:20:17.327670065Z"
  9637                  Spec:
  9638                    Name: "server.conf"
  9639          500:
  9640            description: "server error"
  9641            schema:
  9642              $ref: "#/definitions/ErrorResponse"
  9643          503:
  9644            description: "node is not part of a swarm"
  9645            schema:
  9646              $ref: "#/definitions/ErrorResponse"
  9647        parameters:
  9648          - name: "filters"
  9649            in: "query"
  9650            type: "string"
  9651            description: |
  9652              A JSON encoded value of the filters (a `map[string][]string`) to process on the configs list. Available filters:
  9653  
  9654              - `id=<config id>`
  9655              - `label=<key> or label=<key>=value`
  9656              - `name=<config name>`
  9657              - `names=<config name>`
  9658        tags: ["Config"]
  9659    /configs/create:
  9660      post:
  9661        summary: "Create a config"
  9662        operationId: "ConfigCreate"
  9663        consumes:
  9664          - "application/json"
  9665        produces:
  9666          - "application/json"
  9667        responses:
  9668          201:
  9669            description: "no error"
  9670            schema:
  9671              type: "object"
  9672              properties:
  9673                ID:
  9674                  description: "The ID of the created config."
  9675                  type: "string"
  9676              example:
  9677                ID: "ktnbjxoalbkvbvedmg1urrz8h"
  9678          409:
  9679            description: "name conflicts with an existing object"
  9680            schema:
  9681              $ref: "#/definitions/ErrorResponse"
  9682          500:
  9683            description: "server error"
  9684            schema:
  9685              $ref: "#/definitions/ErrorResponse"
  9686          503:
  9687            description: "node is not part of a swarm"
  9688            schema:
  9689              $ref: "#/definitions/ErrorResponse"
  9690        parameters:
  9691          - name: "body"
  9692            in: "body"
  9693            schema:
  9694              allOf:
  9695                - $ref: "#/definitions/ConfigSpec"
  9696                - type: "object"
  9697                  example:
  9698                    Name: "server.conf"
  9699                    Labels:
  9700                      foo: "bar"
  9701                    Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg=="
  9702        tags: ["Config"]
  9703    /configs/{id}:
  9704      get:
  9705        summary: "Inspect a config"
  9706        operationId: "ConfigInspect"
  9707        produces:
  9708          - "application/json"
  9709        responses:
  9710          200:
  9711            description: "no error"
  9712            schema:
  9713              $ref: "#/definitions/Config"
  9714            examples:
  9715              application/json:
  9716                ID: "ktnbjxoalbkvbvedmg1urrz8h"
  9717                Version:
  9718                  Index: 11
  9719                CreatedAt: "2016-11-05T01:20:17.327670065Z"
  9720                UpdatedAt: "2016-11-05T01:20:17.327670065Z"
  9721                Spec:
  9722                  Name: "app-dev.crt"
  9723          404:
  9724            description: "config not found"
  9725            schema:
  9726              $ref: "#/definitions/ErrorResponse"
  9727          500:
  9728            description: "server error"
  9729            schema:
  9730              $ref: "#/definitions/ErrorResponse"
  9731          503:
  9732            description: "node is not part of a swarm"
  9733            schema:
  9734              $ref: "#/definitions/ErrorResponse"
  9735        parameters:
  9736          - name: "id"
  9737            in: "path"
  9738            required: true
  9739            type: "string"
  9740            description: "ID of the config"
  9741        tags: ["Config"]
  9742      delete:
  9743        summary: "Delete a config"
  9744        operationId: "ConfigDelete"
  9745        produces:
  9746          - "application/json"
  9747        responses:
  9748          204:
  9749            description: "no error"
  9750          404:
  9751            description: "config not found"
  9752            schema:
  9753              $ref: "#/definitions/ErrorResponse"
  9754          500:
  9755            description: "server error"
  9756            schema:
  9757              $ref: "#/definitions/ErrorResponse"
  9758          503:
  9759            description: "node is not part of a swarm"
  9760            schema:
  9761              $ref: "#/definitions/ErrorResponse"
  9762        parameters:
  9763          - name: "id"
  9764            in: "path"
  9765            required: true
  9766            type: "string"
  9767            description: "ID of the config"
  9768        tags: ["Config"]
  9769    /configs/{id}/update:
  9770      post:
  9771        summary: "Update a Config"
  9772        operationId: "ConfigUpdate"
  9773        responses:
  9774          200:
  9775            description: "no error"
  9776          400:
  9777            description: "bad parameter"
  9778            schema:
  9779              $ref: "#/definitions/ErrorResponse"
  9780          404:
  9781            description: "no such config"
  9782            schema:
  9783              $ref: "#/definitions/ErrorResponse"
  9784          500:
  9785            description: "server error"
  9786            schema:
  9787              $ref: "#/definitions/ErrorResponse"
  9788          503:
  9789            description: "node is not part of a swarm"
  9790            schema:
  9791              $ref: "#/definitions/ErrorResponse"
  9792        parameters:
  9793          - name: "id"
  9794            in: "path"
  9795            description: "The ID or name of the config"
  9796            type: "string"
  9797            required: true
  9798          - name: "body"
  9799            in: "body"
  9800            schema:
  9801              $ref: "#/definitions/ConfigSpec"
  9802            description: "The spec of the config to update. Currently, only the Labels field can be updated. All other fields must remain unchanged from the [ConfigInspect endpoint](#operation/ConfigInspect) response values."
  9803          - name: "version"
  9804            in: "query"
  9805            description: "The version number of the config object being updated. This is required to avoid conflicting writes."
  9806            type: "integer"
  9807            format: "int64"
  9808            required: true
  9809        tags: ["Config"]
  9810    /distribution/{name}/json:
  9811      get:
  9812        summary: "Get image information from the registry"
  9813        description: "Return image digest and platform information by contacting the registry."
  9814        operationId: "DistributionInspect"
  9815        produces:
  9816          - "application/json"
  9817        responses:
  9818          200:
  9819            description: "descriptor and platform information"
  9820            schema:
  9821              type: "object"
  9822              x-go-name: DistributionInspect
  9823              required: [Descriptor, Platforms]
  9824              properties:
  9825                Descriptor:
  9826                  type: "object"
  9827                  description: "A descriptor struct containing digest, media type, and size"
  9828                  properties:
  9829                    MediaType:
  9830                      type: "string"
  9831                    Size:
  9832                      type: "integer"
  9833                      format: "int64"
  9834                    Digest:
  9835                      type: "string"
  9836                    URLs:
  9837                      type: "array"
  9838                      items:
  9839                        type: "string"
  9840                Platforms:
  9841                  type: "array"
  9842                  description: "An array containing all platforms supported by the image"
  9843                  items:
  9844                    type: "object"
  9845                    properties:
  9846                      Architecture:
  9847                        type: "string"
  9848                      OS:
  9849                        type: "string"
  9850                      OSVersion:
  9851                        type: "string"
  9852                      OSFeatures:
  9853                        type: "array"
  9854                        items:
  9855                          type: "string"
  9856                      Variant:
  9857                        type: "string"
  9858                      Features:
  9859                        type: "array"
  9860                        items:
  9861                          type: "string"
  9862            examples:
  9863              application/json:
  9864                Descriptor:
  9865                  MediaType: "application/vnd.docker.distribution.manifest.v2+json"
  9866                  Digest: "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96"
  9867                  Size: 3987495
  9868                  URLs:
  9869                    - ""
  9870                Platforms:
  9871                  - Architecture: "amd64"
  9872                    OS: "linux"
  9873                    OSVersion: ""
  9874                    OSFeatures:
  9875                      - ""
  9876                    Variant: ""
  9877                    Features:
  9878                      - ""
  9879          401:
  9880            description: "Failed authentication or no image found"
  9881            schema:
  9882              $ref: "#/definitions/ErrorResponse"
  9883            examples:
  9884              application/json:
  9885                message: "No such image: someimage (tag: latest)"
  9886          500:
  9887            description: "Server error"
  9888            schema:
  9889              $ref: "#/definitions/ErrorResponse"
  9890        parameters:
  9891          - name: "name"
  9892            in: "path"
  9893            description: "Image name or id"
  9894            type: "string"
  9895            required: true
  9896        tags: ["Distribution"]
  9897    /session:
  9898      post:
  9899        summary: "Initialize interactive session"
  9900        description: |
  9901          Start a new interactive session with a server. Session allows server to call back to the client for advanced capabilities.
  9902  
  9903          > **Note**: This endpoint is *experimental* and only available if the daemon is started with experimental
  9904          > features enabled. The specifications for this endpoint may still change in a future version of the API.
  9905  
  9906          ### Hijacking
  9907  
  9908          This endpoint hijacks the HTTP connection to HTTP2 transport that allows the client to expose gPRC services on that connection.
  9909  
  9910          For example, the client sends this request to upgrade the connection:
  9911  
  9912          ```
  9913          POST /session HTTP/1.1
  9914          Upgrade: h2c
  9915          Connection: Upgrade
  9916          ```
  9917  
  9918          The Docker daemon will respond with a `101 UPGRADED` response follow with the raw stream:
  9919  
  9920          ```
  9921          HTTP/1.1 101 UPGRADED
  9922          Connection: Upgrade
  9923          Upgrade: h2c
  9924          ```
  9925        operationId: "Session"
  9926        produces:
  9927          - "application/vnd.docker.raw-stream"
  9928        responses:
  9929          101:
  9930            description: "no error, hijacking successful"
  9931          400:
  9932            description: "bad parameter"
  9933            schema:
  9934              $ref: "#/definitions/ErrorResponse"
  9935          500:
  9936            description: "server error"
  9937            schema:
  9938              $ref: "#/definitions/ErrorResponse"
  9939        tags: ["Session (experimental)"]