smartdc 0.4.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/.document +0 -1
  2. data/.travis.yml +5 -0
  3. data/Gemfile +7 -10
  4. data/README.md +42 -69
  5. data/Rakefile +47 -0
  6. data/VERSION +1 -1
  7. data/bin/sdc +327 -0
  8. data/lib/cli_helper.rb +131 -8
  9. data/lib/configure.rb +73 -0
  10. data/lib/smartdc.rb +16 -1
  11. data/lib/smartdc/api/analytics.rb +29 -7
  12. data/lib/smartdc/api/analytics/heatmap.rb +20 -0
  13. data/lib/smartdc/api/datacenters.rb +6 -7
  14. data/lib/smartdc/api/datasets.rb +6 -7
  15. data/lib/smartdc/api/keys.rb +10 -11
  16. data/lib/smartdc/api/machine/metadata.rb +9 -15
  17. data/lib/smartdc/api/machine/snapshots.rb +16 -16
  18. data/lib/smartdc/api/machine/tags.rb +11 -12
  19. data/lib/smartdc/api/machines.rb +23 -23
  20. data/lib/smartdc/api/packages.rb +7 -8
  21. data/lib/smartdc/client.rb +14 -18
  22. data/lib/smartdc/request.rb +41 -51
  23. data/lib/smartdc/response.rb +24 -0
  24. data/lib/smartdc/response/raise_error.rb +1 -1
  25. data/smartdc.gemspec +51 -90
  26. data/spec/fixtures/analytics.json +26 -0
  27. data/spec/fixtures/datacenter.json +4 -0
  28. data/spec/fixtures/datacenters.json +3 -0
  29. data/spec/fixtures/datasets.json +38 -0
  30. data/spec/fixtures/keys.json +14 -0
  31. data/spec/fixtures/machines.json +36 -0
  32. data/spec/fixtures/packages.json +18 -0
  33. data/spec/fixtures/snapshots.json +8 -0
  34. data/spec/fixtures/tag.json +3 -0
  35. data/spec/spec_helper.rb +3 -12
  36. data/spec/unit/smartdc/api/analytics_spec.rb +53 -0
  37. data/spec/unit/smartdc/api/datacenters_spec.rb +31 -0
  38. data/spec/unit/smartdc/api/datasets_spec.rb +31 -0
  39. data/spec/unit/smartdc/api/keys_spec.rb +53 -0
  40. data/spec/unit/smartdc/api/machine/metadata_spec.rb +42 -0
  41. data/spec/unit/smartdc/api/machine/snapshots_spec.rb +132 -0
  42. data/spec/unit/smartdc/api/machine/tags_spec.rb +53 -0
  43. data/spec/unit/smartdc/api/machines_spec.rb +53 -0
  44. data/spec/unit/smartdc/api/packages_spec.rb +31 -0
  45. data/spec/{smartdc → unit/smartdc}/client_spec.rb +0 -6
  46. data/spec/{smartdc_spec.rb → unit/smartdc_spec.rb} +1 -1
  47. metadata +72 -140
  48. data/LICENSE.md +0 -20
  49. data/bin/sdc-addmachinemetadata +0 -29
  50. data/bin/sdc-addmachinetag +0 -29
  51. data/bin/sdc-createinstrumentation +0 -27
  52. data/bin/sdc-createkey +0 -32
  53. data/bin/sdc-createmachine +0 -39
  54. data/bin/sdc-createmachinesnapshot +0 -27
  55. data/bin/sdc-deleteinstrumentation +0 -12
  56. data/bin/sdc-deletekey +0 -12
  57. data/bin/sdc-deletemachine +0 -12
  58. data/bin/sdc-deletemachinemetadata +0 -29
  59. data/bin/sdc-deletemachinesnapshot +0 -29
  60. data/bin/sdc-deletemachinetag +0 -29
  61. data/bin/sdc-describeanalytics +0 -10
  62. data/bin/sdc-getdatacenter +0 -10
  63. data/bin/sdc-getdataset +0 -10
  64. data/bin/sdc-getinstrumentation +0 -31
  65. data/bin/sdc-getkey +0 -10
  66. data/bin/sdc-getmachine +0 -12
  67. data/bin/sdc-getmachinemetadata +0 -12
  68. data/bin/sdc-getmachinesnapshot +0 -27
  69. data/bin/sdc-getmachinetag +0 -27
  70. data/bin/sdc-getpackage +0 -10
  71. data/bin/sdc-listdatacenters +0 -10
  72. data/bin/sdc-listdatasets +0 -10
  73. data/bin/sdc-listinstrumentations +0 -10
  74. data/bin/sdc-listkeys +0 -10
  75. data/bin/sdc-listmachines +0 -10
  76. data/bin/sdc-listmachinesnapshots +0 -10
  77. data/bin/sdc-listmachinetags +0 -10
  78. data/bin/sdc-listpackages +0 -10
  79. data/bin/sdc-rebootmachine +0 -12
  80. data/bin/sdc-resizemachine +0 -34
  81. data/bin/sdc-setup +0 -67
  82. data/bin/sdc-startmachine +0 -12
  83. data/bin/sdc-startmachinefromsnapshot +0 -29
  84. data/bin/sdc-stopmachine +0 -12
  85. data/config/fixtures/instrumentation.json +0 -4
  86. data/config/fixtures/key.json +0 -4
  87. data/config/fixtures/tag.json +0 -3
  88. data/lib/smartdc/api/analytics/instrumentations.rb +0 -44
  89. data/lib/smartdc/response/mashify.rb +0 -29
  90. data/lib/smartdc/response/parse_json.rb +0 -26
  91. data/spec/smartdc/api/analytics_spec.rb +0 -32
  92. data/spec/smartdc/api/datacenters_spec.rb +0 -16
  93. data/spec/smartdc/api/datasets_spec.rb +0 -16
  94. data/spec/smartdc/api/keys_spec.rb +0 -32
  95. data/spec/smartdc/api/machine/metadata_spec.rb +0 -59
  96. data/spec/smartdc/api/machine/snapshots_spec.rb +0 -70
  97. data/spec/smartdc/api/machine/tags_spec.rb +0 -65
  98. data/spec/smartdc/api/machines_spec.rb +0 -92
  99. data/spec/smartdc/api/packages_spec.rb +0 -16
  100. data/spec/smartdc/request_spec.rb +0 -12
