f5-icontrol 0.3.1 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67be269b116b38facac67624090cfbe091f282cd
4
- data.tar.gz: 591e3403939a847a88cf58b7bc59449b1354f916
3
+ metadata.gz: 64a859cf8eaedd6a75dfe561aa4d05b24c8c5f58
4
+ data.tar.gz: 1d803e1f5daaf83d2586064f2fdcd144860dcfad
5
5
  SHA512:
6
- metadata.gz: cb6cd282e3ab8cfc44094568c260dd767e0162c0a66e60d595d19eebc6cad170def76b6f05f041693b56963f0c312fb0c1c9e362aa71eebc4be82c92b316511b
7
- data.tar.gz: 21109f36b56d2908bb6a5b2985d376b1ee9785cd97d687eb20ff2b324f51018371d8519936de704b07dbbac2d03655566fbd6f5c731b71df115649aca67ddb93
6
+ metadata.gz: e67d3afa14a057ecf4bae608b983ebd8814fb957d6bcb298a941ce77174ae5e98a3ee70d2fdb3ca6dbd388bd8eb45e365bdaaa2b8847690e162bb237d68432eb
7
+ data.tar.gz: 3396456a17cb589d8173f99588b7805425e4019456a648f90baa1c61cc496c1b7cc54e0cfde3f4f7bb286773e12dda3f062e0589eb5f5d84b3cf91b2669bc4db
@@ -360,6 +360,76 @@ module F5
360
360
 
361
361
  end
362
362
 
363
+ class Config < Subcommand
364
+ desc "list", "Lists the current configuration variables."
365
+ def list
366
+ response = client.Management.DBVariable.get_list
367
+
368
+ dbVariables = Array(response[:item])
369
+ if dbVariables.empty?
370
+ puts "No config variables found"
371
+ else
372
+ dbVariables.each do |p|
373
+ puts "#{p[:name]}: #{p[:value]}"
374
+ end
375
+ end
376
+ end
377
+ end
378
+
379
+ class Device < Subcommand
380
+ desc "list", "Lists the all devices regardless of device group."
381
+ def list
382
+ response = client.Management.Device.get_list
383
+
384
+ devices = Array(response[:item])
385
+ if devices.empty?
386
+ puts "No devices found"
387
+ else
388
+ devices.each do |p|
389
+ puts p
390
+ end
391
+ end
392
+ end
393
+ end
394
+
395
+ class DeviceGroup < Subcommand
396
+ desc "list", "Lists the all device groups."
397
+ def list
398
+ response = client.Management.DeviceGroup.get_list
399
+
400
+ devices = Array(response[:item])
401
+ if devices.empty?
402
+ puts "No devices found"
403
+ else
404
+ devices.each do |p|
405
+ puts p
406
+ end
407
+ end
408
+ end
409
+
410
+ desc "status DEVICE_GROUP", "Shows the sync status between devices in the specified device group. (Shows status of all device groups of one is not specified.)"
411
+ def status(device_group=nil)
412
+ response = client.Management.DeviceGroup.get_sync_status(device_groups: { item: [ device_group ] })
413
+ puts "STATUS: #{response[:item][:status]}";
414
+ puts "STATUS COLOR: #{response[:item][:color]}";
415
+ puts "STATUS DESCRIPTION: #{response[:item][:member_state]}";
416
+ puts "STATUS SUMMARY: #{response[:item][:summary]}";
417
+ puts "STATUS DETAILS:"
418
+ puts response[:item][:details][:item].nil? ? "No further details." : response[:item][:details][:item]
419
+ end
420
+
421
+ desc "sync DEVICE_GROUP DEVICE_WITH_CHANGES_PENDING", "This will sync configs between devices in the specified device group."
422
+ def sync(device_group, device)
423
+ device = "#{device.gsub(%r{^/Common/}, '')}"
424
+ response = client.System.ConfigSync.synchronize_to_group_v2(group: device_group, device: "/Common/#{device}", force: false)
425
+ if response.nil? || response.empty?
426
+ puts "Sync completed."
427
+ else
428
+ puts "Sync did not complete."
429
+ end
430
+ end
431
+ end
432
+
363
433
  class Application < Thor
364
434
  class_option :lb, default: 'default'
365
435
 
@@ -377,6 +447,15 @@ module F5
377
447
 
378
448
  desc "vlan SUBCOMMAND ...ARGS", "manage vlans"
379
449
  subcommand "vlan", VLAN
450
+
451
+ desc "config SUBCOMMAND ...ARGS", "view config values"
452
+ subcommand "config", Config
453
+
454
+ desc "device SUBCOMMAND ...ARGS", "manage devices"
455
+ subcommand "device", Device
456
+
457
+ desc "devicegroup SUBCOMMAND ...ARGS", "manage device groups"
458
+ subcommand "devicegroup", DeviceGroup
380
459
  end
381
460
  end
382
461
  end
@@ -1,5 +1,5 @@
1
1
  module F5
2
2
  module Icontrol
3
- VERSION = '0.3.1'
3
+ VERSION = '0.3.2'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: f5-icontrol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Walberg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-12 00:00:00.000000000 Z
11
+ date: 2017-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: savon
@@ -496,7 +496,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
496
496
  version: '0'
497
497
  requirements: []
498
498
  rubyforge_project:
499
- rubygems_version: 2.5.1
499
+ rubygems_version: 2.6.11
500
500
  signing_key:
501
501
  specification_version: 4
502
502
  summary: A gem to manage F5 BigIP devices using the iControl API