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
         
     |