Class: DockerEngineRuby::Resources::Plugins

Inherits:
Object
  • Object
show all
Defined in:
lib/docker_engine_ruby/resources/plugins.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Plugins

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Plugins.

Parameters:



273
274
275
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 273

def initialize(client:)
  @client = client
end

Instance Method Details

#create(name:, body:, request_options: {}) ⇒ nil

Create a plugin

Parameters:

Returns:

  • (nil)

See Also:



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 19

def create(params)
  parsed, options = DockerEngineRuby::PluginCreateParams.dump_request(params)
  query = DockerEngineRuby::Internal::Util.encode_query_params(parsed.except(:body))
  @client.request(
    method: :post,
    path: "plugins/create",
    query: query,
    headers: {"content-type" => "application/octet-stream"},
    body: parsed[:body],
    model: NilClass,
    options: options
  )
end

#delete(name, force: nil, request_options: {}) ⇒ DockerEngineRuby::Models::Plugin

Remove a plugin

Parameters:

Returns:

See Also:



66
67
68
69
70
71
72
73
74
75
76
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 66

def delete(name, params = {})
  parsed, options = DockerEngineRuby::PluginDeleteParams.dump_request(params)
  query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :delete,
    path: ["plugins/%1$s", name],
    query: query,
    model: DockerEngineRuby::Plugin,
    options: options
  )
end

#disable(name, force: nil, request_options: {}) ⇒ nil

Disable a plugin

Parameters:

Returns:

  • (nil)

See Also:



89
90
91
92
93
94
95
96
97
98
99
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 89

def disable(name, params = {})
  parsed, options = DockerEngineRuby::PluginDisableParams.dump_request(params)
  query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :post,
    path: ["plugins/%1$s/disable", name],
    query: query,
    model: NilClass,
    options: options
  )
end

#enable(name, timeout: nil, request_options: {}) ⇒ nil

Enable a plugin

Parameters:

Returns:

  • (nil)

See Also:



112
113
114
115
116
117
118
119
120
121
122
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 112

def enable(name, params = {})
  parsed, options = DockerEngineRuby::PluginEnableParams.dump_request(params)
  query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :post,
    path: ["plugins/%1$s/enable", name],
    query: query,
    model: NilClass,
    options: options
  )
end

#inspect_(name, request_options: {}) ⇒ DockerEngineRuby::Models::Plugin

Inspect a plugin

Parameters:

Returns:

See Also:



134
135
136
137
138
139
140
141
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 134

def inspect_(name, params = {})
  @client.request(
    method: :get,
    path: ["plugins/%1$s/json", name],
    model: DockerEngineRuby::Plugin,
    options: params[:request_options]
  )
end

#list(filters: nil, request_options: {}) ⇒ Array<DockerEngineRuby::Models::Plugin>

List plugins

Parameters:

Returns:

See Also:



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 43

def list(params = {})
  parsed, options = DockerEngineRuby::PluginListParams.dump_request(params)
  query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "plugins",
    query: query,
    model: DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Plugin],
    options: options
  )
end

#privileges(remote:, request_options: {}) ⇒ Array<DockerEngineRuby::Models::Privilege>

Get plugin privileges

Parameters:

Returns:

See Also:



153
154
155
156
157
158
159
160
161
162
163
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 153

def privileges(params)
  parsed, options = DockerEngineRuby::PluginPrivilegesParams.dump_request(params)
  query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: "plugins/privileges",
    query: query,
    model: DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Privilege],
    options: options
  )
end

#pull(remote:, body:, name: nil, x_registry_auth: nil, request_options: {}) ⇒ nil

Install a plugin

Parameters:

Returns:

  • (nil)

See Also:



182
183
184
185
186
187
188
189
190
191
192
193
194
195
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 182

def pull(params)
  query_params = [:remote, :name]
  parsed, options = DockerEngineRuby::PluginPullParams.dump_request(params)
  query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :post,
    path: "plugins/pull",
    query: parsed.slice(*query_params),
    headers: parsed.except(:body, *query_params).transform_keys(x_registry_auth: "x-registry-auth"),
    body: parsed[:body],
    model: NilClass,
    options: options
  )
end

#push(name, request_options: {}) ⇒ nil

Push a plugin

Parameters:

Returns:

  • (nil)

See Also:



207
208
209
210
211
212
213
214
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 207

def push(name, params = {})
  @client.request(
    method: :post,
    path: ["plugins/%1$s/push", name],
    model: NilClass,
    options: params[:request_options]
  )
end

#set(name, body:, request_options: {}) ⇒ nil

Configure a plugin

Parameters:

Returns:

  • (nil)

See Also:



227
228
229
230
231
232
233
234
235
236
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 227

def set(name, params)
  parsed, options = DockerEngineRuby::PluginSetParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["plugins/%1$s/set", name],
    body: parsed[:body],
    model: NilClass,
    options: options
  )
end

#upgrade(name, remote:, body:, x_registry_auth: nil, request_options: {}) ⇒ nil

Upgrade a plugin

Parameters:

Returns:

  • (nil)

See Also:



255
256
257
258
259
260
261
262
263
264
265
266
267
268
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 255

def upgrade(name, params)
  query_params = [:remote]
  parsed, options = DockerEngineRuby::PluginUpgradeParams.dump_request(params)
  query = DockerEngineRuby::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :post,
    path: ["plugins/%1$s/upgrade", name],
    query: parsed.slice(*query_params),
    headers: parsed.except(:body, *query_params).transform_keys(x_registry_auth: "x-registry-auth"),
    body: parsed[:body],
    model: NilClass,
    options: options
  )
end