tutum 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c32376eb5554daeb5ae2174716fb00a0205ba06
4
- data.tar.gz: 7826aeaeb35fb07cfd70c8a683a235372ebab53e
3
+ metadata.gz: 443bc124a5992a7183a1fa3477da95b85e01af6f
4
+ data.tar.gz: d5c8429c96c1bef0777b113cd9bc8f8296e71c03
5
5
  SHA512:
6
- metadata.gz: a70f4b3fd4799cd213a99248e48943c987770bce3de696b4f332766de098c85f1f20fb8f6a51cdfb4164801298d4e6bea54bc915f5e9fb989f66ec40c2cfa76b
7
- data.tar.gz: 05ea354e67977017a94ad90eacd75039d303ad21f2066a742e6a8dd3c5130b93c3e5258ccd11656bcd4161159d379e40a34a8eb64b3077e45c093083813f2f5d
6
+ metadata.gz: 53a31cbf355bfcec71e86014741490333c6e804d01e1c3714c9a87c1b279c2c505af4e44c4c4820a9af21f230d9d96150e42d299f0016b6a114334e310f5ba65
7
+ data.tar.gz: aa259d2a9800a6beefb9280518b4e2bcabc8c0fb7a6de580f1f6c829456b594fb3e2b9000357ffc0e19823844aa3b923307e661c4ab2b6149532861649e9a28c
@@ -8,18 +8,21 @@ require_relative './tutum_nodes'
8
8
  require_relative './tutum_providers'
9
9
  require_relative './tutum_regions'
10
10
  require_relative './tutum_services'
11
+ require_relative './tutum_stacks'
11
12
 
12
13
  class Tutum
13
- attr_reader :username, :api_key
14
+ attr_reader :username, :api_key, :tutum_auth
14
15
 
15
- def initialize(username, api_key)
16
- @username = username
17
- @api_key = api_key
16
+ def initialize(*options)
17
+ @options = extract_options! options
18
+ @username = @options[:username]
19
+ @api_key = @options[:api_key]
20
+ @tutum_auth = @options[:tutum_auth]
18
21
  end
19
22
 
20
23
  def headers
21
24
  {
22
- 'Authorization' => "ApiKey #{@username}:#{@api_key}",
25
+ 'Authorization' => @tutum_auth ? @tutum_auth : "ApiKey #{@username}:#{@api_key}",
23
26
  'Accept' => 'application/json',
24
27
  'Content-Type' => 'application/json'
25
28
  }
@@ -60,4 +63,21 @@ class Tutum
60
63
  def services
61
64
  @services ||= TutumServices.new(headers)
62
65
  end
66
+
67
+ def stacks
68
+ @stacks ||= TutumStacks.new(headers)
69
+ end
70
+
71
+ private
72
+
73
+ def extract_options!(args)
74
+ options = {}
75
+ if args[0].class == String
76
+ options[:username] = args[0]
77
+ options[:api_key] = args[1]
78
+ else
79
+ options = args[0]
80
+ end
81
+ options
82
+ end
63
83
  end
@@ -0,0 +1,73 @@
1
+ class TutumStacks < TutumApi
2
+ def list_url
3
+ "/stack/"
4
+ end
5
+
6
+ def list(params={})
7
+ http_get(list_url, params)
8
+ end
9
+
10
+ def get_url(uuid)
11
+ "/stack/#{uuid}/"
12
+ end
13
+
14
+ def get(uuid)
15
+ http_get(get_url(uuid))
16
+ end
17
+
18
+ def create_url
19
+ "/stack/"
20
+ end
21
+
22
+ def create(params)
23
+ http_post(create_url, params)
24
+ end
25
+
26
+ def export_url(uuid)
27
+ "/stack/#{uuid}/export/"
28
+ end
29
+
30
+ def export(uuid)
31
+ http_get(export_url(uuid))
32
+ end
33
+
34
+ def update_url(uuid)
35
+ "/stack/#{uuid}/"
36
+ end
37
+
38
+ def update(uuid, params)
39
+ http_patch(update_url(uuid), params)
40
+ end
41
+
42
+ def stop_url(uuid)
43
+ "/stack/#{uuid}/stop/"
44
+ end
45
+
46
+ def stop(uuid)
47
+ http_post(stop_url(uuid))
48
+ end
49
+
50
+ def start_url(uuid)
51
+ "/stack/#{uuid}/start/"
52
+ end
53
+
54
+ def start(uuid)
55
+ http_post(start_url(uuid))
56
+ end
57
+
58
+ def redeploy_url(uuid)
59
+ "/stack/#{uuid}/redeploy/"
60
+ end
61
+
62
+ def redeploy(uuid)
63
+ http_post(redeploy_url(uuid))
64
+ end
65
+
66
+ def terminate_url(uuid)
67
+ "/stack/#{uuid}/"
68
+ end
69
+
70
+ def terminate(uuid)
71
+ http_delete(terminate_url(uuid))
72
+ end
73
+ end
@@ -1,3 +1,3 @@
1
1
  class Tutum
2
- VERSION = "0.2.6"
2
+ VERSION = "0.2.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tutum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josie Wright
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-11-04 00:00:00.000000000 Z
14
+ date: 2015-05-17 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rest-client
@@ -131,6 +131,7 @@ files:
131
131
  - lib/tutum_providers.rb
132
132
  - lib/tutum_regions.rb
133
133
  - lib/tutum_services.rb
134
+ - lib/tutum_stacks.rb
134
135
  - lib/version.rb
135
136
  homepage: https://github.com/tutumcloud/ruby-tutum
136
137
  licenses: