morpheus-cli 4.2.18 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +1 -1
  3. data/lib/morpheus/api/api_client.rb +14 -0
  4. data/lib/morpheus/api/billing_interface.rb +33 -0
  5. data/lib/morpheus/api/catalog_item_types_interface.rb +9 -0
  6. data/lib/morpheus/api/rest_interface.rb +0 -6
  7. data/lib/morpheus/api/roles_interface.rb +14 -0
  8. data/lib/morpheus/cli.rb +2 -2
  9. data/lib/morpheus/cli/apps.rb +3 -4
  10. data/lib/morpheus/cli/backup_jobs_command.rb +3 -0
  11. data/lib/morpheus/cli/backups_command.rb +3 -0
  12. data/lib/morpheus/cli/blueprints_command.rb +27 -61
  13. data/lib/morpheus/cli/budgets_command.rb +4 -4
  14. data/lib/morpheus/cli/catalog_command.rb +507 -0
  15. data/lib/morpheus/cli/cli_command.rb +30 -15
  16. data/lib/morpheus/cli/cloud_resource_pools_command.rb +16 -0
  17. data/lib/morpheus/cli/clouds.rb +7 -10
  18. data/lib/morpheus/cli/commands/standard/curl_command.rb +23 -7
  19. data/lib/morpheus/cli/commands/standard/source_command.rb +1 -1
  20. data/lib/morpheus/cli/commands/standard/update_command.rb +76 -0
  21. data/lib/morpheus/cli/containers_command.rb +14 -0
  22. data/lib/morpheus/cli/deployments.rb +1 -1
  23. data/lib/morpheus/cli/hosts.rb +30 -2
  24. data/lib/morpheus/cli/instances.rb +19 -1
  25. data/lib/morpheus/cli/invoices_command.rb +8 -9
  26. data/lib/morpheus/cli/jobs_command.rb +30 -8
  27. data/lib/morpheus/cli/library_instance_types_command.rb +17 -3
  28. data/lib/morpheus/cli/library_option_lists_command.rb +14 -6
  29. data/lib/morpheus/cli/mixins/accounts_helper.rb +7 -6
  30. data/lib/morpheus/cli/mixins/backups_helper.rb +2 -4
  31. data/lib/morpheus/cli/mixins/catalog_helper.rb +66 -0
  32. data/lib/morpheus/cli/mixins/deployments_helper.rb +0 -1
  33. data/lib/morpheus/cli/mixins/option_source_helper.rb +1 -1
  34. data/lib/morpheus/cli/mixins/print_helper.rb +46 -0
  35. data/lib/morpheus/cli/network_pools_command.rb +14 -6
  36. data/lib/morpheus/cli/ping.rb +0 -1
  37. data/lib/morpheus/cli/projects_command.rb +7 -7
  38. data/lib/morpheus/cli/provisioning_licenses_command.rb +2 -2
  39. data/lib/morpheus/cli/remote.rb +0 -2
  40. data/lib/morpheus/cli/roles.rb +305 -3
  41. data/lib/morpheus/cli/service_plans_command.rb +2 -2
  42. data/lib/morpheus/cli/storage_providers_command.rb +40 -56
  43. data/lib/morpheus/cli/tasks.rb +24 -10
  44. data/lib/morpheus/cli/tenants_command.rb +1 -1
  45. data/lib/morpheus/cli/usage_command.rb +150 -0
  46. data/lib/morpheus/cli/user_settings_command.rb +1 -0
  47. data/lib/morpheus/cli/users.rb +12 -1
  48. data/lib/morpheus/cli/version.rb +1 -1
  49. data/lib/morpheus/cli/workflows.rb +12 -9
  50. data/lib/morpheus/formatters.rb +26 -5
  51. metadata +8 -2
@@ -365,8 +365,21 @@ def format_number(n, opts={})
365
365
  return out
366
366
  end
367
367
 
368
- def format_sig_dig(n, sigdig=3)
369
- sprintf("%.#{sigdig}f", n)
368
+ def format_sig_dig(n, sigdig=3, min_sigdig=nil, pad_zeros=false)
369
+ v = sprintf("%.#{sigdig}f", n)
370
+ if pad_zeros != true
371
+ v = v.to_f.to_s
372
+ end
373
+ if min_sigdig
374
+ v_parts = v.split(".")
375
+ decimal_str = v_parts[1]
376
+ if decimal_str == nil
377
+ v = v + "." + ('0' * min_sigdig)
378
+ elsif decimal_str.size < min_sigdig
379
+ v = v + ('0' * (min_sigdig - decimal_str.size))
380
+ end
381
+ end
382
+ v
370
383
  end
371
384
 
372
385
  def currency_sym(currency)
