3scale_toolbox 0.19.3 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/3scale_toolbox.gemspec +2 -1
  3. data/README.md +6 -4
  4. data/lib/3scale_toolbox/3scale_client_factory.rb +9 -7
  5. data/lib/3scale_toolbox/base_command.rb +5 -1
  6. data/lib/3scale_toolbox/cli/null_printer.rb +11 -0
  7. data/lib/3scale_toolbox/cli.rb +1 -0
  8. data/lib/3scale_toolbox/commands/3scale_command.rb +1 -0
  9. data/lib/3scale_toolbox/commands/activedocs_command/apply_command.rb +1 -1
  10. data/lib/3scale_toolbox/commands/activedocs_command/create_command.rb +8 -9
  11. data/lib/3scale_toolbox/commands/import_command/openapi/create_activedocs_step.rb +1 -1
  12. data/lib/3scale_toolbox/commands/import_command/openapi/create_backend_mapping_rule_step.rb +21 -0
  13. data/lib/3scale_toolbox/commands/import_command/openapi/create_backend_method_step.rb +41 -0
  14. data/lib/3scale_toolbox/commands/import_command/openapi/create_backend_step.rb +62 -0
  15. data/lib/3scale_toolbox/commands/import_command/openapi/create_mapping_rule_step.rb +3 -1
  16. data/lib/3scale_toolbox/commands/import_command/openapi/create_service_step.rb +7 -2
  17. data/lib/3scale_toolbox/commands/import_command/openapi/import_backend_step.rb +31 -0
  18. data/lib/3scale_toolbox/commands/import_command/openapi/import_product_step.rb +30 -0
  19. data/lib/3scale_toolbox/commands/import_command/openapi/method.rb +1 -1
  20. data/lib/3scale_toolbox/commands/import_command/openapi/step.rb +27 -1
  21. data/lib/3scale_toolbox/commands/import_command/openapi/update_policies_step.rb +1 -1
  22. data/lib/3scale_toolbox/commands/import_command/openapi/update_service_oidc_conf_step.rb +1 -1
  23. data/lib/3scale_toolbox/commands/import_command/openapi/update_service_proxy_step.rb +4 -8
  24. data/lib/3scale_toolbox/commands/import_command/openapi.rb +44 -18
  25. data/lib/3scale_toolbox/commands/plans_command/import_command.rb +1 -1
  26. data/lib/3scale_toolbox/commands/policies_command/import_command.rb +1 -1
  27. data/lib/3scale_toolbox/commands/product_command/import_command.rb +1 -1
  28. data/lib/3scale_toolbox/commands/proxy_command/deploy_command.rb +54 -0
  29. data/lib/3scale_toolbox/commands/proxy_command/show_command.rb +54 -0
  30. data/lib/3scale_toolbox/commands/proxy_command/update_command.rb +75 -0
  31. data/lib/3scale_toolbox/commands/proxy_command.rb +28 -0
  32. data/lib/3scale_toolbox/commands/proxy_config_command/deploy_command.rb +3 -2
  33. data/lib/3scale_toolbox/commands/service_command/show_command.rb +1 -2
  34. data/lib/3scale_toolbox/commands.rb +2 -2
  35. data/lib/3scale_toolbox/entities/backend.rb +13 -1
  36. data/lib/3scale_toolbox/entities/service.rb +1 -2
  37. data/lib/3scale_toolbox/resource_reader.rb +24 -9
  38. data/lib/3scale_toolbox/version.rb +1 -1
  39. data/licenses.xml +18 -18
  40. metadata +28 -8
  41. data/lib/3scale_toolbox/commands/update_command/service_command/copy_service_settings_task.rb +0 -35
  42. data/lib/3scale_toolbox/commands/update_command/service_command/delete_activedocs_task.rb +0 -24
  43. data/lib/3scale_toolbox/commands/update_command/service_command.rb +0 -80
  44. data/lib/3scale_toolbox/commands/update_command.rb +0 -22
data/licenses.xml CHANGED
@@ -3,7 +3,7 @@
3
3
  <dependencies>
4
4
  <dependency>
5
5
  <packageName>3scale-api</packageName>
6
- <version>1.4.0</version>
6
+ <version>1.6.0</version>
7
7
  <licenses>
8
8
  <license>
9
9
  <name>MIT</name>
@@ -13,7 +13,7 @@
13
13
  </dependency>
14
14
  <dependency>
15
15
  <packageName>3scale_toolbox</packageName>
16
- <version>0.19.3</version>
16
+ <version>0.20.0</version>
17
17
  <licenses>
18
18
  <license>
19
19
  <name>MIT</name>
@@ -23,7 +23,7 @@
23
23
  </dependency>
24
24
  <dependency>
25
25
  <packageName>activesupport</packageName>
