plugin.go 3.7 KB

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