morpheus-cli 4.1.0 → 4.1.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b813008442e454799fbb3ff189d1974ceff53cdf2462f0ed2f0c44926d7f9a89
4
- data.tar.gz: 022c6e7a91a66e7167945de986239f6598a38075ed69600ef39bf60407bea330
3
+ metadata.gz: 78556645853b91d56091042831cc0f167eca3120fe58f5e062b24fe90d14475b
4
+ data.tar.gz: 49ad49192a9fc8fd645e63912d932b1fe5a8978c6c11984b5d93fd27281e72ec
5
5
  SHA512:
6
- metadata.gz: 76b7fab3aab20b0e698185b43e87baf1d1b7fe8ad20cb4400a2674edb46d2f43f667896abd4a090f2176cb6795ab339c4190df51e42694d344a60c821b44b29a
7
- data.tar.gz: 1b697421bf324bfa38ca63f74abe59c7890545ea38c8a340da7f15e4ceba8fa22d868b403fb4105d5e0629a700047cfc91458a459120dbce9dd650d7ce921950
6
+ metadata.gz: fa95516c8ce7fa863fec5172fc9979545a4ecd29a809801f5d8fd22a5550ad74ce51bdaacd411e3bde4033908c968fa03d61294850b87212c4b94777e6bc39c6
7
+ data.tar.gz: 411ae02f4371da4f90cbb902cb1aca02ad4a7ca1a8d0e6a11b65d8484310e29ee1c1764a9d47f378b32281d7526107611a80a8936a08a8fe525dfd040dd3cca8
@@ -267,6 +267,9 @@ class Morpheus::Cli::CloudFoldersCommand
267
267
  group_access_all = nil
268
268
  group_access_list = nil
269
269
  group_defaults_list = nil
270
+ plan_access_all = nil
271
+ plan_access_list = nil
272
+ plan_defaults_list = nil
270
273
  optparse = Morpheus::Cli::OptionParser.new do |opts|
271
274
  opts.banner = subcommand_usage("[cloud] [folder] [options]")
272
275
  opts.on( '-c', '--cloud CLOUD', "Cloud Name or ID" ) do |val|
@@ -283,13 +286,30 @@ class Morpheus::Cli::CloudFoldersCommand
283
286
  group_access_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
284
287
  end
285
288
  end
286
- # opts.on('--group-defaults LIST', Array, "Group Default Selection, comma separated list of group IDs") do |list|
287
- # if list.size == 1 && list[0] == 'null' # hacky way to clear it
288
- # group_defaults_list = []
289
- # else
290
- # group_defaults_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
291
- # end
292
- # end
289
+ opts.on('--group-defaults LIST', Array, "Group Default Selection, comma separated list of group IDs") do |list|
290
+ if list.size == 1 && list[0] == 'null' # hacky way to clear it
291
+ group_defaults_list = []
292
+ else
293
+ group_defaults_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
294
+ end
295
+ end
296
+ opts.on('--plan-access-all [on|off]', String, "Toggle Access for all plans.") do |val|
297
+ plan_access_all = val.to_s == 'on' || val.to_s == 'true' || val.to_s == ''
298
+ end
299
+ opts.on('--plan-access LIST', Array, "Plan Access, comma separated list of plan IDs.") do |list|
300
+ if list.size == 1 && list[0] == 'null' # hacky way to clear it
301
+ plan_access_list = []
302
+ else
303
+ plan_access_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
304
+ end
305
+ end
306
+ opts.on('--plan-defaults LIST', Array, "Plan Default Selection, comma separated list of plan IDs") do |list|
307
+ if list.size == 1 && list[0] == 'null' # hacky way to clear it
308
+ plan_defaults_list = []
309
+ else
310
+ plan_defaults_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
311
+ end
312
+ end
293
313
  opts.on('--tenants LIST', Array, "Tenant Access, comma separated list of account IDs") do |list|
294
314
  if list.size == 1 && list[0] == 'null' # hacky way to clear it
295
315
  options['tenants'] = []
@@ -366,6 +386,22 @@ class Morpheus::Cli::CloudFoldersCommand
366
386
  end
367
387
  end
368
388
 