26
- <version>6.1.4.1</version>
26
+ <version>6.1.4.4</version>
27
27
  <licenses>
28
28
  <license>
29
29
  <name>MIT</name>
@@ -63,7 +63,7 @@
63
63
  </dependency>
64
64
  <dependency>
65
65
  <packageName>codecov</packageName>
66
- <version>0.5.2</version>
66
+ <version>0.6.0</version>
67
67
  <licenses>
68
68
  <license>
69
69
  <name>MIT</name>
@@ -113,7 +113,7 @@
113
113
  </dependency>
114
114
  <dependency>
115
115
  <packageName>deep_merge</packageName>
116
- <version>1.2.1</version>
116
+ <version>1.2.2</version>
117
117
  <licenses>
118
118
  <license>
119
119
  <name>MIT</name>
@@ -123,7 +123,7 @@
123
123
  </dependency>
124
124
  <dependency>
125
125
  <packageName>diff-lcs</packageName>
126
- <version>1.4.4</version>
126
+ <version>1.5.0</version>
127
127
  <licenses>
128
128
  <license>
129
129
  <name>MIT</name>
@@ -191,7 +191,7 @@
191
191
  </dependency>
192
192
  <dependency>
193
193
  <packageName>i18n</packageName>
194
- <version>1.8.10</version>
194
+ <version>1.9.1</version>
195
195
  <licenses>
196
196
  <license>
197
197
  <name>MIT</name>
@@ -231,7 +231,7 @@
231
231
  </dependency>
232
232
  <dependency>
233
233
  <packageName>minitest</packageName>
234
- <version>5.14.4</version>
234
+ <version>5.15.0</version>
235
235
  <licenses>
236
236
  <license>
237
237
  <name>MIT</name>
@@ -261,7 +261,7 @@
261
261
  </dependency>
262
262
  <dependency>
263
263
  <packageName>nokogiri</packageName>
264
- <version>1.12.5</version>
264
+ <version>1.13.1</version>
265
265
  <licenses>
266
266
  <license>
267
267
  <name>MIT</name>
@@ -325,7 +325,7 @@
325
325
  </dependency>
326
326
  <dependency>
327
327
  <packageName>rake</packageName>
328
- <version>13.0.3</version>
328
+ <version>13.0.6</version>
329
329
  <licenses>
330
330
  <license>
331
331
  <name>MIT</name>
@@ -355,7 +355,7 @@
355
355
  </dependency>
356
356
  <dependency>
357
357
  <packageName>rspec-core</packageName>
358
- <version>3.10.1</version>
358
+ <version>3.10.2</version>
359
359
  <licenses>
360
360
  <license>
361
361
  <name>MIT</name>
@@ -365,7 +365,7 @@
365
365
  </dependency>
366
366
  <dependency>
367
367
  <packageName>rspec-expectations</packageName>
368
- <version>3.10.1</version>
368
+ <version>3.10.2</version>
369
369
  <licenses>
370
370
  <license>
371
371
  <name>MIT</name>
@@ -375,7 +375,7 @@
375
375
  </dependency>
376
376
  <dependency>
377
377
  <packageName>rspec-mocks</packageName>
378
- <version>3.10.2</version>
378
+ <version>3.10.3</version>
379
379
  <licenses>
380
380
  <license>
381
381
  <name>MIT</name>
@@ -385,7 +385,7 @@
385
385
  </dependency>
386
386
  <dependency>
387
387
  <packageName>rspec-support</packageName>
388
- <version>3.10.2</version>
388
+ <version>3.10.3</version>
389
389
  <licenses>
390
390
  <license>
391
391
  <name>MIT</name>
@@ -409,7 +409,7 @@
409
409
  </dependency>
410
410
  <dependency>
411
411
  <packageName>rubyzip</packageName>
412
- <version>2.3.0</version>
412
+ <version>2.3.2</version>
413
413
  <licenses>
414
414
  <license>
415
415
  <name>Simplified BSD</name>
@@ -479,7 +479,7 @@
479
479
  </dependency>
480
480
  <dependency>
481
481
  <packageName>webmock</packageName>
482
- <version>3.13.0</version>
482
+ <version>3.14.0</version>
483
483
  <licenses>
484
484
  <license>
485
485
  <name>MIT</name>
@@ -499,7 +499,7 @@
499
499
  </dependency>
500
500
  <dependency>
501
501
  <packageName>xml-simple</packageName>
502
- <version>1.1.8</version>
502
+ <version>1.1.9</version>
503
503
  <licenses>
504
504
  <license>
505
505
  <name>MIT</name>
@@ -509,7 +509,7 @@
509
509
  </dependency>
510
510
  <dependency>
511
511
  <packageName>zeitwerk</packageName>
