idcfcloud 0.2.2 → 1.1.1

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 (47) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +12 -0
  3. data/.rubocop.yml +12 -2
  4. data/README.md +30 -12
  5. data/idcfcloud.gemspec +12 -12
  6. data/lib/idcf/cli/command/morio.rb +4 -4
  7. data/lib/idcf/cli/conf/conf.yml +0 -6
  8. data/lib/idcf/cli/conf/const.rb +32 -29
  9. data/lib/idcf/cli/controller/base.rb +50 -23
  10. data/lib/idcf/cli/controller/compute.rb +15 -2
  11. data/lib/idcf/cli/controller/extend/command.rb +25 -2
  12. data/lib/idcf/cli/controller/extend/search_module.rb +0 -10
  13. data/lib/idcf/cli/controller/extend/util.rb +12 -0
  14. data/lib/idcf/cli/controller/include/client.rb +1 -1
  15. data/lib/idcf/cli/controller/include/command.rb +1 -1
  16. data/lib/idcf/cli/controller/include/util.rb +3 -5
  17. data/lib/idcf/cli/controller/include/validate.rb +1 -1
  18. data/lib/idcf/cli/extend/configure.rb +2 -4
  19. data/lib/idcf/cli/extend/update.rb +21 -21
  20. data/lib/idcf/cli/extend/update_file.rb +21 -10
  21. data/lib/idcf/cli/gem_ext/idcf/json_hyper_schema/expands/link_info_base_extension.rb +25 -9
  22. data/lib/idcf/cli/gem_ext/thor/init_util.rb +6 -3
  23. data/lib/idcf/cli/index.rb +17 -5
  24. data/lib/idcf/cli/lib/api.rb +5 -4
  25. data/lib/idcf/cli/lib/configure.rb +2 -2
  26. data/lib/idcf/cli/lib/convert/filter/field_filter.rb +9 -12
  27. data/lib/idcf/cli/lib/convert/filter/json_path_filter.rb +1 -1
  28. data/lib/idcf/cli/lib/convert/formatter/base.rb +1 -2
  29. data/lib/idcf/cli/lib/convert/formatter/csv_format.rb +15 -32
  30. data/lib/idcf/cli/lib/convert/formatter/json_format.rb +1 -1
  31. data/lib/idcf/cli/lib/convert/formatter/table_format.rb +2 -2
  32. data/lib/idcf/cli/lib/convert/formatter/xml_format.rb +1 -1
  33. data/lib/idcf/cli/lib/convert/helper.rb +16 -5
  34. data/lib/idcf/cli/lib/document.rb +45 -0
  35. data/lib/idcf/cli/lib/util/cli_file.rb +1 -1
  36. data/lib/idcf/cli/lib/util/cli_logger.rb +3 -3
  37. data/lib/idcf/cli/lib/util/ini_conf.rb +2 -2
  38. data/lib/idcf/cli/lib/util/input.rb +40 -5
  39. data/lib/idcf/cli/lib/util/yml_conf.rb +1 -1
  40. data/lib/idcf/cli/service/base.rb +6 -6
  41. data/lib/idcf/cli/service/ilb/base_server_for_protocol.rb +22 -18
  42. data/lib/idcf/cli/validate/custom/month_check_validator.rb +1 -1
  43. data/lib/idcf/cli/validate/custom/require_relation_validator.rb +2 -2
  44. data/lib/idcf/cli/validate/define/base.rb +3 -2
  45. data/lib/idcf/cli/version.rb +1 -1
  46. metadata +55 -68
  47. data/lib/idcf/cli/controller/cdn.rb +0 -37
@@ -38,7 +38,7 @@ module Idcf
38
38
  end
39
39
 
40
40
  result
41
- rescue
41
+ rescue StandardError => _e
42
42
  raise Idcf::Cli::Error::CliError, "Error: could not read '#{path}'"
43
43
  end
44
44
  end
@@ -8,9 +8,9 @@ module Idcf
8
8
  ARG_TYPE_OPT = :opt
9
9
  ARG_TYPE_REST = :rest