@@ -0,0 +1,53 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Smartdc::Api::Machine::Tags" do
4
+
5
+ before(:all) do
6
+ @object = Object.new
7
+ @request = Smartdc::Request
8
+ end
9
+
10
+ describe ".create" do
11
+ it "should return a tag" do
12
+ @object.stub(:content) {fixture('tag')}
13
+ tag = @object.content
14
+ @request.stub_chain(:new, :post).with('my/machines/id/tags/', tag) {@object}
15
+
16
+ tags = Smartdc::Api::Machine::Tags.new('id', {})
17
+ tags.create(tag).content.should == tag
18
+ end
19
+ end
20
+
21
+ describe ".read" do
22
+ it "should return a tag" do
23
+ @object.stub(:content) {fixture('tag')}
24
+ key = @object.content.first[0]
25
+ @request.stub_chain(:new, :get).with('my/machines/id/tags/' + key) {@object}
26
+
27
+ tags = Smartdc::Api::Machine::Tags.new('id', {})
28
+ tags.read(key).content.first[0].should == key
29
+ end
30
+ end
31
+
32
+ describe ".all" do
33
+ it "should return some tags" do
34
+ @object.stub(:content) {fixture('tag')}
35
+ @request.stub_chain(:new, :get).with('my/machines/id/tags', {}) {@object}
36
+
37
+ tags = Smartdc::Api::Machine::Tags.new('id', {})
38
+ tags.all.content.count.should > 0
39
+ end
40
+ end
41
+
42
+ describe ".delete" do
43
+ it "should return a tag" do
44
+ @object.stub(:status) {204}
45
+ key = fixture('tag').first[0]
46
+ @request.stub_chain(:new, :del).with('my/machines/id/tags/' + key) {@object}
47
+
48
+ tags = Smartdc::Api::Machine::Tags.new('id', {})
49
+ tags.destroy(key).status.should == 204
50
+ end
51
+ end
52
+
53
+ end
@@ -0,0 +1,53 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Smartdc::Api::Machines" do
4
+
5
+ before(:all) do
6
+ @object = Object.new
7
+ @request = Smartdc::Request
8
+ end
9
+
10
+ describe ".create" do
11
+ it "should return a machine" do
12
+ @object.stub(:content) {fixture('machines')[0]}
13
+ machine = @object.content
14
+ @request.stub_chain(:new, :post).with('my/machines/', machine) {@object}
15
+
16
+ machines = Smartdc::Api::Machines.new({})
17
+ machines.create(machine).content['name'].should == machine['name']
18
+ end
19
+ end
20
+
21
+ describe ".read" do
22
+ it "should return a machine" do
23
+ @object.stub(:content) {fixture('machines')[0]}
24
+ name = @object.content['name']
25
+ @request.stub_chain(:new, :get).with('my/machines/' + name) {@object}
26
+
27
+ machines = Smartdc::Api::Machines.new({})
28
+ machines.read(name).content['name'].should == name
29
+ end
30
+ end
31
+
32
+ describe ".all" do
33
+ it "should return some machines" do
34
+ @object.stub(:content) {fixture('machines')}
35
+ @request.stub_chain(:new, :get).with('my/machines', {}) {@object}
36
+
37
+ machines = Smartdc::Api::Machines.new({})
38
+ machines.all.content.count.should > 0
39
+ end
40
+ end
41
+
42
+ describe ".delete" do
43
+ it "should return true when success" do
44
+ machine = fixture('machines')[0]
45
+ @object.stub(:status) {204}
46
+ @request.stub_chain(:new, :del).with('my/machines/' + machine['name']) {@object}
47
+
48
+ machines = Smartdc::Api::Machines.new({})
49
+ machines.destroy(machine['name']).status.should == 204
50
+ end
51
+ end
52
+
53
+ end
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Smartdc::Api::Packages" do
4
+
5
+ before(:all) do
6
+ @object = Object.new
7
+ @request = Smartdc::Request
8
+ end
9
+
10
+ describe ".read" do
11
+ it "should return a package" do
12
+ @object.stub(:content) {fixture('packages')[0]}
13
+ name = @object.content['name']
14
+ @request.stub_chain(:new, :get).with('my/packages/' + name) {@object}
15
+
16
+ packages = Smartdc::Api::Packages.new({})
17
+ packages.read(name).content['name'].should == name
18
+ end
19
+ end
20
+
21
+ describe ".all" do
22
+ it "should return some packages" do
23
+ @object.stub(:content) {fixture('packages')}
24
+ @request.stub_chain(:new, :get).with('my/packages', {}) {@object}
25
+
26
+ packages = Smartdc::Api::Packages.new({})
27
+ packages.all.content.count.should > 0
28
+ end
29
+ end
30
+
31
+ end
@@ -1,12 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "Smartdc::Client" do
4
- describe ".initialize" do
5
- it "should return a Smartdc::Request" do
6
- Smartdc::Client.new(fixture('config', 'config')).request.should be_a Smartdc::Request
7
- end
8
- end
9
-
10
4
  describe ".keys" do
