dockerapi 0.5.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,43 +2,54 @@ module Docker
2
2
  module API
3
3
  class Network < Docker::API::Base
4
4
 
5
- def self.base_path
6
- "/networks"
7
- end
8
-
9
- def self.list params = {}
5
+ def list params = {}
10
6
  validate Docker::API::InvalidParameter, [:filters], params
11
- connection.get(build_path("/networks", params))
7
+ @connection.get(build_path("/networks", params))
12
8
  end
13
9
 
14
- def self.inspect name, params = {}
10
+ def details name, params = {}
15
11
  validate Docker::API::InvalidParameter, [:verbose, :scope], params
16
- connection.get(build_path([name], params))
12
+ @connection.get(build_path([name], params))
17
13
  end
18
14
 
19
- def self.create body = {}
15
+ def create body = {}
20
16
  validate Docker::API::InvalidRequestBody, [:Name, :CheckDuplicate, :Driver, :Internal, :Attachable, :Ingress, :IPAM, :EnableIPv6, :Options, :Labels], body
21
- connection.request(method: :post, path: build_path(["create"]), headers: {"Content-Type": "application/json"}, body: body.to_json)
17
+ @connection.request(method: :post, path: build_path(["create"]), headers: {"Content-Type": "application/json"}, body: body.to_json)
22
18
  end
23
19
 
24
- def self.remove name
25
- connection.delete(build_path([name]))
20
+ def remove name
21
+ @connection.delete(build_path([name]))
26
22
  end
27
23
 
28
- def self.prune params = {}
24
+ def prune params = {}
29
25
  validate Docker::API::InvalidParameter, [:filters], params
30
- connection.post(build_path(["prune"], params))
26
+ @connection.post(build_path(["prune"], params))
31
27
  end
32
28
 
33
- def self.connect name, body = {}
29
+ def connect name, body = {}
34
30
  validate Docker::API::InvalidRequestBody, [:Container, :EndpointConfig], body
35
- connection.request(method: :post, path: build_path([name, "connect"]), headers: {"Content-Type": "application/json"}, body: body.to_json)
31
+ @connection.request(method: :post, path: build_path([name, "connect"]), headers: {"Content-Type": "application/json"}, body: body.to_json)
36
32
  end
37
33
 
38
- def self.disconnect name, body = {}
34
+ def disconnect name, body = {}
39
35
  validate Docker::API::InvalidRequestBody, [:Container, :Force], body
40
- connection.request(method: :post, path: build_path([name, "disconnect"]), headers: {"Content-Type": "application/json"}, body: body.to_json)
36
+ @connection.request(method: :post, path: build_path([name, "disconnect"]), headers: {"Content-Type": "application/json"}, body: body.to_json)
37
+ end
38
+
39
+ #################################################
40
+ # Items in this area to be removed before 1.0.0 #
41
+ #################################################
42
+ def base_path
43
+ "/networks"
44
+ end
45
+
46
+ def inspect *args
47
+ return super.inspect if args.size == 0
48
+ warn "WARNING: #inspect is deprecated and will be removed in the future, please use #details instead."
49
+ name, params = args[0], args[1] || {}
50
+ details(name, params)
41
51
  end
52
+ #################################################
42
53
 
43
54
  end
44
55
  end
