docker-engine-ruby 0.7.2 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +10 -1
  4. data/lib/docker_engine_ruby/client.rb +10 -2
  5. data/lib/docker_engine_ruby/internal/transport/base_client.rb +3 -0
  6. data/lib/docker_engine_ruby/internal/transport/pooled_net_requester.rb +10 -2
  7. data/lib/docker_engine_ruby/internal/util.rb +53 -7
  8. data/lib/docker_engine_ruby/models/config_delete_params.rb +7 -1
  9. data/lib/docker_engine_ruby/models/config_inspect_params.rb +7 -1
  10. data/lib/docker_engine_ruby/models/config_update_params.rb +7 -1
  11. data/lib/docker_engine_ruby/models/container_archive_params.rb +7 -1
  12. data/lib/docker_engine_ruby/models/container_attach_params.rb +7 -1
  13. data/lib/docker_engine_ruby/models/container_changes_params.rb +7 -1
  14. data/lib/docker_engine_ruby/models/container_delete_params.rb +7 -1
  15. data/lib/docker_engine_ruby/models/container_exec_params.rb +7 -1
  16. data/lib/docker_engine_ruby/models/container_export_params.rb +7 -1
  17. data/lib/docker_engine_ruby/models/container_inspect_params.rb +7 -1
  18. data/lib/docker_engine_ruby/models/container_kill_params.rb +7 -1
  19. data/lib/docker_engine_ruby/models/container_logs_params.rb +7 -1
  20. data/lib/docker_engine_ruby/models/container_pause_params.rb +7 -1
  21. data/lib/docker_engine_ruby/models/container_rename_params.rb +7 -1
  22. data/lib/docker_engine_ruby/models/container_resize_params.rb +7 -1
  23. data/lib/docker_engine_ruby/models/container_restart_params.rb +7 -1
  24. data/lib/docker_engine_ruby/models/container_start_params.rb +7 -1
  25. data/lib/docker_engine_ruby/models/container_stats_params.rb +7 -1
  26. data/lib/docker_engine_ruby/models/container_stop_params.rb +7 -1
  27. data/lib/docker_engine_ruby/models/container_top_params.rb +7 -1
  28. data/lib/docker_engine_ruby/models/container_unpause_params.rb +7 -1
  29. data/lib/docker_engine_ruby/models/container_update_params.rb +8 -1
  30. data/lib/docker_engine_ruby/models/container_wait_params.rb +7 -1
  31. data/lib/docker_engine_ruby/models/distribution_inspect_params.rb +7 -1
  32. data/lib/docker_engine_ruby/models/exec_inspect_params.rb +7 -1
  33. data/lib/docker_engine_ruby/models/exec_resize_params.rb +7 -1
  34. data/lib/docker_engine_ruby/models/exec_start_params.rb +7 -1
  35. data/lib/docker_engine_ruby/models/image_delete_params.rb +7 -1
  36. data/lib/docker_engine_ruby/models/image_get_params.rb +7 -1
  37. data/lib/docker_engine_ruby/models/image_history_params.rb +7 -1
  38. data/lib/docker_engine_ruby/models/image_inspect_params.rb +7 -1
  39. data/lib/docker_engine_ruby/models/image_push_params.rb +7 -1
  40. data/lib/docker_engine_ruby/models/image_tag_params.rb +7 -1
  41. data/lib/docker_engine_ruby/models/network_connect_params.rb +7 -1
  42. data/lib/docker_engine_ruby/models/network_delete_params.rb +7 -1
  43. data/lib/docker_engine_ruby/models/network_disconnect_params.rb +7 -1
  44. data/lib/docker_engine_ruby/models/network_inspect_params.rb +7 -1
  45. data/lib/docker_engine_ruby/models/node_delete_params.rb +7 -1
  46. data/lib/docker_engine_ruby/models/node_inspect_params.rb +7 -1
  47. data/lib/docker_engine_ruby/models/node_update_params.rb +7 -1
  48. data/lib/docker_engine_ruby/models/plugin_delete_params.rb +7 -1
  49. data/lib/docker_engine_ruby/models/plugin_disable_params.rb +7 -1
  50. data/lib/docker_engine_ruby/models/plugin_enable_params.rb +7 -1
  51. data/lib/docker_engine_ruby/models/plugin_inspect_params.rb +7 -1
  52. data/lib/docker_engine_ruby/models/plugin_push_params.rb +7 -1
  53. data/lib/docker_engine_ruby/models/plugin_set_params.rb +7 -1
  54. data/lib/docker_engine_ruby/models/plugin_upgrade_params.rb +7 -1
  55. data/lib/docker_engine_ruby/models/secret_delete_params.rb +7 -1
  56. data/lib/docker_engine_ruby/models/secret_inspect_params.rb +7 -1
  57. data/lib/docker_engine_ruby/models/secret_update_params.rb +7 -1
  58. data/lib/docker_engine_ruby/models/service_delete_params.rb +7 -1
  59. data/lib/docker_engine_ruby/models/service_inspect_params.rb +7 -1
  60. data/lib/docker_engine_ruby/models/service_logs_params.rb +7 -1
  61. data/lib/docker_engine_ruby/models/service_update_params.rb +7 -1
  62. data/lib/docker_engine_ruby/models/task_inspect_params.rb +7 -1
  63. data/lib/docker_engine_ruby/models/task_logs_params.rb +7 -1
  64. data/lib/docker_engine_ruby/models/volume_delete_params.rb +7 -1
  65. data/lib/docker_engine_ruby/models/volume_inspect_params.rb +7 -1
  66. data/lib/docker_engine_ruby/models/volume_update_params.rb +8 -1
  67. data/lib/docker_engine_ruby/resources/configs.rb +4 -2
  68. data/lib/docker_engine_ruby/resources/containers.rb +34 -17
  69. data/lib/docker_engine_ruby/resources/exec.rb +2 -1
  70. data/lib/docker_engine_ruby/resources/images.rb +32 -17
  71. data/lib/docker_engine_ruby/resources/networks.rb +6 -3
  72. data/lib/docker_engine_ruby/resources/nodes.rb +6 -3
  73. data/lib/docker_engine_ruby/resources/plugins.rb +16 -8
  74. data/lib/docker_engine_ruby/resources/secrets.rb +4 -2
  75. data/lib/docker_engine_ruby/resources/services.rb +8 -4
  76. data/lib/docker_engine_ruby/resources/swarm.rb +4 -6
  77. data/lib/docker_engine_ruby/resources/system.rb +4 -2
  78. data/lib/docker_engine_ruby/resources/tasks.rb +4 -2
  79. data/lib/docker_engine_ruby/resources/volumes.rb +9 -5
  80. data/lib/docker_engine_ruby/version.rb +1 -1
  81. data/rbi/docker_engine_ruby/client.rbi +6 -2
  82. data/rbi/docker_engine_ruby/internal/transport/base_client.rbi +2 -0
  83. data/rbi/docker_engine_ruby/internal/transport/pooled_net_requester.rbi +4 -1
  84. data/rbi/docker_engine_ruby/internal/util.rbi +28 -0
  85. data/rbi/docker_engine_ruby/models/config_delete_params.rbi +8 -2
  86. data/rbi/docker_engine_ruby/models/config_inspect_params.rbi +8 -2
  87. data/rbi/docker_engine_ruby/models/config_update_params.rbi +6 -1
  88. data/rbi/docker_engine_ruby/models/container_archive_params.rbi +10 -2
  89. data/rbi/docker_engine_ruby/models/container_attach_params.rbi +6 -0
  90. data/rbi/docker_engine_ruby/models/container_changes_params.rbi +8 -2
  91. data/rbi/docker_engine_ruby/models/container_delete_params.rbi +6 -1
  92. data/rbi/docker_engine_ruby/models/container_exec_params.rbi +6 -0
  93. data/rbi/docker_engine_ruby/models/container_export_params.rbi +8 -2
  94. data/rbi/docker_engine_ruby/models/container_inspect_params.rbi +6 -1
  95. data/rbi/docker_engine_ruby/models/container_kill_params.rbi +10 -2
  96. data/rbi/docker_engine_ruby/models/container_logs_params.rbi +6 -0
  97. data/rbi/docker_engine_ruby/models/container_pause_params.rbi +8 -2
  98. data/rbi/docker_engine_ruby/models/container_rename_params.rbi +10 -2
  99. data/rbi/docker_engine_ruby/models/container_resize_params.rbi +6 -1
  100. data/rbi/docker_engine_ruby/models/container_restart_params.rbi +6 -1
  101. data/rbi/docker_engine_ruby/models/container_start_params.rbi +6 -1
  102. data/rbi/docker_engine_ruby/models/container_stats_params.rbi +6 -1
  103. data/rbi/docker_engine_ruby/models/container_stop_params.rbi +6 -1
  104. data/rbi/docker_engine_ruby/models/container_top_params.rbi +10 -2
  105. data/rbi/docker_engine_ruby/models/container_unpause_params.rbi +8 -2
  106. data/rbi/docker_engine_ruby/models/container_update_params.rbi +6 -0
  107. data/rbi/docker_engine_ruby/models/container_wait_params.rbi +6 -1
  108. data/rbi/docker_engine_ruby/models/distribution_inspect_params.rbi +8 -2
  109. data/rbi/docker_engine_ruby/models/exec_inspect_params.rbi +8 -2
  110. data/rbi/docker_engine_ruby/models/exec_resize_params.rbi +6 -1
  111. data/rbi/docker_engine_ruby/models/exec_start_params.rbi +6 -0
  112. data/rbi/docker_engine_ruby/models/image_delete_params.rbi +6 -0
  113. data/rbi/docker_engine_ruby/models/image_get_params.rbi +6 -1
  114. data/rbi/docker_engine_ruby/models/image_history_params.rbi +6 -1
  115. data/rbi/docker_engine_ruby/models/image_inspect_params.rbi +6 -1
  116. data/rbi/docker_engine_ruby/models/image_push_params.rbi +6 -0
  117. data/rbi/docker_engine_ruby/models/image_tag_params.rbi +6 -1
  118. data/rbi/docker_engine_ruby/models/network_connect_params.rbi +8 -2
  119. data/rbi/docker_engine_ruby/models/network_delete_params.rbi +8 -2
  120. data/rbi/docker_engine_ruby/models/network_disconnect_params.rbi +8 -2
  121. data/rbi/docker_engine_ruby/models/network_inspect_params.rbi +6 -1
  122. data/rbi/docker_engine_ruby/models/node_delete_params.rbi +6 -1
  123. data/rbi/docker_engine_ruby/models/node_inspect_params.rbi +8 -2
  124. data/rbi/docker_engine_ruby/models/node_update_params.rbi +6 -1
  125. data/rbi/docker_engine_ruby/models/plugin_delete_params.rbi +6 -1
  126. data/rbi/docker_engine_ruby/models/plugin_disable_params.rbi +6 -1
  127. data/rbi/docker_engine_ruby/models/plugin_enable_params.rbi +6 -1
  128. data/rbi/docker_engine_ruby/models/plugin_inspect_params.rbi +8 -2
  129. data/rbi/docker_engine_ruby/models/plugin_push_params.rbi +8 -2
  130. data/rbi/docker_engine_ruby/models/plugin_set_params.rbi +6 -1
  131. data/rbi/docker_engine_ruby/models/plugin_upgrade_params.rbi +12 -1
  132. data/rbi/docker_engine_ruby/models/secret_delete_params.rbi +8 -2
  133. data/rbi/docker_engine_ruby/models/secret_inspect_params.rbi +8 -2
  134. data/rbi/docker_engine_ruby/models/secret_update_params.rbi +6 -1
  135. data/rbi/docker_engine_ruby/models/service_delete_params.rbi +8 -2
  136. data/rbi/docker_engine_ruby/models/service_inspect_params.rbi +6 -1
  137. data/rbi/docker_engine_ruby/models/service_logs_params.rbi +6 -0
  138. data/rbi/docker_engine_ruby/models/service_update_params.rbi +6 -0
  139. data/rbi/docker_engine_ruby/models/task_inspect_params.rbi +8 -2
  140. data/rbi/docker_engine_ruby/models/task_logs_params.rbi +6 -0
  141. data/rbi/docker_engine_ruby/models/volume_delete_params.rbi +6 -1
  142. data/rbi/docker_engine_ruby/models/volume_inspect_params.rbi +8 -2
  143. data/rbi/docker_engine_ruby/models/volume_update_params.rbi +6 -0
  144. data/sig/docker_engine_ruby/client.rbs +4 -1
  145. data/sig/docker_engine_ruby/internal/transport/base_client.rbs +1 -0
  146. data/sig/docker_engine_ruby/internal/transport/pooled_net_requester.rbs +2 -0
  147. data/sig/docker_engine_ruby/internal/util.rbs +14 -0
  148. data/sig/docker_engine_ruby/models/config_delete_params.rbs +11 -3
  149. data/sig/docker_engine_ruby/models/config_inspect_params.rbs +11 -3
  150. data/sig/docker_engine_ruby/models/config_update_params.rbs +5 -1
  151. data/sig/docker_engine_ruby/models/container_archive_params.rbs +6 -1
  152. data/sig/docker_engine_ruby/models/container_attach_params.rbs +5 -0
  153. data/sig/docker_engine_ruby/models/container_changes_params.rbs +11 -3
  154. data/sig/docker_engine_ruby/models/container_delete_params.rbs +5 -1
  155. data/sig/docker_engine_ruby/models/container_exec_params.rbs +5 -0
  156. data/sig/docker_engine_ruby/models/container_export_params.rbs +11 -3
  157. data/sig/docker_engine_ruby/models/container_inspect_params.rbs +6 -1
  158. data/sig/docker_engine_ruby/models/container_kill_params.rbs +6 -1
  159. data/sig/docker_engine_ruby/models/container_logs_params.rbs +5 -0
  160. data/sig/docker_engine_ruby/models/container_pause_params.rbs +11 -3
  161. data/sig/docker_engine_ruby/models/container_rename_params.rbs +6 -1
  162. data/sig/docker_engine_ruby/models/container_resize_params.rbs +5 -1
  163. data/sig/docker_engine_ruby/models/container_restart_params.rbs +5 -1
  164. data/sig/docker_engine_ruby/models/container_start_params.rbs +5 -1
  165. data/sig/docker_engine_ruby/models/container_stats_params.rbs +5 -1
  166. data/sig/docker_engine_ruby/models/container_stop_params.rbs +5 -1
  167. data/sig/docker_engine_ruby/models/container_top_params.rbs +6 -1
  168. data/sig/docker_engine_ruby/models/container_unpause_params.rbs +11 -3
  169. data/sig/docker_engine_ruby/models/container_update_params.rbs +5 -0
  170. data/sig/docker_engine_ruby/models/container_wait_params.rbs +8 -1
  171. data/sig/docker_engine_ruby/models/distribution_inspect_params.rbs +11 -3
  172. data/sig/docker_engine_ruby/models/exec_inspect_params.rbs +11 -3
  173. data/sig/docker_engine_ruby/models/exec_resize_params.rbs +5 -1
  174. data/sig/docker_engine_ruby/models/exec_start_params.rbs +5 -1
  175. data/sig/docker_engine_ruby/models/image_delete_params.rbs +5 -1
  176. data/sig/docker_engine_ruby/models/image_get_params.rbs +5 -1
  177. data/sig/docker_engine_ruby/models/image_history_params.rbs +5 -1
  178. data/sig/docker_engine_ruby/models/image_inspect_params.rbs +6 -1
  179. data/sig/docker_engine_ruby/models/image_push_params.rbs +5 -1
  180. data/sig/docker_engine_ruby/models/image_tag_params.rbs +5 -1
  181. data/sig/docker_engine_ruby/models/network_connect_params.rbs +13 -3
  182. data/sig/docker_engine_ruby/models/network_delete_params.rbs +11 -3
  183. data/sig/docker_engine_ruby/models/network_disconnect_params.rbs +13 -3
  184. data/sig/docker_engine_ruby/models/network_inspect_params.rbs +5 -1
  185. data/sig/docker_engine_ruby/models/node_delete_params.rbs +6 -1
  186. data/sig/docker_engine_ruby/models/node_inspect_params.rbs +11 -3
  187. data/sig/docker_engine_ruby/models/node_update_params.rbs +5 -1
  188. data/sig/docker_engine_ruby/models/plugin_delete_params.rbs +6 -1
  189. data/sig/docker_engine_ruby/models/plugin_disable_params.rbs +6 -1
  190. data/sig/docker_engine_ruby/models/plugin_enable_params.rbs +5 -1
  191. data/sig/docker_engine_ruby/models/plugin_inspect_params.rbs +11 -3
  192. data/sig/docker_engine_ruby/models/plugin_push_params.rbs +11 -3
  193. data/sig/docker_engine_ruby/models/plugin_set_params.rbs +5 -1
  194. data/sig/docker_engine_ruby/models/plugin_upgrade_params.rbs +5 -0
  195. data/sig/docker_engine_ruby/models/secret_delete_params.rbs +11 -3
  196. data/sig/docker_engine_ruby/models/secret_inspect_params.rbs +11 -3
  197. data/sig/docker_engine_ruby/models/secret_update_params.rbs +5 -1
  198. data/sig/docker_engine_ruby/models/service_delete_params.rbs +11 -3
  199. data/sig/docker_engine_ruby/models/service_inspect_params.rbs +5 -1
  200. data/sig/docker_engine_ruby/models/service_logs_params.rbs +5 -0
  201. data/sig/docker_engine_ruby/models/service_update_params.rbs +5 -0
  202. data/sig/docker_engine_ruby/models/task_inspect_params.rbs +11 -3
  203. data/sig/docker_engine_ruby/models/task_logs_params.rbs +5 -0
  204. data/sig/docker_engine_ruby/models/volume_delete_params.rbs +6 -1
  205. data/sig/docker_engine_ruby/models/volume_inspect_params.rbs +11 -3
  206. data/sig/docker_engine_ruby/models/volume_update_params.rbs +9 -1
  207. metadata +2 -2
