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