smartdc 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/Gemfile +16 -0
- data/LICENSE.md +20 -0
- data/README.md +87 -0
- data/VERSION +1 -0
- data/bin/sdc-addmachinemetadata +29 -0
- data/bin/sdc-addmachinetag +29 -0
- data/bin/sdc-createinstrumentation +28 -0
- data/bin/sdc-createkey +33 -0
- data/bin/sdc-createmachine +39 -0
- data/bin/sdc-createmachinesnapshot +28 -0
- data/bin/sdc-deleteinstrumentation +10 -0
- data/bin/sdc-deletekey +10 -0
- data/bin/sdc-deletemachine +10 -0
- data/bin/sdc-deletemachinemetadata +27 -0
- data/bin/sdc-deletemachinesnapshot +28 -0
- data/bin/sdc-deletemachinetag +27 -0
- data/bin/sdc-describeanalytics +11 -0
- data/bin/sdc-getdatacenter +11 -0
- data/bin/sdc-getdataset +11 -0
- data/bin/sdc-getinstrumentation +32 -0
- data/bin/sdc-getkey +11 -0
- data/bin/sdc-getmachine +11 -0
- data/bin/sdc-getmachinemetadata +11 -0
- data/bin/sdc-getmachinesnapshot +28 -0
- data/bin/sdc-getmachinetag +28 -0
- data/bin/sdc-getpackage +11 -0
- data/bin/sdc-listdatacenters +11 -0
- data/bin/sdc-listdatasets +11 -0
- data/bin/sdc-listinstrumentations +11 -0
- data/bin/sdc-listkeys +11 -0
- data/bin/sdc-listmachines +11 -0
- data/bin/sdc-listmachinesnapshots +11 -0
- data/bin/sdc-listmachinetags +11 -0
- data/bin/sdc-listpackages +11 -0
- data/bin/sdc-rebootmachine +10 -0
- data/bin/sdc-resizemachine +32 -0
- data/bin/sdc-setup +63 -0
- data/bin/sdc-startmachine +10 -0
- data/bin/sdc-startmachinefromsnapshot +28 -0
- data/bin/sdc-stopmachine +10 -0
- data/config/fixtures/instrumentation.json +4 -0
- data/config/fixtures/key.json +4 -0
- data/config/fixtures/tag.json +3 -0
- data/lib/cli_helper.rb +12 -0
- data/lib/faraday/response/mashify.rb +26 -0
- data/lib/faraday/response/parse_json.rb +22 -0
- data/lib/smartdc.rb +8 -0
- data/lib/smartdc/api/analytics.rb +22 -0
- data/lib/smartdc/api/analytics/instrumentations.rb +45 -0
- data/lib/smartdc/api/datacenters.rb +21 -0
- data/lib/smartdc/api/datasets.rb +21 -0
- data/lib/smartdc/api/keys.rb +31 -0
- data/lib/smartdc/api/machine/metadata.rb +31 -0
- data/lib/smartdc/api/machine/snapshots.rb +37 -0
- data/lib/smartdc/api/machine/tags.rb +31 -0
- data/lib/smartdc/api/machines.rb +75 -0
- data/lib/smartdc/api/packages.rb +21 -0
- data/lib/smartdc/client.rb +40 -0
- data/lib/smartdc/request.rb +85 -0
- data/smartdc.gemspec +138 -0
- data/spec/smartdc/api/analytics_spec.rb +32 -0
- data/spec/smartdc/api/datacenters_spec.rb +16 -0
- data/spec/smartdc/api/datasets_spec.rb +16 -0
- data/spec/smartdc/api/keys_spec.rb +32 -0
- data/spec/smartdc/api/machine/metadata_spec.rb +42 -0
- data/spec/smartdc/api/machine/snapshots_spec.rb +58 -0
- data/spec/smartdc/api/machine/tags_spec.rb +48 -0
- data/spec/smartdc/api/machines_spec.rb +96 -0
- data/spec/smartdc/api/packages_spec.rb +16 -0
- data/spec/smartdc/client_spec.rb +45 -0
- data/spec/smartdc/request_spec.rb +11 -0
- data/spec/smartdc_spec.rb +9 -0
- data/spec/spec_helper.rb +12 -0
- metadata +259 -0
data/bin/sdc-getdataset
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
4
|
+
require 'cli_helper'
|
5
|
+
|
6
|
+
options = {}
|
7
|
+
OptionParser.new do |opts|
|
8
|
+
opts.banner = "Usage: #{File.basename($0)} instrumentation.id [options]"
|
9
|
+
opts.on('-v', '--value', 'value raw') { options[:value] = true }
|
10
|
+
opts.on_tail('-h','--help') do
|
11
|
+
puts opts
|
12
|
+
exit
|
13
|
+
end
|
14
|
+
|
15
|
+
begin
|
16
|
+
opts.parse!(ARGV)
|
17
|
+
rescue => e
|
18
|
+
puts e.to_s << "\n" << opts.to_s
|
19
|
+
exit
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
begin
|
24
|
+
client.request.return_variable = 'json'
|
25
|
+
if options[:value]
|
26
|
+
puts client.analytics.instrumentations(ARGV[0]).value
|
27
|
+
else
|
28
|
+
puts client.analytics.instrumentations(ARGV[0]).read
|
29
|
+
end
|
30
|
+
rescue => e
|
31
|
+
puts e
|
32
|
+
end
|
data/bin/sdc-getkey
ADDED
data/bin/sdc-getmachine
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
4
|
+
require 'cli_helper'
|
5
|
+
|
6
|
+
options = {}
|
7
|
+
OptionParser.new do |opts|
|
8
|
+
opts.banner = "Usage: #{File.basename($0)} machine.id [options]"
|
9
|
+
opts.on('-n', '--name NAME', 'snapshot name.') {|v| options[:name] = v }
|
10
|
+
opts.on_tail('-h','--help') do
|
11
|
+
puts opts
|
12
|
+
exit
|
13
|
+
end
|
14
|
+
|
15
|
+
begin
|
16
|
+
opts.parse!(ARGV)
|
17
|
+
rescue => e
|
18
|
+
puts e.to_s << "\n" << opts.to_s
|
19
|
+
exit
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
begin
|
24
|
+
client.request.return_variable = 'json'
|
25
|
+
puts client.machines(ARGV[0]).snapshots(options[:name]).read
|
26
|
+
rescue => e
|
27
|
+
puts e
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
4
|
+
require 'cli_helper'
|
5
|
+
|
6
|
+
options = {}
|
7
|
+
OptionParser.new do |opts|
|
8
|
+
opts.banner = "Usage: #{File.basename($0)} machine.id [options]"
|
9
|
+
opts.on('-k', '--key NAME', 'Key Tag.') {|v| options[:key] = v }
|
10
|
+
opts.on_tail('-h','--help') do
|
11
|
+
puts opts
|
12
|
+
exit
|
13
|
+
end
|
14
|
+
|
15
|
+
begin
|
16
|
+
opts.parse!(ARGV)
|
17
|
+
rescue => e
|
18
|
+
puts e.to_s << "\n" << opts.to_s
|
19
|
+
exit
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
begin
|
24
|
+
client.request.return_variable = 'json'
|
25
|
+
puts client.machines(ARGV[0]).tags(options[:key]).read
|
26
|
+
rescue => e
|
27
|
+
puts e
|
28
|
+
end
|
data/bin/sdc-getpackage
ADDED
data/bin/sdc-listkeys
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
4
|
+
require 'cli_helper'
|
5
|
+
|
6
|
+
options = {}
|
7
|
+
OptionParser.new do |opts|
|
8
|
+
opts.banner = "Usage: #{File.basename($0)} machine.id [options]"
|
9
|
+
opts.on('-p', '--package NAME', 'Name of the package to use on provisioning.') {|v| options[:package] = v }
|
10
|
+
opts.on('-h','--help') do
|
11
|
+
puts opts
|
12
|
+
print 'Packages(name):'
|
13
|
+
fixture('packages').each do |packages|
|
14
|
+
print ' ' + packages['name']
|
15
|
+
end
|
16
|
+
puts
|
17
|
+
exit
|
18
|
+
end
|
19
|
+
|
20
|
+
begin
|
21
|
+
opts.parse!(ARGV)
|
22
|
+
rescue => e
|
23
|
+
puts e.to_s << "\n" << opts.to_s
|
24
|
+
exit
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
begin
|
29
|
+
pp client.machines(ARGV[0]).resize options
|
30
|
+
rescue => e
|
31
|
+
puts e
|
32
|
+
end
|
data/bin/sdc-setup
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
4
|
+
require 'cli_helper'
|
5
|
+
require 'pathname'
|
6
|
+
|
7
|
+
CONFIG = File.join(File.dirname(__FILE__), '..', 'config/config.json')
|
8
|
+
DATASETS = File.join(File.dirname(__FILE__), '..', 'config/fixtures/datasets.json')
|
9
|
+
PACKAGES = File.join(File.dirname(__FILE__), '..', 'config/fixtures/packages.json')
|
10
|
+
config = {}
|
11
|
+
|
12
|
+
config[:url] = ARGV[0] if ARGV[0]
|
13
|
+
unless config[:url]
|
14
|
+
puts 'url is empty.'
|
15
|
+
exit 1
|
16
|
+
end
|
17
|
+
|
18
|
+
print 'version:[~6.5] '
|
19
|
+
config[:version] = STDIN.gets.chomp.to_s
|
20
|
+
if config[:version].size == 0
|
21
|
+
config[:version] = '~6.5'
|
22
|
+
end
|
23
|
+
|
24
|
+
print 'Username (login): '
|
25
|
+
config[:username] = STDIN.gets.chomp.to_s
|
26
|
+
if config[:username].size == 0
|
27
|
+
puts 'Username is empty.'
|
28
|
+
exit 1
|
29
|
+
end
|
30
|
+
|
31
|
+
print 'Password: '
|
32
|
+
config[:password] = STDIN.gets.chomp.to_s
|
33
|
+
if config[:password].size == 0
|
34
|
+
puts 'Password is empty.'
|
35
|
+
exit 1
|
36
|
+
end
|
37
|
+
|
38
|
+
Pathname.new(File.dirname(CONFIG)).mkpath unless File.exist?(File.dirname(CONFIG))
|
39
|
+
File.open(CONFIG, 'w') do |file|
|
40
|
+
file.write MultiJson.encode(config)
|
41
|
+
end
|
42
|
+
|
43
|
+
begin
|
44
|
+
datacenters = client.datacenters.find
|
45
|
+
if client.datacenters.find.first[1] == config[:url]
|
46
|
+
puts 'Successful configuration.'
|
47
|
+
|
48
|
+
Pathname.new(File.dirname(DATASETS)).mkpath unless File.exist?(File.dirname(DATASETS))
|
49
|
+
File.open(DATASETS, 'w') do |file|
|
50
|
+
file.write MultiJson.encode(client.datasets.find)
|
51
|
+
end
|
52
|
+
|
53
|
+
Pathname.new(File.dirname(PACKAGES)).mkpath unless File.exist?(File.dirname(PACKAGES))
|
54
|
+
File.open(PACKAGES, 'w') do |file|
|
55
|
+
file.write MultiJson.encode(client.packages.find)
|
56
|
+
end
|
57
|
+
else
|
58
|
+
puts 'Failed Configuration.'
|
59
|
+
end
|
60
|
+
rescue => e
|
61
|
+
puts e
|
62
|
+
puts 'Failed Setup.'
|
63
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
4
|
+
require 'cli_helper'
|
5
|
+
|
6
|
+
options = {}
|
7
|
+
OptionParser.new do |opts|
|
8
|
+
opts.banner = "Usage: #{File.basename($0)} machine.id [options]"
|
9
|
+
opts.on('-n', '--name NAME', 'snapshot name.') {|v| options[:name] = v }
|
10
|
+
opts.on_tail('-h','--help') do
|
11
|
+
puts opts
|
12
|
+
exit
|
13
|
+
end
|
14
|
+
|
15
|
+
begin
|
16
|
+
opts.parse!(ARGV)
|
17
|
+
rescue => e
|
18
|
+
puts e.to_s << "\n" << opts.to_s
|
19
|
+
exit
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
begin
|
24
|
+
client.request.return_variable = 'json'
|
25
|
+
puts client.machines(ARGV[0]).snapshots(options[:name]).start
|
26
|
+
rescue => e
|
27
|
+
puts e
|
28
|
+
end
|