@@ -20,10 +20,11 @@ module DockerEngineRuby
20
20
  # @see DockerEngineRuby::Models::NodeUpdateParams
21
21
  def update(id, params)
22
22
  parsed, options = DockerEngineRuby::NodeUpdateParams.dump_request(params)
23
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed.except(:spec))
23
24
  @client.request(
24
25
  method: :post,
25
26
  path: ["nodes/%1$s/update", id],
26
- query: parsed.except(:spec),
27
+ query: query,
27
28
  body: parsed[:spec],
28
29
  model: NilClass,
29
30
  options: options
@@ -42,10 +43,11 @@ module DockerEngineRuby
42
43
  # @see DockerEngineRuby::Models::NodeListParams
43
44
  def list(params = {})
44
45
  parsed, options = DockerEngineRuby::NodeListParams.dump_request(params)
46
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
45
47
  @client.request(
46
48
  method: :get,
47
49
  path: "nodes",
48
- query: parsed,
50
+ query: query,
49
51
  model: DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Node],
50
52
  options: options
51
53
  )
@@ -64,10 +66,11 @@ module DockerEngineRuby
64
66
  # @see DockerEngineRuby::Models::NodeDeleteParams
65
67
  def delete(id, params = {})
66
68
  parsed, options = DockerEngineRuby::NodeDeleteParams.dump_request(params)
