modulepackage
0.0.0-20240809002616-deb9b0aff84a
Repository: https://github.com/scottdware/go-bigip.git
Documentation: pkg.go.dev
# README
go-bigip
A Go package that interacts with F5 BIG-IP systems using the REST API.
Some of the tasks you can do are as follows:
- Get a detailed list of all nodes, pools, vlans, routes, trunks, route domains, self IP's, virtual servers, monitors on the BIG-IP system.
- Create/delete nodes, pools, vlans, routes, trunks, route domains, self IP's, virtual servers, monitors, etc.
- Modify individual settings for all of the above.
- Change the status of nodes and individual pool members (enable/disable).
Note: You must be on version 11.4+! For the features that deal with internal data groups, you must be running version 11.6+!
Examples & Documentation
Visit the GoDoc page for package documentation and examples.
Here's a blog post that goes a little more in-depth.
Contributors
A very special thanks to the following who have helped contribute to this software, especially:
# Packages
No description provided by the author
# Functions
Helper function to return a boolean pointer.
NewSession sets up our connection to the BIG-IP system.
NewTokenSession sets up our connection to the BIG-IP system, and instructs the session to use token authentication instead of Basic Auth.
# Constants
GTM Record Types.
GTM Record Types.
GTM Record Types.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
GTM Record Types.
GTM Record Types.
GTM Record Types.
# Structs
https://devcentral.f5.com/wiki/iControl.Licensing_resource_API.ashx.
APIRequest builds our request before sending it to the server.
BGPInstance contains information about each individual BGP instance.
BGPInstances contains a list of every BGP instance on the BIG-IP system.
BGPNeighbor contains information about each individual BGP neighbor.
BGPNeighbors contains a list of BGP neighbors of a BGP instance on the BIG-IP system.
BigIP is a container for our session state.
Certificate represents an SSL Certificate.
Certificates represents a list of installed SSL certificates.
ClientSSLProfile contains information about each client-ssl profile.
ClientSSLProfiles contains a list of every client-ssl profile on the BIG-IP system.
No description provided by the author
No description provided by the author
DataGroups contains information about each data group.
No description provided by the author
DataGroups contains a list of data groups on the BIG-IP system.
Device contains information about each individual device.
Devices contains a list of every device on the BIG-IP system.
No description provided by the author
Folders contains a list of every folder on the BIG-IP system.
GTMAPool contains information about each gtm/pool/a.
GTMAPoolMember contains information about each gtm/pool/a.
GTMAPoolMembers contains a list of every gtm/pool/a/members on the BIG-IP system.
GTMAPools contains a list of every gtm/pool/a on the BIG-IP system.
GTMCNamePool contains information about each gtm/pool/cname.
GTMCNamePoolMember contains information about each gtm/pool/cname member.
GTMCNamePoolMembers contains a list of every gtm/pool/cname/members on the BIG-IP system.
GTMCNamePools contains a list of every gtm/pool/cname on the BIG-IP system.
GTMWideIP contains information about each wide ip (regardless of type: A, AAAA, CNAME, etc.) Type is what determine the type of record the WideIp is for in the docs, however that is NOT returned by the API Instead you have to query the Type by the uri wideip/a wideip/cname that = type.
GTMWideIPPool Pool Structure.
GTMWideIPs contains a list of every WideIP on the BIG-IP system.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Interface contains information about each individual interface.
Interfaces contains a list of every interface on the BIG-IP system.
No description provided by the author
No description provided by the author
Key represents a private key associated with a certificate.
Keys represents a list of installed keys.
Describes feature flags that are defined in licenses.
https://devcentral.f5.com/wiki/iControl.Licensing_resource_API.ashx.
No description provided by the author
No description provided by the author
Metadata are key/value pairs of arbitrary metadata.
Monitor contains information about each individual monitor.
Monitors contains a list of all monitors on the BIG-IP system.
Node contains information about each individual node.
Nodes contains a list of every node on the BIG-IP system.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Pool contains information about each pool.
Pool Member contains information about each individual member in a pool.
Pool Members contains a list of pool members within a pool on the BIG-IP system.
Pools contains a list of pools on the BIG-IP system.
No description provided by the author
No description provided by the author
RequestError contains information about any error we get from a request.
Route contains information about each individual route.
RouteDomain contains information about each individual route domain.
RouteDomains contains a list of every route domain on the BIG-IP system.
Routes contains a list of every route on the BIG-IP system.
SelfIP contains information about each individual self IP.
SelfIPs contains a list of every self IP on the BIG-IP system.
ServerSSLProfile contains information about each server-ssl profile.
ServerSSLProfiles contains a list of every server-ssl profile on the BIG-IP system.
SnatPool contains information about each individual snatpool.
SnatPools contains a list of every snatpool on the BIG-IP system.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TcpProfiles contains a list of every tcp profile on the BIG-IP system.
Trunk contains information about each individual trunk.
Trunks contains a list of every trunk on the BIG-IP system.
No description provided by the author
UdpProfiles contains a list of every tcp profile on the BIG-IP system.
UnicastAddress represent a device unicast address.
Upload contains information about a file upload status.
VirtualAddress contains information about each individual virtual address.
VirtualAddresses contains a list of all virtual addresses on the BIG-IP system.
VirtualServer contains information about each individual virtual server.
VirtualServers contains a list of all virtual servers on the BIG-IP system.
Vlan contains information about each individual VLAN.
VlanInterface contains fields to be used when adding an interface to a VLAN.
Vlans contains a list of every VLAN on the BIG-IP system.
No description provided by the author
No description provided by the author
# Type aliases
GTMType handles the record types possible in the GTM as strings.