plugin.go 3.5 KB

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