69
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
67
70
  @client.request(
68
71
  method: :delete,
69
72
  path: ["nodes/%1$s", id],
70
- query: parsed,
73
+ query: query,
71
74
  model: NilClass,
72
75
  options: options
73
76
  )
@@ -18,10 +18,11 @@ module DockerEngineRuby
18
18
  # @see DockerEngineRuby::Models::PluginCreateParams
19
19
  def create(params)
20
20
  parsed, options = DockerEngineRuby::PluginCreateParams.dump_request(params)
21
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed.except(:body))
21
22
  @client.request(
22
23
  method: :post,
23
24
  path: "plugins/create",
24
- query: parsed.except(:body),
25
+ query: query,
25
26
  headers: {"content-type" => "application/octet-stream"},
26
27
  body: parsed[:body],
27
28
  model: NilClass,
@@ -41,10 +42,11 @@ module DockerEngineRuby
41
42
  # @see DockerEngineRuby::Models::PluginListParams
42
43
  def list(params = {})
43
44
  parsed, options = DockerEngineRuby::PluginListParams.dump_request(params)
45
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
44
46
  @client.request(
45
47
  method: :get,
46
48
  path: "plugins",
47
- query: parsed,
49
+ query: query,
48
50
  model: DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Plugin],
49
51
  options: options
50
52
  )