@@ -0,0 +1,38 @@
1
+ module Docker
2
+ module API
3
+ class Node < Docker::API::Base
4
+
5
+ def list params = {}
6
+ validate Docker::API::InvalidParameter, [:filters], params
7
+ @connection.get(build_path("/nodes", params))
8
+ end
9
+
10
+ def update name, params = {}, body = {}
11
+ validate Docker::API::InvalidParameter, [:version], params
12
+ validate Docker::API::InvalidRequestBody, [:Name, :Labels, :Role, :Availability], body
13
+ @connection.request(method: :post, path: build_path("nodes/#{name}/update", params), headers: {"Content-Type": "application/json"}, body: body.to_json)
14
+ end
15
+
16
+ def delete name, params = {}
17
+ validate Docker::API::InvalidParameter, [:force], params
18
+ @connection.delete(build_path("/nodes/#{name}", params))
19
+ end
20
+
21
+ def details name
22
+ @connection.get("/nodes/#{name}")
23
+ end
24
+
25
+ #################################################
26
+ # Items in this area to be removed before 1.0.0 #
27
+ #################################################
28
+ def inspect *args
29
+ return super.inspect if args.size == 0
30
+ warn "WARNING: #inspect is deprecated and will be removed in the future, please use #details instead."
31
+ name = args[0]
32
+ details(name)
33
+ end
34
+ #################################################
35
+
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,51 @@
1
+ module Docker
2
+ module API
3
+ class Swarm < Docker::API::Base
4
+
5
+ def init body = {}
6
+ validate Docker::API::InvalidRequestBody, [:ListenAddr, :AdvertiseAddr, :DataPathAddr, :DataPathPort, :DefaultAddrPool, :ForceNewCluster, :SubnetSize, :Spec], body
7
+ @connection.request(method: :post, path: build_path("/swarm/init"), headers: {"Content-Type": "application/json"}, body: body.to_json)
8
+ end
9
+
10
+ def update params = {}, body = {}
11
+ validate Docker::API::InvalidParameter, [:version, :rotateWorkerToken, :rotateManagerToken, :rotateManagerUnlockKey], params
12
+ validate Docker::API::InvalidRequestBody, [:Name, :Labels, :Orchestration, :Raft, :Dispatcher, :CAConfig, :EncryptionConfig, :TaskDefaults], body
13
+ @connection.request(method: :post, path: build_path("/swarm/update", params), headers: {"Content-Type": "application/json"}, body: body.to_json)
14
+ end
15
+
16
+ def details
17
+ @connection.get("/swarm")
18
+ end
19
+
20
+ def unlock_key
21
+ @connection.get(build_path("/swarm/unlockkey"))
22
+ end
23
+
24
+ def unlock body = {}
25
+ validate Docker::API::InvalidRequestBody, [:UnlockKey], body
26
+ @connection.request(method: :post, path: build_path("/swarm/unlock"), headers: {"Content-Type": "application/json"}, body: body.to_json)
27
+ end
28
+
29
+ def join body = {}
30
+ validate Docker::API::InvalidRequestBody, [:ListenAddr, :AdvertiseAddr, :DataPathAddr, :RemoteAddrs, :JoinToken], body
31
+ @connection.request(method: :post, path: build_path("/swarm/join"), headers: {"Content-Type": "application/json"}, body: body.to_json)
32
+ end
33
+
34
+ def leave params = {}
35
+ validate Docker::API::InvalidParameter, [:force], params
36
+ @connection.post(build_path("/swarm/leave", params))
37
+ end
38
+
39
+ #################################################
40
+ # Items in this area to be removed before 1.0.0 #
41
+ #################################################
42
+ def inspect
43
+ caller.each { | el | return super.inspect if el.match(/inspector/) }
44
+ warn "WARNING: #inspect is deprecated and will be removed in the future, please use #details instead."
45
+ details
46
+ end
47
+ #################################################
48
+
49
+ end
50
+ end
51
+ end
@@ -2,32 +2,33 @@ require "json"
2
2
  module Docker
3
3
  module API
4
4
  class System < Docker::API::Base
5
-
6
- def self.auth body = {}
5
+
6
+ def auth body = {}
7
7
  validate Docker::API::InvalidRequestBody, [:username, :password, :email, :serveraddress, :identitytoken], body
8
- connection.request(method: :post, path: "/auth", headers: { "Content-Type" => "application/json" }, body: body.to_json)
8
+ @connection.request(method: :post, path: "/auth", headers: { "Content-Type" => "application/json" }, body: body.to_json)
9
9
  end
10
10
 
11
- def self.events params = {}
11
+ def events params = {}
12
12
  validate Docker::API::InvalidParameter, [:since, :until, :filters], params
13
- connection.request(method: :get, path: build_path("/events", params), response_block: lambda { |chunk, remaining_bytes, total_bytes| puts chunk.inspect } )
13
+ @connection.request(method: :get, path: build_path("/events", params), response_block: lambda { |chunk, remaining_bytes, total_bytes| puts chunk.inspect } )
14
14
  end
15
15
 
16
- def self.ping
17
- connection.get("/_ping")
16
+ def ping
17
+ @connection.get("/_ping")
18
18
  end
19
19
 
20
- def self.info
21
- connection.get("/info")
20
+ def info
21
+ @connection.get("/info")
22
22
  end
23
23
 
24
- def self.version
25
- connection.get("/version")
24
+ def version
25
+ @connection.get("/version")
26
26
  end
27
27
 
28
- def self.df
29
- connection.get("/system/df")
28
+ def df
29
+ @connection.get("/system/df")
30
30
  end
31
+
31
32
  end
32
33
  end
33
34
  end
@@ -1,6 +1,6 @@
1
1
  module Docker
2
2
  module API
3
- GEM_VERSION = "0.5.0"
3
+ GEM_VERSION = "0.9.0"
4
4
 
5
5
  API_VERSION = "1.40"
6
6
 
@@ -1,33 +1,45 @@
1
1
  module Docker
2
2
  module API
3
3
  class Volume < Docker::API::Base
4
- def self.base_path
5
- "/volumes"
6
- end
7
4
 
8
- def self.list params = {}
5
+ def list params = {}
9
6
  validate Docker::API::InvalidParameter, [:filters], params
10
- connection.get(build_path("/volumes", params))
7
+ @connection.get(build_path("/volumes", params))
11
8
  end
12
9
 
13
- def self.create body = {}
14
- validate Docker::API::InvalidRequestBody, [:Name, :Driver, :DriverOpts, :Labels], body
15
- connection.request(method: :post, path: build_path(["create"]), headers: {"Content-Type": "application/json"}, body: body.to_json)
10
+ def details name
11
+ @connection.get(build_path([name]))
16
12
  end
17
13
 
18
- def self.inspect name
19
- connection.get(build_path([name]))
14
+ def create body = {}
15
+ validate Docker::API::InvalidRequestBody, [:Name, :Driver, :DriverOpts, :Labels], body
16
+ @connection.request(method: :post, path: build_path(["create"]), headers: {"Content-Type": "application/json"}, body: body.to_json)
20
17
  end
21
18
 
22
- def self.remove name, params = {}
19
+ def remove name, params = {}
23
20
  validate Docker::API::InvalidParameter, [:force], params
24
- connection.delete(build_path([name]))
21
+ @connection.delete(build_path([name]))
25
22
  end
26
23
 
27
- def self.prune params = {}
24
+ def prune params = {}
28
25
  validate Docker::API::InvalidParameter, [:filters], params
29
- connection.post(build_path(["prune"], params))
26
+ @connection.post(build_path(["prune"], params))
27
+ end
28
+
29
+ #################################################
30
+ # Items in this area to be removed before 1.0.0 #
31
+ #################################################
32
+ def base_path
33
+ "/volumes"
34
+ end
35
+
36
+ def inspect *args
37
+ return super.inspect if args.size == 0
38
+ warn "WARNING: #inspect is deprecated and will be removed in the future, please use #details instead."
39
+ name = args[0]
40
+ @connection.get(build_path([name]))
30
41
  end
42
+ #################################################
31
43
 
32
44
  end
33
45
  end
@@ -10,7 +10,10 @@ require "docker/api/container"
10
10
  require "docker/api/image"
11
11
  require "docker/api/volume"
12
12
  require "docker/api/network"
13
+ require "docker/api/exec"
13
14
  require "docker/api/system"
15
+ require "docker/api/swarm"
16
+ require "docker/api/node"
14
17
 
15
18
  module Docker
16
19
  module API
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockerapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alysson A. Costa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-29 00:00:00.000000000 Z
11
+ date: 2020-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon
@@ -47,9 +47,12 @@ files:
47
47
  - lib/docker/api/connection.rb
48
48
  - lib/docker/api/container.rb
49
49
  - lib/docker/api/error.rb
50
+ - lib/docker/api/exec.rb
50
51
  - lib/docker/api/image.rb
51
52
  - lib/docker/api/network.rb
53
+ - lib/docker/api/node.rb
52
54
  - lib/docker/api/response.rb
55
+ - lib/docker/api/swarm.rb
53
56
  - lib/docker/api/system.rb
54
57
  - lib/docker/api/version.rb
55
58
  - lib/docker/api/volume.rb