Class: DockerEngineAPI::Resources::Swarm

Inherits:
Object
  • Object
show all
Defined in:
lib/docker_engine_api/resources/swarm.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Swarm

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



178
179
180
# File 'lib/docker_engine_api/resources/swarm.rb', line 178

def initialize(client:)
  @client = client
end

Instance Method Details

#init(advertise_addr: nil, data_path_addr: nil, data_path_port: nil, default_addr_pool: nil, force_new_cluster: nil, listen_addr: nil, spec: nil, subnet_size: nil, request_options: {}) ⇒ String

Some parameter documentations has been truncated, see Models::SwarmInitParams for more details.

Initialize a new swarm



72
73
74
75
# File 'lib/docker_engine_api/resources/swarm.rb', line 72

def init(params = {})
  parsed, options = DockerEngineAPI::SwarmInitParams.dump_request(params)
  @client.request(method: :post, path: "swarm/init", body: parsed, model: String, options: options)
end

#inspect_(request_options: {}) ⇒ DockerEngineAPI::Models::SwarmAPI

Inspect swarm



86
87
88
89
90
91
92
93
# File 'lib/docker_engine_api/resources/swarm.rb', line 86

def inspect_(params = {})
  @client.request(
    method: :get,
    path: "swarm",
    model: DockerEngineAPI::SwarmAPI,
    options: params[:request_options]
  )
end

#join(advertise_addr: nil, data_path_addr: nil, join_token: nil, listen_addr: nil, remote_addrs: nil, request_options: {}) ⇒ nil

Some parameter documentations has been truncated, see Models::SwarmJoinParams for more details.

Join an existing swarm



117
118
119
120
# File 'lib/docker_engine_api/resources/swarm.rb', line 117

def join(params = {})
  parsed, options = DockerEngineAPI::SwarmJoinParams.dump_request(params)
  @client.request(method: :post, path: "swarm/join", body: parsed, model: NilClass, options: options)
end

#leave(force: nil, request_options: {}) ⇒ nil

Some parameter documentations has been truncated, see Models::SwarmLeaveParams for more details.

Leave a swarm



136
137
138
139
# File 'lib/docker_engine_api/resources/swarm.rb', line 136

def leave(params = {})
  parsed, options = DockerEngineAPI::SwarmLeaveParams.dump_request(params)
  @client.request(method: :post, path: "swarm/leave", query: parsed, model: NilClass, options: options)
end

#unlock(unlock_key: nil, request_options: {}) ⇒ nil

Unlock a locked manager



152
153
154
155
# File 'lib/docker_engine_api/resources/swarm.rb', line 152

def unlock(params = {})
  parsed, options = DockerEngineAPI::SwarmUnlockParams.dump_request(params)
  @client.request(method: :post, path: "swarm/unlock", body: parsed, model: NilClass, options: options)
end

#unlock_key(request_options: {}) ⇒ DockerEngineAPI::Models::SwarmUnlockKeyResponse

Get the unlock key



166
167
168
169
170
171
172
173
# File 'lib/docker_engine_api/resources/swarm.rb', line 166

def unlock_key(params = {})
  @client.request(
    method: :get,
    path: "swarm/unlockkey",
    model: DockerEngineAPI::Models::SwarmUnlockKeyResponse,
    options: params[:request_options]
  )
end

#update(version:, spec:, rotate_manager_token: nil, rotate_manager_unlock_key: nil, rotate_worker_token: nil, request_options: {}) ⇒ nil

Some parameter documentations has been truncated, see Models::SwarmUpdateParams for more details.

Update a swarm



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/docker_engine_api/resources/swarm.rb', line 28

def update(params)
  parsed, options = DockerEngineAPI::SwarmUpdateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "swarm/update",
    query: parsed.except(:spec).transform_keys(
      rotate_manager_token: "rotateManagerToken",
      rotate_manager_unlock_key: "rotateManagerUnlockKey",
      rotate_worker_token: "rotateWorkerToken"
    ),
    body: parsed[:spec],
    model: NilClass,
    options: options
  )
end