plugin.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  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 when the plugin is running. False when 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. // documentation
  34. // Required: true
  35. Documentation string `json:"Documentation"`
  36. // entrypoint
  37. // Required: true
  38. Entrypoint []string `json:"Entrypoint"`
  39. // env
  40. // Required: true
  41. Env []PluginEnv `json:"Env"`
  42. // interface
  43. // Required: true
  44. Interface PluginConfigInterface `json:"Interface"`
  45. // ipc host
  46. // Required: true
  47. IpcHost bool `json:"IpcHost"`
  48. // linux
  49. // Required: true
  50. Linux PluginConfigLinux `json:"Linux"`
  51. // mounts
  52. // Required: true
  53. Mounts []PluginMount `json:"Mounts"`
  54. // network
  55. // Required: true
  56. Network PluginConfigNetwork `json:"Network"`
  57. // pid host
  58. // Required: true
  59. PidHost bool `json:"PidHost"`
  60. // propagated mount
  61. // Required: true
  62. PropagatedMount string `json:"PropagatedMount"`
  63. // user
  64. User PluginConfigUser `json:"User,omitempty"`
  65. // work dir
  66. // Required: true
  67. WorkDir string `json:"WorkDir"`
  68. // rootfs
  69. Rootfs *PluginConfigRootfs `json:"rootfs,omitempty"`
  70. }
  71. // PluginConfigArgs plugin config args
  72. // swagger:model PluginConfigArgs
  73. type PluginConfigArgs struct {
  74. // description
  75. // Required: true
  76. Description string `json:"Description"`
  77. // name
  78. // Required: true
  79. Name string `json:"Name"`
  80. // settable
  81. // Required: true
  82. Settable []string `json:"Settable"`
  83. // value
  84. // Required: true
  85. Value []string `json:"Value"`
  86. }
  87. // PluginConfigInterface The interface between Docker and the plugin
  88. // swagger:model PluginConfigInterface
  89. type PluginConfigInterface struct {
  90. // socket
  91. // Required: true
  92. Socket string `json:"Socket"`
  93. // types
  94. // Required: true
  95. Types []PluginInterfaceType `json:"Types"`
  96. }
  97. // PluginConfigLinux plugin config linux
  98. // swagger:model PluginConfigLinux
  99. type PluginConfigLinux struct {
  100. // allow all devices
  101. // Required: true
  102. AllowAllDevices bool `json:"AllowAllDevices"`
  103. // capabilities
  104. // Required: true
  105. Capabilities []string `json:"Capabilities"`
  106. // devices
  107. // Required: true
  108. Devices []PluginDevice `json:"Devices"`
  109. }
  110. // PluginConfigNetwork plugin config network
  111. // swagger:model PluginConfigNetwork
  112. type PluginConfigNetwork struct {
  113. // type
  114. // Required: true
  115. Type string `json:"Type"`
  116. }
  117. // PluginConfigRootfs plugin config rootfs
  118. // swagger:model PluginConfigRootfs
  119. type PluginConfigRootfs struct {
  120. // diff ids
  121. DiffIds []string `json:"diff_ids"`
  122. // type
  123. Type string `json:"type,omitempty"`
  124. }
  125. // PluginConfigUser plugin config user
  126. // swagger:model PluginConfigUser
  127. type PluginConfigUser struct {
  128. // g ID
  129. GID uint32 `json:"GID,omitempty"`
  130. // UID
  131. UID uint32 `json:"UID,omitempty"`
  132. }
  133. // PluginSettings Settings that can be modified by users.
  134. // swagger:model PluginSettings
  135. type PluginSettings struct {
  136. // args
  137. // Required: true
  138. Args []string `json:"Args"`
  139. // devices
  140. // Required: true
  141. Devices []PluginDevice `json:"Devices"`
  142. // env
  143. // Required: true
  144. Env []string `json:"Env"`
  145. // mounts
  146. // Required: true
  147. Mounts []PluginMount `json:"Mounts"`
  148. }