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:



265
266
267
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 265

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
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 19

def create(params)
  parsed, options = DockerEngineRuby::PluginCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "plugins/create",
    query: parsed.except(:body),
    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:



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

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

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

Disable a plugin

Parameters:

Returns:

  • (nil)

See Also:



86
87
88
89
90
91
92
93
94
95
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 86

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

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

Enable a plugin

Parameters:

Returns:

  • (nil)

See Also:



108
109
110
111
112
113
114
115
116
117
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 108

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

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

Inspect a plugin

Parameters:

Returns:

See Also:



129
130
131
132
133
134
135
136
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 129

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:



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

def list(params = {})
  parsed, options = DockerEngineRuby::PluginListParams.dump_request(params)
  @client.request(
    method: :get,
    path: "plugins",
    query: parsed,
    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:



148
149
150
151
152
153
154
155
156
157
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 148

def privileges(params)
  parsed, options = DockerEngineRuby::PluginPrivilegesParams.dump_request(params)
  @client.request(
    method: :get,
    path: "plugins/privileges",
    query: parsed,
    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:



176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 176

def pull(params)
  parsed, options = DockerEngineRuby::PluginPullParams.dump_request(params)
  query_params = [:remote, :name]
  @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:



200
201
202
203
204
205
206
207
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 200

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:



220
221
222
223
224
225
226
227
228
229
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 220

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:



248
249
250
251
252
253
254
255
256
257
258
259
260
# File 'lib/docker_engine_ruby/resources/plugins.rb', line 248

def upgrade(name, params)
  parsed, options = DockerEngineRuby::PluginUpgradeParams.dump_request(params)
  query_params = [:remote]
  @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