go-bigip: github.com/scottdware/go-bigip Index | Files | Directories

package bigip

import "github.com/scottdware/go-bigip"

Package bigip interacts with F5 BIG-IP systems using the REST API.

Index

Package Files

bigip.go ltm.go net.go

Constants

const (
    ENABLED        = "enable"
    DISABLED       = "disable"
    CONTEXT_SERVER = "serverside"
    CONTEXT_CLIENT = "clientside"
    CONTEXT_ALL    = "all"
)

type APIRequest Uses

type APIRequest struct {
    Method      string
    URL         string
    Body        string
    ContentType string
}

APIRequest builds our request before sending it to the server.

type BigIP Uses

type BigIP struct {
    Host          string
    User          string
    Password      string
    Token         string // if set, will be used instead of User/Password
    Transport     *http.Transport
    ConfigOptions *ConfigOptions
}

BigIP is a container for our session state.

func NewSession Uses

func NewSession(host, user, passwd string, configOptions *ConfigOptions) *BigIP

NewSession sets up our connection to the BIG-IP system.

func NewTokenSession Uses

func NewTokenSession(host, user, passwd, loginProviderName string, configOptions *ConfigOptions) (b *BigIP, err error)

NewTokenSession sets up our connection to the BIG-IP system, and instructs the session to use token authentication instead of Basic Auth. This is required when using an external authentication provider, such as Radius or Active Directory. loginProviderName is probably "tmos" but your environment may vary.

func (*BigIP) APICall Uses

func (b *BigIP) APICall(options *APIRequest) ([]byte, error)

APICall is used to query the BIG-IP web API.

func (*BigIP) AddClientSSLProfile Uses

func (b *BigIP) AddClientSSLProfile(config *ClientSSLProfile) error

AddClientSSLProfile adds a new client-ssl profile on the BIG-IP system.

func (*BigIP) AddInterfaceToVlan Uses

func (b *BigIP) AddInterfaceToVlan(vlan, iface string, tagged bool) error

AddInterfaceToVlan associates the given interface to the specified VLAN.

func (*BigIP) AddInternalDataGroup Uses

func (b *BigIP) AddInternalDataGroup(config *DataGroup) error

func (*BigIP) AddMonitor Uses

func (b *BigIP) AddMonitor(config *Monitor) error

Create a monitor by supplying a config

func (*BigIP) AddMonitorToPool Uses

func (b *BigIP) AddMonitorToPool(monitor, pool string) error

AddMonitorToPool assigns the monitor, <monitor> to the given <pool>.

func (*BigIP) AddPool Uses

func (b *BigIP) AddPool(config *Pool) error

AddPool creates a new pool on the BIG-IP system.

func (*BigIP) AddPoolMember Uses

func (b *BigIP) AddPoolMember(pool, member string) error

AddPoolMember adds a node/member to the given pool. <member> must be in the form of <node>:<port>, i.e.: "web-server1:443".

func (*BigIP) AddServerSSLProfile Uses

func (b *BigIP) AddServerSSLProfile(config *ServerSSLProfile) error

AddServerSSLProfile adds a new server-ssl profile on the BIG-IP system.

func (*BigIP) AddSnatPool Uses

func (b *BigIP) AddSnatPool(config *SnatPool) error

AddSnatPool adds a new snatpool by config to the BIG-IP system.

func (*BigIP) AddVirtualServer Uses

func (b *BigIP) AddVirtualServer(config *VirtualServer) error

AddVirtualServer adds a new virtual server by config to the BIG-IP system.

func (*BigIP) ClientSSLProfiles Uses

func (b *BigIP) ClientSSLProfiles() (*ClientSSLProfiles, error)

ClientSSLProfiles returns a list of client-ssl profiles.

func (*BigIP) CreateClientSSLProfile Uses

func (b *BigIP) CreateClientSSLProfile(name string, parent string) error

CreateClientSSLProfile creates a new client-ssl profile on the BIG-IP system.

func (*BigIP) CreateIRule Uses

func (b *BigIP) CreateIRule(name, rule string) error

CreateIRule creates a new iRule on the system.

func (*BigIP) CreateMonitor Uses

func (b *BigIP) CreateMonitor(name, parent string, interval, timeout int, send, receive string) error

CreateMonitor adds a new monitor to the BIG-IP system. <parent> must be one of "http", "https", "icmp", "gateway icmp", or "tcp".

func (*BigIP) CreateNode Uses

func (b *BigIP) CreateNode(name, address string) error

CreateNode adds a new node to the BIG-IP system.

func (*BigIP) CreatePolicy Uses

func (b *BigIP) CreatePolicy(p *Policy) error

Create a new policy. It is not necessary to set the Ordinal fields on subcollections.

func (*BigIP) CreatePool Uses

func (b *BigIP) CreatePool(name string) error

CreatePool adds a new pool to the BIG-IP system by name.

func (*BigIP) CreatePoolMember Uses

func (b *BigIP) CreatePoolMember(pool string, config *PoolMember) error

CreatePoolMember creates a pool member for the specified pool.

func (*BigIP) CreateRoute Uses

func (b *BigIP) CreateRoute(name, dest, gateway string) error

CreateRoute adds a new static route to the BIG-IP system. <dest> must include the subnet mask in CIDR notation, i.e.: "10.1.1.0/24".

func (*BigIP) CreateRouteDomain Uses

func (b *BigIP) CreateRouteDomain(name string, id int, strict bool, vlans string) error

CreateRouteDomain adds a new route domain to the BIG-IP system. <vlans> must be separated by a comma, i.e.: "vlan1010, vlan1020".

func (*BigIP) CreateSelfIP Uses

func (b *BigIP) CreateSelfIP(name, address, vlan string) error

CreateSelfIP adds a new self IP to the BIG-IP system. For <address>, you must include the subnet mask in CIDR notation, i.e.: "10.1.1.1/24".

func (*BigIP) CreateServerSSLProfile Uses

func (b *BigIP) CreateServerSSLProfile(name string, parent string) error

CreateServerSSLProfile creates a new server-ssl profile on the BIG-IP system.

func (*BigIP) CreateSnatPool Uses

func (b *BigIP) CreateSnatPool(name string, members []string) error

CreateSnatPool adds a new snatpool to the BIG-IP system.

func (*BigIP) CreateTrunk Uses

func (b *BigIP) CreateTrunk(name, interfaces string, lacp bool) error

CreateTrunk adds a new trunk to the BIG-IP system. <interfaces> must be separated by a comma, i.e.: "1.4, 1.6, 1.8".

func (*BigIP) CreateVirtualAddress Uses

func (b *BigIP) CreateVirtualAddress(vaddr string, config *VirtualAddress) error

func (*BigIP) CreateVirtualServer Uses

func (b *BigIP) CreateVirtualServer(name, destination, mask, pool string, port int) error

CreateVirtualServer adds a new virtual server to the BIG-IP system. <mask> can either be in CIDR notation or decimal, i.e.: "24" or "255.255.255.0". A CIDR mask of "0" is the same as "0.0.0.0".

func (*BigIP) CreateVlan Uses

func (b *BigIP) CreateVlan(name string, tag int) error

CreateVlan adds a new VLAN to the BIG-IP system.

func (*BigIP) DeleteClientSSLProfile Uses

func (b *BigIP) DeleteClientSSLProfile(name string) error

DeleteClientSSLProfile removes a client-ssl profile.

