morpheus-cli 5.5.1.4 → 5.5.2

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +1 -1
  3. data/lib/morpheus/api/api_client.rb +25 -0
  4. data/lib/morpheus/api/archive_buckets_interface.rb +1 -1
  5. data/lib/morpheus/api/body_io.rb +22 -0
  6. data/lib/morpheus/api/catalog_item_types_interface.rb +5 -1
  7. data/lib/morpheus/api/clients_interface.rb +41 -0
  8. data/lib/morpheus/api/clouds_interface.rb +21 -0
  9. data/lib/morpheus/api/instances_interface.rb +8 -1
  10. data/lib/morpheus/api/integrations_interface.rb +30 -0
  11. data/lib/morpheus/api/library_instance_types_interface.rb +15 -3
  12. data/lib/morpheus/api/network_pool_server_types_interface.rb +9 -0
  13. data/lib/morpheus/api/plugins_interface.rb +22 -0
  14. data/lib/morpheus/api/roles_interface.rb +20 -1
  15. data/lib/morpheus/api/security_package_types_interface.rb +9 -0
  16. data/lib/morpheus/api/security_packages_interface.rb +9 -0
  17. data/lib/morpheus/api/security_scans_interface.rb +9 -0
  18. data/lib/morpheus/api/servers_interface.rb +17 -17
  19. data/lib/morpheus/api/storage_providers_interface.rb +1 -1
  20. data/lib/morpheus/api/virtual_images_interface.rb +1 -23
  21. data/lib/morpheus/cli/cli_command.rb +81 -7
  22. data/lib/morpheus/cli/commands/apps.rb +28 -2
  23. data/lib/morpheus/cli/commands/archives_command.rb +2 -2
  24. data/lib/morpheus/cli/commands/blueprints_command.rb +16 -0
  25. data/lib/morpheus/cli/commands/catalog_item_types_command.rb +34 -2
  26. data/lib/morpheus/cli/commands/clients_command.rb +338 -0
  27. data/lib/morpheus/cli/commands/clouds.rb +127 -1
  28. data/lib/morpheus/cli/commands/clusters.rb +42 -12
  29. data/lib/morpheus/cli/commands/curl_command.rb +114 -135
  30. data/lib/morpheus/cli/commands/hosts.rb +108 -11
  31. data/lib/morpheus/cli/commands/instances.rb +115 -14
  32. data/lib/morpheus/cli/commands/integrations_command.rb +215 -4
  33. data/lib/morpheus/cli/commands/invoices_command.rb +20 -11
  34. data/lib/morpheus/cli/commands/jobs_command.rb +299 -190
  35. data/lib/morpheus/cli/commands/library_cluster_layouts_command.rb +16 -2
  36. data/lib/morpheus/cli/commands/library_container_scripts_command.rb +14 -0
  37. data/lib/morpheus/cli/commands/library_container_templates_command.rb +131 -48
  38. data/lib/morpheus/cli/commands/library_container_types_command.rb +17 -4
  39. data/lib/morpheus/cli/commands/library_instance_types_command.rb +85 -7
  40. data/lib/morpheus/cli/commands/library_layouts_command.rb +32 -1
  41. data/lib/morpheus/cli/commands/library_option_lists_command.rb +30 -18
  42. data/lib/morpheus/cli/commands/library_option_types_command.rb +31 -14
  43. data/lib/morpheus/cli/commands/library_spec_templates_command.rb +14 -0
  44. data/lib/morpheus/cli/commands/library_upgrades_command.rb +2 -2
  45. data/lib/morpheus/cli/commands/network_pool_server_types.rb +20 -0
  46. data/lib/morpheus/cli/commands/network_pool_servers_command.rb +55 -158
  47. data/lib/morpheus/cli/commands/network_pools_command.rb +49 -23
  48. data/lib/morpheus/cli/commands/networks_command.rb +262 -45
  49. data/lib/morpheus/cli/commands/plugins.rb +213 -0
  50. data/lib/morpheus/cli/commands/price_sets_command.rb +40 -10
  51. data/lib/morpheus/cli/commands/prices_command.rb +17 -5
  52. data/lib/morpheus/cli/commands/processes_command.rb +2 -1
  53. data/lib/morpheus/cli/commands/remote.rb +7 -10
  54. data/lib/morpheus/cli/commands/roles.rb +924 -335
  55. data/lib/morpheus/cli/commands/search_command.rb +2 -0
  56. data/lib/morpheus/cli/commands/security_groups.rb +72 -84
  57. data/lib/morpheus/cli/commands/security_package_types.rb +32 -0
  58. data/lib/morpheus/cli/commands/security_packages.rb +84 -0
  59. data/lib/morpheus/cli/commands/security_scans.rb +107 -0
  60. data/lib/morpheus/cli/commands/service_plans_command.rb +16 -14
  61. data/lib/morpheus/cli/commands/subnets_command.rb +15 -1
  62. data/lib/morpheus/cli/commands/tasks.rb +34 -1
  63. data/lib/morpheus/cli/commands/tenants_command.rb +1 -1
  64. data/lib/morpheus/cli/commands/user_settings_command.rb +11 -2
  65. data/lib/morpheus/cli/commands/users.rb +50 -9
  66. data/lib/morpheus/cli/commands/virtual_images.rb +14 -0
  67. data/lib/morpheus/cli/commands/workflows.rb +14 -0
  68. data/lib/morpheus/cli/mixins/accounts_helper.rb +6 -5
  69. data/lib/morpheus/cli/mixins/infrastructure_helper.rb +79 -0
  70. data/lib/morpheus/cli/mixins/jobs_helper.rb +4 -5
  71. data/lib/morpheus/cli/mixins/library_helper.rb +2 -0
  72. data/lib/morpheus/cli/mixins/logs_helper.rb +3 -0
  73. data/lib/morpheus/cli/mixins/monitoring_helper.rb +1 -1
  74. data/lib/morpheus/cli/mixins/print_helper.rb +29 -4
  75. data/lib/morpheus/cli/mixins/provisioning_helper.rb +38 -9
  76. data/lib/morpheus/cli/mixins/rest_command.rb +106 -8
  77. data/lib/morpheus/cli/mixins/secondary_rest_command.rb +6 -2
  78. data/lib/morpheus/cli/option_types.rb +94 -25
  79. data/lib/morpheus/cli/version.rb +1 -1
  80. data/lib/morpheus/formatters.rb +10 -1
  81. metadata +15 -2