512
- <version>2.5.1</version>
512
+ <version>2.5.4</version>
513
513
  <licenses>
514
514
  <license>
515
515
  <name>MIT</name>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: 3scale_toolbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.3
4
+ version: 0.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Soriano
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2021-10-26 00:00:00.000000000 Z
12
+ date: 2022-02-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -87,14 +87,14 @@ dependencies:
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '1.4'
90
+ version: '1.6'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '1.4'
97
+ version: '1.6'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: cri
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -137,6 +137,20 @@ dependencies:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0.20'
140
+ - !ruby/object:Gem::Dependency
141
+ name: activesupport
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '6.0'
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '6.0'
140
154
  description: 3scale tools to manage your API from the terminal.
141
155
  email:
142
156
  - msoriano@redhat.com
@@ -161,6 +175,7 @@ files:
161
175
  - lib/3scale_toolbox/cli/custom_table_printer.rb
162
176
  - lib/3scale_toolbox/cli/error_handler.rb
163
177
  - lib/3scale_toolbox/cli/json_printer.rb
178
+ - lib/3scale_toolbox/cli/null_printer.rb
164
179
  - lib/3scale_toolbox/cli/output_flag.rb
165
180
  - lib/3scale_toolbox/cli/yaml_printer.rb
166
181
  - lib/3scale_toolbox/commands.rb
@@ -194,9 +209,14 @@ files:
194
209
  - lib/3scale_toolbox/commands/import_command/issuer_type_transformer.rb
195
210
  - lib/3scale_toolbox/commands/import_command/openapi.rb
196
211
  - lib/3scale_toolbox/commands/import_command/openapi/create_activedocs_step.rb
212
+ - lib/3scale_toolbox/commands/import_command/openapi/create_backend_mapping_rule_step.rb
213
+ - lib/3scale_toolbox/commands/import_command/openapi/create_backend_method_step.rb
214
+ - lib/3scale_toolbox/commands/import_command/openapi/create_backend_step.rb
197
215
  - lib/3scale_toolbox/commands/import_command/openapi/create_mapping_rule_step.rb
198
216
  - lib/3scale_toolbox/commands/import_command/openapi/create_method_step.rb
199
217
  - lib/3scale_toolbox/commands/import_command/openapi/create_service_step.rb
218
+ - lib/3scale_toolbox/commands/import_command/openapi/import_backend_step.rb
219
+ - lib/3scale_toolbox/commands/import_command/openapi/import_product_step.rb
200
220
  - lib/3scale_toolbox/commands/import_command/openapi/mapping_rule.rb
201
221
  - lib/3scale_toolbox/commands/import_command/openapi/method.rb
202
222
  - lib/3scale_toolbox/commands/import_command/openapi/operation.rb
@@ -241,6 +261,10 @@ files:
241
261
  - lib/3scale_toolbox/commands/product_command/copy_command/delete_target_backend_usages_task.rb
242
262
  - lib/3scale_toolbox/commands/product_command/export_command.rb
243
263
  - lib/3scale_toolbox/commands/product_command/import_command.rb
264
+ - lib/3scale_toolbox/commands/proxy_command.rb
265
+ - lib/3scale_toolbox/commands/proxy_command/deploy_command.rb
266
+ - lib/3scale_toolbox/commands/proxy_command/show_command.rb
267
+ - lib/3scale_toolbox/commands/proxy_command/update_command.rb
244
268
  - lib/3scale_toolbox/commands/proxy_config_command.rb
245
269
  - lib/3scale_toolbox/commands/proxy_config_command/deploy_command.rb
246
270
  - lib/3scale_toolbox/commands/proxy_config_command/export_command.rb
@@ -273,10 +297,6 @@ files:
273
297
  - lib/3scale_toolbox/commands/service_command/delete_command.rb
274
298
  - lib/3scale_toolbox/commands/service_command/list_command.rb
275
299
  - lib/3scale_toolbox/commands/service_command/show_command.rb
276
- - lib/3scale_toolbox/commands/update_command.rb
277
- - lib/3scale_toolbox/commands/update_command/service_command.rb
278
- - lib/3scale_toolbox/commands/update_command/service_command/copy_service_settings_task.rb
279
- - lib/3scale_toolbox/commands/update_command/service_command/delete_activedocs_task.rb
280
300
  - lib/3scale_toolbox/configuration.rb
281
301
  - lib/3scale_toolbox/crds.rb
282
302
  - lib/3scale_toolbox/crds/application_plan_dump.rb
