f5-icontrol 0.3.1 → 0.3.2

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