cloudstack_cloner 0.0.3 → 0.0.4

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: 8ebf91c4b2bd8269326081edb4eec3ca4d54bfcf
4
- data.tar.gz: 25adc5a5e00bbfb1dbdff7cdd876f67c6b86ad19
3
+ metadata.gz: 9d99c3c43051263cf6a096e29674d453d5225555
4
+ data.tar.gz: 29bd5b7a5d0787572fbdf366ab2c9babff6fb22d
5
5
  SHA512:
6
- metadata.gz: d2e1a218675ef14dd97fd9c8a69cf7ae7b544b97eb082244c760626d8b5516ae266a1e10ffaf5a8909bc01fc121d50bce941244091bfd1a95ae668031165d061
7
- data.tar.gz: 65b9b539eb13548992a55e0ca693a094bf1b76b916b412e18fb5c2871c2fa7a3e3ab7e3f25fc8a14ea6b1c16a67d9b502efba57a2d83658c75ce506a18fc6852
6
+ metadata.gz: bb80d11c239028f0ffb0cd90303c95fae359b8928805a6575c48ef6c16b5ee726c60be571d95c6711469473a74fb695ffa1438f6ad62001302e13551502e4734
7
+ data.tar.gz: 7a4fe42c5f526ee6a969f71b57ceecdd5f350c0af19d95c6eb4b12ff91c3935d2c922af87d1f8ab43c6208fe8802aa61efd049de6068e795d60eb8f314b24e7a
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.7"
22
- spec.add_development_dependency "rake", "~> 10.0"
22
+ spec.add_development_dependency "rake", "~> 12.0"
23
23
 
24
24
  spec.add_dependency('thor', '~> 0.19')
25
- spec.add_dependency('cloudstack_client', '~> 1.2')
25
+ spec.add_dependency('cloudstack_client', '~> 1.5.3')
26
26
  end
@@ -9,9 +9,9 @@ module CloudstackCloner
9
9
  package_name "cloudstack_cloner"
10
10
 
11
11
  class_option :config_file,
12
- default: File.join(Dir.home, '.cloudstack-cli.yml'),
12
+ default: CloudstackClient::Configuration.locate_config_file,
13
13
  aliases: '-c',
14
- desc: 'Location of your cloudstack-cli configuration file'
14
+ desc: 'Location of your cloudstack configuration file'
15
15
 
16
16
  class_option :env,
17
17
  aliases: '-e',
@@ -23,18 +23,22 @@ module CloudstackCloner
23
23
  exit 1
24
24
  end
25
25
 
26
- data_volumes = opts[:data_volumes].map do |disk|
27
- unless volume = client.list_volumes(
28
- name: disk,
29
- listall: true,
30
- type: "DATADISK",
31
- project_id: opts[:project_id]
32
- ).first
33
- say_log "Failure: ", :red
34
- say "Volume #{disk} not found."
35
- exit 1
26
+ data_volumes = if opts[:data_volumes]
27
+ opts[:data_volumes].map do |disk|
28
+ unless volume = client.list_volumes(
29
+ name: disk,
30
+ listall: true,
31
+ type: "DATADISK",
32
+ project_id: opts[:project_id]
33
+ ).first
34
+ say_log "Failure: ", :red
35
+ say "Volume #{disk} not found."
36
+ exit 1
37
+ end
38
+ volume
36
39
  end
37
- volume
40
+ else
41
+ []
38
42
  end
39
43
 
40
44
  volume = client.list_volumes(opts.merge(listall: true, type: "root")).first
@@ -106,7 +110,7 @@ module CloudstackCloner
106
110
  end
107
111
 
108
112
  def client
109
- @config ||= load_configuration(options[:config_file], options[:env]).first
113
+ @config ||= CloudstackClient::Configuration.load(options)
110
114
  @client ||= CloudstackClient::Client.new(
111
115
  @config[:url],
112
116
  @config[:api_key],
@@ -115,33 +119,5 @@ module CloudstackCloner
115
119
  )
116
120
  end
117
121
 
118
- def load_configuration(config_file, env)
119
- unless File.exists?(config_file)
120
- puts "Configuration file #{config_file} not found."
121
- puts "Please run 'cloudstack-cli environment add' to create one."
122
- exit 1
123
- end
124
-
125
- begin
126
- config = YAML::load(IO.read(config_file))
127
- rescue
128
- puts "Can't load configuration from file #{config_file}."
129
- exit 1
130
- end
131
-
132
- if env ||= config[:default]
133
- unless config = config[env]
134
- puts "Can't find environment #{env}."
135
- exit 1
136
- end
137
- end
138
-
139
- unless config.key?(:url) && config.key?(:api_key) && config.key?(:secret_key)
140
- puts "The environment #{env || '\'-\''} contains no valid data."
141
- exit 1
142
- end
143
- return config, env
144
- end
145
-
146
122
  end
147
123
  end
@@ -1,3 +1,3 @@
1
1
  module CloudstackCloner
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require "cloudstack_client"
2
+ require "cloudstack_client/configuration"
2
3
 
3
4
  require "cloudstack_cloner/version"
4
5
  require "cloudstack_cloner/helper"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudstack_cloner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - niwo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-10 00:00:00.000000000 Z
11
+ date: 2017-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '12.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '12.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: thor
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.2'
61
+ version: 1.5.3
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.2'
68
+ version: 1.5.3
69
69
  description: Automated CloudStack VM cloning
70
70
  email:
71
71
  - nik.wolfgramm@gmail.com
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  requirements: []
108
108
  rubyforge_project:
109
- rubygems_version: 2.4.5.1
109
+ rubygems_version: 2.5.2
110
110
  signing_key:
111
111
  specification_version: 4
112
112
  summary: Automated CloudStack VM cloning