2016-09-06 14:18:12 -04:00
|
|
|
package types
|
|
|
|
|
2016-10-05 16:25:09 -04:00
|
|
|
// This file was generated by the swagger tool.
|
|
|
|
// Editing this file might prove futile when you re-run the swagger generate command
|
|
|
|
|
2016-11-15 14:45:20 -05:00
|
|
|
// Plugin A plugin for the Engine API
|
2016-10-05 16:25:09 -04:00
|
|
|
// swagger:model Plugin
|
|
|
|
type Plugin struct {
|
|
|
|
|
|
|
|
// config
|
|
|
|
// Required: true
|
|
|
|
Config PluginConfig `json:"Config"`
|
|
|
|
|
2017-07-25 12:24:17 -04:00
|
|
|
// True if the plugin is running. False if the plugin is not running, only installed.
|
2016-10-05 16:25:09 -04:00
|
|
|
// Required: true
|
|
|
|
Enabled bool `json:"Enabled"`
|
|
|
|
|
|
|
|
// Id
|
|
|
|
ID string `json:"Id,omitempty"`
|
|
|
|
|
|
|
|
// name
|
|
|
|
// Required: true
|
|
|
|
Name string `json:"Name"`
|
|
|
|
|
2017-01-28 19:54:32 -05:00
|
|
|
// plugin remote reference used to push/pull the plugin
|
|
|
|
PluginReference string `json:"PluginReference,omitempty"`
|
|
|
|
|
2016-11-07 21:51:47 -05:00
|
|
|
// settings
|
|
|
|
// Required: true
|
|
|
|
Settings PluginSettings `json:"Settings"`
|
2016-09-06 14:18:12 -04:00
|
|
|
}
|
|
|
|
|
2016-11-07 21:51:47 -05:00
|
|
|
// PluginConfig The config of a plugin.
|
2016-10-05 16:25:09 -04:00
|
|
|
// swagger:model PluginConfig
|
2016-09-06 14:18:12 -04:00
|
|
|
type PluginConfig struct {
|
|
|
|
|
2016-10-05 16:25:09 -04:00
|
|
|
// args
|
|
|
|
// Required: true
|
2016-11-07 21:51:47 -05:00
|
|
|
Args PluginConfigArgs `json:"Args"`
|
2016-09-06 14:18:12 -04:00
|
|
|
|
2016-10-05 16:25:09 -04:00
|
|
|
// description
|
|
|
|
// Required: true
|
|
|
|
Description string `json:"Description"`
|
2016-09-06 14:18:12 -04:00
|
|
|
|
Embed DockerVersion in plugin config.
Embedding DockerVersion in plugin config when the plugin is created,
enables users to do a docker plugin inspect and know which version
the plugin was built on. This is helpful in cases where users are
running a new plugin on older docker releases and confused at
unexpected behavior.
By embedding DockerVersion in the config, we claim that there's no
guarantee that if the plugin config's DockerVersion is greater that
the version of the docker engine the plugin is executed against, the
plugin will work as expected.
For example, lets say:
- in 17.03, a plugin was released as johndoe/foo:v1
- in 17.05, the plugin uses the new ipchost config setting and author
publishes johndoe/foo:v2
In this case, johndoe/foo:v2 was built on 17.05 using ipchost, but is
running on docker-engine version 17.03. Since 17.05 > 17.03, there's
no guarantee that the plugin will work as expected. Ofcourse, if the
plugin did not use newly added config settings (ipchost in this case)
in 17.05, it would work fine in 17.03.
Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
2017-03-21 17:07:41 -04:00
|
|
|
// Docker Version used to create the plugin
|
|
|
|
DockerVersion string `json:"DockerVersion,omitempty"`
|
|
|
|
|
2016-10-05 16:25:09 -04:00
|
|
|
// documentation
|
|
|
|
// Required: true
|
|
|
|
Documentation string `json:"Documentation"`
|
2016-09-06 14:18:12 -04:00
|
|
|
|
2016-10-05 16:25:09 -04:00
|
|
|
// entrypoint
|
|
|
|
// Required: true
|
|
|
|
Entrypoint []string `json:"Entrypoint"`
|
|
|
|
|
|
|
|
// env
|
|
|
|
// Required: true
|
|
|
|
Env []PluginEnv `json:"Env"`
|
|
|
|
|
|
|
|
// interface
|
|
|
|
// Required: true
|
2016-11-07 21:51:47 -05:00
|
|
|
Interface PluginConfigInterface `json:"Interface"`
|
2016-09-06 14:18:12 -04:00
|
|
|
|
2017-03-07 21:26:09 -05:00
|
|
|
// ipc host
|
|
|
|
// Required: true
|
|
|
|
IpcHost bool `json:"IpcHost"`
|
|
|
|
|
2016-09-09 12:27:53 -04:00
|
|
|
// linux
|
|
|
|
// Required: true
|
|
|
|
Linux PluginConfigLinux `json:"Linux"`
|
|
|
|
|
2016-10-05 16:25:09 -04:00
|
|
|
// mounts
|
|
|
|
// Required: true
|
|
|
|
Mounts []PluginMount `json:"Mounts"`
|
|
|
|
|
|
|
|
// network
|
|
|
|
// Required: true
|
2016-11-07 21:51:47 -05:00
|
|
|
Network PluginConfigNetwork `json:"Network"`
|
2016-10-05 16:25:09 -04:00
|
|
|
|
2017-03-10 17:17:24 -05:00
|
|
|
// pid host
|
|
|
|
// Required: true
|
|
|
|
PidHost bool `json:"PidHost"`
|
|
|
|
|
2016-11-22 14:21:34 -05:00
|
|
|
// propagated mount
|
|
|
|
// Required: true
|
|
|
|
PropagatedMount string `json:"PropagatedMount"`
|
|
|
|
|
2016-10-05 16:25:09 -04:00
|
|
|
// user
|
2016-11-07 21:51:47 -05:00
|
|
|
User PluginConfigUser `json:"User,omitempty"`
|
2016-10-05 16:25:09 -04:00
|
|
|
|
2016-12-12 18:05:53 -05:00
|
|
|
// work dir
|
2016-10-05 16:25:09 -04:00
|
|
|
// Required: true
|
2016-12-12 18:05:53 -05:00
|
|
|
WorkDir string `json:"WorkDir"`
|
|
|
|
|
|
|
|
// rootfs
|
|
|
|
Rootfs *PluginConfigRootfs `json:"rootfs,omitempty"`
|
2016-09-06 14:18:12 -04:00
|
|
|
}
|
|
|
|
|
2016-11-07 21:51:47 -05:00
|
|
|
// PluginConfigArgs plugin config args
|
|
|
|
// swagger:model PluginConfigArgs
|
|
|
|
type PluginConfigArgs struct {
|
2016-10-05 16:25:09 -04:00
|
|
|
|
|
|
|
// description
|
|
|
|
// Required: true
|
|
|
|
Description string `json:"Description"`
|
|
|
|
|
|
|
|
// name
|
|
|
|
// Required: true
|
|
|
|
Name string `json:"Name"`
|
|
|
|
|
|
|
|
// settable
|
|
|
|
// Required: true
|
|
|
|
Settable []string `json:"Settable"`
|
|
|
|
|
|
|
|
// value
|
|
|
|
// Required: true
|
|
|
|
Value []string `json:"Value"`
|
2016-09-06 14:18:12 -04:00
|
|
|
}
|
|
|
|
|
2016-11-07 21:51:47 -05:00
|
|
|
// PluginConfigInterface The interface between Docker and the plugin
|
|
|
|
// swagger:model PluginConfigInterface
|
|
|
|
type PluginConfigInterface struct {
|
2016-10-05 16:25:09 -04:00
|
|
|
|
2018-04-24 21:45:00 -04:00
|
|
|
// Protocol to use for clients connecting to the plugin.
|
|
|
|
ProtocolScheme string `json:"ProtocolScheme,omitempty"`
|
|
|
|
|
2016-10-05 16:25:09 -04:00
|
|
|
// socket
|
|
|
|
// Required: true
|
|
|
|
Socket string `json:"Socket"`
|
|
|
|
|
|
|
|
// types
|
|
|
|
// Required: true
|
|
|
|
Types []PluginInterfaceType `json:"Types"`
|
2016-09-06 14:18:12 -04:00
|
|
|
}
|
|
|
|
|
2016-09-09 12:27:53 -04:00
|
|
|
// PluginConfigLinux plugin config linux
|
|
|
|
// swagger:model PluginConfigLinux
|
|
|
|
type PluginConfigLinux struct {
|
|
|
|
|
2017-01-10 14:00:57 -05:00
|
|
|
// allow all devices
|
2016-09-09 12:27:53 -04:00
|
|
|
// Required: true
|
2017-01-10 14:00:57 -05:00
|
|
|
AllowAllDevices bool `json:"AllowAllDevices"`
|
2016-11-16 19:18:43 -05:00
|
|
|
|
2017-01-10 14:00:57 -05:00
|
|
|
// capabilities
|
2016-11-16 19:18:43 -05:00
|
|
|
// Required: true
|
2017-01-10 14:00:57 -05:00
|
|
|
Capabilities []string `json:"Capabilities"`
|
2016-11-16 19:18:43 -05:00
|
|
|
|
|
|
|
// devices
|
|
|
|
// Required: true
|
|
|
|
Devices []PluginDevice `json:"Devices"`
|
2016-09-09 12:27:53 -04:00
|
|
|
}
|
|
|
|
|
2016-11-07 21:51:47 -05:00
|
|
|
// PluginConfigNetwork plugin config network
|
|
|
|
// swagger:model PluginConfigNetwork
|
|
|
|
type PluginConfigNetwork struct {
|
2016-10-05 16:25:09 -04:00
|
|
|
|
|
|
|
// type
|
|
|
|
// Required: true
|
|
|
|
Type string `json:"Type"`
|
2016-09-06 14:18:12 -04:00
|
|
|
}
|
|
|
|
|
2016-12-12 18:05:53 -05:00
|
|
|
// PluginConfigRootfs plugin config rootfs
|
|
|
|
// swagger:model PluginConfigRootfs
|
|
|
|
type PluginConfigRootfs struct {
|
|
|
|
|
|
|
|
// diff ids
|
|
|
|
DiffIds []string `json:"diff_ids"`
|
|
|
|
|
|
|
|
// type
|
|
|
|
Type string `json:"type,omitempty"`
|
|
|
|
}
|
|
|
|
|
2016-11-07 21:51:47 -05:00
|
|
|
// PluginConfigUser plugin config user
|
|
|
|
// swagger:model PluginConfigUser
|
|
|
|
type PluginConfigUser struct {
|
2016-10-05 16:25:09 -04:00
|
|
|
|
|
|
|
// g ID
|
|
|
|
GID uint32 `json:"GID,omitempty"`
|
|
|
|
|
|
|
|
// UID
|
|
|
|
UID uint32 `json:"UID,omitempty"`
|
|
|
|
}
|
2016-11-07 21:51:47 -05:00
|
|
|
|
|
|
|
// PluginSettings Settings that can be modified by users.
|
|
|
|
// swagger:model PluginSettings
|
|
|
|
type PluginSettings struct {
|
|
|
|
|
|
|
|
// args
|
|
|
|
// Required: true
|
|
|
|
Args []string `json:"Args"`
|
|
|
|
|
|
|
|
// devices
|
|
|
|
// Required: true
|
|
|
|
Devices []PluginDevice `json:"Devices"`
|
|
|
|
|
|
|
|
// env
|
|
|
|
// Required: true
|
|
|
|
Env []string `json:"Env"`
|
|
|
|
|
|
|
|
// mounts
|
|
|
|
// Required: true
|
|
|
|
Mounts []PluginMount `json:"Mounts"`
|
|
|
|
}
|