morpheus-cli 5.5.1.5 → 5.5.2.1

Sign up to get free protection for your applications and to get access to all the features.
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 +27 -8
  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)