gaddygaddy 0.1.89 → 0.1.90

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: 2e32c90738d40c6e705afc13a1aa7b1581d7dce5
4
- data.tar.gz: d76abf4aeedfae962d72e9dad9dbb1cb915b8dda
3
+ metadata.gz: ac28e968392ddf19b195494d719948429a4b6f9c
4
+ data.tar.gz: a931d37d21e00cd0cd6b9ea586f9d123d2644375
5
5
  SHA512:
6
- metadata.gz: b0d18306539f899532f6c438403a823714a0c0f3617ef7f52f251cbff75c7635064226355afea42d9860f73f9500fcb790695d46e2fbd104be711eaf82edbe11
7
- data.tar.gz: cdba36c95364829b9de57fe92903e212c080505e2acc1dcb22e6817b4bb4f2f8b75ed7f99e79444c2d90fbfce76c4df05a028e84fff97aee68ac43c578b68702
6
+ metadata.gz: 1e443b7fcd600dec082a36e2c5dfb1bd3a56107d6a3a1991839b2a3428c2e196ac8b8e42936a439831e2eaabe2c6b91bafac3f2d3bb3cfde5581900233378a18
7
+ data.tar.gz: 8f61f0c74f560bae3acc390978a5a7f92687a860eda2e1618c37fdb3436cdd5d8e1af46b8cf2cec0ceb22197c72ba485115fa2852050febef2e19346e5081558
@@ -56,7 +56,7 @@ class ChefFiles
56
56
  if prod_version
57
57
  '/' + URI.encode("pkg/gg_chef_#{version}.tar.gz")
58
58
  else
59
- '/chef/latest_cookbook'
59
+ '/chef/latest_cookbook/1'
60
60
  end
61
61
  end
62
62
 
@@ -153,6 +153,9 @@ class GaddyGaddy_Client
153
153
  opts.on("-p", "--password password", "Password") do |password|
154
154
  @options[:password] = password
155
155
  end
156
+ opts.on("-c", "--create", "Create new gaddy if it doesn't exist") do
157
+ @options[:create] = true
158
+ end
156
159
  end
157
160
 
158
161
  command :send_device_data do |opts|
@@ -264,25 +267,80 @@ class GaddyGaddy_Client
264
267
 
265
268
  def get_gaddy_config(name, user, password)
266
269
  path = URI.encode("/device/config_file/1/#{name}?user_name=#{user}&user_password=#{password}").gsub('+', '%2B')
267
- puts path
268
270
  response = Request.client_service_get get_host, path
269
271
  logger.debug "Got config file: #{response}"
270
272
  response
271
273
  end
272
274
 
275
+
276
+ # Get the config file and return the response
277
+ def get_conf_file
278
+ name = @options[:gaddy_name]
279
+ conf_content = get_gaddy_config(name, @options[:user_name], @options[:password])
280
+ gaddy_file_name = "gaddy_#{name}.gcf"
281
+ conf_file_name = File.join(conf_dir, gaddy_file_name)
282
+ if conf_content['device_name'] && conf_content['device_name'] == name
283
+ begin
284
+ conf_file = File.open conf_file_name, "w"
285
+ conf_file.write conf_content.to_json
286
+ conf_file.close
287
+ logger.info "Have created the configuration file for the gaddy in #{conf_file_name}"
288
+ rescue
289
+ logger.error "Could not write configuration #{conf_file_name}"
290
+ end
291
+ end
292
+ conf_content
293
+ end
294
+
295
+ def create_gaddy(gaddy_name, user_name, password)
296
+ url = Request.get_base_url(get_host) + "/installation/device/1"
297
+ params = {:device_name => gaddy_name,
298
+ :user_name => user_name,
299
+ :user_password => password
300
+ }
301
+ response = Request.client_service_post url, params
302
+ logger.debug "The response for the request is #{response} #{response.class}"
303
+ raise JCouldNotPostClientDataException.new({:message=> "Could not post data to the gaddygaddy service, error code is #{response.body}"}) unless response[:status].to_i == 0
304
+ end
305
+
306
+ def create_new(name)
307
+ inp = ''
308
+ unless @options[:create]
309
+ puts "Gaddy #{name} doesn't exist, would you like to create it (Y/N)"
310
+ answer = nil
311
+ while answer.nil?
312
+ inp = gets.chomp.upcase
313
+ if inp
314
+ answer = ['Y','N'].index(inp[0]) ? inp : nil
315
+ else
316
+ puts
317
+ puts "Gaddy #{name} doesn't exist, would you like to create it (Y/N)"
318
+ end
319
+ end
320
+ end
321
+ @options[:create] || (inp == 'Y')
322
+ end
323
+
273
324
  # Get the gaddy configuration and place it in /conf named gaddy_NAME.gcf
274
- def gaddy_config
325
+ def gaddy_config(gaddy_name, user_name, password)
326
+ raise "You need to pass name of gaddy, username and password as parameters, see gaddygaddy-client gaddy_file --help" unless gaddy_name && password && user_name
275
327
  begin
276
328
  FileUtils.mkdir_p conf_dir
277
329
  rescue Exception => e
278
330
  raise e.inspect
279
331
  end
280
- name = @options[:gaddy_name]
281
- conf_content = get_gaddy_config(name, @options[:user_name], @options[:password])
282
- gaddy_file_name = "gaddy_#{name}.gcf"
283
- conf_file = File.open File.join(conf_dir, gaddy_file_name), "w"
284
- conf_file.write conf_content.to_json
285
- conf_file.close
332
+ if get_conf_file['status'] == 12
333
+ if create_new(gaddy_name)
334
+ logger.info "Will create a new gaddy named #{gaddy_name}"
335
+ create_gaddy(gaddy_name, user_name, password)
336
+ if get_conf_file['status'] == 12
337
+ puts "Can't find gaddy with name #{name}"
338
+ end
339
+ else
340
+ puts "Can't find gaddy with name #{name}"
341
+ puts 'If you would like to create it add parameter --create to the command'
342
+ end
343
+ end
286
344
 
287
345
  end
288
346
 
@@ -426,7 +484,7 @@ class GaddyGaddy_Client
426
484
  when "chef_config"
427
485
  get_chef_config
428
486
  when 'gaddy_file'
429
- gaddy_config
487
+ gaddy_config(@options[:gaddy_name], @options[:user_name], @options[:password])
430
488
  when 'send_device_data'
431
489
  send_device_data
432
490
  when "verify_installation"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gaddygaddy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.89
4
+ version: 0.1.90
5
5
  platform: ruby
6
6
  authors:
7
7
  - GaddyGaddy
@@ -14,84 +14,84 @@ dependencies:
14
14
  name: i18n
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: log4r
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rest-client
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: stringex
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
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
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: subcommand
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: systemu
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  description: |-
@@ -144,17 +144,17 @@ require_paths:
144
144
  - lib
145
145
  required_ruby_version: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - ">="
147
+ - - '>='
148
148
  - !ruby/object:Gem::Version
149
149
  version: '0'
150
150
  required_rubygems_version: !ruby/object:Gem::Requirement
151
151
  requirements:
152
- - - ">="
152
+ - - '>='
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  requirements: []
156
156
  rubyforge_project:
157
- rubygems_version: 2.4.5
157
+ rubygems_version: 2.2.2
158
158
  signing_key:
159
159
  specification_version: 4
160
160
  summary: Client tools used for the Gaddygaddy service