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.

Parameters:



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

Parameters:

  • advertise_addr (String) —

    Externally reachable address advertised to other nodes. This

  • data_path_addr (String) —

    Address or interface to use for data path traffic (format:

  • data_path_port (Integer) —

    DataPathPort specifies the data path port number for data traffic.

  • default_addr_pool (Array<String>) —

    Default Address Pool specifies default subnet pools for global

  • force_new_cluster (Boolean) —

    Force creation of a new swarm.

  • listen_addr (String) —

    Listen address used for inter-manager communication, as well

  • spec (DockerEngineAPI::Models::Spec) —

    User modifiable swarm configuration.

  • subnet_size (Integer) —

    SubnetSize specifies the subnet size of the networks created

  • request_options (DockerEngineAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (String)

See Also:



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

Parameters:

Returns:

See Also:



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

Parameters:

  • advertise_addr (String) —

    Externally reachable address advertised to other nodes. This

  • data_path_addr (String) —

    Address or interface to use for data path traffic (format:

  • join_token (String) —

    Secret token for joining this swarm.

  • listen_addr (String) —

    Listen address used for inter-manager communication if the node

  • remote_addrs (Array<String>) —

    Addresses of manager nodes already participating in the swarm.

  • request_options (DockerEngineAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (nil)

See Also:



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

Parameters:

  • force (Boolean) —

    Force leave swarm, even if this is the last manager or that it will

  • request_options (DockerEngineAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (nil)

See Also:



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

Parameters:

Returns:

  • (nil)

See Also:



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

Parameters:

Returns:

See Also:



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

Parameters:

  • version (Integer) —

    Query param: The version number of the swarm object being updated. This is

  • spec (DockerEngineAPI::Models::Spec) —

    Body param: User modifiable swarm configuration.

  • rotate_manager_token (Boolean) —

    Query param: Rotate the manager join token.

  • rotate_manager_unlock_key (Boolean) —

    Query param: Rotate the manager unlock key.

  • rotate_worker_token (Boolean) —

    Query param: Rotate the worker join token.

  • request_options (DockerEngineAPI::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (nil)

See Also:



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