10
10
  HELP_FORMAT = {
11
- ARG_TYPE_REQ => '<%s>',
12
- ARG_TYPE_OPT => '[%s]',
13
- ARG_TYPE_REST => '[%s ...]'
11
+ ARG_TYPE_REQ => '<%<name>s>',
12
+ ARG_TYPE_OPT => '[%<name>s]',
13
+ ARG_TYPE_REST => '[%<name>s ...]'
14
14
  }.freeze
15
15
  attr_reader :last_command, :last_command_args
16
16
  include Idcf::Cli::Lib::Include::RecurringCalling
@@ -51,7 +51,7 @@ module Idcf
51
51
  valid_params.each do |param|
52
52
  f = HELP_FORMAT[param[0]]
53
53
  next if f.nil?
54
- cp << format(f, param[1])
54
+ cp << format(f, name: param[1])
55
55
  end
56
56
  cp.join(' ')
57
57
  end
@@ -72,7 +72,7 @@ module Idcf
72
72
  # @return Boolean
73
73
  def target_param?(name)
74
74
  val = name.to_s
75
- exclusion_list = %w(api o)
75
+ exclusion_list = %w[api o]
76
76
  return false if exclusion_list.include?(val)
77
77
  return false if val[0] == '_'
78
78
  true
@@ -107,7 +107,7 @@ module Idcf
107
107
  opt_cnt = method_option_cnt(param)
108
108
 
109
109
  min = p_cnt - opt_cnt
110
- msg = format('Argument: %s', self.class.make_param_s)
110
+ msg = format('Argument: %<arg>s', arg: self.class.make_param_s)
111
111
  cli_error msg unless arg_size.between?(min, p_cnt)
112
112
  true
113
113
  end
@@ -12,15 +12,15 @@ module Idcf
12
12
  #
13
13
  # @param api [Idcf::Ilb::Lib::Api]
14
14
  # @param o [Hash] options
15
- # @option lb_id [String]
16
- # @option protocol [Stirng] http
17
- # @option protocol_port [int] 80
18
- # @option params [Hash] {ipaddress: '0.0.0.0', port: 80}
15
+ # @param lb_id [String]
16
+ # @param protocol [Stirng] http
17
+ # @param protocol_port [int] 80
18
+ # @param params [Hash] {ipaddress: '0.0.0.0', port: 80}
19
19
  def do(api, o, lb_id, protocol, protocol_port, params)
20
20
  @api = api
21
21
  @options = o
22
22
  lb = search_lb(lbs, lb_id)
23
- config = search_config(lb, protocol, protocol_port)
23
+ config = search_config(lb['configs'], protocol, protocol_port)
24
24
 
25
25
  if config.nil?
26
26
  not_param = o[:protocol].nil? ? 'conf_id' : 'protocol'
@@ -64,20 +64,19 @@ module Idcf
64
64
 
65
65
  # config search
66
66
  #
67
- # @param lb_info [Hash]
68
- # @param o [Hash]
67
+ # @param configs [Hash]
68
+ # @param protocol [String]
69
+ # @param p_port [String]
69
70
  # @return Hash
70
71
  # @raise
71
- def search_config(lb_info, protocol, p_port)
72
- lb_info['configs'].each do |v|
72
+ def search_config(configs, protocol, p_port)
73
+ result = nil
74
+ configs.each do |v|
73
75
  next unless target_config?(v, protocol, p_port)
74
- unless v['state'].casecmp('running').zero?
75
- msg = 'The operation is impossible because the target is currently being processed'
76
- cli_error msg
77
- end
78
- return v
76
+ result = v
77
+ break
79
78
  end
80
- nil
79
+ result
81
80
  end
82
81
 
83
82
  # is target config
@@ -86,9 +85,14 @@ module Idcf
86
85
  # @param protocol [String]
87
86
  # @param p_port [String]
88
87
  # @return boolean