@@ -63,10 +65,11 @@ module DockerEngineRuby
63
65
  # @see DockerEngineRuby::Models::PluginDeleteParams
64
66
  def delete(name, params = {})
65
67
  parsed, options = DockerEngineRuby::PluginDeleteParams.dump_request(params)
68
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
66
69
  @client.request(
67
70
  method: :delete,
68
71
  path: ["plugins/%1$s", name],
69
- query: parsed,
72
+ query: query,
70
73
  model: DockerEngineRuby::Plugin,
71
74
  options: options
72
75
  )
@@ -85,10 +88,11 @@ module DockerEngineRuby
85
88
  # @see DockerEngineRuby::Models::PluginDisableParams
86
89
  def disable(name, params = {})
87
90
  parsed, options = DockerEngineRuby::PluginDisableParams.dump_request(params)
91
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
88
92
  @client.request(
89
93
  method: :post,
90
94
  path: ["plugins/%1$s/disable", name],
91
- query: parsed,
95
+ query: query,
92
96
  model: NilClass,
93
97
  options: options
94
98
  )
@@ -107,10 +111,11 @@ module DockerEngineRuby
107
111
  # @see DockerEngineRuby::Models::PluginEnableParams
108
112
  def enable(name, params = {})
109
113
  parsed, options = DockerEngineRuby::PluginEnableParams.dump_request(params)
