idcfcloud 0.1.4 → 0.2.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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -0
  3. data/.gitignore +5 -3
  4. data/.rubocop.yml +16 -1
  5. data/README.md +61 -6
  6. data/exe/idcfcloud +9 -1
  7. data/idcfcloud.gemspec +9 -7
  8. data/lib/idcf/cli/conf/conf.yml +39 -5
  9. data/lib/idcf/cli/conf/const.rb +42 -17
  10. data/lib/idcf/cli/controller/base.rb +130 -60
  11. data/lib/idcf/cli/controller/extend/command.rb +18 -16
  12. data/lib/idcf/cli/controller/extend/init.rb +2 -0
  13. data/lib/idcf/cli/controller/extend/override.rb +1 -8
  14. data/lib/idcf/cli/controller/extend/search_module.rb +14 -0
  15. data/lib/idcf/cli/controller/ilb.rb +5 -34
  16. data/lib/idcf/cli/controller/include/command.rb +7 -80
  17. data/lib/idcf/cli/controller/include/init.rb +2 -4
  18. data/lib/idcf/cli/controller/include/util.rb +20 -63
  19. data/lib/idcf/cli/controller/include/validate.rb +7 -1
  20. data/lib/idcf/cli/controller/your.rb +0 -33
  21. data/lib/idcf/cli/error/cli_error.rb +7 -5
  22. data/lib/idcf/cli/extend/configure.rb +38 -33
  23. data/lib/idcf/cli/extend/update.rb +139 -54
  24. data/lib/idcf/cli/extend/update_file.rb +113 -18
  25. data/lib/idcf/cli/gem_ext/thor/init_util.rb +20 -7
  26. data/lib/idcf/cli/index.rb +21 -11
  27. data/lib/idcf/cli/lib/convert/formatter/base.rb +1 -1
  28. data/lib/idcf/cli/lib/convert/formatter/xml_format.rb +1 -1
  29. data/lib/idcf/cli/lib/convert/helper.rb +43 -7
  30. data/lib/idcf/cli/lib/util/ini_conf.rb +30 -8
  31. data/lib/idcf/cli/lib/util/yml_conf.rb +13 -2
  32. data/lib/idcf/cli/service/base.rb +121 -21
  33. data/lib/idcf/cli/service/ilb/add_server_for_protocol.rb +8 -3
  34. data/lib/idcf/cli/service/ilb/base_server_for_protocol.rb +21 -35
  35. data/lib/idcf/cli/service/ilb/delete_server_for_protocol.rb +9 -4
  36. data/lib/idcf/cli/validate/define/base.rb +3 -1
  37. data/lib/idcf/cli/validate/define/ilb/base.rb +0 -5
  38. data/lib/idcf/cli/version.rb +1 -1
  39. metadata +62 -23
  40. data/lib/idcf/cli/conf/service/.gitkeep +0 -0
  41. data/lib/idcf/cli/controller/include/override.rb +0 -30
  42. data/lib/idcf/cli/controller/include/sdk.rb +0 -94
@@ -1,94 +0,0 @@
1
- module Idcf
2
- module Cli
3
- module Controller
4
- module Include
5
- # sdk
6
- module Sdk
7
- protected
8
-
9
- def do_sdk(client, command, *args, _o)
10
- result = client_send(client, command, *args)
11
- return result if result.is_a?(Hash)
12
-
13
- if result.class == Array
14
- result_arr = []
15
- result.each do |v|
16
- result_arr << resource_ext(v)
17
- end
18
-
19
- return result_arr
20
- end
21
-
22
- resource_ext(result)
23
- end
24
-
25
- def client_send(client, command, *args)
26
- method = client.public_method(command.to_sym)
27
- arg = set_headers(method, args.dup)
28
- arg = check_job_arg(method, arg) if command.to_s == 'check_job'
29
- client.__send__(command.to_sym, *arg)
30
- end
31
-
32
- def set_headers(method, args)
33
- method.parameters.each_with_index do |v, k|
34
- case v[1].to_s
35
- when 'attributes', 'headers'
36
- args[k] = {} unless args[k].class == Hash
37
- args[k].merge!(Idcf::Cli::Conf::Const::HEADERS) if v[1].to_s == 'headers'
38
- end
39
- end
40
- args
41
- end
42
-
43
- def check_job_arg(method, args)
44
- method.parameters.each_with_index do |v, k|
45
- case v[1].to_s
46
- when 'specify_res_id'
47
- args[k] = false
48
- when 'callback_and_args'
49
- args[k] = []
50
- end
51
- end
52
- args
53
- end
54
-
55
- def resource_ext(val)
56
- return val unless classes?(val, resource_classes)
57
- return val.body if classes?(val, responce_classes)
58
- result = {}
59
- val.instance_variables.each do |pn_sym|
60
- pn = pn_sym.to_s
61
- next if pn == '@client'
62
- result[pn.gsub(/\A@+/, '')] = val.instance_variable_get(pn)
63
- end
64
- result
65
- end
66
-
67
- def classes?(val, classes)
68
- classes.each do |cl|
69
- return true if val.is_a?(cl)
70
- end
71
- false
72
- end
73
-
74
- def resource_classes
75
- []
76
- end
77
-
78
- def responce_classes
79
- []
80
- end
81
-
82
- def base_options(o)
83
- {}.tap do |result|
84
- sec = get_profile(o)
85
- [:api_key, :secret_key].each do |v|
86
- result[v] = o.key?(v) ? o[v] : get_user_conf(v.to_s, sec)
87
- end
88
- end
89
- end
90
- end
91
- end
92
- end
93
- end
94
- end