func (*BigIP) DeleteIRule Uses

func (b *BigIP) DeleteIRule(name string) error

DeleteIRule removes an iRule from the system.

func (*BigIP) DeleteInternalDataGroup Uses

func (b *BigIP) DeleteInternalDataGroup(name string) error

func (*BigIP) DeleteMonitor Uses

func (b *BigIP) DeleteMonitor(name, parent string) error

DeleteMonitor removes a monitor.

func (*BigIP) DeleteNode Uses

func (b *BigIP) DeleteNode(name string) error

DeleteNode removes a node.

func (*BigIP) DeletePolicy Uses

func (b *BigIP) DeletePolicy(name string) error

Delete a policy by name.

func (*BigIP) DeletePool Uses

func (b *BigIP) DeletePool(name string) error

DeletePool removes a pool.

func (*BigIP) DeletePoolMember Uses

func (b *BigIP) DeletePoolMember(pool string, member string) error

DeletePoolMember removes a member from the given pool. <member> must be in the form of <node>:<port>, i.e.: "web-server1:443".

func (*BigIP) DeleteRoute Uses

func (b *BigIP) DeleteRoute(name string) error

DeleteRoute removes a static route.

func (*BigIP) DeleteRouteDomain Uses

func (b *BigIP) DeleteRouteDomain(name string) error

DeleteRouteDomain removes a route domain.

func (*BigIP) DeleteSelfIP Uses

func (b *BigIP) DeleteSelfIP(name string) error

DeleteSelfIP removes a self IP.

func (*BigIP) DeleteServerSSLProfile Uses

func (b *BigIP) DeleteServerSSLProfile(name string) error

DeleteServerSSLProfile removes a server-ssl profile.

func (*BigIP) DeleteSnatPool Uses

func (b *BigIP) DeleteSnatPool(name string) error

DeleteSnatPool removes a snatpool.

func (*BigIP) DeleteTrunk Uses

func (b *BigIP) DeleteTrunk(name string) error

DeleteTrunk removes a trunk.

func (*BigIP) DeleteVirtualAddress Uses

func (b *BigIP) DeleteVirtualAddress(vaddr string) error

func (*BigIP) DeleteVirtualServer Uses

func (b *BigIP) DeleteVirtualServer(name string) error

DeleteVirtualServer removes a virtual server.

func (*BigIP) DeleteVlan Uses

func (b *BigIP) DeleteVlan(name string) error

DeleteVlan removes a vlan.

func (*BigIP) GetClientSSLProfile Uses

func (b *BigIP) GetClientSSLProfile(name string) (*ClientSSLProfile, error)

GetClientSSLProfile gets a client-ssl profile by name. Returns nil if the client-ssl profile does not exist

func (*BigIP) GetInternalDataGroupRecords Uses

func (b *BigIP) GetInternalDataGroupRecords(name string) (*[]DataGroupRecord, error)

Get the internal data group records for a named internal data group

func (*BigIP) GetMonitor Uses

func (b *BigIP) GetMonitor(name string, parent string) (*Monitor, error)

GetVirtualServer retrieves a monitor by name. Returns nil if the monitor does not exist

func (*BigIP) GetNode Uses

func (b *BigIP) GetNode(name string) (*Node, error)

Get a Node by name. Returns nil if the node does not exist

func (*BigIP) GetPolicy Uses

func (b *BigIP) GetPolicy(name string) (*Policy, error)

Load a fully policy definition. Policies seem to be best dealt with as one big entity.

func (*BigIP) GetPool Uses

func (b *BigIP) GetPool(name string) (*Pool, error)

Get a Pool by name. Returns nil if the Pool does not exist

func (*BigIP) GetPoolMember Uses

func (b *BigIP) GetPoolMember(pool string, member string) (*PoolMember, error)

GetPoolMember returns the details of a member in the specified pool.

func (*BigIP) GetServerSSLProfile Uses

func (b *BigIP) GetServerSSLProfile(name string) (*ServerSSLProfile, error)

GetServerSSLProfile gets a server-ssl profile by name. Returns nil if the server-ssl profile does not exist

func (*BigIP) GetSnatPool Uses

func (b *BigIP) GetSnatPool(name string) (*SnatPool, error)

GetSnatPool retrieves a SnatPool by name. Returns nil if the snatpool does not exist

func (*BigIP) GetVirtualServer Uses

func (b *BigIP) GetVirtualServer(name string) (*VirtualServer, error)

GetVirtualServer retrieves a virtual server by name. Returns nil if the virtual server does not exist

func (*BigIP) IRule Uses

func (b *BigIP) IRule(name string) (*IRule, error)

IRule returns information about the given iRule.

func (*BigIP) IRules Uses

func (b *BigIP) IRules() (*IRules, error)

IRules returns a list of irules

func (*BigIP) Interfaces Uses

func (b *BigIP) Interfaces() (*Interfaces, error)

Interfaces returns a list of interfaces.

func (*BigIP) InternalDataGroups Uses

func (b *BigIP) InternalDataGroups() (*DataGroups, error)

InternalDataGroups returns a list of internal data groups.

func (*BigIP) ModifyClientSSLProfile Uses

func (b *BigIP) ModifyClientSSLProfile(name string, config *ClientSSLProfile) error

ModifyClientSSLProfile allows you to change any attribute of a client-ssl profile. Fields that can be modified are referenced in the ClientSSLProfile struct.

func (*BigIP) ModifyIRule Uses

func (b *BigIP) ModifyIRule(name string, irule *IRule) error

ModifyIRule updates the given iRule with any changed values.

func (*BigIP) ModifyInternalDataGroupRecords Uses

func (b *BigIP) ModifyInternalDataGroupRecords(name string, records *[]DataGroupRecord) error

Modify a named internal data group, REPLACING all the records

func (*BigIP) ModifyMonitor Uses

func (b *BigIP) ModifyMonitor(name, parent string, config *Monitor) error

ModifyMonitor allows you to change any attribute of a monitor. <parent> must be one of "http", "https", "icmp", "gateway icmp", or "tcp". Fields that can be modified are referenced in the Monitor struct.

func (*BigIP) ModifyNode Uses

func (b *BigIP) ModifyNode(name string, config *Node) error

ModifyNode allows you to change any attribute of a node. Fields that can be modified are referenced in the Node struct.

func (*BigIP) ModifyPool Uses

func (b *BigIP) ModifyPool(name string, config *Pool) error

ModifyPool allows you to change any attribute of a pool. Fields that can be modified are referenced in the Pool struct.

func (*BigIP) ModifyPoolMember Uses

func (b *BigIP) ModifyPoolMember(pool string, config *PoolMember) error

ModifyPoolMember will update the configuration of a particular pool member.

func (*BigIP) ModifyRoute Uses

func (b *BigIP) ModifyRoute(name string, config *Route) error

ModifyRoute allows you to change any attribute of a static route. Fields that can be modified are referenced in the Route struct.

func (*BigIP) ModifyRouteDomain Uses

func (b *BigIP) ModifyRouteDomain(name string, config *RouteDomain) error

ModifyRouteDomain allows you to change any attribute of a route domain. Fields that can be modified are referenced in the RouteDomain struct.

func (*BigIP) ModifySelfIP Uses

func (b *BigIP) ModifySelfIP(name string, config *SelfIP) error

ModifySelfIP allows you to change any attribute of a self IP. Fields that can be modified are referenced in the SelfIP struct.

