IControl: F5 BigIP SOAP API Client

IControl allows you to easily connect to a BigIP F5 load balancer and by means of the SOAP API. You can programmatically do almost the same things that you would do throught the Web Interface.


Install the gem:

gem install icontrol


In order to configure you just have to set up the username, password and the server you're connecting to:

IControl.config = 'username' IControl.config = 'secret' IControl.config = “myf5.test.com/”

Using the library

Virtual Servers

You can retreive, create, delete and modify virtual servers, for more information see IControl::LocalLB::VirtualServer. As an example of you what you can do:

Creating a virtual Server

new_virtual_server = IControl::LocalLB::VirtualServer.create(:name => "foo_virtual_server",
                                 :address => "",
                                 :port => "80",
                                 :protocol => IControl::Common::ProtocolType::PROTOCOL_TCP,
                                 :wildmask => "",
                        	  :type => IControl::LocalLB::VirtualServer::Type::RESOURCE_TYPE_POOL,
                                 :default_pool =>  foo_pool,
                                 :profiles => [])

Obtaining an instance of a virtual server

my_virtual_server = IControl::LocalLB::VirtualServer.find("virtual_server_name")

Changing its default pool

my_virtual_server.default_pool = IControl::LocalLB::Pool.find("my_new_default_pool")

Destroying it


Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don't break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.


Copyright © 2010 Jose Fernandez (magec). See LICENSE for details.