389
+ # Service Plan Access
390
+ if plan_access_all != nil
391
+ payload['resourcePermissions'] ||= {}
392
+ payload['resourcePermissions']['allPlans'] = plan_access_all
393
+ end
394
+ if plan_access_list != nil
395
+ payload['resourcePermissions'] ||= {}
396
+ payload['resourcePermissions']['plans'] = plan_access_list.collect do |site_id|
397
+ site = {"id" => site_id.to_i}
398
+ if plan_defaults_list && plan_defaults_list.include?(site_id)
399
+ site["default"] = true
400
+ end
401
+ site
402
+ end
403
+ end
404
+
369
405
  # Tenants
370
406
  if options['tenants']
371
407
  payload['tenantPermissions'] = {}
@@ -193,7 +193,7 @@ class Morpheus::Cli::CloudResourcePoolsCommand
193
193
  }
194
194
  print_description_list(description_cols, resource_pool)
195
195
 
196
- if resource_pool['resourcePermission'].nil?
196
+ if resource_pool['resourcePermission'].nil?
197
197
  #print "\n", "No group access found", "\n"
198
198
  else
199
199
  print_h2 "Group Access"
@@ -267,6 +267,9 @@ class Morpheus::Cli::CloudResourcePoolsCommand
267
267
  group_access_all = nil
268
268
  group_access_list = nil
269
269
  group_defaults_list = nil
270
+ plan_access_all = nil
271
+ plan_access_list = nil
272
+ plan_defaults_list = nil
270
273
  optparse = Morpheus::Cli::OptionParser.new do |opts|
271
274
  opts.banner = subcommand_usage("[cloud] [pool] [options]")
272
275
  opts.on( '-c', '--cloud CLOUD', "Cloud Name or ID" ) do |val|
@@ -286,13 +289,30 @@ class Morpheus::Cli::CloudResourcePoolsCommand
286
289
  group_access_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
287
290
  end
288
291
  end
289
- # opts.on('--group-defaults LIST', Array, "Group Default Selection, comma separated list of group IDs") do |list|
290
- # if list.size == 1 && list[0] == 'null' # hacky way to clear it
291
- # group_defaults_list = []
292
- # else
293
- # group_defaults_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
294
- # end
295
- # end
292
+ opts.on('--group-defaults LIST', Array, "Group Default Selection, comma separated list of group IDs") do |list|
293
+ if list.size == 1 && list[0] == 'null' # hacky way to clear it
294
+ group_defaults_list = []
295
+ else
296
+ group_defaults_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
297
+ end
298
+ end
299
+ opts.on('--plan-access-all [on|off]', String, "Toggle Access for all plans.") do |val|
300
+ plan_access_all = val.to_s == 'on' || val.to_s == 'true' || val.to_s == ''
301
+ end
302
+ opts.on('--plan-access LIST', Array, "Plan Access, comma separated list of plan IDs.") do |list|
303
+ if list.size == 1 && list[0] == 'null' # hacky way to clear it
304
+ plan_access_list = []
305
+ else
306
+ plan_access_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
307
+ end
308
+ end
309
+ opts.on('--plan-defaults LIST', Array, "Plan Default Selection, comma separated list of plan IDs") do |list|
310
+ if list.size == 1 && list[0] == 'null' # hacky way to clear it
311
+ plan_defaults_list = []
312
+ else
313
+ plan_defaults_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
314
+ end
315
+ end
296
316
  opts.on('--tenants LIST', Array, "Tenant Access, comma separated list of account IDs") do |list|
297
317
  if list.size == 1 && list[0] == 'null' # hacky way to clear it
298
318
  options['tenants'] = []
@@ -365,6 +385,12 @@ class Morpheus::Cli::CloudResourcePoolsCommand
365
385
  if group_access_all != nil
366
386
  payload['resourcePermissions'] ||= {}
367
387
  payload['resourcePermissions']['all'] = group_access_all
388
+ else
389
+ # default to all
390
+ if payload['resourcePermissions'].nil? || payload['resourcePermissions']['all'].nil?
391
+ payload['resourcePermissions'] ||= {}
392
+ payload['resourcePermissions']['all'] = true
393
+ end
368
394
  end
369
395
  if group_access_list != nil
370
396
  payload['resourcePermissions'] ||= {}
@@ -377,6 +403,28 @@ class Morpheus::Cli::CloudResourcePoolsCommand
377
403
  end
378
404
  end
379
405
 