114
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
110
115
  @client.request(
111
116
  method: :post,
112
117
  path: ["plugins/%1$s/enable", name],
113
- query: parsed,
118
+ query: query,
114
119
  model: NilClass,
115
120
  options: options
116
121
  )
@@ -147,10 +152,11 @@ module DockerEngineRuby
147
152
  # @see DockerEngineRuby::Models::PluginPrivilegesParams
148
153
  def privileges(params)
149
154
  parsed, options = DockerEngineRuby::PluginPrivilegesParams.dump_request(params)
155
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
150
156
  @client.request(
151
157
  method: :get,
152
158
  path: "plugins/privileges",
153
- query: parsed,
159
+ query: query,
154
160
  model: DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Privilege],
155
161
  options: options
156
162
  )
@@ -174,8 +180,9 @@ module DockerEngineRuby
174
180
  #
175
181
  # @see DockerEngineRuby::Models::PluginPullParams
176
182
  def pull(params)
177
- parsed, options = DockerEngineRuby::PluginPullParams.dump_request(params)
178
183
  query_params = [:remote, :name]
184
+ parsed, options = DockerEngineRuby::PluginPullParams.dump_request(params)
185
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
179
186
  @client.request(
180
187
  method: :post,
181
188
  path: "plugins/pull",
@@ -246,8 +253,9 @@ module DockerEngineRuby
246
253
  #
247
254
  # @see DockerEngineRuby::Models::PluginUpgradeParams
248
255
  def upgrade(name, params)
249
- parsed, options = DockerEngineRuby::PluginUpgradeParams.dump_request(params)
250
256
  query_params = [:remote]
257
+ parsed, options = DockerEngineRuby::PluginUpgradeParams.dump_request(params)
258
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
251
259
  @client.request(
252
260
  method: :post,
253
261
  path: ["plugins/%1$s/upgrade", name],
@@ -41,10 +41,11 @@ module DockerEngineRuby
41
41
  # @see DockerEngineRuby::Models::SecretUpdateParams
42
42
  def update(id, params)
43
43
  parsed, options = DockerEngineRuby::SecretUpdateParams.dump_request(params)
44
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed.except(:spec))
44
45
  @client.request(
45
46
  method: :post,
46
47
  path: ["secrets/%1$s/update", id],
47
- query: parsed.except(:spec),
48
+ query: query,
48
49
  body: parsed[:spec],
49
50
  model: NilClass,
50
51
  options: options
@@ -63,10 +64,11 @@ module DockerEngineRuby
63
64
  # @see DockerEngineRuby::Models::SecretListParams
64
65
  def list(params = {})
65
66
  parsed, options = DockerEngineRuby::SecretListParams.dump_request(params)
67
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
66
68
  @client.request(
67
69
  method: :get,
68
70
  path: "secrets",
69
- query: parsed,
71
+ query: query,
70
72
  model: DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Secret],
71
73
  options: options
72
74
  )
@@ -50,8 +50,9 @@ module DockerEngineRuby
50
50
  #
51
51
  # @see DockerEngineRuby::Models::ServiceUpdateParams
52
52
  def update(id, params)
53
- parsed, options = DockerEngineRuby::ServiceUpdateParams.dump_request(params)
54
53
  query_params = [:version, :registry_auth_from, :rollback]
54
+ parsed, options = DockerEngineRuby::ServiceUpdateParams.dump_request(params)
55
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
55
56
  @client.request(
56
57
  method: :post,
57
58
  path: ["services/%1$s/update", id],
@@ -76,10 +77,11 @@ module DockerEngineRuby
76
77
  # @see DockerEngineRuby::Models::ServiceListParams
77
78
  def list(params = {})
78
79
  parsed, options = DockerEngineRuby::ServiceListParams.dump_request(params)
80
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
79
81
  @client.request(
80
82
  method: :get,
81
83
  path: "services",
82
- query: parsed,
84
+ query: query,
83
85
  model: DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Service],
84
86
  options: options
85
87
  )
@@ -117,10 +119,11 @@ module DockerEngineRuby
117
119
  # @see DockerEngineRuby::Models::ServiceInspectParams
118
120
  def inspect_(id, params = {})
119
121
  parsed, options = DockerEngineRuby::ServiceInspectParams.dump_request(params)
122
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
120
123
  @client.request(
121
124
  method: :get,
122
125
  path: ["services/%1$s", id],
123
- query: parsed.transform_keys(insert_defaults: "insertDefaults"),
126
+ query: query.transform_keys(insert_defaults: "insertDefaults"),
124
127
  model: DockerEngineRuby::Service,
125
128
  options: options
126
129
  )
@@ -145,10 +148,11 @@ module DockerEngineRuby
145
148
  # @see DockerEngineRuby::Models::ServiceLogsParams
146
149
  def logs(id, params = {})
147
150
  parsed, options = DockerEngineRuby::ServiceLogsParams.dump_request(params)
151
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
148
152
  @client.request(
149
153
  method: :get,
150
154
  path: ["services/%1$s/logs", id],
151
- query: parsed,
155
+ query: query,
152
156
  headers: {"accept" => "application/octet-stream"},
153
157
  model: StringIO,
154
158
  options: options
@@ -24,14 +24,11 @@ module DockerEngineRuby
24
24
  # @see DockerEngineRuby::Models::SwarmUpdateParams
25
25
  def update(params)
26
26
  parsed, options = DockerEngineRuby::SwarmUpdateParams.dump_request(params)
27
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed.except(:spec))
27
28
  @client.request(
28
29
  method: :post,
29
30
  path: "swarm/update",
30
- query: parsed.except(:spec).transform_keys(
31
- rotate_manager_token: "rotateManagerToken",
32
- rotate_manager_unlock_key: "rotateManagerUnlockKey",
33
- rotate_worker_token: "rotateWorkerToken"
34
- ),
31
+ query: query,
35
32
  body: parsed[:spec],
36
33
  model: NilClass,
37
34
  options: options
@@ -124,7 +121,8 @@ module DockerEngineRuby
124
121
  # @see DockerEngineRuby::Models::SwarmLeaveParams
125
122
  def leave(params = {})
126
123
  parsed, options = DockerEngineRuby::SwarmLeaveParams.dump_request(params)
127
- @client.request(method: :post, path: "swarm/leave", query: parsed, model: NilClass, options: options)
124
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
125
+ @client.request(method: :post, path: "swarm/leave", query: query, model: NilClass, options: options)
128
126
  end
129
127
 
130
128
  # Unlock a locked manager
@@ -16,10 +16,11 @@ module DockerEngineRuby
16
16
  # @see DockerEngineRuby::Models::SystemDataUsageParams
17
17
  def data_usage(params = {})
18
18
  parsed, options = DockerEngineRuby::SystemDataUsageParams.dump_request(params)
19
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
19
20
  @client.request(
20
21
  method: :get,
21
22
  path: "system/df",
22
- query: parsed,
23
+ query: query,
23
24
  model: DockerEngineRuby::Models::SystemDataUsageResponse,
24
25
  options: options
25
26
  )
@@ -39,10 +40,11 @@ module DockerEngineRuby
39
40
  # @see DockerEngineRuby::Models::SystemEventsParams
40
41
  def events(params = {})
41
42
  parsed, options = DockerEngineRuby::SystemEventsParams.dump_request(params)
43
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
42
44
  @client.request(
43
45
  method: :get,
44
46
  path: "events",
45
- query: parsed.transform_keys(until_: "until"),
47
+ query: query.transform_keys(until_: "until"),
46
48
  model: DockerEngineRuby::Models::SystemEventsResponse,
47
49
  options: options
48
50
  )
@@ -15,10 +15,11 @@ module DockerEngineRuby
15
15
  # @see DockerEngineRuby::Models::TaskListParams
16
16
  def list(params = {})
17
17
  parsed, options = DockerEngineRuby::TaskListParams.dump_request(params)
18
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
18
19
  @client.request(
19
20
  method: :get,
20
21
  path: "tasks",
21
- query: parsed,
22
+ query: query,
22
23
  model: DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Task],
23
24
  options: options
24
25
  )
@@ -62,10 +63,11 @@ module DockerEngineRuby
62
63
  # @see DockerEngineRuby::Models::TaskLogsParams
63
64
  def logs(id, params = {})
64
65
  parsed, options = DockerEngineRuby::TaskLogsParams.dump_request(params)
66
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
65
67
  @client.request(
66
68
  method: :get,
67
69
  path: ["tasks/%1$s/logs", id],
68
- query: parsed,
70
+ query: query,
69
71
  headers: {"accept" => "application/octet-stream"},
70
72
  model: StringIO,
71
73
  options: options
@@ -41,12 +41,13 @@ module DockerEngineRuby
41
41
  #
42
42
  # @see DockerEngineRuby::Models::VolumeUpdateParams
43
43
  def update(name, params)
44
- parsed, options = DockerEngineRuby::VolumeUpdateParams.dump_request(params)
45
44
  query_params = [:version]
45
+ parsed, options = DockerEngineRuby::VolumeUpdateParams.dump_request(params)
46
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed.slice(*query_params))
46
47
  @client.request(
47
48
  method: :put,
48
49
  path: ["volumes/%1$s", name],
49
- query: parsed.slice(*query_params),
50
+ query: query,
50
51
  body: parsed.except(*query_params),
51
52
  model: NilClass,
52
53
  options: options
@@ -65,10 +66,11 @@ module DockerEngineRuby
65
66
  # @see DockerEngineRuby::Models::VolumeListParams
66
67
  def list(params = {})
67
68
  parsed, options = DockerEngineRuby::VolumeListParams.dump_request(params)
69
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
68
70
  @client.request(
69
71
  method: :get,
70
72
  path: "volumes",
71
- query: parsed,
73
+ query: query,
72
74
  model: DockerEngineRuby::ListResponse,
73
75
  options: options
74
76
  )
@@ -87,10 +89,11 @@ module DockerEngineRuby
87
89
  # @see DockerEngineRuby::Models::VolumeDeleteParams
88
90
  def delete(name, params = {})
89
91
  parsed, options = DockerEngineRuby::VolumeDeleteParams.dump_request(params)
92
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
90
93
  @client.request(
91
94
  method: :delete,
92
95
  path: ["volumes/%1$s", name],
93
- query: parsed,
96
+ query: query,
94
97
  model: NilClass,
95
98
  options: options
96
99
  )
@@ -127,10 +130,11 @@ module DockerEngineRuby
127
130
  # @see DockerEngineRuby::Models::VolumePruneParams
128
131
  def prune(params = {})
129
132
  parsed, options = DockerEngineRuby::VolumePruneParams.dump_request(params)
133
+ query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
130
134
  @client.request(
131
135
  method: :post,
132
136
  path: "volumes/prune",
133
- query: parsed,
137
+ query: query,
134
138
  model: DockerEngineRuby::Models::VolumePruneResponse,
135
139
  options: options
136
140
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DockerEngineRuby
4
- VERSION = "0.7.2"
4
+ VERSION = "0.7.4"
5
5
  end
@@ -10,6 +10,8 @@ module DockerEngineRuby
10
10
 
11
11
  DEFAULT_MAX_RETRY_DELAY = T.let(8.0, Float)
12
12
 
13
+ DEFAULT_TLS_VERIFY_PEER = T.let(T.unsafe(nil), T::Boolean)
14
+
13
15
  ENVIRONMENTS =
14
16
  T.let(
15
17
  {
@@ -88,7 +90,8 @@ module DockerEngineRuby
88
90
  max_retries: Integer,
89
91
  timeout: Float,
90
92
  initial_retry_delay: Float,
91
- max_retry_delay: Float
93
+ max_retry_delay: Float,
94
+ tls_verify_peer: T::Boolean
92
95
  ).returns(T.attached_class)
93
96
  end
94
97
  def self.new(
@@ -115,7 +118,8 @@ module DockerEngineRuby
115
118
  max_retries: DockerEngineRuby::Client::DEFAULT_MAX_RETRIES,
116
119
  timeout: DockerEngineRuby::Client::DEFAULT_TIMEOUT_IN_SECONDS,
117
120
  initial_retry_delay: DockerEngineRuby::Client::DEFAULT_INITIAL_RETRY_DELAY,
118
- max_retry_delay: DockerEngineRuby::Client::DEFAULT_MAX_RETRY_DELAY
121
+ max_retry_delay: DockerEngineRuby::Client::DEFAULT_MAX_RETRY_DELAY,
122
+ tls_verify_peer: DockerEngineRuby::Client::DEFAULT_TLS_VERIFY_PEER
119
123
  )
120
124
  end
121
125
  end
@@ -166,6 +166,7 @@ module DockerEngineRuby
166
166
  )
167
167
  ],
168
168
  idempotency_header: T.nilable(String),
169
+ tls_verify_peer: T::Boolean,
169
170
  tls_ca_cert_path: T.nilable(String),
170
171
  tls_client_cert_path: T.nilable(String),
171
172
  tls_client_key_path: T.nilable(String)
@@ -179,6 +180,7 @@ module DockerEngineRuby
179
180
  max_retry_delay: 0.0,
180
181
  headers: {},
181
182
  idempotency_header: nil,
183
+ tls_verify_peer: true,
182
184
  tls_ca_cert_path: nil,
183
185
  tls_client_cert_path: nil,
184
186
  tls_client_key_path: nil
@@ -31,12 +31,13 @@ module DockerEngineRuby
31
31
  cert_store: OpenSSL::X509::Store,
32
32
  tls_cert: T.nilable(OpenSSL::X509::Certificate),
33
33
  tls_key: T.nilable(OpenSSL::PKey::PKey),
34
+ tls_verify_peer: T::Boolean,
34
35
  url: URI::Generic
35
36
  ).returns(
36
37
  Net::HTTP
37
38
  )
38
39
  end
39
- def connect(cert_store:, tls_cert:, tls_key:, url:)
40
+ def connect(cert_store:, tls_cert:, tls_key:, tls_verify_peer:, url:)
40
41
  end
41
42
 
42
43
  # @api private
@@ -81,6 +82,7 @@ module DockerEngineRuby
81
82
  sig do
82
83
  params(
83
84
  size: Integer,
85
+ tls_verify_peer: T::Boolean,
84
86
  tls_ca_cert_path: T.nilable(String),
85
87
  tls_client_cert_path: T.nilable(String),
86
88
  tls_client_key_path: T.nilable(String)
@@ -88,6 +90,7 @@ module DockerEngineRuby
88
90
  end
89
91
  def self.new(
90
92
  size: DockerEngineRuby::Internal::Transport::PooledNetRequester::DEFAULT_MAX_CONNECTIONS,
93
+ tls_verify_peer: true,
91
94
  tls_ca_cert_path: nil,
92
95
  tls_client_cert_path: nil,
93
96
  tls_client_key_path: nil
@@ -148,12 +148,20 @@ module DockerEngineRuby
148
148
  end
149
149
  end
150
150
 
151
+ # https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3
152
+ RFC_3986_NOT_PCHARS = T.let(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/, Regexp)
153
+
151
154
  class << self
152
155
  # @api private
153
156
  sig { params(uri: URI::Generic).returns(String) }
154
157
  def uri_origin(uri)
155
158
  end
156
159
 
160
+ # @api private
161
+ sig { params(path: T.any(String, Integer)).returns(String) }
162
+ def encode_path(path)
163
+ end
164
+
157
165
  # @api private
158
166
  sig { params(path: T.any(String, T::Array[String])).returns(String) }
159
167
  def interpolate_path(path)
@@ -301,6 +309,26 @@ module DockerEngineRuby
301
309
  T.let(%r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}, Regexp)
302
310
 
303
311
  class << self
312
+ # @api private
313
+ sig do
314
+ params(query: DockerEngineRuby::Internal::AnyHash).returns(
315
+ DockerEngineRuby::Internal::AnyHash
316
+ )
317
+ end
318
+ def encode_query_params(query)
319
+ end
320
+
321
+ # @api private
322
+ sig do
323
+ params(
324
+ collection: DockerEngineRuby::Internal::AnyHash,
325
+ key: String,
326
+ element: T.anything
327
+ ).void
328
+ end
329
+ private def write_query_param_element!(collection, key, element)
330
+ end
331
+
304
332
  # @api private
305
333
  sig do
306
334
  params(
@@ -14,16 +14,22 @@ module DockerEngineRuby
14
14
  )
15
15
  end
16
16
 
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
17
20
  sig do
18
21
  params(
22
+ id: String,
19
23
  request_options: DockerEngineRuby::RequestOptions::OrHash
20
24
  ).returns(T.attached_class)
21
25
  end
22
- def self.new(request_options: {})
26
+ def self.new(id:, request_options: {})
23
27
  end
24
28
 
25
29
  sig do
26
- override.returns({ request_options: DockerEngineRuby::RequestOptions })
30
+ override.returns(
31
+ { id: String, request_options: DockerEngineRuby::RequestOptions }
32
+ )
27
33
  end
28
34
  def to_hash
29
35
  end
@@ -14,16 +14,22 @@ module DockerEngineRuby
14
14
  )
15
15
  end
16
16
 
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
17
20
  sig do
18
21
  params(
22
+ id: String,
19
23
  request_options: DockerEngineRuby::RequestOptions::OrHash
20
24
  ).returns(T.attached_class)
21
25
  end
22
- def self.new(request_options: {})
26
+ def self.new(id:, request_options: {})
23
27
  end
24
28
 
25
29
  sig do
26
- override.returns({ request_options: DockerEngineRuby::RequestOptions })
30
+ override.returns(
31
+ { id: String, request_options: DockerEngineRuby::RequestOptions }
32
+ )
27
33
  end
28
34
  def to_hash
29
35
  end
@@ -14,21 +14,26 @@ module DockerEngineRuby
14
14
  )