func (*BigIP) ModifyServerSSLProfile Uses

func (b *BigIP) ModifyServerSSLProfile(name string, config *ServerSSLProfile) error

ModifyServerSSLProfile allows you to change any attribute of a sever-ssl profile. Fields that can be modified are referenced in the VirtualServer struct.

func (*BigIP) ModifySnatPool Uses

func (b *BigIP) ModifySnatPool(name string, config *SnatPool) error

ModifySnatPool allows you to change any attribute of a snatpool. Fields that can be modified are referenced in the Snatpool struct.

func (*BigIP) ModifyTrunk Uses

func (b *BigIP) ModifyTrunk(name string, config *Trunk) error

ModifyTrunk allows you to change any attribute of a trunk. Fields that can be modified are referenced in the Trunk struct.

func (*BigIP) ModifyVirtualAddress Uses

func (b *BigIP) ModifyVirtualAddress(vaddr string, config *VirtualAddress) error

ModifyVirtualAddress allows you to change any attribute of a virtual address. Fields that can be modified are referenced in the VirtualAddress struct.

func (*BigIP) ModifyVirtualServer Uses

func (b *BigIP) ModifyVirtualServer(name string, config *VirtualServer) error

ModifyVirtualServer allows you to change any attribute of a virtual server. Fields that can be modified are referenced in the VirtualServer struct.

func (*BigIP) ModifyVlan Uses

func (b *BigIP) ModifyVlan(name string, config *Vlan) error

ModifyVlan allows you to change any attribute of a VLAN. Fields that can be modified are referenced in the Vlan struct.

func (*BigIP) Monitors Uses

func (b *BigIP) Monitors() ([]Monitor, error)

Monitors returns a list of all HTTP, HTTPS, Gateway ICMP, ICMP, and TCP monitors.

func (*BigIP) NodeStatus Uses

func (b *BigIP) NodeStatus(name, state string) error

NodeStatus changes the status of a node. <state> can be either "enable" or "disable".

func (*BigIP) Nodes Uses

func (b *BigIP) Nodes() (*Nodes, error)

Nodes returns a list of nodes.

func (*BigIP) Policies Uses

func (b *BigIP) Policies() (*Policies, error)

func (*BigIP) PoolMemberStatus Uses

func (b *BigIP) PoolMemberStatus(pool string, member string, state string) error

PoolMemberStatus changes the status of a pool member. <state> can be either "enable" or "disable". <member> must be in the form of <node>:<port>, i.e.: "web-server1:443".

func (*BigIP) PoolMembers Uses

func (b *BigIP) PoolMembers(name string) (*PoolMembers, error)

PoolMembers returns a list of pool members for the given pool.

func (*BigIP) Pools Uses

func (b *BigIP) Pools() (*Pools, error)

Pools returns a list of pools.

func (*BigIP) RemovePoolMember Uses

func (b *BigIP) RemovePoolMember(pool string, config *PoolMember) error

RemovePoolMember removes a pool member from the specified pool.

func (*BigIP) RouteDomains Uses

func (b *BigIP) RouteDomains() (*RouteDomains, error)

RouteDomains returns a list of route domains.

func (*BigIP) Routes Uses

func (b *BigIP) Routes() (*Routes, error)

Routes returns a list of routes.

func (*BigIP) SelfIPs Uses

func (b *BigIP) SelfIPs() (*SelfIPs, error)

SelfIPs returns a list of self IP's.

func (*BigIP) ServerSSLProfiles Uses

func (b *BigIP) ServerSSLProfiles() (*ServerSSLProfiles, error)

ServerSSLProfiles returns a list of server-ssl profiles.

func (*BigIP) SnatPools Uses

func (b *BigIP) SnatPools() (*SnatPools, error)

SnatPools returns a list of snatpools.

func (*BigIP) Trunks Uses

func (b *BigIP) Trunks() (*Trunks, error)

Trunks returns a list of trunks.

func (*BigIP) UpdatePolicy Uses

func (b *BigIP) UpdatePolicy(name string, p *Policy) error

Update an existing policy.

func (*BigIP) UpdatePoolMembers Uses

func (b *BigIP) UpdatePoolMembers(pool string, pm *[]PoolMember) error

UpdatePoolMembers does a replace-all-with for the members of a pool.

func (*BigIP) VirtualAddressStatus Uses

func (b *BigIP) VirtualAddressStatus(vaddr, state string) error

VirtualAddressStatus changes the status of a virtual address. <state> can be either "enable" or "disable".

func (*BigIP) VirtualAddresses Uses

func (b *BigIP) VirtualAddresses() (*VirtualAddresses, error)

VirtualAddresses returns a list of virtual addresses.

func (*BigIP) VirtualServerPolicyNames Uses

func (b *BigIP) VirtualServerPolicyNames(vs string) ([]string, error)

Get the names of policies associated with a particular virtual server

func (*BigIP) VirtualServerProfiles Uses

func (b *BigIP) VirtualServerProfiles(vs string) (*Profiles, error)

VirtualServerProfiles gets the profiles currently associated with a virtual server.

func (*BigIP) VirtualServers Uses

func (b *BigIP) VirtualServers() (*VirtualServers, error)

VirtualServers returns a list of virtual servers.

func (*BigIP) Vlans Uses

func (b *BigIP) Vlans() (*Vlans, error)

Vlans returns a list of vlans.

type ClientSSLProfile Uses

type ClientSSLProfile struct {
    Name              string `json:"name,omitempty"`
    Partition         string `json:"partition,omitempty"`
    FullPath          string `json:"fullPath,omitempty"`
    Generation        int    `json:"generation,omitempty"`
    AlertTimeout      string `json:"alertTimeout,omitempty"`
    AllowNonSsl       string `json:"allowNonSsl,omitempty"`
    Authenticate      string `json:"authenticate,omitempty"`
    AuthenticateDepth int    `json:"authenticateDepth,omitempty"`
    CaFile            string `json:"caFile,omitempty"`
    CacheSize         int    `json:"cacheSize,omitempty"`
    CacheTimeout      int    `json:"cacheTimeout,omitempty"`
    Cert              string `json:"cert,omitempty"`
    CertKeyChain      []struct {
        Name       string `json:"name,omitempty"`
        Cert       string `json:"cert,omitempty"`
        Chain      string `json:"chain,omitempty"`
        Key        string `json:"key,omitempty"`
        Passphrase string `json:"passphrase,omitempty"`
    }   `json:"certKeyChain,omitempty"`
    CertExtensionIncludes           []string `json:"certExtensionIncludes,omitempty"`
    CertLifespan                    int      `json:"certLifespan,omitempty"`
    CertLookupByIpaddrPort          string   `json:"certLookupByIpaddrPort,omitempty"`
    Chain                           string   `json:"chain,omitempty"`
    Ciphers                         string   `json:"ciphers,omitempty"`
    ClientCertCa                    string   `json:"clientCertCa,omitempty"`
    CrlFile                         string   `json:"crlFile,omitempty"`
    DefaultsFrom                    string   `json:"defaultsFrom,omitempty"`
    ForwardProxyBypassDefaultAction string   `json:"forwardProxyBypassDefaultAction,omitempty"`
    GenericAlert                    string   `json:"genericAlert,omitempty"`
    HandshakeTimeout                string   `json:"handshakeTimeout,omitempty"`
    InheritCertkeychain             string   `json:"inheritCertkeychain,omitempty"`
    Key                             string   `json:"key,omitempty"`
    ModSslMethods                   string   `json:"modSslMethods,omitempty"`
    Mode                            string   `json:"mode,omitempty"`
    TmOptions                       []string `json:"tmOptions,omitempty"`
    Passphrase                      string   `json:"passphrase,omitempty"`
    PeerCertMode                    string   `json:"peerCertMode,omitempty"`
    ProxyCaCert                     string   `json:"proxyCaCert,omitempty"`
    ProxyCaKey                      string   `json:"proxyCaKey,omitempty"`
    ProxyCaPassphrase               string   `json:"proxyCaPassphrase,omitempty"`
    ProxySsl                        string   `json:"proxySsl,omitempty"`
    ProxySslPassthrough             string   `json:"proxySslPassthrough,omitempty"`
    RenegotiatePeriod               string   `json:"renegotiatePeriod,omitempty"`
    RenegotiateSize                 string   `json:"renegotiateSize,omitempty"`
    Renegotiation                   string   `json:"renegotiation,omitempty"`
    RetainCertificate               string   `json:"retainCertificate,omitempty"`
    SecureRenegotiation             string   `json:"secureRenegotiation,omitempty"`
    ServerName                      string   `json:"serverName,omitempty"`
    SessionMirroring                string   `json:"sessionMirroring,omitempty"`
    SessionTicket                   string   `json:"sessionTicket,omitempty"`
    SniDefault                      string   `json:"sniDefault,omitempty"`
    SniRequire                      string   `json:"sniRequire,omitempty"`
    SslForwardProxy                 string   `json:"sslForwardProxy,omitempty"`
    SslForwardProxyBypass           string   `json:"sslForwardProxyBypass,omitempty"`
    SslSignHash                     string   `json:"sslSignHash,omitempty"`
    StrictResume                    string   `json:"strictResume,omitempty"`
    UncleanShutdown                 string   `json:"uncleanShutdown,omitempty"`
}