89
- def target_config?(config, purotocol, p_port)
90
- config['frontend_protocol'] == purotocol &&
91
- config['port'].to_s == p_port.to_s
88
+ # @raise
89
+ def target_config?(config, protocol, p_port)
90
+ unless config['frontend_protocol'] == protocol && config['port'].to_s == p_port.to_s
91
+ return false
92
+ end
93
+ return true if config['state'].casecmp('running').zero?
94
+ msg = 'The operation is impossible because the target is currently being processed'
95
+ cli_error msg
92
96
  end
93
97
  end
94
98
  end
@@ -29,7 +29,7 @@ module Idcf
29
29
  def valid?(val)
30
30
  Date.parse("#{val}-01")
31
31
  true
32
- rescue
32
+ rescue StandardError => _e
33
33
  false
34
34
  end
35
35
  end
@@ -7,7 +7,7 @@ module Idcf
7
7
  # require relation validator
8
8
  class RequireRelationValidator < ActiveModel::EachValidator
9
9
  MESSAGES = {
10
- message: 'A related parameter isn\'t input. (%s)'
10
+ message: 'A related parameter isn\'t input. (%<msg>s)'
11
11
  }.freeze
12
12
 
13
13
  def validate(record)
@@ -16,7 +16,7 @@ module Idcf
16
16
  nones = make_nones(record)
17
17
  return if nones.empty?
18
18
 
19
- msg = MESSAGES[:message] % nones.join('/')
19
+ msg = format(MESSAGES[:message], msg: nones.join('/'))
20
20
  record.errors.add(nones.first, msg, {})
21
21
  end
22
22
 
@@ -16,12 +16,13 @@ module Idcf
16
16
  :no_ssl,
17
17
  :no_vssl,
18
18
  :json_path,
19
- :fields
19
+ :fields,
20
+ :version
20
21
 
21
22
  validates :output,
22
23
  allow_blank: true,
23
24
  inclusion: {
24
- in: %w(table json xml csv),
25
+ in: %w[table json xml csv],
25
26
  message: 'from this [table/json/xml/csv]'
26
27
  }
27
28
 
@@ -1,5 +1,5 @@
1
1
  module Idcf
2
2
  module Cli
3
- VERSION = '0.2.2'.freeze
3
+ VERSION = '1.1.1'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: idcfcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - IDC Frontier Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-08 00:00:00.000000000 Z
11
+ date: 2020-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.14'
20
20
  type: :development
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: '1.14'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.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
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
@@ -82,194 +82,182 @@ dependencies:
82
82
  name: activemodel
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - "~>"
86
- - !ruby/object:Gem::Version
87
- version: '4.2'
88
85
  - - ">="
89
86
  - !ruby/object:Gem::Version
90
- version: 4.2.3
87
+ version: 5.2.4.1
91
88
  type: :runtime
92
89
  prerelease: false
93
90
  version_requirements: !ruby/object:Gem::Requirement
94
91
  requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '4.2'
98
92
  - - ">="
99
93
  - !ruby/object:Gem::Version
100
- version: 4.2.3
94
+ version: 5.2.4.1
101
95
  - !ruby/object:Gem::Dependency
102
96
  name: activesupport
103
97
  requirement: !ruby/object:Gem::Requirement
104
98
  requirements:
105
- - - "~>"
106
- - !ruby/object:Gem::Version
107
- version: '4.2'
108
99
  - - ">="
109
100
  - !ruby/object:Gem::Version
110
- version: 4.2.3
101
+ version: 5.2.4.1
111
102
  type: :runtime
112
103
  prerelease: false
113
104
  version_requirements: !ruby/object:Gem::Requirement
114
105
  requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '4.2'
118
106
  - - ">="
119
107
  - !ruby/object:Gem::Version
120
- version: 4.2.3
108
+ version: 5.2.4.1
121
109
  - !ruby/object:Gem::Dependency
122
- name: inifile
110
+ name: builder
123
111
  requirement: !ruby/object:Gem::Requirement
124
112
  requirements:
125
113
  - - "~>"
126
114
  - !ruby/object:Gem::Version
127
- version: '3.0'
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- version: 3.0.0
115
+ version: '3.1'
131
116
  type: :runtime
132
117
  prerelease: false