406
+ # Service Plan Access
407
+ if plan_access_all != nil
408
+ payload['resourcePermissions'] ||= {}
409
+ payload['resourcePermissions']['allPlans'] = plan_access_all
410
+ else
411
+ # default to all
412
+ if payload['resourcePermissions'].nil? || payload['resourcePermissions']['allPlans'].nil?
413
+ payload['resourcePermissions'] ||= {}
414
+ payload['resourcePermissions']['allPlans'] = true
415
+ end
416
+ end
417
+ if plan_access_list != nil
418
+ payload['resourcePermissions'] ||= {}
419
+ payload['resourcePermissions']['plans'] = plan_access_list.collect do |site_id|
420
+ site = {"id" => site_id.to_i}
421
+ if plan_defaults_list && plan_defaults_list.include?(site_id)
422
+ site["default"] = true
423
+ end
424
+ site
425
+ end
426
+ end
427
+
380
428
  # Tenants
381
429
  if options['tenants']
382
430
  payload['tenantPermissions'] = {}
@@ -448,6 +496,9 @@ class Morpheus::Cli::CloudResourcePoolsCommand
448
496
  group_access_all = nil
449
497
  group_access_list = nil
450
498
  group_defaults_list = nil
499
+ plan_access_all = nil
500
+ plan_access_list = nil
501
+ plan_defaults_list = nil
451
502
  optparse = Morpheus::Cli::OptionParser.new do |opts|
452
503
  opts.banner = subcommand_usage("[cloud] [pool] [options]")
453
504
  opts.on( '-c', '--cloud CLOUD', "Cloud Name or ID" ) do |val|
@@ -464,13 +515,30 @@ class Morpheus::Cli::CloudResourcePoolsCommand
464
515
  group_access_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
465
516
  end
466
517
  end
467
- # opts.on('--group-defaults LIST', Array, "Group Default Selection, comma separated list of group IDs") do |list|
468
- # if list.size == 1 && list[0] == 'null' # hacky way to clear it
469
- # group_defaults_list = []
470
- # else
471
- # group_defaults_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
472
- # end
473
- # end
518
+ opts.on('--group-defaults LIST', Array, "Group Default Selection, comma separated list of group IDs") do |list|
519
+ if list.size == 1 && list[0] == 'null' # hacky way to clear it
520
+ group_defaults_list = []
521
+ else
522
+ group_defaults_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
523
+ end
524
+ end
525
+ opts.on('--plan-access-all [on|off]', String, "Toggle Access for all plans.") do |val|
526
+ plan_access_all = val.to_s == 'on' || val.to_s == 'true' || val.to_s == ''
527
+ end
528
+ opts.on('--plan-access LIST', Array, "Plan Access, comma separated list of plan IDs.") do |list|
529
+ if list.size == 1 && list[0] == 'null' # hacky way to clear it
530
+ plan_access_list = []
531
+ else
532
+ plan_access_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
533
+ end
534
+ end
535
+ opts.on('--plan-defaults LIST', Array, "Plan Default Selection, comma separated list of plan IDs") do |list|
536
+ if list.size == 1 && list[0] == 'null' # hacky way to clear it
537
+ plan_defaults_list = []
538
+ else
539
+ plan_defaults_list = list.collect {|it| it.to_s.strip.empty? ? nil : it.to_s.strip }.compact.uniq
540
+ end
541
+ end
474
542
  opts.on('--tenants LIST', Array, "Tenant Access, comma separated list of account IDs") do |list|
475
543
  if list.size == 1 && list[0] == 'null' # hacky way to clear it
476
544
  options['tenants'] = []
@@ -547,6 +615,22 @@ class Morpheus::Cli::CloudResourcePoolsCommand
547
615
  end
548
616
  end
549
617
 
618
+ # Service Plan Access
619
+ if plan_access_all != nil
620
+ payload['resourcePermissions'] ||= {}
621
+ payload['resourcePermissions']['allPlans'] = plan_access_all
622
+ end
623
+ if plan_access_list != nil
624
+ payload['resourcePermissions'] ||= {}
625
+ payload['resourcePermissions']['plans'] = plan_access_list.collect do |site_id|
626
+ site = {"id" => site_id.to_i}
627
+ if plan_defaults_list && plan_defaults_list.include?(site_id)
628
+ site["default"] = true
629
+ end
630
+ site
631
+ end
632
+ end
633
+
550
634
  # Tenants
551
635
  if options['tenants']
552
636
  payload['tenantPermissions'] = {}
@@ -1,6 +1,6 @@
1
1
 
2
2
  module Morpheus
3
3
  module Cli
4
- VERSION = "4.1.0"
4
+ VERSION = "4.1.1"
5
5
  end
6
6
  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.1.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Estes