ClientSSLProfile contains information about each client-ssl profile. You can use all of these fields when modifying a client-ssl profile.

type ClientSSLProfiles Uses

type ClientSSLProfiles struct {
    ClientSSLProfiles []ClientSSLProfile `json:"items"`
}

ClientSSLProfiles contains a list of every client-ssl profile on the BIG-IP system.

type ConfigOptions Uses

type ConfigOptions struct {
    APICallTimeout time.Duration
}

type DataGroup Uses

type DataGroup struct {
    Name       string
    Partition  string
    FullPath   string
    Generation int
    Type       string
    Records    []DataGroupRecord
}

DataGroups contains information about each data group.

func (*DataGroup) MarshalJSON Uses

func (p *DataGroup) MarshalJSON() ([]byte, error)

func (*DataGroup) UnmarshalJSON Uses

func (p *DataGroup) UnmarshalJSON(b []byte) error

type DataGroupRecord Uses

type DataGroupRecord struct {
    Name string `json:"name,omitempty"`
    Data string `json:"data,omitempty"`
}

type DataGroups Uses

type DataGroups struct {
    DataGroups []DataGroup `json:"items"`
}

DataGroups contains a list of data groups on the BIG-IP system.

type IRule Uses

type IRule struct {
    Name      string `json:"name,omitempty"`
    Partition string `json:"partition,omitempty"`
    FullPath  string `json:"fullPath,omitempty"`
    Rule      string `json:"apiAnonymous,omitempty"`
}

type IRules Uses

type IRules struct {
    IRules []IRule `json:"items"`
}

type Interface Uses

type Interface struct {
    Name              string `json:"name,omitempty"`
    FullPath          string `json:"fullPath,omitempty"`
    Generation        int    `json:"generation,omitempty"`
    Bundle            string `json:"bundle,omitempty"`
    Enabled           bool   `json:"enabled,omitempty"`
    FlowControl       string `json:"flowControl,omitempty"`
    ForceGigabitFiber string `json:"forceGigabitFiber,omitempty"`
    IfIndex           int    `json:"ifIndex,omitempty"`
    LLDPAdmin         string `json:"lldpAdmin,omitempty"`
    LLDPTlvmap        int    `json:"lldpTlvmap,omitempty"`
    MACAddress        string `json:"macAddress,omitempty"`
    MediaActive       string `json:"mediaActive,omitempty"`
    MediaFixed        string `json:"mediaFixed,omitempty"`
    MediaMax          string `json:"mediaMax,omitempty"`
    MediaSFP          string `json:"mediaSfp,omitempty"`
    MTU               int    `json:"mtu,omitempty"`
    PreferPort        string `json:"preferPort,omitempty"`
    SFlow             struct {
        PollInterval       int    `json:"pollInterval,omitempty"`
        PollIntervalGlobal string `json:"pollIntervalGlobal,omitempty"`
    }   `json:"sflow,omitempty"`
    STP             string `json:"stp,omitempty"`
    STPAutoEdgePort string `json:"stpAutoEdgePort,omitempty"`
    STPEdgePort     string `json:"stpEdgePort,omitempty"`
    STPLinkType     string `json:"stpLinkType,omitempty"`
}

Interface contains information about each individual interface.

type Interfaces Uses

type Interfaces struct {
    Interfaces []Interface `json:"items"`
}

Interfaces contains a list of every interface on the BIG-IP system.

type Monitor Uses

type Monitor struct {
    Name           string
    Partition      string
    FullPath       string
    Generation     int
    ParentMonitor  string
    Description    string
    Destination    string
    Interval       int
    IPDSCP         int
    ManualResume   bool
    Password       string
    ReceiveString  string
    ReceiveDisable string
    Reverse        bool
    SendString     string
    TimeUntilUp    int
    Timeout        int
    Transparent    bool
    UpInterval     int
    Username       string
}

Monitor contains information about each individual monitor.

func (*Monitor) MarshalJSON Uses

func (p *Monitor) MarshalJSON() ([]byte, error)

func (*Monitor) UnmarshalJSON Uses

func (p *Monitor) UnmarshalJSON(b []byte) error

type Monitors Uses

type Monitors struct {
    Monitors []Monitor `json:"items"`
}

Monitors contains a list of all monitors on the BIG-IP system.

type Node Uses

type Node struct {
    Name            string `json:"name,omitempty"`
    Partition       string `json:"partition,omitempty"`
    FullPath        string `json:"fullPath,omitempty"`
    Generation      int    `json:"generation,omitempty"`
    Address         string `json:"address,omitempty"`
    ConnectionLimit int    `json:"connectionLimit,omitempty"`
    DynamicRatio    int    `json:"dynamicRatio,omitempty"`
    Logging         string `json:"logging,omitempty"`
    Monitor         string `json:"monitor,omitempty"`
    RateLimit       string `json:"rateLimit,omitempty"`
    Ratio           int    `json:"ratio,omitempty"`
    Session         string `json:"session,omitempty"`
    State           string `json:"state,omitempty"`
}

Node contains information about each individual node. You can use all of these fields when modifying a node.

type Nodes Uses

type Nodes struct {
    Nodes []Node `json:"items"`
}

Nodes contains a list of every node on the BIG-IP system.

type Policies Uses

type Policies struct {
    Policies []Policy `json:"items"`
}

type Policy Uses

type Policy struct {
    Name      string
    Partition string
    FullPath  string
    Controls  []string
    Requires  []string
    Strategy  string
    Rules     []PolicyRule
}

