morpheus-cli 4.2.18 → 5.0.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 (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