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 +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
|