11
5
  it "should return a Smartdc::Api::Keys" do
12
6
  Smartdc::Client.new.keys.should be_a Smartdc::Api::Keys
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe "Smartdc" do
4
4
  describe ".new" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartdc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,199 +9,124 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-08 00:00:00.000000000 Z
12
+ date: 2012-12-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
16
- requirement: &70117794072540 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.7.6
21
+ version: '0.8'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70117794072540
25
- - !ruby/object:Gem::Dependency
26
- name: hashie
27
- requirement: &70117794072060 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
28
25
  none: false
29
26
  requirements:
30
27
  - - ~>
31
28
  - !ruby/object:Gem::Version
32
- version: 1.2.0
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70117794072060
29
+ version: '0.8'
36
30
  - !ruby/object:Gem::Dependency
37
- name: multi_json
38
- requirement: &70117794071580 !ruby/object:Gem::Requirement
31
+ name: thor
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
34
  requirements:
41
35
  - - ~>
42
36
  - !ruby/object:Gem::Version
43
- version: 1.1.0
37
+ version: '0.16'
44
38
  type: :runtime
45
39
  prerelease: false
46
- version_requirements: *70117794071580
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '0.16'
47
46
  - !ruby/object:Gem::Dependency
48
- name: multipart-post
49
- requirement: &70117794071100 !ruby/object:Gem::Requirement
47
+ name: terminal-table
48
+ requirement: !ruby/object:Gem::Requirement
50
49
  none: false
51
50
  requirements:
52
51
  - - ~>
53
52
  - !ruby/object:Gem::Version
54
- version: 1.1.4
53
+ version: '1.4'
55
54
  type: :runtime
56
55
  prerelease: false
57
- version_requirements: *70117794071100
58
- - !ruby/object:Gem::Dependency
59
- name: rspec
60
- requirement: &70117794070620 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
61
57
  none: false
62
58
  requirements:
63
59
  - - ~>
64
60
  - !ruby/object:Gem::Version
65
- version: 2.8.0
66
- type: :development
67
- prerelease: false
68
- version_requirements: *70117794070620
61
+ version: '1.4'
69
62
  - !ruby/object:Gem::Dependency
70
63
  name: bundler
