smartdc 0.3.0
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.
- 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
|