133
118
  version_requirements: !ruby/object:Gem::Requirement
134
119
  requirements:
135
120
  - - "~>"
136
121
  - !ruby/object:Gem::Version
137
- version: '3.0'
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- version: 3.0.0
122
+ version: '3.1'
141
123
  - !ruby/object:Gem::Dependency
142
- name: thor
124
+ name: CFPropertyList
143
125
  requirement: !ruby/object:Gem::Requirement
144
126
  requirements:
145
127
  - - "~>"
146
128
  - !ruby/object:Gem::Version
147
- version: 0.19.4
129
+ version: 2.3.5
148
130
  type: :runtime
149
131
  prerelease: false
150
132
  version_requirements: !ruby/object:Gem::Requirement
151
133
  requirements:
152
134
  - - "~>"
153
135
  - !ruby/object:Gem::Version
154
- version: 0.19.4
136
+ version: 2.3.5
155
137
  - !ruby/object:Gem::Dependency
156
- name: builder
138
+ name: facter
157
139
  requirement: !ruby/object:Gem::Requirement
158
140
  requirements:
159
141
  - - "~>"
160
142
  - !ruby/object:Gem::Version
161
- version: '3.1'
143
+ version: 2.5.1
162
144
  type: :runtime
163
145
  prerelease: false
164
146
  version_requirements: !ruby/object:Gem::Requirement
165
147
  requirements:
166
148
  - - "~>"
167
149
  - !ruby/object:Gem::Version
168
- version: '3.1'
150
+ version: 2.5.1
169
151
  - !ruby/object:Gem::Dependency
170
- name: kosi
152
+ name: idcf-faraday_middleware
171
153
  requirement: !ruby/object:Gem::Requirement
172
154
  requirements:
173
155
  - - "~>"
174
156
  - !ruby/object:Gem::Version
175
- version: '1.0'
176
- - - ">="
177
- - !ruby/object:Gem::Version
178
- version: 1.0.0
157
+ version: 0.0.2
179
158
  type: :runtime
180
159
  prerelease: false
181
160
  version_requirements: !ruby/object:Gem::Requirement
182
161
  requirements:
183
162
  - - "~>"
184
163
  - !ruby/object:Gem::Version
185
- version: '1.0'
186
- - - ">="
187
- - !ruby/object:Gem::Version
188
- version: 1.0.0
164
+ version: 0.0.2
189
165
  - !ruby/object:Gem::Dependency
190
- name: open_uri_redirections
166
+ name: idcf-json_hyper_schema
191
167
  requirement: !ruby/object:Gem::Requirement
192
168
  requirements:
193
169
  - - "~>"
194
170
  - !ruby/object:Gem::Version
195
- version: 0.2.1
171
+ version: 0.3.1
196
172
  type: :runtime
197
173
  prerelease: false
198
174
  version_requirements: !ruby/object:Gem::Requirement
199
175
  requirements:
200
176
  - - "~>"
201
177
  - !ruby/object:Gem::Version
202
- version: 0.2.1
178
+ version: 0.3.1
203
179
  - !ruby/object:Gem::Dependency
204
- name: idcf-json_hyper_schema
180
+ name: inifile
205
181
  requirement: !ruby/object:Gem::Requirement
206
182
  requirements:
207
183
  - - "~>"
208
184
  - !ruby/object:Gem::Version
209
- version: 0.1.0
185
+ version: '3.0'
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: 3.0.0
210
189
  type: :runtime
211
190
  prerelease: false
212
191
  version_requirements: !ruby/object:Gem::Requirement
213
192
  requirements:
214
193
  - - "~>"
215
194
  - !ruby/object:Gem::Version
216
- version: 0.1.0
195
+ version: '3.0'
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: 3.0.0
217
199
  - !ruby/object:Gem::Dependency
218
- name: idcf-faraday_middleware
200
+ name: jsonpath
219
201
  requirement: !ruby/object:Gem::Requirement
220
202
  requirements:
221
203
  - - "~>"
222
204
  - !ruby/object:Gem::Version
223
- version: 0.0.2
205
+ version: 0.8.10
224
206
  type: :runtime
