1package types
2
3// This file was generated by the swagger tool.
4// Editing this file might prove futile when you re-run the swagger generate command
5
6// Plugin A plugin for the Engine API
7// swagger:model Plugin
8type Plugin struct {
9
10	// config
11	// Required: true
12	Config PluginConfig `json:"Config"`
13
14	// True if the plugin is running. False if the plugin is not running, only installed.
15	// Required: true
16	Enabled bool `json:"Enabled"`
17
18	// Id
19	ID string `json:"Id,omitempty"`
20
21	// name
22	// Required: true
23	Name string `json:"Name"`
24
25	// plugin remote reference used to push/pull the plugin
26	PluginReference string `json:"PluginReference,omitempty"`
27
28	// settings
29	// Required: true
30	Settings PluginSettings `json:"Settings"`
31}
32
33// PluginConfig The config of a plugin.
34// swagger:model PluginConfig
35type PluginConfig struct {
36
37	// args
38	// Required: true
39	Args PluginConfigArgs `json:"Args"`
40
41	// description
42	// Required: true
43	Description string `json:"Description"`
44
45	// Docker Version used to create the plugin
46	DockerVersion string `json:"DockerVersion,omitempty"`
47
48	// documentation
49	// Required: true
50	Documentation string `json:"Documentation"`
51
52	// entrypoint
53	// Required: true
54	Entrypoint []string `json:"Entrypoint"`
55
56	// env
57	// Required: true
58	Env []PluginEnv `json:"Env"`
59
60	// interface
61	// Required: true
62	Interface PluginConfigInterface `json:"Interface"`
63
64	// ipc host
65	// Required: true
66	IpcHost bool `json:"IpcHost"`
67
68	// linux
69	// Required: true
70	Linux PluginConfigLinux `json:"Linux"`
71
72	// mounts
73	// Required: true
74	Mounts []PluginMount `json:"Mounts"`
75
76	// network
77	// Required: true
78	Network PluginConfigNetwork `json:"Network"`
79
80	// pid host
81	// Required: true
82	PidHost bool `json:"PidHost"`
83
84	// propagated mount
85	// Required: true
86	PropagatedMount string `json:"PropagatedMount"`
87
88	// user
89	User PluginConfigUser `json:"User,omitempty"`
90
91	// work dir
92	// Required: true
93	WorkDir string `json:"WorkDir"`
94
95	// rootfs
96	Rootfs *PluginConfigRootfs `json:"rootfs,omitempty"`
97}
98
99// PluginConfigArgs plugin config args
100// swagger:model PluginConfigArgs
101type PluginConfigArgs struct {
102
103	// description
104	// Required: true
105	Description string `json:"Description"`
106
107	// name
108	// Required: true
109	Name string `json:"Name"`
110
111	// settable
112	// Required: true
113	Settable []string `json:"Settable"`
114
115	// value
116	// Required: true
117	Value []string `json:"Value"`
118}
119
120// PluginConfigInterface The interface between Docker and the plugin
121// swagger:model PluginConfigInterface
122type PluginConfigInterface struct {
123
124	// Protocol to use for clients connecting to the plugin.
125	ProtocolScheme string `json:"ProtocolScheme,omitempty"`
126
127	// socket
128	// Required: true
129	Socket string `json:"Socket"`
130
131	// types
132	// Required: true
133	Types []PluginInterfaceType `json:"Types"`
134}
135
136// PluginConfigLinux plugin config linux
137// swagger:model PluginConfigLinux
138type PluginConfigLinux struct {
139
140	// allow all devices
141	// Required: true
142	AllowAllDevices bool `json:"AllowAllDevices"`
143
144	// capabilities
145	// Required: true
146	Capabilities []string `json:"Capabilities"`
147
148	// devices
149	// Required: true
150	Devices []PluginDevice `json:"Devices"`
151}
152
153// PluginConfigNetwork plugin config network
154// swagger:model PluginConfigNetwork
155type PluginConfigNetwork struct {
156
157	// type
158	// Required: true
159	Type string `json:"Type"`
160}
161
162// PluginConfigRootfs plugin config rootfs
163// swagger:model PluginConfigRootfs
164type PluginConfigRootfs struct {
165
166	// diff ids
167	DiffIds []string `json:"diff_ids"`
168
169	// type
170	Type string `json:"type,omitempty"`
171}
172
173// PluginConfigUser plugin config user
174// swagger:model PluginConfigUser
175type PluginConfigUser struct {
176
177	// g ID
178	GID uint32 `json:"GID,omitempty"`
179
180	// UID
181	UID uint32 `json:"UID,omitempty"`
182}
183
184// PluginSettings Settings that can be modified by users.
185// swagger:model PluginSettings
186type PluginSettings struct {
187
188	// args
189	// Required: true
190	Args []string `json:"Args"`
191
192	// devices
193	// Required: true
194	Devices []PluginDevice `json:"Devices"`
195
196	// env
197	// Required: true
198	Env []string `json:"Env"`
199
200	// mounts
201	// Required: true
202	Mounts []PluginMount `json:"Mounts"`
203}
204