func (*Policy) MarshalJSON Uses

func (p *Policy) MarshalJSON() ([]byte, error)

func (*Policy) UnmarshalJSON Uses

func (p *Policy) UnmarshalJSON(b []byte) error

type PolicyRule Uses

type PolicyRule struct {
    Name       string
    FullPath   string
    Ordinal    int
    Conditions []PolicyRuleCondition
    Actions    []PolicyRuleAction
}

func (*PolicyRule) MarshalJSON Uses

func (p *PolicyRule) MarshalJSON() ([]byte, error)

func (*PolicyRule) UnmarshalJSON Uses

func (p *PolicyRule) UnmarshalJSON(b []byte) error

type PolicyRuleAction Uses

type PolicyRuleAction struct {
    Name               string `json:"name,omitempty"`
    AppService         string `json:"appService,omitempty"`
    Application        string `json:"application,omitempty"`
    Asm                bool   `json:"asm,omitempty"`
    Avr                bool   `json:"avr,omitempty"`
    Cache              bool   `json:"cache,omitempty"`
    Carp               bool   `json:"carp,omitempty"`
    Category           string `json:"category,omitempty"`
    Classify           bool   `json:"classify,omitempty"`
    ClonePool          string `json:"clonePool,omitempty"`
    Code               int    `json:"code,omitempty"`
    Compress           bool   `json:"compress,omitempty"`
    Content            string `json:"content,omitempty"`
    CookieHash         bool   `json:"cookieHash,omitempty"`
    CookieInsert       bool   `json:"cookieInsert,omitempty"`
    CookiePassive      bool   `json:"cookiePassive,omitempty"`
    CookieRewrite      bool   `json:"cookieRewrite,omitempty"`
    Decompress         bool   `json:"decompress,omitempty"`
    Defer              bool   `json:"defer,omitempty"`
    DestinationAddress bool   `json:"destinationAddress,omitempty"`
    Disable            bool   `json:"disable,omitempty"`
    Domain             string `json:"domain,omitempty"`
    Enable             bool   `json:"enable,omitempty"`
    Expiry             string `json:"expiry,omitempty"`
    ExpirySecs         int    `json:"expirySecs,omitempty"`
    Expression         string `json:"expression,omitempty"`
    Extension          string `json:"extension,omitempty"`
    Facility           string `json:"facility,omitempty"`
    Forward            bool   `json:"forward,omitempty"`
    FromProfile        string `json:"fromProfile,omitempty"`
    Hash               bool   `json:"hash,omitempty"`
    Host               string `json:"host,omitempty"`
    Http               bool   `json:"http,omitempty"`
    HttpBasicAuth      bool   `json:"httpBasicAuth,omitempty"`
    HttpCookie         bool   `json:"httpCookie,omitempty"`
    HttpHeader         bool   `json:"httpHeader,omitempty"`
    HttpHost           bool   `json:"httpHost,omitempty"`
    HttpReferer        bool   `json:"httpReferer,omitempty"`
    HttpReply          bool   `json:"httpReply,omitempty"`
    HttpSetCookie      bool   `json:"httpSetCookie,omitempty"`
    HttpUri            bool   `json:"httpUri,omitempty"`
    Ifile              string `json:"ifile,omitempty"`
    Insert             bool   `json:"insert,omitempty"`
    InternalVirtual    string `json:"internalVirtual,omitempty"`
    IpAddress          string `json:"ipAddress,omitempty"`
    Key                string `json:"key,omitempty"`
    L7dos              bool   `json:"l7dos,omitempty"`
    Length             int    `json:"length,omitempty"`
    Location           string `json:"location,omitempty"`
    Log                bool   `json:"log,omitempty"`
    LtmPolicy          bool   `json:"ltmPolicy,omitempty"`
    Member             string `json:"member,omitempty"`
    Message            string `json:"message,omitempty"`
    TmName             string `json:"tmName,omitempty"`
    Netmask            string `json:"netmask,omitempty"`
    Nexthop            string `json:"nexthop,omitempty"`
    Node               string `json:"node,omitempty"`
    Offset             int    `json:"offset,omitempty"`
    Path               string `json:"path,omitempty"`
    Pem                bool   `json:"pem,omitempty"`
    Persist            bool   `json:"persist,omitempty"`
    Pin                bool   `json:"pin,omitempty"`
    Policy             string `json:"policy,omitempty"`
    Pool               string `json:"pool,omitempty"`
    Port               int    `json:"port,omitempty"`
    Priority           string `json:"priority,omitempty"`
    Profile            string `json:"profile,omitempty"`
    Protocol           string `json:"protocol,omitempty"`
    QueryString        string `json:"queryString,omitempty"`
    Rateclass          string `json:"rateclass,omitempty"`
    Redirect           bool   `json:"redirect,omitempty"`
    Remove             bool   `json:"remove,omitempty"`
    Replace            bool   `json:"replace,omitempty"`
    Request            bool   `json:"request,omitempty"`
    RequestAdapt       bool   `json:"requestAdapt,omitempty"`
    Reset              bool   `json:"reset,omitempty"`
    Response           bool   `json:"response,omitempty"`
    ResponseAdapt      bool   `json:"responseAdapt,omitempty"`
    Scheme             string `json:"scheme,omitempty"`
    Script             string `json:"script,omitempty"`
    Select             bool   `json:"select,omitempty"`
    ServerSsl          bool   `json:"serverSsl,omitempty"`
    SetVariable        bool   `json:"setVariable,omitempty"`
    Snat               string `json:"snat,omitempty"`
    Snatpool           string `json:"snatpool,omitempty"`
    SourceAddress      bool   `json:"sourceAddress,omitempty"`
    SslClientHello     bool   `json:"sslClientHello,omitempty"`
    SslServerHandshake bool   `json:"sslServerHandshake,omitempty"`
    SslServerHello     bool   `json:"sslServerHello,omitempty"`
    SslSessionId       bool   `json:"sslSessionId,omitempty"`
    Status             int    `json:"status,omitempty"`
    Tcl                bool   `json:"tcl,omitempty"`
    TcpNagle           bool   `json:"tcpNagle,omitempty"`
    Text               string `json:"text,omitempty"`
    Timeout            int    `json:"timeout,omitempty"`
    Uie                bool   `json:"uie,omitempty"`
    Universal          bool   `json:"universal,omitempty"`
    Value              string `json:"value,omitempty"`
    Virtual            string `json:"virtual,omitempty"`
    Vlan               string `json:"vlan,omitempty"`
    VlanId             int    `json:"vlanId,omitempty"`
    Wam                bool   `json:"wam,omitempty"`
    Write              bool   `json:"write,omitempty"`
}

type PolicyRuleActions Uses

type PolicyRuleActions struct {
    Items []PolicyRuleAction `json:"items"`
}

type PolicyRuleCondition Uses