71
- requirement: &70117794070140 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
72
65
  none: false
73
66
  requirements:
74
67
  - - ~>
75
68
  - !ruby/object:Gem::Version
76
- version: 1.0.0
69
+ version: '1.1'
77
70
  type: :development
78
71
  prerelease: false
79
- version_requirements: *70117794070140
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '1.1'
80
78
  - !ruby/object:Gem::Dependency
81
79
  name: jeweler
82
- requirement: &70117794069660 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
83
81
  none: false
84
82
  requirements:
85
83
  - - ~>
86
84
  - !ruby/object:Gem::Version
87
- version: 1.8.3
85
+ version: '1.8'
88
86
  type: :development
89
87
  prerelease: false
90
- version_requirements: *70117794069660
91
- - !ruby/object:Gem::Dependency
92
- name: rcov
93
- requirement: &70117794069180 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
94
89
  none: false
95
90
  requirements:
96
91
  - - ~>
97
92
  - !ruby/object:Gem::Version
98
- version: 0.9.11
99
- type: :development
100
- prerelease: false
101
- version_requirements: *70117794069180
93
+ version: '1.8'
102
94
  - !ruby/object:Gem::Dependency
103
- name: uuid
104
- requirement: &70117794085080 !ruby/object:Gem::Requirement
95
+ name: rspec
96
+ requirement: !ruby/object:Gem::Requirement
105
97
  none: false
106
98
  requirements:
107
99
  - - ~>
108
100
  - !ruby/object:Gem::Version
109
- version: 2.3.4
101
+ version: '2.12'
110
102
  type: :development
111
103
  prerelease: false
112
- version_requirements: *70117794085080
113
- description: smartdc is SmartDataCenter Public API.
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '2.12'
110
+ description: SmartDataCenter client and SmartDataCenter Command Line Interface.
114
111
  email: ogom@hotmail.co.jp
115
112
  executables:
116
- - sdc-addmachinemetadata
117
- - sdc-addmachinetag
118
- - sdc-createinstrumentation
119
- - sdc-createkey
120
- - sdc-createmachine
121
- - sdc-createmachinesnapshot
122
- - sdc-deleteinstrumentation
123
- - sdc-deletekey
124
- - sdc-deletemachine
125
- - sdc-deletemachinemetadata
126
- - sdc-deletemachinesnapshot
127
- - sdc-deletemachinetag
128
- - sdc-describeanalytics
129
- - sdc-getdatacenter
130
- - sdc-getdataset
131
- - sdc-getinstrumentation
132
- - sdc-getkey
133
- - sdc-getmachine
134
- - sdc-getmachinemetadata
135
- - sdc-getmachinesnapshot
136
- - sdc-getmachinetag
137
- - sdc-getpackage
138
- - sdc-listdatacenters
139
- - sdc-listdatasets
140
- - sdc-listinstrumentations
141
- - sdc-listkeys
142
- - sdc-listmachines
143
- - sdc-listmachinesnapshots
144
- - sdc-listmachinetags
145
- - sdc-listpackages
146
- - sdc-rebootmachine
147
- - sdc-resizemachine
148
- - sdc-setup
149
- - sdc-startmachine
150
- - sdc-startmachinefromsnapshot
151
- - sdc-stopmachine
113
+ - sdc
152
114
  extensions: []
153
115
  extra_rdoc_files:
154
- - LICENSE.md
155
116
  - README.md
156
117
  files:
157
118
  - .document
119
+ - .travis.yml
158
120
  - Gemfile
159
- - LICENSE.md
160
121
  - README.md
122
+ - Rakefile
161
123
  - VERSION
162
- - bin/sdc-addmachinemetadata
163
- - bin/sdc-addmachinetag
164
- - bin/sdc-createinstrumentation
165
- - bin/sdc-createkey
166
- - bin/sdc-createmachine
167
- - bin/sdc-createmachinesnapshot
168
- - bin/sdc-deleteinstrumentation
169
- - bin/sdc-deletekey
170
- - bin/sdc-deletemachine
171
- - bin/sdc-deletemachinemetadata
172
- - bin/sdc-deletemachinesnapshot
173
- - bin/sdc-deletemachinetag
174
- - bin/sdc-describeanalytics
175
- - bin/sdc-getdatacenter
176
- - bin/sdc-getdataset
177
- - bin/sdc-getinstrumentation
178
- - bin/sdc-getkey
179
- - bin/sdc-getmachine
180
- - bin/sdc-getmachinemetadata
181
- - bin/sdc-getmachinesnapshot
182
- - bin/sdc-getmachinetag
183
- - bin/sdc-getpackage
184
- - bin/sdc-listdatacenters
185
- - bin/sdc-listdatasets
186
- - bin/sdc-listinstrumentations
187
- - bin/sdc-listkeys
188
- - bin/sdc-listmachines
189
- - bin/sdc-listmachinesnapshots
190
- - bin/sdc-listmachinetags
191
- - bin/sdc-listpackages
192
- - bin/sdc-rebootmachine
193
- - bin/sdc-resizemachine
194
- - bin/sdc-setup
195
- - bin/sdc-startmachine
196
- - bin/sdc-startmachinefromsnapshot
197
- - bin/sdc-stopmachine
198
- - config/fixtures/instrumentation.json
199
- - config/fixtures/key.json
200
- - config/fixtures/tag.json
124
+ - bin/sdc
201
125
  - lib/cli_helper.rb
