dockerapi 0.5.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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