type PolicyRuleCondition struct {
    Name                  string   `json:"name,omitempty"`
    Generation            int      `json:"generation,omitempty"`
    Address               bool     `json:"address,omitempty"`
    All                   bool     `json:"all,omitempty"`
    AppService            string   `json:"appService,omitempty"`
    BrowserType           bool     `json:"browserType,omitempty"`
    BrowserVersion        bool     `json:"browserVersion,omitempty"`
    CaseInsensitive       bool     `json:"caseInsensitive,omitempty"`
    CaseSensitive         bool     `json:"caseSensitive,omitempty"`
    Cipher                bool     `json:"cipher,omitempty"`
    CipherBits            bool     `json:"cipherBits,omitempty"`
    ClientSsl             bool     `json:"clientSsl,omitempty"`
    Code                  bool     `json:"code,omitempty"`
    CommonName            bool     `json:"commonName,omitempty"`
    Contains              bool     `json:"contains,omitempty"`
    Continent             bool     `json:"continent,omitempty"`
    CountryCode           bool     `json:"countryCode,omitempty"`
    CountryName           bool     `json:"countryName,omitempty"`
    CpuUsage              bool     `json:"cpuUsage,omitempty"`
    DeviceMake            bool     `json:"deviceMake,omitempty"`
    DeviceModel           bool     `json:"deviceModel,omitempty"`
    Domain                bool     `json:"domain,omitempty"`
    EndsWith              bool     `json:"endsWith,omitempty"`
    Equals                bool     `json:"equals,omitempty"`
    Expiry                bool     `json:"expiry,omitempty"`
    Extension             bool     `json:"extension,omitempty"`
    External              bool     `json:"external,omitempty"`
    Geoip                 bool     `json:"geoip,omitempty"`
    Greater               bool     `json:"greater,omitempty"`
    GreaterOrEqual        bool     `json:"greaterOrEqual,omitempty"`
    Host                  bool     `json:"host,omitempty"`
    HttpBasicAuth         bool     `json:"httpBasicAuth,omitempty"`
    HttpCookie            bool     `json:"httpCookie,omitempty"`
    HttpHeader            bool     `json:"httpHeader,omitempty"`
    HttpHost              bool     `json:"httpHost,omitempty"`
    HttpMethod            bool     `json:"httpMethod,omitempty"`
    HttpReferer           bool     `json:"httpReferer,omitempty"`
    HttpSetCookie         bool     `json:"httpSetCookie,omitempty"`
    HttpStatus            bool     `json:"httpStatus,omitempty"`
    HttpUri               bool     `json:"httpUri,omitempty"`
    HttpUserAgent         bool     `json:"httpUserAgent,omitempty"`
    HttpVersion           bool     `json:"httpVersion,omitempty"`
    Index                 int      `json:"index,omitempty"`
    Internal              bool     `json:"internal,omitempty"`
    Isp                   bool     `json:"isp,omitempty"`
    Last_15secs           bool     `json:"last_15secs,omitempty"`
    Last_1min             bool     `json:"last_1min,omitempty"`
    Last_5mins            bool     `json:"last_5mins,omitempty"`
    Less                  bool     `json:"less,omitempty"`
    LessOrEqual           bool     `json:"lessOrEqual,omitempty"`
    Local                 bool     `json:"local,omitempty"`
    Major                 bool     `json:"major,omitempty"`
    Matches               bool     `json:"matches,omitempty"`
    Minor                 bool     `json:"minor,omitempty"`
    Missing               bool     `json:"missing,omitempty"`
    Mss                   bool     `json:"mss,omitempty"`
    TmName                string   `json:"tmName,omitempty"`
    Not                   bool     `json:"not,omitempty"`
    Org                   bool     `json:"org,omitempty"`
    Password              bool     `json:"password,omitempty"`
    Path                  bool     `json:"path,omitempty"`
    PathSegment           bool     `json:"pathSegment,omitempty"`
    Port                  bool     `json:"port,omitempty"`
    Present               bool     `json:"present,omitempty"`
    Protocol              bool     `json:"protocol,omitempty"`
    QueryParameter        bool     `json:"queryParameter,omitempty"`
    QueryString           bool     `json:"queryString,omitempty"`
    RegionCode            bool     `json:"regionCode,omitempty"`
    RegionName            bool     `json:"regionName,omitempty"`
    Remote                bool     `json:"remote,omitempty"`
    Request               bool     `json:"request,omitempty"`
    Response              bool     `json:"response,omitempty"`
    RouteDomain           bool     `json:"routeDomain,omitempty"`
    Rtt                   bool     `json:"rtt,omitempty"`
    Scheme                bool     `json:"scheme,omitempty"`
    ServerName            bool     `json:"serverName,omitempty"`
    SslCert               bool     `json:"sslCert,omitempty"`
    SslClientHello        bool     `json:"sslClientHello,omitempty"`
    SslExtension          bool     `json:"sslExtension,omitempty"`
    SslServerHandshake    bool     `json:"sslServerHandshake,omitempty"`
    SslServerHello        bool     `json:"sslServerHello,omitempty"`
    StartsWith            bool     `json:"startsWith,omitempty"`
    Tcp                   bool     `json:"tcp,omitempty"`
    Text                  bool     `json:"text,omitempty"`
    UnnamedQueryParameter bool     `json:"unnamedQueryParameter,omitempty"`
    UserAgentToken        bool     `json:"userAgentToken,omitempty"`
    Username              bool     `json:"username,omitempty"`
    Value                 bool     `json:"value,omitempty"`
    Values                []string `json:"values,omitempty"`
    Version               bool     `json:"version,omitempty"`
    Vlan                  bool     `json:"vlan,omitempty"`
    VlanId                bool     `json:"vlanId,omitempty"`
}

type PolicyRuleConditions Uses

type PolicyRuleConditions struct {
    Items []PolicyRuleCondition `json:"items"`
}

type PolicyRules Uses

type PolicyRules struct {
    Items []PolicyRule `json:"items,omitempty"`
}

type Pool Uses

type Pool struct {
    Name                   string `json:"name,omitempty"`
    Partition              string `json:"partition,omitempty"`
    FullPath               string `json:"fullPath,omitempty"`
    Generation             int    `json:"generation,omitempty"`
    AllowNAT               string `json:"allowNat,omitempty"`
    AllowSNAT              string `json:"allowSnat,omitempty"`
    IgnorePersistedWeight  string `json:"ignorePersistedWeight,omitempty"`
    IPTOSToClient          string `json:"ipTosToClient,omitempty"`
    IPTOSToServer          string `json:"ipTosToServer,omitempty"`
    LinkQoSToClient        string `json:"linkQosToClient,omitempty"`
    LinkQoSToServer        string `json:"linkQosToServer,omitempty"`
    LoadBalancingMode      string `json:"loadBalancingMode,omitempty"`
    MinActiveMembers       int    `json:"minActiveMembers,omitempty"`
    MinUpMembers           int    `json:"minUpMembers,omitempty"`
    MinUpMembersAction     string `json:"minUpMembersAction,omitempty"`
    MinUpMembersChecking   string `json:"minUpMembersChecking,omitempty"`
    Monitor                string `json:"monitor,omitempty"`
    QueueDepthLimit        int    `json:"queueDepthLimit,omitempty"`
    QueueOnConnectionLimit string `json:"queueOnConnectionLimit,omitempty"`
    QueueTimeLimit         int    `json:"queueTimeLimit,omitempty"`
    ReselectTries          int    `json:"reselectTries,omitempty"`
    ServiceDownAction      string `json:"serviceDownAction,omitempty"`
    SlowRampTime           int    `json:"slowRampTime,omitempty"`
}

Pool contains information about each pool. You can use all of these fields when modifying a pool.

type PoolMember Uses