225
207
  prerelease: false
226
208
  version_requirements: !ruby/object:Gem::Requirement
227
209
  requirements:
228
210
  - - "~>"
229
211
  - !ruby/object:Gem::Version
230
- version: 0.0.2
212
+ version: 0.8.10
231
213
  - !ruby/object:Gem::Dependency
232
- name: jsonpath
214
+ name: kosi
233
215
  requirement: !ruby/object:Gem::Requirement
234
216
  requirements:
235
217
  - - "~>"
236
218
  - !ruby/object:Gem::Version
237
- version: 0.8.10
219
+ version: '1.0'
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: 1.0.0
238
223
  type: :runtime
239
224
  prerelease: false
240
225
  version_requirements: !ruby/object:Gem::Requirement
241
226
  requirements:
242
227
  - - "~>"
243
228
  - !ruby/object:Gem::Version
244
- version: 0.8.10
229
+ version: '1.0'
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: 1.0.0
245
233
  - !ruby/object:Gem::Dependency
246
- name: facter
234
+ name: open_uri_redirections
247
235
  requirement: !ruby/object:Gem::Requirement
248
236
  requirements:
249
237
  - - "~>"
250
238
  - !ruby/object:Gem::Version
251
- version: 2.5.1
239
+ version: 0.2.1
252
240
  type: :runtime
253
241
  prerelease: false
254
242
  version_requirements: !ruby/object:Gem::Requirement
255
243
  requirements:
256
244
  - - "~>"
257
245
  - !ruby/object:Gem::Version
258
- version: 2.5.1
246
+ version: 0.2.1
259
247
  - !ruby/object:Gem::Dependency
260
- name: CFPropertyList
248
+ name: thor
261
249
  requirement: !ruby/object:Gem::Requirement
262
250
  requirements:
263
251
  - - "~>"
264
252
  - !ruby/object:Gem::Version
265
- version: 2.3.5
253
+ version: 0.19.4
266
254
  type: :runtime
267
255
  prerelease: false
268
256
  version_requirements: !ruby/object:Gem::Requirement
269
257
  requirements:
270
258
  - - "~>"
271
259
  - !ruby/object:Gem::Version
272
- version: 2.3.5
260
+ version: 0.19.4
273
261
  description: IDCF Cli
274
262
  email: []
275
263
  executables:
@@ -292,7 +280,6 @@ files:
292
280
  - lib/idcf/cli/conf/conf.yml
293
281
  - lib/idcf/cli/conf/const.rb
294
282
  - lib/idcf/cli/controller/base.rb
295
- - lib/idcf/cli/controller/cdn.rb
296
283
  - lib/idcf/cli/controller/compute.rb
297
284
  - lib/idcf/cli/controller/dns.rb
298
285
  - lib/idcf/cli/controller/extend/command.rb
@@ -328,6 +315,7 @@ files:
328
315
  - lib/idcf/cli/lib/convert/formatter/table_format.rb
329
316
  - lib/idcf/cli/lib/convert/formatter/xml_format.rb
330
317
  - lib/idcf/cli/lib/convert/helper.rb
318
+ - lib/idcf/cli/lib/document.rb
331
319
  - lib/idcf/cli/lib/include/recurring_calling.rb
332
320
  - lib/idcf/cli/lib/util/cli_file.rb
333
321
  - lib/idcf/cli/lib/util/cli_logger.rb
@@ -363,15 +351,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
363
351
  requirements:
364
352
  - - ">="
365
353
  - !ruby/object:Gem::Version
366
- version: '0'
354
+ version: 2.5.0
367
355
  required_rubygems_version: !ruby/object:Gem::Requirement
368
356
  requirements:
369
357
  - - ">="
370
358
  - !ruby/object:Gem::Version
371
359
  version: '0'
372
360
  requirements: []
373
- rubyforge_project:
374
- rubygems_version: 2.6.13
361
+ rubygems_version: 3.1.4
375
362
  signing_key:
376
363
  specification_version: 4
377
364
  summary: IDCF Cli tools