plugin.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  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. // settings
  19. // Required: true
  20. Settings PluginSettings `json:"Settings"`
  21. // tag
  22. // Required: true
  23. Tag string `json:"Tag"`
  24. }
  25. // PluginConfig The config of a plugin.
  26. // swagger:model PluginConfig
  27. type PluginConfig struct {
  28. // args
  29. // Required: true
  30. Args PluginConfigArgs `json:"Args"`
  31. // description
  32. // Required: true
  33. Description string `json:"Description"`
  34. // documentation
  35. // Required: true
  36. Documentation string `json:"Documentation"`
  37. // entrypoint
  38. // Required: true
  39. Entrypoint []string `json:"Entrypoint"`
  40. // env
  41. // Required: true
  42. Env []PluginEnv `json:"Env"`
  43. // interface
  44. // Required: true
  45. Interface PluginConfigInterface `json:"Interface"`
  46. // linux
  47. // Required: true
  48. Linux PluginConfigLinux `json:"Linux"`
  49. // mounts
  50. // Required: true
  51. Mounts []PluginMount `json:"Mounts"`
  52. // network
  53. // Required: true
  54. Network PluginConfigNetwork `json:"Network"`
  55. // propagated mount
  56. // Required: true
  57. PropagatedMount string `json:"PropagatedMount"`
  58. // user
  59. User PluginConfigUser `json:"User,omitempty"`
  60. // workdir
  61. // Required: true
  62. Workdir string `json:"Workdir"`
  63. }
  64. // PluginConfigArgs plugin config args
  65. // swagger:model PluginConfigArgs
  66. type PluginConfigArgs struct {
  67. // description
  68. // Required: true
  69. Description string `json:"Description"`
  70. // name
  71. // Required: true
  72. Name string `json:"Name"`
  73. // settable
  74. // Required: true
  75. Settable []string `json:"Settable"`
  76. // value
  77. // Required: true
  78. Value []string `json:"Value"`
  79. }
  80. // PluginConfigInterface The interface between Docker and the plugin
  81. // swagger:model PluginConfigInterface
  82. type PluginConfigInterface struct {
  83. // socket
  84. // Required: true
  85. Socket string `json:"Socket"`
  86. // types
  87. // Required: true
  88. Types []PluginInterfaceType `json:"Types"`
  89. }
  90. // PluginConfigLinux plugin config linux
  91. // swagger:model PluginConfigLinux
  92. type PluginConfigLinux struct {
  93. // capabilities
  94. // Required: true
  95. Capabilities []string `json:"Capabilities"`
  96. // device creation
  97. // Required: true
  98. DeviceCreation bool `json:"DeviceCreation"`
  99. // devices
  100. // Required: true
  101. Devices []PluginDevice `json:"Devices"`
  102. }
  103. // PluginConfigNetwork plugin config network
  104. // swagger:model PluginConfigNetwork
  105. type PluginConfigNetwork struct {
  106. // type
  107. // Required: true
  108. Type string `json:"Type"`
  109. }
  110. // PluginConfigUser plugin config user
  111. // swagger:model PluginConfigUser
  112. type PluginConfigUser struct {
  113. // g ID
  114. GID uint32 `json:"GID,omitempty"`
  115. // UID
  116. UID uint32 `json:"UID,omitempty"`
  117. }
  118. // PluginSettings Settings that can be modified by users.
  119. // swagger:model PluginSettings
  120. type PluginSettings struct {
  121. // args
  122. // Required: true
  123. Args []string `json:"Args"`
  124. // devices
  125. // Required: true
  126. Devices []PluginDevice `json:"Devices"`
  127. // env
  128. // Required: true
  129. Env []string `json:"Env"`
  130. // mounts
  131. // Required: true
  132. Mounts []PluginMount `json:"Mounts"`
  133. }