type PoolMember struct {
    Name            string `json:"name,omitempty"`
    Partition       string `json:"partition,omitempty"`
    FullPath        string `json:"fullPath,omitempty"`
    Generation      int    `json:"generation,omitempty"`
    Address         string `json:"address,omitempty"`
    ConnectionLimit int    `json:"connectionLimit,omitempty"`
    DynamicRatio    int    `json:"dynamicRatio,omitempty"`
    InheritProfile  string `json:"inheritProfile,omitempty"`
    Logging         string `json:"logging,omitempty"`
    Monitor         string `json:"monitor,omitempty"`
    PriorityGroup   int    `json:"priorityGroup,omitempty"`
    RateLimit       string `json:"rateLimit,omitempty"`
    Ratio           int    `json:"ratio,omitempty"`
    Session         string `json:"session,omitempty"`
    State           string `json:"state,omitempty"`
}

Pool Member contains information about each individual member in a pool. You can use all of these fields when modifying a pool member.

type PoolMembers Uses

type PoolMembers struct {
    PoolMembers []PoolMember `json:"items"`
}

Pool Members contains a list of pool members within a pool on the BIG-IP system.

type Pools Uses

type Pools struct {
    Pools []Pool `json:"items"`
}

Pools contains a list of pools on the BIG-IP system.

type Profile Uses

type Profile struct {
    Name      string `json:"name,omitempty"`
    FullPath  string `json:"fullPath,omitempty"`
    Partition string `json:"partition,omitempty"`
    Context   string `json:"context,omitempty"`
}

type Profiles Uses

type Profiles struct {
    Profiles []Profile `json:"items"`
}

type RequestError Uses

type RequestError struct {
    Code       int      `json:"code,omitempty"`
    Message    string   `json:"message,omitempty"`
    ErrorStack []string `json:"errorStack,omitempty"`
}

RequestError contains information about any error we get from a request.

func (*RequestError) Error Uses

func (r *RequestError) Error() error

Error returns the error message.

type Route Uses

type Route struct {
    Name       string `json:"name,omitempty"`
    Partition  string `json:"partition,omitempty"`
    FullPath   string `json:"fullPath,omitempty"`
    Generation int    `json:"generation,omitempty"`
    Gateway    string `json:"gw,omitempty"`
    MTU        int    `json:"mtu,omitempty"`
    Network    string `json:"network,omitempty"`
}

Route contains information about each individual route. You can use all of these fields when modifying a route.

type RouteDomain Uses

type RouteDomain struct {
    Name       string   `json:"name,omitempty"`
    Partition  string   `json:"partition,omitempty"`
    FullPath   string   `json:"fullPath,omitempty"`
    Generation int      `json:"generation,omitempty"`
    ID         int      `json:"id,omitempty"`
    Strict     string   `json:"strict,omitempty"`
    Vlans      []string `json:"vlans,omitempty"`
}

RouteDomain contains information about each individual route domain. You can use all of these fields when modifying a route domain.

type RouteDomains Uses

type RouteDomains struct {
    RouteDomains []RouteDomain `json:"items"`
}

RouteDomains contains a list of every route domain on the BIG-IP system.

type Routes Uses

type Routes struct {
    Routes []Route `json:"items"`
}

Routes contains a list of every route on the BIG-IP system.

type SelfIP Uses

type SelfIP struct {
    Name                  string `json:"name,omitempty"`
    Partition             string `json:"partition,omitempty"`
    FullPath              string `json:"fullPath,omitempty"`
    Generation            int    `json:"generation,omitempty"`
    Address               string `json:"address,omitempty"`
    Floating              string `json:"floating,omitempty"`
    InheritedTrafficGroup string `json:"inheritedTrafficGroup,omitempty"`
    TrafficGroup          string `json:"trafficGroup,omitempty"`
    Unit                  int    `json:"unit,omitempty"`
    Vlan                  string `json:"vlan,omitempty"`
}

SelfIP contains information about each individual self IP. You can use all of these fields when modifying a self IP.

type SelfIPs Uses

type SelfIPs struct {
    SelfIPs []SelfIP `json:"items"`
}

SelfIPs contains a list of every self IP on the BIG-IP system.

type ServerSSLProfile Uses

type ServerSSLProfile struct {
    Name                         string   `json:"name,omitempty"`
    Partition                    string   `json:"partition,omitempty"`
    FullPath                     string   `json:"fullPath,omitempty"`
    Generation                   int      `json:"generation,omitempty"`
    AlertTimeout                 string   `json:"alertTimeout,omitempty"`
    Authenticate                 string   `json:"authenticate,omitempty"`
    AuthenticateDepth            int      `json:"authenticateDepth,omitempty"`
    CaFile                       string   `json:"caFile,omitempty"`
    CacheSize                    int      `json:"cacheSize,omitempty"`
    CacheTimeout                 int      `json:"cacheTimeout,omitempty"`
    Cert                         string   `json:"cert,omitempty"`
    Chain                        string   `json:"chain,omitempty"`
    Ciphers                      string   `json:"ciphers,omitempty"`
    DefaultsFrom                 string   `json:"defaultsFrom,omitempty"`
    ExpireCertResponseControl    string   `json:"expireCertResponseControl,omitempty"`
    GenericAlert                 string   `json:"genericAlert,omitempty"`
    HandshakeTimeout             string   `json:"handshakeTimeout,omitempty"`
    Key                          string   `json:"key,omitempty"`
    ModSslMethods                string   `json:"modSslMethods,omitempty"`
    Mode                         string   `json:"mode,omitempty"`
    TmOptions                    []string `json:"tmOptions,omitempty"`
    Passphrase                   string   `json:"passphrase,omitempty"`
    PeerCertMode                 string   `json:"peerCertMode,omitempty"`
    ProxySsl                     string   `json:"proxySsl,omitempty"`
    RenegotiatePeriod            string   `json:"renegotiatePeriod,omitempty"`
    RenegotiateSize              string   `json:"renegotiateSize,omitempty"`
    Renegotiation                string   `json:"renegotiation,omitempty"`
    RetainCertificate            string   `json:"retainCertificate,omitempty"`
    SecureRenegotiation          string   `json:"secureRenegotiation,omitempty"`
    ServerName                   string   `json:"serverName,omitempty"`
    SessionMirroring             string   `json:"sessionMirroring,omitempty"`
    SessionTicket                string   `json:"sessionTicket,omitempty"`
    SniDefault                   string   `json:"sniDefault,omitempty"`
    SniRequire                   string   `json:"sniRequire,omitempty"`
    SslForwardProxy              string   `json:"sslForwardProxy,omitempty"`
    SslForwardProxyBypass        string   `json:"sslForwardProxyBypass,omitempty"`
    SslSignHash                  string   `json:"sslSignHash,omitempty"`
    StrictResume                 string   `json:"strictResume,omitempty"`
    UncleanShutdown              string   `json:"uncleanShutdown,omitempty"`
    UntrustedCertResponseControl string   `json:"untrustedCertResponseControl,omitempty"`
}

ServerSSLProfile contains information about each server-ssl profile. You can use all of these fields when modifying a server-ssl profile.

type ServerSSLProfiles Uses

type ServerSSLProfiles struct {
    ServerSSLProfiles []ServerSSLProfile `json:"items"`
}

ServerSSLProfiles contains a list of every server-ssl profile on the BIG-IP system.

type SnatPool Uses

type SnatPool struct {
    Name       string   `json:"name,omitempty"`
    Partition  string   `json:"partition,omitempty"`
    FullPath   string   `json:"fullPath,omitempty"`
    Generation int      `json:"generation,omitempty"`
    Members    []string `json:"members,omitempty"`
}

