gaptool-api 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|