126
+ - lib/configure.rb
202
127
  - lib/smartdc.rb
203
128
  - lib/smartdc/api/analytics.rb
204
- - lib/smartdc/api/analytics/instrumentations.rb
129
+ - lib/smartdc/api/analytics/heatmap.rb
205
130
  - lib/smartdc/api/datacenters.rb
206
131
  - lib/smartdc/api/datasets.rb
207
132
  - lib/smartdc/api/keys.rb
@@ -213,23 +138,30 @@ files:
213
138
  - lib/smartdc/client.rb
214
139
  - lib/smartdc/error.rb
215
140
  - lib/smartdc/request.rb
216
- - lib/smartdc/response/mashify.rb
217
- - lib/smartdc/response/parse_json.rb
141
+ - lib/smartdc/response.rb
218
142
  - lib/smartdc/response/raise_error.rb
219
143
  - smartdc.gemspec
220
- - spec/smartdc/api/analytics_spec.rb
221
- - spec/smartdc/api/datacenters_spec.rb
222
- - spec/smartdc/api/datasets_spec.rb
223
- - spec/smartdc/api/keys_spec.rb
224
- - spec/smartdc/api/machine/metadata_spec.rb
225
- - spec/smartdc/api/machine/snapshots_spec.rb
226
- - spec/smartdc/api/machine/tags_spec.rb
227
- - spec/smartdc/api/machines_spec.rb
228
- - spec/smartdc/api/packages_spec.rb
229
- - spec/smartdc/client_spec.rb
230
- - spec/smartdc/request_spec.rb
231
- - spec/smartdc_spec.rb
144
+ - spec/fixtures/analytics.json
145
+ - spec/fixtures/datacenter.json
146
+ - spec/fixtures/datacenters.json
147
+ - spec/fixtures/datasets.json
148
+ - spec/fixtures/keys.json
149
+ - spec/fixtures/machines.json
150
+ - spec/fixtures/packages.json
151
+ - spec/fixtures/snapshots.json
152
+ - spec/fixtures/tag.json
232
153
  - spec/spec_helper.rb
154
+ - spec/unit/smartdc/api/analytics_spec.rb
155
+ - spec/unit/smartdc/api/datacenters_spec.rb
156
+ - spec/unit/smartdc/api/datasets_spec.rb
157
+ - spec/unit/smartdc/api/keys_spec.rb
158
+ - spec/unit/smartdc/api/machine/metadata_spec.rb
159
+ - spec/unit/smartdc/api/machine/snapshots_spec.rb
160
+ - spec/unit/smartdc/api/machine/tags_spec.rb
161
+ - spec/unit/smartdc/api/machines_spec.rb
162
+ - spec/unit/smartdc/api/packages_spec.rb
163
+ - spec/unit/smartdc/client_spec.rb
164
+ - spec/unit/smartdc_spec.rb
233
165
  homepage: http://github.com/ogom/ruby-smartdc
234
166
  licenses:
235
167
  - MIT
@@ -245,7 +177,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
245
177
  version: '0'
246
178
  segments:
247
179
  - 0
248
- hash: -933495277461786696
180
+ hash: -3018539287908921547
249
181
  required_rubygems_version: !ruby/object:Gem::Requirement
250
182
  none: false
251
183
  requirements:
@@ -254,8 +186,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
254
186
  version: '0'
255
187
  requirements: []
256
188
  rubyforge_project:
257
- rubygems_version: 1.8.15
189
+ rubygems_version: 1.8.23
258
190
  signing_key:
259
191
  specification_version: 3
260
- summary: SmartDataCenter CloudApi client by ruby.
192
+ summary: Joyent SmartDataCenter CloudApi client by ruby.
261
193
  test_files: []