SnatPool contains information about each individual snatpool. You can use all of these fields when modifying a snatpool.

type SnatPools Uses

type SnatPools struct {
    SnatPools []SnatPool `json:"items"`
}

SnatPools contains a list of every snatpool on the BIG-IP system.

type Trunk Uses

type Trunk struct {
    Name               string   `json:"name,omitempty"`
    FullPath           string   `json:"fullPath,omitempty"`
    Generation         int      `json:"generation,omitempty"`
    Bandwidth          int      `json:"bandwidth,omitempty"`
    MemberCount        int      `json:"cfgMbrCount,omitempty"`
    DistributionHash   string   `json:"distributionHash,omitempty"`
    ID                 int      `json:"id,omitempty"`
    LACP               string   `json:"lacp,omitempty"`
    LACPMode           string   `json:"lacpMode,omitempty"`
    LACPTimeout        string   `json:"lacpTimeout,omitempty"`
    LinkSelectPolicy   string   `json:"linkSelectPolicy,omitempty"`
    MACAddress         string   `json:"macAddress,omitempty"`
    STP                string   `json:"stp,omitempty"`
    Type               string   `json:"type,omitempty"`
    WorkingMemberCount int      `json:"workingMbrCount,omitempty"`
    Interfaces         []string `json:"interfaces,omitempty"`
}

Trunk contains information about each individual trunk. You can use all of these fields when modifying a trunk.

type Trunks Uses

type Trunks struct {
    Trunks []Trunk `json:"items"`
}

Trunks contains a list of every trunk on the BIG-IP system.

type VirtualAddress Uses

type VirtualAddress struct {
    Name                  string
    Partition             string
    FullPath              string
    Generation            int
    Address               string
    ARP                   bool
    AutoDelete            bool
    ConnectionLimit       int
    Enabled               bool
    Floating              bool
    ICMPEcho              bool
    InheritedTrafficGroup bool
    Mask                  string
    RouteAdvertisement    bool
    ServerScope           string
    TrafficGroup          string
    Unit                  int
}

VirtualAddress contains information about each individual virtual address.

func (*VirtualAddress) MarshalJSON Uses

func (p *VirtualAddress) MarshalJSON() ([]byte, error)

func (*VirtualAddress) UnmarshalJSON Uses

func (p *VirtualAddress) UnmarshalJSON(b []byte) error

type VirtualAddresses Uses

type VirtualAddresses struct {
    VirtualAddresses []VirtualAddress `json:"items"`
}

VirtualAddresses contains a list of all virtual addresses on the BIG-IP system.

type VirtualServer Uses

type VirtualServer struct {
    Name                     string `json:"name,omitempty"`
    Partition                string `json:"partition,omitempty"`
    FullPath                 string `json:"fullPath,omitempty"`
    Generation               int    `json:"generation,omitempty"`
    AddressStatus            string `json:"addressStatus,omitempty"`
    AutoLastHop              string `json:"autoLastHop,omitempty"`
    CMPEnabled               string `json:"cmpEnabled,omitempty"`
    ConnectionLimit          int    `json:"connectionLimit,omitempty"`
    Destination              string `json:"destination,omitempty"`
    Enabled                  bool   `json:"enabled,omitempty"`
    GTMScore                 int    `json:"gtmScore,omitempty"`
    IPProtocol               string `json:"ipProtocol,omitempty"`
    Mask                     string `json:"mask,omitempty"`
    Mirror                   string `json:"mirror,omitempty"`
    MobileAppTunnel          string `json:"mobileAppTunnel,omitempty"`
    NAT64                    string `json:"nat64,omitempty"`
    Pool                     string `json:"pool,omitempty"`
    RateLimit                string `json:"rateLimit,omitempty"`
    RateLimitDestinationMask int    `json:"rateLimitDstMask,omitempty"`
    RateLimitMode            string `json:"rateLimitMode,omitempty"`
    RateLimitSourceMask      int    `json:"rateLimitSrcMask,omitempty"`
    Source                   string `json:"source,omitempty"`
    SourceAddressTranslation struct {
        Type string `json:"type,omitempty"`
        Pool string `json:"pool,omitempty"`
    }   `json:"sourceAddressTranslation,omitempty"`
    SourcePort       string    `json:"sourcePort,omitempty"`
    SYNCookieStatus  string    `json:"synCookieStatus,omitempty"`
    TranslateAddress string    `json:"translateAddress,omitempty"`
    TranslatePort    string    `json:"translatePort,omitempty"`
    VlansEnabled     bool      `json:"vlansEnabled,omitempty"`
    VlansDisabled    bool      `json:"vlansDisabled,omitempty"`
    VSIndex          int       `json:"vsIndex,omitempty"`
    Vlans            []string  `json:"vlans,omitempty"`
    Rules            []string  `json:"rules,omitempty"`
    Profiles         []Profile `json:"profiles,omitempty"`
    Policies         []string  `json:"policies,omitempty"`
}

VirtualServer contains information about each individual virtual server.

type VirtualServerPolicies Uses

type VirtualServerPolicies struct {
    PolicyRef Policies `json:"policiesReference"`
}

type VirtualServers Uses

type VirtualServers struct {
    VirtualServers []VirtualServer `json:"items"`
}

VirtualServers contains a list of all virtual servers on the BIG-IP system.

type Vlan Uses

type Vlan struct {
    Name            string `json:"name,omitempty"`
    Partition       string `json:"partition,omitempty"`
    FullPath        string `json:"fullPath,omitempty"`
    Generation      int    `json:"generation,omitempty"`
    AutoLastHop     string `json:"autoLastHop,omitempty"`
    CMPHash         string `json:"cmpHash,omitempty"`
    DAGRoundRobin   string `json:"dagRoundRobin,omitempty"`
    Failsafe        string `json:"failsafe,omitempty"`
    FailsafeAction  string `json:"failsafeAction,omitempty"`
    FailsafeTimeout int    `json:"failsafeTimeout,omitempty"`
    IfIndex         int    `json:"ifIndex,omitempty"`
    Learning        string `json:"learning,omitempty"`
    MTU             int    `json:"mtu,omitempty"`
    SFlow           struct {
        PollInterval       int    `json:"pollInterval,omitempty"`
        PollIntervalGlobal string `json:"pollIntervalGlobal,omitempty"`
        SamplingRate       int    `json:"samplingRate,omitempty"`
        SamplingRateGlobal string `json:"samplingRateGlobal,omitempty"`
    }   `json:"sflow,omitempty"`
    SourceChecking string `json:"sourceChecking,omitempty"`
    Tag            int    `json:"tag,omitempty"`
}

Vlan contains information about each individual VLAN. You can use all of these fields when modifying a VLAN.

type VlanInterface Uses

type VlanInterface struct {
    Name     string `json:"name,omitempty"`
    Tagged   bool   `json:"tagged,omitempty"`
    Untagged bool   `json:"untagged,omitempty"`
}

VlanInterface contains fields to be used when adding an interface to a VLAN.

type Vlans Uses

type Vlans struct {
    Vlans []Vlan `json:"items"`
}

Vlans contains a list of every VLAN on the BIG-IP system.

Directories

PathSynopsis
examples

Package bigip imports 10 packages (graph) and is imported by 6 packages. Updated 2017-11-14. Refresh now. Tools for package owners.