.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "FAPI 1" .TH FAPI 1 "2014-04-15" "fapi 0.0.2a" "User Commands" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" fapi \- A humble command line tool to manage F5 BigIP loadbalancers .SH "SYNOPSIS" .IX Header "SYNOPSIS" Just run .PP .Vb 1 \& fapi \-h .Ve .PP or .PP .Vb 1 \& f \-h .Ve .PP because it's shorter to type. .SH "ABOUT" .IX Header "ABOUT" This is a simple command line client to do basic stuff with the iControl F5 \s-1API\s0 such as: .PP .Vb 4 \& Managing Nodes \& Managing Monitors \& Managing Pools \& Managing Virtual Servers .Ve .PP This is a private programming project programmed in my spare time. Therefore I didn't bother to put it on a public website and github. Please open bug reports, feature requests and pull requests at . .SH "BIGSUDS" .IX Header "BIGSUDS" .SS "Requirement of bigsuds" .IX Subsection "Requirement of bigsuds" This tool depends on bigsuds. Please install this library from F5 dev central manually. Otherwise this script will not work. .PP You can download bigsuds from here: .PP https://devcentral.f5.com/d/bigsuds\-python\-icontrol\-library .PP Unzip it and run .PP .Vb 1 \& sudo python setyp.py install .Ve .PP You may also install bigsuds from the contrib dir of the fapi source tree. .SS "iControl reference" .IX Subsection "iControl reference" Through bigsuds you can do everything what iControl can do: .PP .SH "QUICK START" .IX Header "QUICK START" Update your sources list: .PP .Vb 4 \& curl http://deb.buetow.org/apt/pubkey.gpg | sudo apt\-key add \- \& echo \*(Aqdeb http://deb.buetow.org/apt wheezy main\*(Aq > \e \& /etc/apt/sourcees.list.d/buetoworg.list \& aptitude update .Ve .PP And run .PP .Vb 3 \& aptitude install fapi \& cp /usr/share/fapi/fapi.conf.sample ~/.fapi.conf \& vim ~/.fapi.conf .Ve .SH "EXAMPLES" .IX Header "EXAMPLES" .SS "Setting up simple \s-1NAT\s0 Services" .IX Subsection "Setting up simple NAT Services" .Vb 1 \& (Docu to be written) .Ve .SS "Setting up simple \s-1SNAT\s0 Services" .IX Subsection "Setting up simple SNAT Services" .Vb 1 \& (Docu to be written) .Ve .SS "Setting up a simple nPath Service" .IX Subsection "Setting up a simple nPath Service" A simple nPath service can be created as follows. .PP .Vb 3 \& # Creating two nodes, auto resolve the IP addresses \& f node fooserver1.example.com create \& f node fooserver2.example.com create \& \& # Creating a pool and add the nodes to it \& f pool foopool create \& f pool foopool add member fooserver1.example.com:80 \& f pool foopool add member fooserver2.example.com:80 \& \& # Add a monitor to the pool \& f pool foopool add monitor http_lbtest \& \& # Create a nPath HTTP service, \*(AqnPath\*(Aq also auto disables NAT and PAT \& f vserver myservice.example.com:80 create PROTOCOL_TCP nPath \& \& # Add the pool to the service \& f vserver myservice.example.com:80 set pool foopool \& \& # Add a nPath HTTPS service \& f vserver myservice.example.com:443 create PROTOCOL_TCP nPath \& f vserver myservice.example.com:443 set pool foopool .Ve .SH "AUTHOR" .IX Header "AUTHOR" Paul C. Buetow \- .PP Also see