Class: DockerEngineRuby::Resources::Services

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

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Services

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 Services.

Parameters:



161
162
163
# File 'lib/docker_engine_ruby/resources/services.rb', line 161

def initialize(client:)
  @client = client
end

Instance Method Details

#create(spec:, x_registry_auth: nil, request_options: {}) ⇒ DockerEngineRuby::Models::ServiceCreateResponse

Create a service

Parameters:

Returns:

See Also:



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

def create(params)
  parsed, options = DockerEngineRuby::ServiceCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "services/create",
    headers: parsed.except(:spec).transform_keys(x_registry_auth: "x-registry-auth"),
    body: parsed[:spec],
    model: DockerEngineRuby::ServiceCreateResponse,
    options: options
  )
end

#delete(id, request_options: {}) ⇒ nil

Delete a service

Parameters:

Returns:

  • (nil)

See Also:



98
99
100
101
102
103
104
105
# File 'lib/docker_engine_ruby/resources/services.rb', line 98

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

#inspect_(id, insert_defaults: nil, request_options: {}) ⇒ DockerEngineRuby::Models::Service

Inspect a service

Parameters:

Returns:

See Also:



118
119
120
121
122
123
124
125
126
127
# File 'lib/docker_engine_ruby/resources/services.rb', line 118

def inspect_(id, params = {})
  parsed, options = DockerEngineRuby::ServiceInspectParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["services/%1$s", id],
    query: parsed.transform_keys(insert_defaults: "insertDefaults"),
    model: DockerEngineRuby::Service,
    options: options
  )
end

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

List services

Parameters:

Returns:

See Also:



77
78
79
80
81
82
83
84
85
86
# File 'lib/docker_engine_ruby/resources/services.rb', line 77

def list(params = {})
  parsed, options = DockerEngineRuby::ServiceListParams.dump_request(params)
  @client.request(
    method: :get,
    path: "services",
    query: parsed,
    model: DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Service],
    options: options
  )
end

#logs(id, details: nil, follow: nil, since: nil, stderr: nil, stdout: nil, tail: nil, timestamps: nil, request_options: {}) ⇒ StringIO

Get service logs

Parameters:

  • id (String)
  • details (Boolean)
  • follow (Boolean)
  • since (Integer)
  • stderr (Boolean)
  • stdout (Boolean)
  • tail (String)
  • timestamps (Boolean)
  • request_options (DockerEngineRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (StringIO)

See Also:



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

def logs(id, params = {})
  parsed, options = DockerEngineRuby::ServiceLogsParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["services/%1$s/logs", id],
    query: parsed,
    headers: {"accept" => "application/octet-stream"},
    model: StringIO,
    options: options
  )
end

#update(id, version:, spec:, registry_auth_from: nil, rollback: nil, x_registry_auth: nil, request_options: {}) ⇒ DockerEngineRuby::Models::ServiceUpdateResponse

Update a service

Parameters:

Returns:

See Also:



52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/docker_engine_ruby/resources/services.rb', line 52

def update(id, params)
  parsed, options = DockerEngineRuby::ServiceUpdateParams.dump_request(params)
  query_params = [:version, :registry_auth_from, :rollback]
  @client.request(
    method: :post,
    path: ["services/%1$s/update", id],
    query: parsed.slice(*query_params).transform_keys(registry_auth_from: "registryAuthFrom"),
    headers: parsed.except(:spec, *query_params).transform_keys(x_registry_auth: "x-registry-auth"),
    body: parsed[:spec],
    model: DockerEngineRuby::ServiceUpdateResponse,
    options: options
  )
end