gaptool-api 0.6.5 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/gaptool-api.rb +43 -33
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7fb544d15271dc0f8e58011527d834fa9be5ef76
4
- data.tar.gz: 5e17f75f5238fce3a78de2f6041457a032fc2d0b
3
+ metadata.gz: 622a85457a9746a3ab0e32f0e69510d1607e9f2e
4
+ data.tar.gz: ffecfba6406a5d46da77cf9109fa7a684ccd5414
5
5
  SHA512:
6
- metadata.gz: 38a4d0dd8886b1058b85d845ac61665cd73ae54434fab4b5e636d91630054103061bfb1d58c239e975b2722713c4df58db00cd5c889bedaea87f04f1ae3aedb3
7
- data.tar.gz: 6f06f42a2e1f36ff28814777b927ca471fd41348d716b5f0b831af631110ef66c6e8815bd2f45b15bbc5b603799e8a96dc6206ac81dee10b77e5f935a8e7ad77
6
+ metadata.gz: a4427618b2bf0c74166a3e814ee61df962d05053d9fc4f195ab0f835336db7c0687f73f4751a418c79d77468d3f71404aa3c553ce60f29483b5675235b6a4d4c
7
+ data.tar.gz: 6bb664360df70e2ec44b3ee6a0de1ceae731d3cb161f08b32fad74f6bca2ff7286c2233a01e2e7afa5ee518d1653651f334ea2f1df089130b619b4afb5b5b8dc
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.5
1
+ 0.6.6
data/lib/gaptool-api.rb CHANGED
@@ -17,25 +17,47 @@ module GTAPI
17
17
  GaptoolServer.base_uri uri
18
18
  end
19
19
 
20
+ def call(verb, url, opts={})
21
+ options = opts || {}
22
+ options[:headers] ||= {}
23
+ options[:headers].merge!(@auth)
24
+ options[:headers]['Accept'] = 'application/json'
25
+ options[:headers]['Content-Type'] = 'application/json'
26
+ case verb
27
+ when :post
28
+ options[:body] ||= ''
29
+ end
30
+ JSON.parse(self.class.send(verb, url, options).body)
31
+ end
32
+
33
+ def get(url, opts={})
34
+ call(:get, url, opts)
35
+ end
36
+
37
+ def post(url, opts={})
38
+ call(:post, url, opts)
39
+ end
40
+
41
+ def patch(url, opts={})
42
+ call(:patch, url, opts)
43
+ end
44
+
20
45
  def rehash()
21
- options = {:body => '', :headers => @auth}
22
- JSON::parse self.class.post("/rehash", options)
46
+ post("/rehash")
23
47
  end
24
48
 
25
49
  def getonenode(id)
26
- options = {:headers => @auth}
27
- JSON::parse self.class.get("/instance/#{id}", options)
50
+ get("/instance/#{id}")
28
51
  end
29
52
 
30
53
  def getenvroles(role, environment, params={})
31
- options = {:headers => @auth, :query => params}
32
- JSON::parse self.class.get("/hosts/#{role}/#{environment}", options)
54
+ get("/hosts/#{role}/#{environment}", {query: params})
33
55
  end
34
56
 
35
57
  def addnode(zone, itype, role, environment, mirror=nil, security_group=nil,
36
58
  ami=nil, chef_repo=nil, chef_branch=nil, chef_runlist=nil,
37
59
  no_terminate=nil)
38
- @body = {
60
+ body = {
39
61
  'zone' => zone || @default_aws_az,
40
62
  'itype' => itype,
41
63
  'role' => role,
@@ -45,60 +67,48 @@ module GTAPI
45
67
  'chef_branch' => chef_branch
46
68
  }
47
69
  unless security_group.nil?
48
- @body['security_group'] = security_group
70
+ body['security_group'] = security_group
49
71
  end
50
72
  unless chef_runlist.nil? || chef_runlist.empty?
51
- @body['chef_runlist'] = [*chef_runlist]
73
+ body['chef_runlist'] = [*chef_runlist]
52
74
  end
53
75
  if no_terminate
54
- @body['terminate'] = false
76
+ body['terminate'] = false
55
77
  end
56
- @body = @body.to_json
57
- options = { :body => @body, :headers => @auth}
58
- JSON::parse self.class.post("/init", options)
78
+ post('/init', {body: body.to_json})
59
79
  end
60
80
 
61
81
  def terminatenode(id, zone)
62
- @body = {'id' => id, 'zone' => zone || @default_aws_region}.to_json
63
- options = {:body => @body, :headers => @auth}
64
- JSON::parse self.class.post("/terminate", options)
82
+ post('/terminate', {body: {'id' => id, 'zone' => zone || @default_aws_region}.to_json})
65
83
  end
66
84
 
67
- def setparameters(instance, params)
68
- @body = params.to_json
69
- options = {:body => @body, :headers => @auth}
70
- JSON::parse self.class.patch("/instance/#{instance}", options)
85
+ def setparameters(instance, params={})
86
+ patch("/instance/#{instance}", {body: params.to_json})
71
87
  end
72
88
 
73
89
  def getappnodes(app, environment, params={})
74
- options = {:headers => @auth, :query => params}
75
- role = JSON::parse(self.class.get("/apps", options))["app:#{app}"]['role']
76
- JSON::parse self.class.get("/hosts/#{role}/#{environment}", options)
90
+ role = get("/apps", {query: params})["app:#{app}"]['role']
91
+ get("/hosts/#{role}/#{environment}", {query: params})
77
92
  end
78
93
 
79
94
  def ssh(role, environment, id)
80
- options = { :headers => @auth}
81
- JSON::parse self.class.get("/ssh/#{role}/#{environment}/#{id}", options)
95
+ get("/ssh/#{role}/#{environment}/#{id}")
82
96
  end
83
97
 
84
98
  def getrolenodes(role, params={})
85
- options = {:headers => @auth, :query => params}
86
- JSON::parse self.class.get("/hosts/#{role}", options)
99
+ get("/hosts/#{role}", {query: params})
87
100
  end
88
101
 
89
102
  def getenvnodes(environment, params={})
90
- options = {:headers => @auth, :query => params}
91
- JSON::parse self.class.get("/hosts/ALL/#{environment}", options)
103
+ get("/hosts/ALL/#{environment}", {query: params})
92
104
  end
93
105
 
94
106
  def getallnodes(params)
95
- options = {:headers => @auth, :query => params}
96
- JSON::parse self.class.get("/hosts", options)
107
+ get("/hosts", {query: params})
97
108
  end
98
109
 
99
110
  def api_version()
100
- options = { :headers => @auth }
101
- JSON::parse self.class.get("/version", options)
111
+ get("/version")
102
112
  end
103
113
  end
104
114
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gaptool-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Bailey
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-26 00:00:00.000000000 Z
12
+ date: 2015-02-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -64,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  version: '0'
65
65
  requirements: []
66
66
  rubyforge_project:
67
- rubygems_version: 2.4.3
67
+ rubygems_version: 2.2.2
68
68
  signing_key:
69
69
  specification_version: 4
70
70
  summary: gaptool-server ruby API