gaptool-api 0.8.0 → 0.8.1
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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/gaptool-api.rb +39 -35
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f31ec7f78d859b9db5eb0c076d09638de2211590
|
4
|
+
data.tar.gz: 53f4e3638849981d428eca6b5a6d321094de670b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd61d61b2e487edc8c058530eaec07b380c2cdeac2d7e146460fd5eab0c708a259da7070c3d75cba84fab718f20378a9a4653e87d3158773dc3a5adc48d5678e
|
7
|
+
data.tar.gz: b265e89e33b4717eac5c5f8a609b590c7e7b4909d48b721fd34ea91af2563880803dfe5f1df5000dd29ba3d8067c2d1f20277409e45a4ab805b42d855386457b
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.1
|
data/lib/gaptool-api.rb
CHANGED
@@ -8,16 +8,17 @@ module GTAPI
|
|
8
8
|
DEFAULT_AWS_AZ = 'us-west-2c'
|
9
9
|
attr_reader :version
|
10
10
|
|
11
|
-
def initialize(user, apikey, uri, default_aws_az=DEFAULT_AWS_AZ)
|
12
|
-
@auth = { 'X-GAPTOOL-USER' => user, 'X-GAPTOOL-KEY' => apikey}
|
13
|
-
default_aws_az
|
11
|
+
def initialize(user, apikey, uri, default_aws_az = DEFAULT_AWS_AZ)
|
12
|
+
@auth = { 'X-GAPTOOL-USER' => user, 'X-GAPTOOL-KEY' => apikey }
|
13
|
+
default_aws_az ||= DEFAULT_AWS_AZ
|
14
14
|
@default_aws_az = default_aws_az
|
15
15
|
@default_aws_region = default_aws_az[0..-2]
|
16
|
-
@version = File.read(File.realpath(File.join(File.dirname(__FILE__),
|
16
|
+
@version = File.read(File.realpath(File.join(File.dirname(__FILE__),
|
17
|
+
'..', 'VERSION'))).strip
|
17
18
|
GaptoolServer.base_uri uri
|
18
19
|
end
|
19
20
|
|
20
|
-
def call(verb, url, opts={})
|
21
|
+
def call(verb, url, opts = {})
|
21
22
|
options = opts || {}
|
22
23
|
options[:headers] ||= {}
|
23
24
|
options[:headers].merge!(@auth)
|
@@ -31,33 +32,39 @@ module GTAPI
|
|
31
32
|
JSON.parse(self.class.send(verb, url, options).body)
|
32
33
|
end
|
33
34
|
|
34
|
-
def get(url, opts={})
|
35
|
+
def get(url, opts = {})
|
35
36
|
call(:get, url, opts)
|
36
37
|
end
|
37
38
|
|
38
|
-
def post(url, opts={})
|
39
|
+
def post(url, opts = {})
|
39
40
|
call(:post, url, opts)
|
40
41
|
end
|
41
42
|
|
42
|
-
def patch(url, opts={})
|
43
|
+
def patch(url, opts = {})
|
43
44
|
call(:patch, url, opts)
|
44
45
|
end
|
45
46
|
|
46
|
-
def rehash
|
47
|
-
post(
|
47
|
+
def rehash
|
48
|
+
post('/rehash')
|
48
49
|
end
|
49
50
|
|
50
51
|
def getonenode(id)
|
51
52
|
get("/instance/#{id}")
|
52
53
|
end
|
53
54
|
|
54
|
-
def
|
55
|
-
|
55
|
+
def getnodeattrs(id, attrs = {})
|
56
|
+
attrs ||= {}
|
57
|
+
get("/instance/#{id}/attrs",
|
58
|
+
body: attrs.to_json)
|
56
59
|
end
|
57
60
|
|
58
|
-
def
|
59
|
-
|
60
|
-
|
61
|
+
def getenvroles(role, environment, params = {})
|
62
|
+
get("/hosts/#{role}/#{environment}", query: params)
|
63
|
+
end
|
64
|
+
|
65
|
+
def addnode(zone, itype, role, environment, _mirror = nil,
|
66
|
+
security_group = nil, ami = nil, chef_repo = nil,
|
67
|
+
chef_branch = nil, chef_runlist = nil, no_terminate = nil)
|
61
68
|
body = {
|
62
69
|
'zone' => zone || @default_aws_az,
|
63
70
|
'itype' => itype,
|
@@ -67,44 +74,41 @@ module GTAPI
|
|
67
74
|
'chef_repo' => chef_repo,
|
68
75
|
'chef_branch' => chef_branch
|
69
76
|
}
|
70
|
-
unless security_group.nil?
|
71
|
-
body['security_group'] = security_group
|
72
|
-
end
|
77
|
+
body['security_group'] = security_group unless security_group.nil?
|
73
78
|
unless chef_runlist.nil? || chef_runlist.empty?
|
74
79
|
body['chef_runlist'] = [*chef_runlist]
|
75
80
|
end
|
76
|
-
if no_terminate
|
77
|
-
|
78
|
-
end
|
79
|
-
post('/init', {body: body.to_json})
|
81
|
+
body['terminate'] = false if no_terminate
|
82
|
+
post('/init', body: body.to_json)
|
80
83
|
end
|
81
84
|
|
82
85
|
def terminatenode(id, zone)
|
83
|
-
|
86
|
+
body = { 'id' => id, 'zone' => zone || @default_aws_region }
|
87
|
+
post('/terminate', body: body.to_json)
|
84
88
|
end
|
85
89
|
|
86
|
-
def setparameters(instance, params={})
|
87
|
-
patch("/instance/#{instance}",
|
90
|
+
def setparameters(instance, params = {})
|
91
|
+
patch("/instance/#{instance}", body: params.to_json)
|
88
92
|
end
|
89
93
|
|
90
|
-
def getappnodes(app, environment, params={})
|
91
|
-
get("/app/#{app}/#{environment}/hosts",
|
94
|
+
def getappnodes(app, environment, params = {})
|
95
|
+
get("/app/#{app}/#{environment}/hosts", query: params)
|
92
96
|
end
|
93
97
|
|
94
|
-
def getrolenodes(role, params={})
|
95
|
-
get("/hosts/#{role}",
|
98
|
+
def getrolenodes(role, params = {})
|
99
|
+
get("/hosts/#{role}", query: params)
|
96
100
|
end
|
97
101
|
|
98
|
-
def getenvnodes(environment, params={})
|
99
|
-
get("/hosts/ALL/#{environment}",
|
102
|
+
def getenvnodes(environment, params = {})
|
103
|
+
get("/hosts/ALL/#{environment}", query: params)
|
100
104
|
end
|
101
105
|
|
102
|
-
def getallnodes(params)
|
103
|
-
get(
|
106
|
+
def getallnodes(params = {})
|
107
|
+
get('/hosts', query: params)
|
104
108
|
end
|
105
109
|
|
106
|
-
def api_version
|
107
|
-
get(
|
110
|
+
def api_version
|
111
|
+
get('/version')
|
108
112
|
end
|
109
113
|
end
|
110
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.8.
|
4
|
+
version: 0.8.1
|
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:
|
12
|
+
date: 2016-01-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|