@@ -1,35 +0,0 @@
1
- module ThreeScaleToolbox
2
- module Commands
3
- module UpdateCommand
4
- module ServiceCommand
5
- class CopyServiceSettingsTask
6
- attr_reader :context
7
-
8
- def initialize(context)
9
- @context = context
10
- end
11
-
12
- def call
13
- target.update source_attrs
14
-
15
- puts "updated service settings for service id #{source.id}..."
16
- end
17
-
18
- private
19
-
20
- def source
21
- context[:source]
22
- end
23
-
24
- def target
25
- context[:target]
26
- end
27
-
28
- def source_attrs
29
- source.attrs.reject { |k, _| %w[system_name id links].include? k }
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,24 +0,0 @@
1
- module ThreeScaleToolbox
2
- module Commands
3
- module UpdateCommand
4
- module ServiceCommand
5
- class DeleteActiveDocsTask
6
- attr_reader :context
7
-
8
- def initialize(context)
9
- @context = context
10
- end
11
-
12
- def call
13
- puts 'deleting all target service ActiveDocs'
14
- target.activedocs.each(&:delete)
15
- end
16
-
17
- def target
18
- context[:target]
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,80 +0,0 @@
1
- require '3scale_toolbox/commands/update_command/service_command/delete_activedocs_task'
2
- require '3scale_toolbox/commands/update_command/service_command/copy_service_settings_task'
3
-
4
- module ThreeScaleToolbox
5
- module Commands
6
- module UpdateCommand
7
- class ServiceSubcommand < Cri::CommandRunner
8
- include ThreeScaleToolbox::Command
9
-
10
- def self.command
11
- Cri::Command.define do
12
- name 'service'
13
- usage 'service [opts] -s <src> -d <dst> <src_service_id> <dst_service_id>'
14
- summary '[DEPRECATED] update service'
15
- description <<-HEREDOC
16
- This command has been deprecated. Use '3scale service copy' instead.
17
- \n Update existing service, update proxy settings, metrics, methods, application plans and mapping rules.'
18
- HEREDOC
19
-
20
- option :s, :source, '3scale source instance. Url or remote name', argument: :required
21
- option :d, :destination, '3scale target instance. Url or remote name', argument: :required
22
- option :t, 'target_system_name', 'Target system name', argument: :required
23
- flag :f, :force, 'Overwrites the mapping rules by deleting all rules from target service first'
24
- flag :r, 'rules-only', 'Updates only the mapping rules'
25
- param :src_service_id
26
- param :dst_service_id
27
-
28
- runner ServiceSubcommand
29
- end
30
- end
31
-
32
- def run
33
- warn "\e[1m\e[31mThis command has been deprecated. Use '3scale service copy' instead\e[0m"
34
- source_service = Entities::Service.new(
35
- id: arguments[:src_service_id],
36
- remote: threescale_client(fetch_required_option(:source))
37
- )
38
- update_service = Entities::Service.new(
39
- id: arguments[:dst_service_id],
40
- remote: threescale_client(fetch_required_option(:destination))
41
- )
42
- context = create_context(source_service, update_service)
43
-
44
- tasks = []
45
- unless options[:'rules-only']
46
- tasks << ServiceCommand::CopyServiceSettingsTask.new(context)
47
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyMethodsTask.new(context)
48
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyMetricsTask.new(context)
49
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyApplicationPlansTask.new(context)
50
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyLimitsTask.new(context)
51
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyPoliciesTask.new(context)
52
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyPricingRulesTask.new(context)
53
- tasks << ServiceCommand::DeleteActiveDocsTask.new(context)
54
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyActiveDocsTask.new(context)
55
- # Copy proxy must be the last task
56
- # Proxy update is the mechanism to increase version of the proxy,
57
- # Hence propagating (mapping rules, poicies, oidc, auth) update to
58
- # latest proxy config, making available to gateway.
59
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyServiceProxyTask.new(context)
60
- end
61
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::DestroyMappingRulesTask.new(context)
62
- tasks << ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyMappingRulesTask.new(context)
63
-
64
- # run tasks
65
- tasks.each(&:call)
66
- end
67
-
68
- private
69
-
70
- def create_context(source, target)
71
- {
72
- source: source,
73
- target: target,
74
- delete_mapping_rules: options[:force]
75
- }
76
- end
77
- end
78
- end
79
- end
80
- end
@@ -1,22 +0,0 @@
1
- require '3scale_toolbox/commands/update_command/service_command'
2
-
3
- module ThreeScaleToolbox
4
- module Commands
5
- module UpdateCommand
6
- include ThreeScaleToolbox::Command
7
- def self.command
8
- Cri::Command.define do
9
- name 'update'
10
- usage 'update <sub-command> [options]'
11
- summary '[DEPRECATED] update super command'
12
- description 'Update 3scale entities between tenants'
13
-
14
- run do |_opts, _args, cmd|
15
- puts cmd.help
16
- end
17
- end
18
- end
19
- add_subcommand(ServiceSubcommand)
20
- end
21
- end
22
- end