@@ -124,6 +124,9 @@ class Morpheus::Cli::InvoicesCommand
124
124
  opts.on('--sigdig DIGITS', "Significant digits when rounding cost values for display as currency. Default is 2. eg. $3.50") do |val|
125
125
  options[:sigdig] = val.to_i
126
126
  end
127
+ opts.on('--test-count VALUE', "Test if value matches the total number of results found and exit with error code 3 if not.") do |val|
128
+ options[:test_count] = val.to_i
129
+ end
127
130
  build_standard_list_options(opts, options)
128
131
  opts.footer = "List invoices."
129
132
  end
@@ -355,6 +358,10 @@ class Morpheus::Cli::InvoicesCommand
355
358
  end
356
359
  print reset,"\n"
357
360
  end
361
+ total_count = (json_response["meta"]["total"] rescue nil)
362
+ if options[:test_count] && options[:test_count] != total_count
363
+ return 3, "Test count failure. Expected #{options[:test_count]} and got #{total_count}"
364
+ end
358
365
  return 0, nil
359
366
  end
360
367
  end
@@ -374,9 +381,12 @@ class Morpheus::Cli::InvoicesCommand
374
381
  opts.on('--costs', '--costs', "Display Costs in addition to prices" ) do
375
382
  options[:show_costs] = true
376
383
  end
377
- opts.on('--no-line-items', '--no-line-items', "Do not display line items.") do |val|
384
+ opts.on('--no-line-items', '--no-line-items', "Do not display line items.") do
378
385
  options[:hide_line_items] = true
379
386
  end
387
+ opts.on('--max-line-items VALUE', 'String', "Max line items to load. Default is 1000.") do |val|
388
+ params['maxLineItems'] = val.to_i
389
+ end
380
390
  opts.on('--sigdig DIGITS', "Significant digits when rounding cost values for display as currency. Default is 2. eg. $3.50") do |val|
381
391
  options[:sigdig] = val.to_i
382
392
  end
@@ -770,14 +780,13 @@ EOT
770
780
  params['includeTotals'] = true
771
781
  options[:show_invoice_totals] = true
772
782
  end
773
- opts.on('--totals-only', "View totals only") do |val|
774
- params['includeTotals'] = true
775
- options[:show_invoice_totals] = true
776
- options[:totals_only] = true
777
- end
778
783
  opts.on('--sigdig DIGITS', "Significant digits when rounding cost values for display as currency. Default is 2. eg. $3.50") do |val|
779
784
  options[:sigdig] = val.to_i
780
785
  end
786
+ opts.on('--test-count VALUE', "Test if value matches the total number of results found and exit with error code 3 if not.") do |val|
787
+ options[:test_count] = val.to_i
788
+ end
789
+ opts.add_hidden_option('--test-count')
781
790
  build_standard_list_options(opts, options)
782
791
  opts.footer = "List invoice line items."
783
792
  end
@@ -845,7 +854,7 @@ EOT
845
854
  subtitles += parse_list_subtitles(options)
846
855
  print_h1 title, subtitles
847
856
  if line_items.empty?
848
- print yellow,"No line items found.",reset,"\n"
857
+ print cyan,"No line items found.",reset,"\n"
849
858
  else
850
859
  # current_date = Time.now
851
860
  # current_period = "#{current_date.year}#{current_date.month.to_s.rjust(2, '0')}"
@@ -914,11 +923,11 @@ EOT
914
923
  end
915
924
  print reset,"\n"
916
925
  end
917
- if line_items.empty?
918
- return 1, "no line items found"
919
- else
920
- return 0, nil
926
+ total_count = (json_response["meta"]["total"] rescue nil)
927
+ if options[:test_count] && options[:test_count] != total_count
928
+ return 3, "Test count failure. Expected #{options[:test_count]} and got #{total_count}"
921
929
  end
930
+ return 0, nil
922
931
  end
923
932
 
924
933
  def get_line_item(args)