15
15
  end
16
16
 
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
17
20
  sig { returns(Integer) }
18
21
  attr_accessor :version
19
22
 
20
23
  sig do
21
24
  params(
25
+ id: String,
22
26
  version: Integer,
23
27
  request_options: DockerEngineRuby::RequestOptions::OrHash
24
28
  ).returns(T.attached_class)
25
29
  end
26
- def self.new(version:, request_options: {})
30
+ def self.new(id:, version:, request_options: {})
27
31
  end
28
32
 
29
33
  sig do
30
34
  override.returns(
31
35
  {
36
+ id: String,
32
37
  version: Integer,
33
38
  request_options: DockerEngineRuby::RequestOptions
34
39
  }
@@ -14,21 +14,29 @@ module DockerEngineRuby
14
14
  )
15
15
  end
16
16
 
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
17
20
  sig { returns(String) }
18
21
  attr_accessor :path
19
22
 
20
23
  sig do
21
24
  params(
25
+ id: String,
22
26
  path: String,
23
27
  request_options: DockerEngineRuby::RequestOptions::OrHash
24
28
  ).returns(T.attached_class)
25
29
  end
26
- def self.new(path:, request_options: {})
30
+ def self.new(id:, path:, request_options: {})
27
31
  end
28
32
 
29
33
  sig do