@@ -375,7 +388,7 @@ end
375
388
 
376
389
  # returns currency amount formatted like "$4,5123.00". 0.00 is formatted as "$0"
377
390
  # this is not ideal
378
- def format_money(amount, currency='usd', opts={})
391
+ def format_currency(amount, currency='usd', opts={})
379
392
  amount = amount.to_f
380
393
  if amount == 0
381
394
  return currency_sym(currency).to_s + "0"
@@ -383,8 +396,10 @@ def format_money(amount, currency='usd', opts={})
383
396
  # # return exponent notation like 3.4e-09
384
397
  # return currency_sym(currency).to_s + "#{amount}"
385
398
  else
386
- sigdig = opts[:sigdig] ? opts[:sigdig].to_i : 2
387
- rtn = currency_sym(currency).to_s + format_number(sprintf("%.#{sigdig}f", amount))
399
+ sigdig = opts[:sigdig] ? opts[:sigdig].to_i : 2 # max decimal digits
400
+ min_sigdig = opts[:min_sigdig] ? opts[:min_sigdig].to_i : 2 # min decimal digits
401
+ display_value = format_sig_dig(amount, sigdig, min_sigdig, opts[:pad_zeros])
402
+ rtn = currency_sym(currency).to_s + display_value
388
403
  if amount.to_i < 0
389
404
  rtn = "(#{rtn})"
390
405
  if opts[:minus_color]
@@ -394,3 +409,9 @@ def format_money(amount, currency='usd', opts={})
394
409
  rtn
395
410
  end
396
411
  end
412
+
413
+ alias :format_money :format_currency
414
+
415
+ # def format_money(amount, currency='usd', opts={})
416
+ # format_currency(amount, currency, opts)
417
+ # end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: morpheus-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.18
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Estes
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-08-18 00:00:00.000000000 Z
14
+ date: 2020-09-29 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -185,8 +185,10 @@ files:
185
185
  - lib/morpheus/api/backup_jobs_interface.rb
186
186
  - lib/morpheus/api/backup_settings_interface.rb
187
187
  - lib/morpheus/api/backups_interface.rb
188
+ - lib/morpheus/api/billing_interface.rb
188
189
  - lib/morpheus/api/blueprints_interface.rb
189
190
  - lib/morpheus/api/budgets_interface.rb
191
+ - lib/morpheus/api/catalog_item_types_interface.rb
190
192
  - lib/morpheus/api/cloud_datastores_interface.rb
191
193
  - lib/morpheus/api/cloud_folders_interface.rb
192
194
  - lib/morpheus/api/cloud_policies_interface.rb
@@ -305,6 +307,7 @@ files:
305
307
  - lib/morpheus/cli/blueprints_command.rb
306
308
  - lib/morpheus/cli/boot_scripts_command.rb
307
309
  - lib/morpheus/cli/budgets_command.rb
310
+ - lib/morpheus/cli/catalog_command.rb
308
311
  - lib/morpheus/cli/change_password_command.rb
309
312
  - lib/morpheus/cli/cli_command.rb
310
313
  - lib/morpheus/cli/cli_registry.rb
@@ -333,6 +336,7 @@ files:
333
336
  - lib/morpheus/cli/commands/standard/source_command.rb
334
337
  - lib/morpheus/cli/commands/standard/ssl_verification_command.rb
335
338
  - lib/morpheus/cli/commands/standard/tee_command.rb
339
+ - lib/morpheus/cli/commands/standard/update_command.rb
336
340
  - lib/morpheus/cli/commands/standard/version_command.rb
337
341
  - lib/morpheus/cli/containers_command.rb
338
342
  - lib/morpheus/cli/credentials.rb
@@ -380,6 +384,7 @@ files:
380
384
  - lib/morpheus/cli/logs_command.rb
381
385
  - lib/morpheus/cli/mixins/accounts_helper.rb
382
386
  - lib/morpheus/cli/mixins/backups_helper.rb
387
+ - lib/morpheus/cli/mixins/catalog_helper.rb
383
388
  - lib/morpheus/cli/mixins/deployments_helper.rb
384
389
  - lib/morpheus/cli/mixins/infrastructure_helper.rb
385
390
  - lib/morpheus/cli/mixins/library_helper.rb
@@ -432,6 +437,7 @@ files:
432
437
  - lib/morpheus/cli/subnets_command.rb
433
438
  - lib/morpheus/cli/tasks.rb
434
439
  - lib/morpheus/cli/tenants_command.rb
440
+ - lib/morpheus/cli/usage_command.rb
435
441
  - lib/morpheus/cli/user_groups_command.rb
436
442
  - lib/morpheus/cli/user_settings_command.rb
437
443
  - lib/morpheus/cli/user_sources_command.rb