plugin.go 4.0 KB

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