30
34
  override.returns(
31
- { path: String, request_options: DockerEngineRuby::RequestOptions }
35
+ {
36
+ id: String,
37
+ path: String,
38
+ request_options: DockerEngineRuby::RequestOptions
39
+ }
32
40
  )
33
41
  end
34
42
  def to_hash
@@ -14,6 +14,9 @@ module DockerEngineRuby
14
14
  )
15
15
  end
16
16
 
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
17
20
  sig { returns(T.nilable(String)) }
18
21
  attr_reader :detach_keys
19
22
 
@@ -52,6 +55,7 @@ module DockerEngineRuby
52
55
 
53
56
  sig do
54
57
  params(
58
+ id: String,
55
59
  detach_keys: String,
56
60
  logs: T::Boolean,
57
61
  stderr: T::Boolean,
@@ -62,6 +66,7 @@ module DockerEngineRuby
62
66
  ).returns(T.attached_class)
63
67
  end
64
68
  def self.new(
69
+ id:,
65
70
  detach_keys: nil,
66
71
  logs: nil,
67
72
  stderr: nil,
@@ -75,6 +80,7 @@ module DockerEngineRuby
75
80
  sig do
76
81
  override.returns(
77
82
  {
83
+ id: String,
78
84
  detach_keys: String,
79
85
  logs: T::Boolean,
80
86
  stderr: T::Boolean,
@@ -14,16 +14,22 @@ module DockerEngineRuby
14
14
  )
15
15
  end
16
16
 
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
17
20
  sig do
18
21
  params(
22
+ id: String,
19
23
  request_options: DockerEngineRuby::RequestOptions::OrHash
20
24
  ).returns(T.attached_class)
21
25
  end
22
- def self.new(request_options: {})
26
+ def self.new(id:, request_options: {})
23
27
  end
24
28
 
25
29
  sig do
26
- override.returns({ request_options: DockerEngineRuby::RequestOptions })
30
+ override.returns(
31
+ { id: String, request_options: DockerEngineRuby::RequestOptions }
32
+ )
27
33
  end
28
34
  def to_hash
29
35
  end