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 +4 -4
- data/lib/f5/cli/application.rb +79 -0
- data/lib/f5/icontrol/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64a859cf8eaedd6a75dfe561aa4d05b24c8c5f58
|
4
|
+
data.tar.gz: 1d803e1f5daaf83d2586064f2fdcd144860dcfad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e67d3afa14a057ecf4bae608b983ebd8814fb957d6bcb298a941ce77174ae5e98a3ee70d2fdb3ca6dbd388bd8eb45e365bdaaa2b8847690e162bb237d68432eb
|
7
|
+
data.tar.gz: 3396456a17cb589d8173f99588b7805425e4019456a648f90baa1c61cc496c1b7cc54e0cfde3f4f7bb286773e12dda3f062e0589eb5f5d84b3cf91b2669bc4db
|
data/lib/f5/cli/application.rb
CHANGED
@@ -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
|
data/lib/f5/icontrol/version.rb
CHANGED
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.
|
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-
|
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.
|
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
|