bigip

package module
v0.0.0-...-5832e25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2021 License: MIT Imports: 16 Imported by: 0

README

go-bigip

GoDoc Travis-CI Go Report Card license

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:

Documentation

Overview

AS3 uses a declarative model, meaning you provide a JSON declaration rather than a set of imperative commands. The declaration represents the configuration which AS3 is responsible for creating on a BIG-IP system. AS3 is well-defined according to the rules of JSON Schema, and declarations validate according to JSON Schema. AS3 accepts declaration updates via REST (push), reference (pull), or CLI (flat file editing). To read more about As3 check https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/

Copyright © 2019 F5 Networks Inc Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Original work Copyright © 2015 Scott Ware Modifications Copyright 2019 F5 Networks Inc Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

Original work Copyright © 2015 Scott Ware Modifications Copyright 2019 F5 Networks Inc Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Original work Copyright © 2015 Scott Ware Modifications Copyright 2019 F5 Networks Inc Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Original work Copyright © 2015 Scott Ware Modifications Copyright 2019 F5 Networks Inc Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Original work Copyright © 2015 Scott Ware Modifications Copyright 2019 F5 Networks Inc Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2019 F5 Networks Inc Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Original work Copyright © 2015 Scott Ware Modifications Copyright 2019 F5 Networks Inc Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Original work Copyright © 2015 Scott Ware Modifications Copyright 2019 F5 Networks Inc Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	ENABLED        = "enable"
	DISABLED       = "disable"
	CONTEXT_SERVER = "serverside"
	CONTEXT_CLIENT = "clientside"
	CONTEXT_ALL    = "all"
)
View Source
const (
	REST_DOWNLOAD_PATH = "/var/config/rest/downloads"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type APIRequest

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

APIRequest builds our request before sending it to the server.

type Appsvc01

type Appsvc01 struct {
	Class       string `json:"class"`
	Action      string `json:"action"`
	Persist     bool   `json:"persist"`
	Declaration struct {
		Class         string `json:"class"`
		SchemaVersion string `json:"schemaVersion"`
		ID            string `json:"id"`
		Label         string `json:"label"`
		Remark        string `json:"remark"`
		Sample01      struct {
			Class              string `json:"class"`
			DefaultRouteDomain int    `json:"defaultRouteDomain"`
			Application1       struct {
				Class       string `json:"class"`
				Template    string `json:"template"`
				ServiceMain struct {
					Class            string   `json:"class"`
					VirtualAddresses []string `json:"virtualAddresses"`
					Pool             string   `json:"pool"`
				} `json:"serviceMain"`
				WebPool struct {
					Class    string   `json:"class"`
					Monitors []string `json:"monitors"`
					Members  []struct {
						ServicePort     int      `json:"servicePort"`
						ServerAddresses []string `json:"serverAddresses"`
					} `json:"members"`
				} `json:"web_pool"`
			} `json:"Application_1"`
		} `json:"Sample_01,omitempty"`
	} `json:"declaration,omitempty"`
}

type Appsvc02

type Appsvc02 struct {
	Class       string `json:"class"`
	Action      string `json:"action"`
	Persist     bool   `json:"persist"`
	Declaration struct {
		Class         string `json:"class"`
		SchemaVersion string `json:"schemaVersion"`
		ID            string `json:"id"`
		Label         string `json:"label"`
		Remark        string `json:"remark"`
		Sample02      struct {
			Class string `json:"class"`
			A1    struct {
				Class       string `json:"class"`
				Template    string `json:"template"`
				ServiceMain struct {
					Class            string   `json:"class"`
					VirtualAddresses []string `json:"virtualAddresses"`
					Pool             string   `json:"pool"`
					ServerTLS        string   `json:"serverTLS"`
				} `json:"serviceMain"`
				WebPool struct {
					Class             string   `json:"class"`
					LoadBalancingMode string   `json:"loadBalancingMode"`
					Monitors          []string `json:"monitors"`
					Members           []struct {
						ServicePort     int      `json:"servicePort"`
						ServerAddresses []string `json:"serverAddresses"`
					} `json:"members"`
				} `json:"web_pool"`
				Webtls struct {
					Class        string `json:"class"`
					Certificates []struct {
						Certificate string `json:"certificate"`
					} `json:"certificates"`
				} `json:"webtls"`
				Webcert struct {
					Class       string `json:"class"`
					Remark      string `json:"remark"`
					Certificate string `json:"certificate"`
					PrivateKey  string `json:"privateKey"`
					Passphrase  struct {
						Ciphertext string `json:"ciphertext"`
						Protected  string `json:"protected"`
					} `json:"passphrase"`
				} `json:"webcert"`
			} `json:"A1"`
		} `json:"Sample_02"`
	} `json:"declaration"`
}

type Appsvcs

type Appsvcs struct {
	Appsvcs []Appsvc01 `json:"items"`
}

type As3AllTaskType

type As3AllTaskType struct {
	Items []As3TaskType `json:"items,omitempty"`
}

type As3TaskType

type As3TaskType struct {
	ID string `json:"id,omitempty"`
	//Declaration struct{} `json:"declaration,omitempty"`
	Results []Results1 `json:"results,omitempty"`
}

type BigIP

type BigIP struct {
	Host      string
	User      string
	Password  string
	Token     string // if set, will be used instead of User/Password
	Transport *http.Transport
	// UserAgent is an optional field that specifies the caller of this request.
	UserAgent     string
	Teem          bool
	ConfigOptions *ConfigOptions
}

BigIP is a container for our session state.

func NewSession

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

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

func NewTokenSession

func NewTokenSession(host, port, 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

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

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

func (*BigIP) AddCertificate

func (b *BigIP) AddCertificate(cert *Certificate) error

AddCertificate installs a certificate.

func (*BigIP) AddClientSSLProfile

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

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

func (*BigIP) AddCookiePersistenceProfile

func (b *BigIP) AddCookiePersistenceProfile(config *CookiePersistenceProfile) error

AddCookiePersistenceProfile adds a cookie persist profile to the BIG-IP system

func (*BigIP) AddDestAddrPersistenceProfile

func (b *BigIP) AddDestAddrPersistenceProfile(config *DestAddrPersistenceProfile) error

AddDestAddrPersistenceProfile adds a dest-addr persist profile to the BIG-IP system

func (*BigIP) AddHashPersistenceProfile

func (b *BigIP) AddHashPersistenceProfile(config *HashPersistenceProfile) error

AddHashPersistenceProfile adds a hash persist profile to the BIG-IP system

func (*BigIP) AddHostPersistenceProfile

func (b *BigIP) AddHostPersistenceProfile(config *HostPersistenceProfile) error

AddHostPersistenceProfile adds a host persist profile to the BIG-IP system

func (*BigIP) AddHttpCompressionProfile

func (b *BigIP) AddHttpCompressionProfile(config *HttpCompressionProfile) error

func (*BigIP) AddHttpProfile

func (b *BigIP) AddHttpProfile(config *HttpProfile) error

func (*BigIP) AddInterfaceToVlan

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

AddInterfaceToVlan associates the given interface to the specified VLAN.

func (*BigIP) AddInternalDataGroup

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

func (*BigIP) AddKey

func (b *BigIP) AddKey(config *Key) error

AddKey installs a key.

func (*BigIP) AddMSRDPPersistenceProfile

func (b *BigIP) AddMSRDPPersistenceProfile(config *MSRDPPersistenceProfile) error

AddMSRDPPersistenceProfile adds a msrdp persist profile to the BIG-IP system

func (*BigIP) AddMonitor

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

Create a monitor by supplying a config

func (*BigIP) AddMonitorToPool

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

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

func (*BigIP) AddNode

func (b *BigIP) AddNode(config *Node) error

AddNode adds a new node to the BIG-IP system using the Node Spec

func (*BigIP) AddOneconnectProfile

func (b *BigIP) AddOneconnectProfile(config *OneconnectProfile) error

func (*BigIP) AddPool

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

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

func (*BigIP) AddPoolMember

func (b *BigIP) AddPoolMember(pool string, config *PoolMember) 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) AddPoolMemberFQDN

func (b *BigIP) AddPoolMemberFQDN(pool string, config *PoolMemberFqdn) error

func (*BigIP) AddPoolMemberNode

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

func (*BigIP) AddRecords

func (b *BigIP) AddRecords(name, rname, data string) error

func (*BigIP) AddSIPPersistenceProfile

func (b *BigIP) AddSIPPersistenceProfile(config *SIPPersistenceProfile) error

AddSIPPersistenceProfile adds a sip persist profile to the BIG-IP system

func (*BigIP) AddSSLPersistenceProfile

func (b *BigIP) AddSSLPersistenceProfile(config *SSLPersistenceProfile) error

AddSSLPersistenceProfile adds a ssl persist profile to the BIG-IP system

func (*BigIP) AddServerSSLProfile

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

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

func (*BigIP) AddServiceDiscoveryNodes

func (b *BigIP) AddServiceDiscoveryNodes(taskid string, config []interface{}) error

func (*BigIP) AddSnatPool

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

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

func (*BigIP) AddSourceAddrPersistenceProfile

func (b *BigIP) AddSourceAddrPersistenceProfile(config *SourceAddrPersistenceProfile) error

AddSourceAddrPersistenceProfile adds a source-addr persist profile to the BIG-IP system

func (*BigIP) AddTeemAgent

func (b *BigIP) AddTeemAgent(body interface{}) (string, error)

func (*BigIP) AddTemplateSet

func (b *BigIP) AddTemplateSet(tmpl *FastTemplateSet) error

AddTemplateSet installs a template set.

func (*BigIP) AddTunnel

func (b *BigIP) AddTunnel(config *Tunnel) error

AddTunnel adds a new tunnel to the BIG-IP system from a config.

func (*BigIP) AddUniversalPersistenceProfile

func (b *BigIP) AddUniversalPersistenceProfile(config *UniversalPersistenceProfile) error

AddUniversalPersistenceProfile adds a universal persist profile to the BIG-IP system

func (*BigIP) AddVirtualServer

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

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

func (*BigIP) AddVxlan

func (b *BigIP) AddVxlan(config *Vxlan) error

AddVxlan adds a new vxlan profile to the BIG-IP system.

func (*BigIP) Appsvc01

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

Appsvcss returns a list of appsvcs

func (*BigIP) Appsvc02

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

func (*BigIP) BigipVersion

func (b *BigIP) BigipVersion() (*Version, error)

func (*BigIP) Bigiplicenses

func (b *BigIP) Bigiplicenses() (*Bigiplicense, error)

func (*BigIP) Certificates

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

Certificates returns a list of certificates.

func (*BigIP) ClientSSLProfiles

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

ClientSSLProfiles returns a list of client-ssl profiles.

func (*BigIP) CookiePersistenceProfiles

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

CookiePersistenceProfiles returns a list of cookie persist profiles

func (*BigIP) CreateAppsvc01

func (b *BigIP) CreateAppsvc01(p *Appsvc01) error

CreateAppsvcs creates a new iAppsvcs on the system.

func (*BigIP) CreateAppsvc02

func (b *BigIP) CreateAppsvc02(p *Appsvc02) error

func (*BigIP) CreateBigiplicense

func (b *BigIP) CreateBigiplicense(command, registration_key string) error

func (*BigIP) CreateClientSSLProfile

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

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

func (*BigIP) CreateCookiePersistenceProfile

func (b *BigIP) CreateCookiePersistenceProfile(config *PersistenceProfile) error

CreateCookiePersistenceProfile creates a new cookie persist profile on the BIG-IP system.

func (*BigIP) CreateDNS

func (b *BigIP) CreateDNS(description string, nameservers []string, numberofdots int, search []string) error

func (*BigIP) CreateDatacenter

func (b *BigIP) CreateDatacenter(name, description, contact, app_service string, enabled, disabled bool, prober_pool string) error

func (*BigIP) CreateDatagroup

func (b *BigIP) CreateDatagroup(typo, name string, records []Records) error

CreateDatagroup adds a new Datagroup to the BIG-IP system.

func (*BigIP) CreateDestAddrPersistenceProfile

func (b *BigIP) CreateDestAddrPersistenceProfile(config *PersistenceProfile) error

CreateDestAddrPersistenceProfile creates a new dest-addr persist profile on the BIG-IP system.

func (*BigIP) CreateDevice

func (b *BigIP) CreateDevice(name, configsyncIp, mirrorIp, mirrorSecondaryIp string) error

func (*BigIP) CreateDevicegroup

func (b *BigIP) CreateDevicegroup(p *Devicegroup) error

func (*BigIP) CreateFQDNNode

func (b *BigIP) CreateFQDNNode(name, address, rate_limit string, connection_limit, dynamic_ratio int, monitor, state, description string, ratio int, interval, address_family, autopopulate string, downinterval int) error

CreateFQDNNode adds a new FQDN based node to the BIG-IP system.

func (*BigIP) CreateFasthttp

func (b *BigIP) CreateFasthttp(config *Fasthttp) error

func (*BigIP) CreateFastl4

func (b *BigIP) CreateFastl4(name, partition, defaultsFrom string, clientTimeout int, explicitFlowMigration, hardwareSynCookie string, idleTimeout string, ipTosToClient, ipTosToServer, keepAliveInterval string) error

func (*BigIP) CreateGtmmonitor

func (b *BigIP) CreateGtmmonitor(name, defaults_from string, interval, probeTimeout int, recv, send string) error

func (*BigIP) CreateGtmserver

func (b *BigIP) CreateGtmserver(p *Server) error

func (*BigIP) CreateHashPersistenceProfile

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

CreateHashPersistenceProfile creates a new hash persist profile on the BIG-IP system.

func (*BigIP) CreateHostPersistenceProfile

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

CreateHostPersistenceProfile creates a new host persist profile on the BIG-IP system.

func (*BigIP) CreateHttp2

func (b *BigIP) CreateHttp2(http2 *Http2) error

func (b *BigIP) CreateHttp2(name, defaultsFrom string, concurrentStreamsPerConnection, connectionIdleTimeout, headerTableSize int, activationModes []string) error {

func (*BigIP) CreateHttpCompressionProfile

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

CreateHttpCompressionProfile creates a new http profile on the BIG-IP system.

func (*BigIP) CreateHttpProfile

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

CreateHttpProfile creates a new http profile on the BIG-IP system.

func (*BigIP) CreateHttpcompress

func (b *BigIP) CreateHttpcompress(httpcompress *Httpcompress) error

func (*BigIP) CreateIPSecPolicy

func (b *BigIP) CreateIPSecPolicy(config *IPSecPolicy) error

CreateIPSecPolicy adds a new IPSec policy to the BIG-IP system.

func (*BigIP) CreateIRule

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

CreateIRule creates a new iRule on the system.

func (*BigIP) CreateIapp

func (b *BigIP) CreateIapp(p *Iapp) error

func (*BigIP) CreateIkePeer

func (b *BigIP) CreateIkePeer(config *IkePeer) error

func (*BigIP) CreateLIC

func (b *BigIP) CreateLIC(deviceAddress string, username string, password string) error

func (*BigIP) CreateLogIPFIX

func (b *BigIP) CreateLogIPFIX(name, appService, poolName, protocolVersion, serversslProfile string, templateDeleteDelay, templateRetransmitInterval int, transportProfile string) error

func (*BigIP) CreateLogPublisher

func (b *BigIP) CreateLogPublisher(r *LogPublisher) error

func (*BigIP) CreateMSRDPPersistenceProfile

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

CreateMSRDPPersistenceProfile creates a new msrdp persist profile on the BIG-IP system.

func (*BigIP) CreateMonitor

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

CreateMonitor adds a new monitor to the BIG-IP system. <parent> must be one of "http", "https", "icmp", "gateway icmp", or "tcp". func (b *BigIP) CreateMonitor(config *Monitor) error This Function expects Monitor struct type as input,posts the config on to BIGIP to configure LTM Monitor Objects Returns Nil If Post is Success,err in case Failure

func (*BigIP) CreateNTP

func (b *BigIP) CreateNTP(description string, servers []string, timezone string) error

func (*BigIP) CreateNode

func (b *BigIP) CreateNode(name, address, rate_limit string, connection_limit, dynamic_ratio int, monitor, state, description string, ratio int) error

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

func (*BigIP) CreateOneconnect

func (b *BigIP) CreateOneconnect(oneconnect *Oneconnect) error

Oneconnect profile creation

func (*BigIP) CreateOneconnectProfile

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

CreateOneconnectProfile creates a new http profile on the BIG-IP system.

func (*BigIP) CreatePolicy

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

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

func (*BigIP) CreatePolicyDraft

func (b *BigIP) CreatePolicyDraft(name string, partition string) error

Create a draft from an existing policy

func (*BigIP) CreatePool

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

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

func (*BigIP) CreatePoolMember

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

CreatePoolMember creates a pool member for the specified pool.

func (*BigIP) CreatePool_a

func (b *BigIP) CreatePool_a(name, monitor, load_balancing_mode string, max_answers_returned int, alternate_mode, fallback_ip, fallback_mode string, members []string) error

func (*BigIP) CreateProvision

func (b *BigIP) CreateProvision(name string, fullPath string, cpuRatio int, diskRatio int, level string, memoryRatio int) error

func (*BigIP) CreateRoute

func (b *BigIP) CreateRoute(config *Route) 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

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) CreateSIPPersistenceProfile

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

CreateSIPPersistenceProfile creates a new sip persist profile on the BIG-IP system.

func (*BigIP) CreateSNMP

func (b *BigIP) CreateSNMP(sysContact string, sysLocation string, allowedAddresses []string) error

func (*BigIP) CreateSSLPersistenceProfile

func (b *BigIP) CreateSSLPersistenceProfile(config *PersistenceProfile) error

CreateSSLPersistenceProfile creates a new ssl persist profile on the BIG-IP system.

func (*BigIP) CreateSelfIP

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

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

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

func (*BigIP) CreateSnat

func (b *BigIP) CreateSnat(p *Snat) error
func (b *BigIP) CreateSnat(name, partition, autoLastHop, sourcePort, translation, snatpool, mirror string, vlansDisabled bool, origins []string) error {
	snat := &Snat{
		Name:          name,
		Partition:     partition,
		AutoLasthop:   autoLastHop,
		SourcePort:    sourcePort,
		Translation:   translation,
		Snatpool:      snatpool,
		Mirror:        mirror,
		VlansDisabled: vlansDisabled,
		Origins:       origins,
	}
	log.Println("[INFO] Creating snat  ", snat)
	return b.post(snat, uriLtm, uriSnat)
}

func (*BigIP) CreateSnatPool

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

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

func (*BigIP) CreateSnatpool

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

func (*BigIP) CreateSourceAddrPersistenceProfile

func (b *BigIP) CreateSourceAddrPersistenceProfile(config *PersistenceProfile) error

CreateSourceAddrPersistenceProfile creates a new source-addr persist profile on the BIG-IP system.

func (*BigIP) CreateSyslog

func (b *BigIP) CreateSyslog(r *Syslog) error

func (*BigIP) CreateTRAP

func (b *BigIP) CreateTRAP(name string, authPasswordEncrypted string, authProtocol string, community string, description string, engineId string, host string, port int, privacyPassword string, privacyPasswordEncrypted string, privacyProtocol string, securityLevel string, securityName string, version string) error

func (*BigIP) CreateTcp

func (b *BigIP) CreateTcp(tcp *Tcp) error

func (b *BigIP) CreateTcp(name, partition, defaultsFrom string, idleTimeout, closeWaitTimeout, finWait_2Timeout, finWaitTimeout, keepAliveInterval int, deferredAccept, fastOpen string) error {

func (*BigIP) CreateTrafficSelector

func (b *BigIP) CreateTrafficSelector(config *TrafficSelector) error

CreateTrafficSelector adds a new IPsec Traffic-selctor to the BIG-IP system.

func (*BigIP) CreateTrunk

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) CreateTunnel

func (b *BigIP) CreateTunnel(config *Tunnel) error

CreateTunnel adds a new tunnel to the BIG-IP system.

func (*BigIP) CreateULIC

func (b *BigIP) CreateULIC(deviceAddress string, username string, password string, unitOfMeasure string) error

func (*BigIP) CreateUniversalPersistenceProfile

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

CreateUniversalPersistenceProfile creates a new universal persist profile on the BIG-IP system.

func (*BigIP) CreateVirtualAddress

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

func (*BigIP) CreateVirtualServer

func (b *BigIP) CreateVirtualServer(config *VirtualServer) 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 (b *BigIP) CreateVirtualServer(name, destination, mask, pool string, vlans_enabled bool, port int, translate_address, translate_port string) error {

	if strings.Contains(destination, ":") {
		subnetMask := mask
		config := &VirtualServer{
			Name:             name,
			Destination:      fmt.Sprintf("%s.%d", destination, port),
			Mask:             subnetMask,
			Pool:             pool,
			TranslateAddress: translate_address,
			TranslatePort:    translate_port,
		}

		return b.post(config, uriLtm, uriVirtual)
	}
	subnetMask := cidr[mask]

	config := &VirtualServer{
		Name:             name,
		Destination:      fmt.Sprintf("%s:%d", destination, port),
		Mask:             subnetMask,
		Pool:             pool,
		TranslateAddress: translate_address,
		TranslatePort:    translate_port,
	}
	return b.post(config, uriLtm, uriVirtual)
}

func (*BigIP) CreateVlan

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

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

func (*BigIP) CreateVxlan

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

CreateVxlan adds a new vxlan profile to the BIG-IP system.

func (*BigIP) DNSs

func (b *BigIP) DNSs() (*DNS, error)

DNS & NTP resource does not support Delete API

func (*BigIP) Datacenters

func (b *BigIP) Datacenters() (*Datacenter, error)

func (*BigIP) Datagroups

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

Datagroups returns a list of datagroups.

func (*BigIP) DeleteAppsvc01

func (b *BigIP) DeleteAppsvc01() error

func (*BigIP) DeleteAppsvc02

func (b *BigIP) DeleteAppsvc02() error

func (*BigIP) DeleteAs3Bigip

func (b *BigIP) DeleteAs3Bigip(tenantName string) (error, string)

func (*BigIP) DeleteAs3Bigiq

func (b *BigIP) DeleteAs3Bigiq(as3NewJson string, tenantName string) (error, string)

func (*BigIP) DeleteCertificate

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

DeleteCertificate removes a certificate.

func (*BigIP) DeleteClientSSLProfile

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

DeleteClientSSLProfile removes a client-ssl profile.

func (*BigIP) DeleteCookiePersistenceProfile

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

DeleteCookiePersistenceProfile removes a cookie persist profile.

func (*BigIP) DeleteDatacenter

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

func (*BigIP) DeleteDatagroup

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

func (*BigIP) DeleteDestAddrPersistenceProfile

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

DeleteDestAddrPersistenceProfile removes a dest-addr persist profile.

func (*BigIP) DeleteDevice

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

func (*BigIP) DeleteDevicegroup

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

func (*BigIP) DeleteDevicegroupDevices

func (b *BigIP) DeleteDevicegroupDevices(name, rname string) error

func (*BigIP) DeleteFastAppBigip

func (b *BigIP) DeleteFastAppBigip(fastTenant, fastApp string) error

DeleteFastAppBigip used for deleting FAST application on BIGIP

func (*BigIP) DeleteFasthttp

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

Delete Fast http removes an Fasthttp profile from the system.

func (*BigIP) DeleteFastl4

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

Delete Fast http removes an Fasthttp profile from the system.

func (*BigIP) DeleteGtmmonitor

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

func (*BigIP) DeleteGtmserver

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

Delete a policy by name.

func (*BigIP) DeleteHashHostPersistenceProfile

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

DeleteHashHostPersistenceProfile removes a host persist profile.

func (*BigIP) DeleteHashPersistenceProfile

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

DeleteHashPersistenceProfile removes a dest-addr persist profile.

func (*BigIP) DeleteHttp2

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

Delete http2 removes an http2 profile from the system.

func (*BigIP) DeleteHttpCompressionProfile

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

DeleteHttpCompressionProfile removes a http profile.

func (*BigIP) DeleteHttpProfile

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

DeleteHttpProfile removes a http profile.

func (*BigIP) DeleteHttpcompress

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

Delete Fast http removes an Fasthttp profile from the system.

func (*BigIP) DeleteIPSecPolicy

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

DeleteIPSecPolicy removes specified IPSec policy.

func (*BigIP) DeleteIRule

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

DeleteIRule removes an iRule from the system.

func (*BigIP) DeleteIapp

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

func (*BigIP) DeleteIkePeer

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

func (*BigIP) DeleteInternalDataGroup

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

func (*BigIP) DeleteKey

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

DeleteKey removes a key.

func (*BigIP) DeleteLogIPFIX

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

func (*BigIP) DeleteLogPublisher

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

func (*BigIP) DeleteMSRDPPersistenceProfile

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

DeleteMSRDPPersistenceProfile removes a msrdp persist profile.

func (*BigIP) DeleteMonitor

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

DeleteMonitor removes a monitor.

func (*BigIP) DeleteNode

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

DeleteNode removes a node.

func (*BigIP) DeleteOneconnect

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

DeleteOneconnect removes an OneConnect profile from the system.

func (*BigIP) DeleteOneconnectProfile

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

DeleteOneconnectProfile removes a http profile.

func (*BigIP) DeletePolicy

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

Delete a policy by name.

func (*BigIP) DeletePool

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

DeletePool removes a pool.

func (*BigIP) DeletePoolMember

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) DeleteProvision

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

func (*BigIP) DeleteRoute

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

DeleteRoute removes a static route.

func (*BigIP) DeleteRouteDomain

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

DeleteRouteDomain removes a route domain.

func (*BigIP) DeleteSIPPersistenceProfile

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

DeleteSIPPersistenceProfile removes a sip persist profile.

func (*BigIP) DeleteSSLPersistenceProfile

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

DeleteSSLPersistenceProfile removes a ssl persist profile.

func (*BigIP) DeleteSelfIP

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

DeleteSelfIP removes a self IP.

func (*BigIP) DeleteServerSSLProfile

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

DeleteServerSSLProfile removes a server-ssl profile.

func (*BigIP) DeleteSnat

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

func (*BigIP) DeleteSnatPool

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

DeleteSnatPool removes a snatpool.

func (*BigIP) DeleteSnatpool

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

func (*BigIP) DeleteSourceAddrPersistenceProfile

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

DeleteSourceAddrPersistenceProfile removes a source-addr persist profile.

func (*BigIP) DeleteTRAP

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

func (*BigIP) DeleteTcp

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

DeleteOneconnect removes an OneConnect profile from the system.

func (*BigIP) DeleteTemplateSet

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

DeleteTemplateSet removes a template set.

func (*BigIP) DeleteTrafficSelector

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

DeleteTrafficSelector removes specified Traffic-selector.

func (*BigIP) DeleteTrunk

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

DeleteTrunk removes a trunk.

func (*BigIP) DeleteTunnel

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

DeleteTunnel removes a tunnel.

func (*BigIP) DeleteULIC

func (b *BigIP) DeleteULIC(config *ULIC) error

func (*BigIP) DeleteUniversalPersistenceProfile

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

DeleteUniversalPersistenceProfile removes a universal persist profile.

func (*BigIP) DeleteVirtualAddress

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

func (*BigIP) DeleteVirtualServer

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

DeleteVirtualServer removes a virtual server.

func (*BigIP) DeleteVlan

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

DeleteVlan removes a vlan.

func (*BigIP) DeleteVxlan

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

DeleteVxlan removes a vxlan profile.

func (*BigIP) DestAddrPersistenceProfiles

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

DestAddrPersistenceProfiles returns a list of dest-addr persist profiles

func (*BigIP) Devicegroups

func (b *BigIP) Devicegroups(name string) (*Devicegroup, error)

func (*BigIP) DevicegroupsDevices

func (b *BigIP) DevicegroupsDevices(name, rname string) (*Devicegroup, error)

func (*BigIP) Devices

func (b *BigIP) Devices(name string) (*Device, error)

func (*BigIP) GetAs3

func (b *BigIP) GetAs3(name, appList string) (string, error)

func (*BigIP) GetAs3Bigiq

func (b *BigIP) GetAs3Bigiq(targetRef, tenantRef string) (string, error)

func (*BigIP) GetBigipLiceseStatus

func (b *BigIP) GetBigipLiceseStatus() (map[string]interface{}, error)

func (*BigIP) GetCertificate

func (b *BigIP) GetCertificate(name string) (*Certificate, error)

GetCertificate retrieves a Certificate by name. Returns nil if the certificate does not exist

func (*BigIP) GetClientSSLProfile

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) GetCookiePersistenceProfile

func (b *BigIP) GetCookiePersistenceProfile(name string) (*CookiePersistenceProfile, error)

GetCookiePersistenceProfile gets a single cookie persist profile by name

func (*BigIP) GetDestAddrPersistenceProfile

func (b *BigIP) GetDestAddrPersistenceProfile(name string) (*DestAddrPersistenceProfile, error)

GetDestAddrPersistenceProfile gets a single dest-addr persist profile by name

func (*BigIP) GetDeviceId

func (b *BigIP) GetDeviceId(deviceName string) (string, error)

func (*BigIP) GetDeviceLicenseStatus

func (b *BigIP) GetDeviceLicenseStatus(path ...string) (string, error)

func (*BigIP) GetDevices

func (b *BigIP) GetDevices() ([]Device, error)

GetDevices returns a list of the bigip's in the cluster.

func (*BigIP) GetFastApp

func (b *BigIP) GetFastApp(tenant, app string) (string, error)

GetFastApp retrieves a Application set by tenant and app name. Returns nil if the application does not exist

func (*BigIP) GetFasthttp

func (b *BigIP) GetFasthttp(name string) (*Fasthttp, error)

func (*BigIP) GetFastl4

func (b *BigIP) GetFastl4(name string) (*Fastl4, error)

func (*BigIP) GetGtmserver

func (b *BigIP) GetGtmserver(name string) (*Server, error)

func (*BigIP) GetHashPersistenceProfile

func (b *BigIP) GetHashPersistenceProfile(name string) (*HashPersistenceProfile, error)

GetHashPersistenceProfile gets a single hash persist profile by name

func (*BigIP) GetHostPersistenceProfile

func (b *BigIP) GetHostPersistenceProfile(name string) (*HostPersistenceProfile, error)

GetHostPersistenceProfile gets a single host persist profile by name

func (*BigIP) GetHttp2

func (b *BigIP) GetHttp2(name string) (*Http2, error)

func (*BigIP) GetHttpCompressionProfile

func (b *BigIP) GetHttpCompressionProfile(name string) (*HttpCompressionProfile, error)

func (*BigIP) GetHttpProfile

func (b *BigIP) GetHttpProfile(name string) (*HttpProfile, error)

func (*BigIP) GetHttpcompress

func (b *BigIP) GetHttpcompress(name string) (*Httpcompress, error)

func (*BigIP) GetIPSecPolicy

func (b *BigIP) GetIPSecPolicy(name string) (*IPSecPolicy, error)

GetIPSecPolicy returns a named IPsec policy.

func (*BigIP) GetIkePeer

func (b *BigIP) GetIkePeer(name string) (*IkePeer, error)

func (*BigIP) GetInternalDataGroup

func (b *BigIP) GetInternalDataGroup(name string) (*DataGroup, error)

Get an internal data group by name, returns nil if the data group does not exist

func (*BigIP) GetInternalDataGroupRecords

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

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

func (*BigIP) GetKey

func (b *BigIP) GetKey(name string) (*Key, error)

GetKey retrieves a key by name. Returns nil if the key does not exist.

func (*BigIP) GetLicenseStatus

func (b *BigIP) GetLicenseStatus(id string) (map[string]interface{}, error)

func (*BigIP) GetMSRDPPersistenceProfile

func (b *BigIP) GetMSRDPPersistenceProfile(name string) (*MSRDPPersistenceProfile, error)

GetMSRDPPersistenceProfile gets a single msrdp persist profile by name

func (*BigIP) GetManagedDevices

func (b *BigIP) GetManagedDevices() (*devicesList, error)

func (*BigIP) GetMemberStatus

func (b *BigIP) GetMemberStatus(poolId, regKey, memId string) (*memberDetail, error)

func (*BigIP) GetMonitor

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

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

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

func (*BigIP) GetOneconnect

func (b *BigIP) GetOneconnect(name string) (*Oneconnect, error)

func (*BigIP) GetOneconnectProfile

func (b *BigIP) GetOneconnectProfile(name string) (*OneconnectProfile, error)

func (*BigIP) GetPolicy

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

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

func (*BigIP) GetPool

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

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

func (*BigIP) GetPoolMember

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

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

func (*BigIP) GetPoolType

func (b *BigIP) GetPoolType(poolName string) (*regKeyPool, error)

func (*BigIP) GetRegPools

func (b *BigIP) GetRegPools() (*regKeyPools, error)

func (*BigIP) GetRegkeyPoolId

func (b *BigIP) GetRegkeyPoolId(poolName string) (string, error)

func (*BigIP) GetRoute

func (b *BigIP) GetRoute(name string) (*Route, error)

func (*BigIP) GetSIPPersistenceProfile

func (b *BigIP) GetSIPPersistenceProfile(name string) (*SIPPersistenceProfile, error)

GetSIPPersistenceProfile gets a single sip persist profile by name

func (*BigIP) GetSSLPersistenceProfile

func (b *BigIP) GetSSLPersistenceProfile(name string) (*SSLPersistenceProfile, error)

GetSSLPersistenceProfile gets a single ssl persist profile by name

func (*BigIP) GetServerSSLProfile

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) GetServiceDiscoveryNodes

func (b *BigIP) GetServiceDiscoveryNodes(taskid string) (interface{}, error)

func (*BigIP) GetSnat

func (b *BigIP) GetSnat(name string) (*Snat, error)

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

func (*BigIP) GetSnatPool

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

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

func (*BigIP) GetSnatpool

func (b *BigIP) GetSnatpool(name string) (*Snatpool, error)

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

func (*BigIP) GetSourceAddrPersistenceProfile

func (b *BigIP) GetSourceAddrPersistenceProfile(name string) (*SourceAddrPersistenceProfile, error)

GetSourceAddrPersistenceProfile gets a single source-addr persist profile by name

func (*BigIP) GetTarget

func (b *BigIP) GetTarget(body interface{}) string

func (*BigIP) GetTcp

func (b *BigIP) GetTcp(name string) (*Tcp, error)

func (*BigIP) GetTemplateSet

func (b *BigIP) GetTemplateSet(name string) (*FastTemplateSet, error)

GetTemplateSet retrieves a Template set by name. Returns nil if the Template set does not exist

func (*BigIP) GetTenantList

func (b *BigIP) GetTenantList(body interface{}) (string, int, string)

func (*BigIP) GetTrafficselctor

func (b *BigIP) GetTrafficselctor(name string) (*TrafficSelector, error)

GetTrafficselctor returns a named IPsec Traffic selctor.

func (*BigIP) GetTunnel

func (b *BigIP) GetTunnel(name string) (*Tunnel, error)

GetTunnel fetches the tunnel by it's name.

func (*BigIP) GetUniversalPersistenceProfile

func (b *BigIP) GetUniversalPersistenceProfile(name string) (*UniversalPersistenceProfile, error)

GetUniversalPersistenceProfile gets a single universal persist profile by name

func (*BigIP) GetVirtualAddress

func (b *BigIP) GetVirtualAddress(vaddr string) (*VirtualAddress, error)

GetVirtualAddress retrieves a VirtualAddress by name. Returns nil if the VirtualAddress does not exist

func (*BigIP) GetVirtualServer

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) GetVlanInterfaces

func (b *BigIP) GetVlanInterfaces(vlan string) (*VlanInterfaces, error)

GetVlanInterfaces returns a list of interface associated to the specified VLAN.

func (*BigIP) GetVxlan

func (b *BigIP) GetVxlan(name string) (*Vxlan, error)

GetVxlan fetches the vxlan profile by it's name.

func (*BigIP) Gtmmonitors

func (b *BigIP) Gtmmonitors() (*Gtmmonitor, error)

func (*BigIP) HashPersistenceProfiles

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

HashPersistenceProfiles returns a list of hash persist profiles

func (*BigIP) HostPersistenceProfiles

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

HostPersistenceProfiles returns a list of host persist profiles

func (*BigIP) HttpCompressionProfiles

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

HttpCompressionProfiles returns a list of HTTP profiles

func (*BigIP) HttpProfiles

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

HttpProfiles returns a list of HTTP profiles

func (*BigIP) IRule

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

IRule returns information about the given iRule.

func (*BigIP) IRules

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

IRules returns a list of irules

func (*BigIP) Iapp

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

func (*BigIP) InstallLicense

func (b *BigIP) InstallLicense(licenseText string) error

Installs the given license.

func (*BigIP) Interfaces

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

Interfaces returns a list of interfaces.

func (*BigIP) InternalDataGroups

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

InternalDataGroups returns a list of internal data groups.

func (*BigIP) Keys

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

Keys returns a list of keys.

func (*BigIP) LIC

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

VirtualAddresses returns a list of virtual addresses.

func (*BigIP) LICs

func (b *BigIP) LICs() (*LIC, error)

func (*BigIP) LicenseRevoke

func (b *BigIP) LicenseRevoke(config interface{}, poolId, regKey, memId string) error

func (*BigIP) LogIPFIXs

func (b *BigIP) LogIPFIXs() (*LogIPFIX, error)

func (*BigIP) LogPublisher

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

func (*BigIP) MSRDPPersistenceProfiles

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

MSRDPPersistenceProfiles returns a list of msrdp persist profiles

func (*BigIP) ModifyAppsvc01

func (b *BigIP) ModifyAppsvc01(p *Appsvc01) error

func (*BigIP) ModifyAppsvc02

func (b *BigIP) ModifyAppsvc02(p *Appsvc02) error

func (*BigIP) ModifyAs3

func (b *BigIP) ModifyAs3(tenantFilter string, as3_json string) error

func (*BigIP) ModifyBigiplicense

func (b *BigIP) ModifyBigiplicense(config *Bigiplicense) error

func (*BigIP) ModifyClientSSLProfile

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) ModifyCookiePersistenceProfile

func (b *BigIP) ModifyCookiePersistenceProfile(name string, config *CookiePersistenceProfile) error

ModifyCookiePersistenceProfile allows you to change any attribute of a cookie persist profile. Fields that can be modified are referenced in the CookiePersistenceProfile struct.

func (*BigIP) ModifyDNS

func (b *BigIP) ModifyDNS(config *DNS) error

func (*BigIP) ModifyDatacenter

func (b *BigIP) ModifyDatacenter(*Datacenter) error

func (*BigIP) ModifyDestAddrPersistenceProfile

func (b *BigIP) ModifyDestAddrPersistenceProfile(name string, config *DestAddrPersistenceProfile) error

ModifyDestAddrPersistenceProfile allows you to change any attribute of a dest-addr persist profile. Fields that can be modified are referenced in the DestAddrPersistenceProfile struct.

func (*BigIP) ModifyDevice

func (b *BigIP) ModifyDevice(config *Device) error

API does not work, you cannot modify API issue

func (*BigIP) ModifyDevicegroup

func (b *BigIP) ModifyDevicegroup(config *Devicegroup) error

func (*BigIP) ModifyFastAppBigip

func (b *BigIP) ModifyFastAppBigip(body, fastTenant, fastApp string) error

ModifyFastAppBigip used for updating FAST application on BIGIP

func (*BigIP) ModifyFasthttp

func (b *BigIP) ModifyFasthttp(name string, fasthttp *Fasthttp) error

ModifyFasthttp updates the given Fasthttp profile with any changed values.

func (*BigIP) ModifyFastl4

func (b *BigIP) ModifyFastl4(name string, fastl4 *Fastl4) error

ModifyFastl4 updates the given Fastl4 profile with any changed values.

func (*BigIP) ModifyGtmmonitor

func (b *BigIP) ModifyGtmmonitor(*Gtmmonitor) error

func (*BigIP) ModifyHashPersistenceProfile

func (b *BigIP) ModifyHashPersistenceProfile(name string, config *HashPersistenceProfile) error

ModifyHashPersistenceProfile allows you to change any attribute of a hash persist profile. Fields that can be modified are referenced in the HashPersistenceProfile struct.

func (*BigIP) ModifyHostPersistenceProfile

func (b *BigIP) ModifyHostPersistenceProfile(name string, config *HostPersistenceProfile) error

ModifyHostPersistenceProfile allows you to change any attribute of a host persist profile. Fields that can be modified are referenced in the HostPersistenceProfile struct.

func (*BigIP) ModifyHttp2

func (b *BigIP) ModifyHttp2(name string, http2 *Http2) error

Modify http2 updates the given http2 profile with any changed values.

func (*BigIP) ModifyHttpCompressionProfile

func (b *BigIP) ModifyHttpCompressionProfile(name string, config *HttpCompressionProfile) error

ModifyHttpCompressionProfile allows you to change any attribute of a http profile. Fields that can be modified are referenced in the HttpCompressionProfile struct.

func (*BigIP) ModifyHttpProfile

func (b *BigIP) ModifyHttpProfile(name string, config *HttpProfile) error

ModifyHttpProfile allows you to change any attribute of a http profile. Fields that can be modified are referenced in the HttpProfile struct.

func (*BigIP) ModifyHttpcompress

func (b *BigIP) ModifyHttpcompress(name string, httpcompress *Httpcompress) error

ModifyFastl4 updates the given Fastl4 profile with any changed values.

func (*BigIP) ModifyIPSecPolicy

func (b *BigIP) ModifyIPSecPolicy(name string, config *IPSecPolicy) error

ModifyIPSecPolicy allows you to change any attribute of a IPSec policy. Fields that can be modified are referenced in the IPSec policy struct.

func (*BigIP) ModifyIRule

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

ModifyIRule updates the given iRule with any changed values.

func (*BigIP) ModifyIkePeer

func (b *BigIP) ModifyIkePeer(name string, config *IkePeer) error

func (*BigIP) ModifyInternalDataGroupRecords

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

Modify a named internal data group, REPLACING all the records

func (*BigIP) ModifyLIC

func (b *BigIP) ModifyLIC(config *LIC) error

func (*BigIP) ModifyLogIPFIX

func (b *BigIP) ModifyLogIPFIX(config *LogIPFIX) error

func (*BigIP) ModifyLogPublisher

func (b *BigIP) ModifyLogPublisher(r *LogPublisher) error

func (*BigIP) ModifyMSRDPPersistenceProfile

func (b *BigIP) ModifyMSRDPPersistenceProfile(name string, config *MSRDPPersistenceProfile) error

ModifyMSRDPPersistenceProfile allows you to change any attribute of a msrdp persist profile. Fields that can be modified are referenced in the MSRDPPersistenceProfile struct.

func (*BigIP) ModifyMonitor

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) ModifyNTP

func (b *BigIP) ModifyNTP(config *NTP) error

func (*BigIP) ModifyNode

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) ModifyOneconnect

func (b *BigIP) ModifyOneconnect(name string, oneconnect *Oneconnect) error

ModifyOneconnect updates the given Oneconnect profile with any changed values.

func (*BigIP) ModifyOneconnectProfile

func (b *BigIP) ModifyOneconnectProfile(name string, config *OneconnectProfile) error

ModifyOneconnectProfile allows you to change any attribute of a http profile. Fields that can be modified are referenced in the OneconnectProfile struct.

func (*BigIP) ModifyPool

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

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

ModifyPoolMember will update the configuration of a particular pool member.

func (*BigIP) ModifyPool_a

func (b *BigIP) ModifyPool_a(config *Pool_a) error

func (*BigIP) ModifyRoute

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

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) ModifySIPPersistenceProfile

func (b *BigIP) ModifySIPPersistenceProfile(name string, config *SIPPersistenceProfile) error

ModifySIPPersistenceProfile allows you to change any attribute of a sip persist profile. Fields that can be modified are referenced in the SIPPersistenceProfile struct.

func (*BigIP) ModifySNMP

func (b *BigIP) ModifySNMP(config *SNMP) error

func (*BigIP) ModifySSLPersistenceProfile

func (b *BigIP) ModifySSLPersistenceProfile(name string, config *SSLPersistenceProfile) error

ModifySSLPersistenceProfile allows you to change any attribute of a ssl persist profile. Fields that can be modified are referenced in the SSLPersistenceProfile struct.

func (*BigIP) ModifySelfIP

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

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) ModifySnat

func (b *BigIP) ModifySnat(config *Snat) error

func (*BigIP) ModifySnatPool

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) ModifySnatpool

func (b *BigIP) ModifySnatpool(config *Snatpool) error

func (*BigIP) ModifySourceAddrPersistenceProfile

func (b *BigIP) ModifySourceAddrPersistenceProfile(name string, config *SourceAddrPersistenceProfile) error

ModifySourceAddrPersistenceProfile allows you to change any attribute of a source-addr persist profile. Fields that can be modified are referenced in the SourceAddrPersistenceProfile struct.

func (*BigIP) ModifySyslog

func (b *BigIP) ModifySyslog(r *Syslog) error

func (*BigIP) ModifyTRAP

func (b *BigIP) ModifyTRAP(config *TRAP) error

func (*BigIP) ModifyTcp

func (b *BigIP) ModifyTcp(name string, tcp *Tcp) error

ModifyTcp updates the given Oneconnect profile with any changed values.

func (*BigIP) ModifyTrafficSelector

func (b *BigIP) ModifyTrafficSelector(name string, config *TrafficSelector) error

ModifyTrafficSelector allows you to change any attribute of a Traffic-selector. Fields that can be modified are referenced in the TrafficSelector struct.

func (*BigIP) ModifyTrunk

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) ModifyTunnel

func (b *BigIP) ModifyTunnel(name string, config *Tunnel) error

ModifyTunnel allows you to change any attribute of a tunnel.

func (*BigIP) ModifyULIC

func (b *BigIP) ModifyULIC(config *ULIC) error

func (*BigIP) ModifyUniversalPersistenceProfile

func (b *BigIP) ModifyUniversalPersistenceProfile(name string, config *UniversalPersistenceProfile) error

ModifyUniversalPersistenceProfile allows you to change any attribute of a universal persist profile. Fields that can be modified are referenced in the UniversalPersistenceProfile struct.

func (*BigIP) ModifyVirtualAddress

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

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

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) ModifyVxlan

func (b *BigIP) ModifyVxlan(name string, config *Vxlan) error

ModifyVxlan allows you to change any attribute of a vxlan profile.

func (*BigIP) Monitors

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

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

func (*BigIP) NTPs

func (b *BigIP) NTPs() (*NTP, error)

func (*BigIP) NodeStatus

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

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

Nodes returns a list of nodes.

func (*BigIP) OneconnectProfiles

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

OneconnectProfiles returns a list of HTTP profiles

func (*BigIP) Policies

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

func (*BigIP) PoolMemberStatus

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

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

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

func (*BigIP) Pool_as

func (b *BigIP) Pool_as() (*Pool_a, error)

func (*BigIP) Pools

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

Pools returns a list of pools.

func (*BigIP) PostAs3Bigip

func (b *BigIP) PostAs3Bigip(as3NewJson string, tenantFilter string) (error, string)

PostAs3Bigip used for posting as3 json file to BIGIP

func (*BigIP) PostAs3Bigiq

func (b *BigIP) PostAs3Bigiq(as3NewJson string) (error, string)

func (*BigIP) PostFastAppBigip

func (b *BigIP) PostFastAppBigip(body, fastTemplate string) (tenant, app string, err error)

PostFastAppBigip used for posting FAST json file to BIGIP

func (*BigIP) PostLicense

func (b *BigIP) PostLicense(config *LicenseParam) (string, error)

func (*BigIP) ProvisionModule

func (b *BigIP) ProvisionModule(config *Provision) error

func (*BigIP) Provisions

func (b *BigIP) Provisions(name string) (*Provision, error)

func (*BigIP) PublishPolicy

func (b *BigIP) PublishPolicy(name, publish string) error

func (*BigIP) Records

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

func (*BigIP) RegkeylicenseAssign

func (b *BigIP) RegkeylicenseAssign(config interface{}, poolId string, regKey string) (*memberDetail, error)

func (*BigIP) RegkeylicenseRevoke

func (b *BigIP) RegkeylicenseRevoke(poolId, regKey, memId string) error

func (*BigIP) RemovePoolMember

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

RemovePoolMember removes a pool member from the specified pool.

func (*BigIP) RevokeLicense

func (b *BigIP) RevokeLicense() error

Revoke license.

func (*BigIP) RouteDomains

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

RouteDomains returns a list of route domains.

func (*BigIP) Routes

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

Routes returns a list of routes.

func (*BigIP) RunCommand

func (b *BigIP) RunCommand(config *BigipCommand) (*BigipCommand, error)

func (*BigIP) SIPPersistenceProfiles

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

SIPPersistenceProfiles returns a list of sip persist profiles

func (*BigIP) SNMPs

func (b *BigIP) SNMPs() (*SNMP, error)

func (*BigIP) SSLPersistenceProfiles

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

SSLPersistenceProfiles returns a list of ssl persist profiles

func (*BigIP) SelfIP

func (b *BigIP) SelfIP(selfip string) (*SelfIP, error)

SelfIP returns a named Self IP.

func (*BigIP) SelfIPs

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

SelfIPs returns a list of self IP's.

func (*BigIP) ServerSSLProfiles

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

ServerSSLProfiles returns a list of server-ssl profiles.

func (*BigIP) SnatPools

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

SnatPools returns a list of snatpools.

func (*BigIP) Snatpools

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

Snats returns a list of snat

func (*BigIP) SourceAddrPersistenceProfiles

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

SourceAddrPersistenceProfiles returns a list of source-addr persist profiles

func (*BigIP) Syslogs

func (b *BigIP) Syslogs() (*Syslog, error)

func (*BigIP) TMPartitions

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

TMPartitions returns a list of partitions.

func (*BigIP) TRAPs

func (b *BigIP) TRAPs(name string) (*TRAP, error)

func (*BigIP) TenantDifference

func (b *BigIP) TenantDifference(slice1 []string, slice2 []string) string

func (*BigIP) Trunks

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

Trunks returns a list of trunks.

func (*BigIP) Tunnels

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

Tunnels returns a list of tunnels.

func (*BigIP) ULIC

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

Function to get the RegKey

func (*BigIP) ULICs

func (b *BigIP) ULICs() (*ULIC, error)

func (*BigIP) UniversalPersistenceProfiles

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

UniversalPersistenceProfiles returns a list of universal persist profiles

func (*BigIP) UpdateCertificate

func (b *BigIP) UpdateCertificate(certname, certpath, partition string) error

UpdateCertificate copies a certificate local disk to BIGIP

func (*BigIP) UpdateDevicegroup

func (b *BigIP) UpdateDevicegroup(name string, p *Devicegroup) error

func (*BigIP) UpdateGtmserver

func (b *BigIP) UpdateGtmserver(name string, p *Server) error

Update an existing policy.

func (*BigIP) UpdateIapp

func (b *BigIP) UpdateIapp(name string, p *Iapp) error

func (*BigIP) UpdateKey

func (b *BigIP) UpdateKey(keyname, keypath, partition string) error

UpdateKey copies a certificate key from local disk to BIGIP

func (*BigIP) UpdatePolicy

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

Update an existing policy.

func (*BigIP) UpdatePoolMembers

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

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

func (*BigIP) UpdateSnat

func (b *BigIP) UpdateSnat(name string, p *Snat) error

func (*BigIP) Upload

func (b *BigIP) Upload(r io.Reader, size int64, path ...string) (*Upload, error)

Upload a file read from a Reader

func (*BigIP) UploadBytes

func (b *BigIP) UploadBytes(data []byte, filename string) (*Upload, error)

Upload a file from a byte slice

func (*BigIP) UploadCertificate

func (b *BigIP) UploadCertificate(certname, certpath, partition string) error

UploadCertificate copies a certificate local disk to BIGIP

func (*BigIP) UploadFastTemplate

func (b *BigIP) UploadFastTemplate(tmplpath *os.File, tmplname string) error

UploadFastTemplate copies a template set from local disk to BIGIP

func (*BigIP) UploadFile

func (b *BigIP) UploadFile(f *os.File) (*Upload, error)

Upload a file

func (*BigIP) UploadKey

func (b *BigIP) UploadKey(keyname, keypath, partition string) error

UploadKey copies a certificate key from local disk to BIGIP

func (*BigIP) VirtualAddressStatus

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

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

VirtualAddresses returns a list of virtual addresses.

func (*BigIP) VirtualServerPolicyNames

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

Get the names of policies associated with a particular virtual server

func (*BigIP) VirtualServerProfiles

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

VirtualServerProfiles gets the profiles currently associated with a virtual server.

func (*BigIP) VirtualServers

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

VirtualServers returns a list of virtual servers.

func (*BigIP) Vlan

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

Vlan returns a named vlan.

func (*BigIP) Vlans

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

Vlans returns a list of vlans.

func (*BigIP) Vxlans

func (b *BigIP) Vxlans() ([]Vxlan, error)

Vxlans returns a list of vxlan profiles.

type BigipCmdResp

type BigipCmdResp struct {
	Code       int           `json:"code"`
	Message    string        `json:"message"`
	ErrorStack []interface{} `json:"errorStack"`
	APIError   int           `json:"apiError"`
}

type BigipCommand

type BigipCommand struct {
	Command       string `json:"command"`
	UtilCmdArgs   string `json:"utilCmdArgs"`
	CommandResult string `json:"commandResult,omitempty"`
}

type Bigiplicense

type Bigiplicense struct {
	Registration_key string `json:"registrationKey,omitempty"`
	Command          string `json:"command,omitempty"`
}

type Bigiplicenses

type Bigiplicenses struct {
	Bigiplicenses []Bigiplicense `json:"items"`
}

type BigiqAs3AllTaskType

type BigiqAs3AllTaskType struct {
	Items []BigiqAs3TaskType `json:"items,omitempty"`
}

type BigiqAs3TaskType

type BigiqAs3TaskType struct {
	Code int64 `json:"code,omitempty"`
	//ID string `json:"id,omitempty"`
	//Declaration struct{} `json:"declaration,omitempty"`
	Results []BigiqResults `json:"results,omitempty"`
}

type BigiqDevice

type BigiqDevice struct {
	Address  string `json:"address"`
	Username string `json:"username"`
	Password string `json:"password"`
	Port     int    `json:"port,omitempty"`
}

type BigiqResults

type BigiqResults struct {
	Code    int64  `json:"code,omitempty"`
	Message string `json:"message,omitempty"`
	//      LineCount int64  `json:"lineCount,omitempty"`
	Host    string `json:"host,omitempty"`
	Tenant  string `json:"tenant,omitempty"`
	RunTime int64  `json:"runTime,omitempty"`
}

type Certificate

type Certificate struct {
	AppService              string `json:"appService,omitempty"`
	CachePath               string `json:"cachePath,omitempty"`
	CertificateKeyCurveName string `json:"certificateKeyCurveName,omitempty"`
	CertificateKeySize      int    `json:"certificateKeySize,omitempty"`
	CertValidationOptions   string `json:"certValidationOptions,omitempty"`
	Checksum                string `json:"checksum,omitempty"`
	CreatedBy               string `json:"createdBy,omitempty"`
	CreateTime              string `json:"createTime,omitempty"`
	Email                   string `json:"email,omitempty"`
	ExpirationDate          int    `json:"expirationDate,omitempty"`
	ExpirationString        string `json:"expirationString,omitempty"`
	Fingerprint             string `json:"fingerprint,omitempty"`
	FullPath                string `json:"fullPath,omitempty"`
	Generation              int    `json:"generation,omitempty"`
	IsBundle                string `json:"isBundle,omitempty"`
	IsDynamic               string `json:"isDynamic,omitempty"`
	Issuer                  string `json:"issuer,omitempty"`
	IssuerCert              string `json:"issuerCert,omitempty"`
	KeyType                 string `json:"keyType,omitempty"`
	LastUpdateTime          string `json:"lastUpdateTime,omitempty"`
	Mode                    int    `json:"mode,omitempty"`
	Name                    string `json:"name,omitempty"`
	Partition               string `json:"partition,omitempty"`
	Revision                int    `json:"revision,omitempty"`
	SerialNumber            string `json:"serialNumber,omitempty"`
	Size                    uint64 `json:"size,omitempty"`
	SourcePath              string `json:"sourcePath,omitempty"`
	Subject                 string `json:"subject,omitempty"`
	SubjectAlternativeName  string `json:"subjectAlternativeName,omitempty"`
	SystemPath              string `json:"systemPath,omitempty"`
	UpdatedBy               string `json:"updatedBy,omitempty"`
	Version                 int    `json:"version,omitempty"`
}

Certificate represents an SSL Certificate.

type Certificates

type Certificates struct {
	Certificates []Certificate `json:"items,omitempty"`
}

Certificates represents a list of installed SSL certificates.

type ClientSSLProfile

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"`
	C3dClientFallbackCert    string `json:"c3dClientFallbackCert,omitempty"`
	C3dDropUnknownOcspStatus string `json:"c3dDropUnknownOcspStatus,omitempty"`
	C3dOcsp                  string `json:"c3dOcsp,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                       interface{} `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"`
	SslC3d                          string      `json:"sslC3d,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

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

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

type ConfigOptions

type ConfigOptions struct {
	APICallTimeout time.Duration
}

type CookiePersistenceProfile

type CookiePersistenceProfile struct {
	PersistenceProfile
	AlwaysSend                 string `json:"alwaysSend,omitempty"`
	CookieEncryption           string `json:"cookieEncryption,omitempty"`
	CookieEncryptionPassphrase string `json:"cookieEncryptionPassphrase,omitempty"`
	CookieName                 string `json:"cookieName,omitempty"`
	Expiration                 string `json:"expiration,omitempty"`
	HashLength                 int    `json:"hashLength,omitempty"`
	HashOffset                 int    `json:"hashOffset,omitempty"`
	HTTPOnly                   string `json:"httponly,omitempty"`
	Method                     string `json:"method,omitempty"`
	Secure                     string `json:"secure,omitempty"`
}

CookiePersistenceProfile Defines a single cookie profile

type CookiePersistenceProfiles

type CookiePersistenceProfiles struct {
	CookiePersistenceProfiles []CookiePersistenceProfile `json:"items"`
}

CookiePersistenceProfiles contains a list of all cookies profiles

type DNS

type DNS struct {
	Description  string   `json:"description,omitempty"`
	NameServers  []string `json:"nameServers,omitempty"`
	NumberOfDots int      `json:"numberOfDots,omitempty"`
	Search       []string `json:"search,omitempty"`
}

type DNSs

type DNSs struct {
	DNSs []DNS `json:"items"`
}

type DataGroup

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

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

func (*DataGroup) UnmarshalJSON

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

type DataGroupRecord

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

type DataGroups

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

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

type Datacenter

type Datacenter struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	Contact     string `json:"contact,omitempty"`
	App_service string `json:"appService,omitempty"`
	Disabled    bool   `json:"disabled,omitempty"`
	Enabled     bool   `json:"enabled,omitempty"`
	Prober_pool string `json:"proberPool,omitempty"`
}

type Datacenters

type Datacenters struct {
	Datacenters []Datacenter `json:"items"`
}

type Datagroup

type Datagroup struct {
	Name    string
	Type    string
	Records []Records
}

func (*Datagroup) MarshalJSON

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

func (*Datagroup) UnmarshalJSON

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

type DatagroupDTO

type DatagroupDTO struct {
	Name    string `json:"name,omitempty"`
	Type    string `json:"type,omitempty"`
	Records struct {
		Items []Records `json:"items,omitempty"`
	} `json:"records,omitempty"`
}

type Datagroups

type Datagroups struct {
	Datagroups []Datagroup `json:"items"`
}

type DestAddrPersistenceProfile

type DestAddrPersistenceProfile struct {
	PersistenceProfile
	HashAlgorithm string `json:"hashAlgorithm,omitempty"`
	Mask          string `json:"mask,omitempty"`
}

DestAddrPersistenceProfile Defines a single dest-addr profile

type DestAddrPersistenceProfiles

type DestAddrPersistenceProfiles struct {
	DestAddrPersistenceProfiles []DestAddrPersistenceProfile `json:"items"`
}

DestAddrPersistenceProfiles contains a list of all dest-addr profiles

type Destinations

type Destinations struct {
	Name      string `json:"name,omitempty"`
	Partition string `json:"partition,omitempty"`
}

type Device

type Device struct {
	Name               string   `json:"name,omitempty"`
	MirrorIp           string   `json:"mirrorIp,omitempty"`
	MirrorSecondaryIp  string   `json:"mirrorSecondaryIp,omitempty"`
	ActiveModules      []string `json:"activeModules,omitempty"`
	AppService         string   `json:"appService,omitempty"`
	BaseMac            string   `json:"baseMac,omitempty"`
	Build              string   `json:"build,omitempty"`
	Cert               string   `json:"cert,omitempty"`
	ChassisID          string   `json:"chassisId,omitempty"`
	ChassisType        string   `json:"chassisType,omitempty"`
	ConfigsyncIp       string   `json:"configsyncIp,omitempty"`
	Comment            string   `json:"comment,omitempty"`
	Contact            string   `json:"contact,omitempty"`
	Description        string   `json:"description,omitempty"`
	Edition            string   `json:"edition,omitempty"`
	FailoverState      string   `json:"failoverState,omitempty"`
	HaCapacity         int      `json:"haCapacity,omitempty"`
	Hostname           string   `json:"hostname,omitempty"`
	InactiveModules    string   `json:"inactiveModules,omitempty"`
	Key                string   `json:"key,omitempty"`
	Location           string   `json:"location,omitempty"`
	ManagementIP       string   `json:"managementIp,omitempty"`
	MarketingName      string   `json:"marketingName,omitempty"`
	MulticastInterface string   `json:"multicastInterface,omitempty"`
	MulticastIP        string   `json:"multicastIp,omitempty"`
	MulticastPort      int      `json:"multicastPort,omitempty"`
	OptionalModules    []string `json:"optionalModules,omitempty"`
	Partition          string   `json:"partition,omitempty"`
	PlatformID         string   `json:"platformId,omitempty"`
	Product            string   `json:"product,omitempty"`
	SelfDevice         string   `json:"selfDevice,omitempty"`
	TimeLimitedModules []string `json:"timeLimitedModules,omitempty"`
	TimeZone           string   `json:"timeZone,omitempty"`
	Version            string   `json:"version,omitempty"`
	UnicastAddress     []UnicastAddress
}

Device represents an individual bigip as viewed from the cluster see: https://devcentral.f5.com/Wiki/iControlREST.APIRef_tm_cm_device.ashx

type DeviceRef

type DeviceRef struct {
	Link string `json:"link"`
}

type Devicegroup

type Devicegroup struct {
	AutoSync                     string
	Name                         string
	Partition                    string
	Description                  string
	Type                         string
	FullLoadOnSync               string
	SaveOnAutoSync               string
	NetworkFailover              string
	IncrementalConfigSyncSizeMax int
	Deviceb                      []Devicerecord
}

func (*Devicegroup) MarshalJSON

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

func (*Devicegroup) UnmarshalJSON

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

type Devicegroups

type Devicegroups struct {
	Devicegroups []Devicegroup `json:"items"`
}

type Devicename

type Devicename struct {
	Command string `json:"command,omitempty"`
	Name    string `json:"name,omitempty"`
	Target  string `json:"target,omitempty"`
}

type Devicenames

type Devicenames struct {
	Devicenames []Devicename `json:"items"`
}

type Devicerecord

type Devicerecord struct {
	SetSyncLeader bool   `json:"setSyncLeader"`
	Name          string `json:"name"`
}

type Devicerecords

type Devicerecords struct {
	Items []Devicerecord `json:"items,omitempty"`
}

type Devices

type Devices struct {
	Devices []Device `json:"items"`
}

type FastPayload

type FastPayload struct {
	Name       string                 `json:"name,omitempty"`
	Parameters map[string]interface{} `json:"parameters,omitempty"`
}

type FastTask

type FastTask struct {
	Id          string                 `json:"id,omitempty"`
	Code        int64                  `json:"code,omitempty"`
	Message     string                 `json:"message,omitempty"`
	Tenant      string                 `json:"tenant,omitempty"`
	Parameters  map[string]interface{} `json:"parameters,omitempty"`
	Application string                 `json:"application,omitempty"`
	Operation   string                 `json:"operation,omitempty"`
}

type FastTemplateSet

type FastTemplateSet struct {
	Name            string        `json:"name,omitempty"`
	Hash            string        `json:"hash,omitempty"`
	Supported       bool          `json:"supported,omitempty"`
	Templates       []TmplArrType `json:"templates,omitempty"`
	Schemas         []TmplArrType `json:"schemas,omitempty"`
	Enabled         bool          `json:"enabled,omitempty"`
	UpdateAvailable bool          `json:"updateAvailable,omitempty"`
}

type Fasthttp

type Fasthttp struct {
	Name                        string
	DefaultsFrom                string
	IdleTimeout                 int
	ConnpoolIdleTimeoutOverride int
	ConnpoolMaxReuse            int
	ConnpoolMaxSize             int
	ConnpoolMinSize             int
	ConnpoolReplenish           string
	ConnpoolStep                int
	ForceHttp_10Response        string
	MaxHeaderSize               int
}

func (*Fasthttp) MarshalJSON

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

func (*Fasthttp) UnmarshalJSON

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

type Fasthttps

type Fasthttps struct {
	Fasthttps []Fasthttp `json:"items"`
}

type Fastl4

type Fastl4 struct {
	Name                  string
	Partition             string
	DefaultsFrom          string
	ExplicitFlowMigration string
	HardwareSynCookie     string
	IdleTimeout           string
	ClientTimeout         int
	IpTosToClient         string
	IpTosToServer         string
	KeepAliveInterval     string
}

func (*Fastl4) MarshalJSON

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

func (*Fastl4) UnmarshalJSON

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

type Fastl4s

type Fastl4s struct {
	Fastl4s []Fastl4 `json:"items"`
}

type Gtmmonitor

type Gtmmonitor struct {
	Name          string `json:"name,omitempty"`
	Defaults_from string `json:"defaultsFrom,omitempty"`
	Interval      int    `json:"interval,omitempty"`
	Probe_timeout int    `json:"probeTimeout,omitempty"`
	Recv          string `json:"recv,omitempty"`
	Send          string `json:"send,omitempty"`
}

type Gtmmonitors

type Gtmmonitors struct {
	Gtmmonitors []Gtmmonitor `json:"items"`
}

type HashPersistenceProfile

type HashPersistenceProfile struct {
	PersistenceProfile
	HashAlgorithm    string `json:"hashAlgorithm,omitempty"`
	HashBufferLimit  int    `json:"hashBufferLimit,omitempty"`
	HashEndPattern   int    `json:"hashEndPattern,omitempty"`
	HashLength       int    `json:"hashLength,omitempty"`
	HashOffset       int    `json:"hashOffset,omitempty"`
	HashStartPattern int    `json:"hashStartPattern,omitempty"`
}

HashPersistenceProfile Defines a single hash profile

type HashPersistenceProfiles

type HashPersistenceProfiles struct {
	HashPersistenceProfiles []HashPersistenceProfile `json:"items"`
}

HashPersistenceProfiles contains a list of all hash profiles

type HostPersistenceProfile

type HostPersistenceProfile struct {
	PersistenceProfile
}

HostPersistenceProfile Defines a single host profile

type HostPersistenceProfiles

type HostPersistenceProfiles struct {
	HostPersistenceProfiles []HostPersistenceProfile `json:"items"`
}

HostPersistenceProfiles contains a list of all host profiles

type Http2

type Http2 struct {
	Name                           string
	FullPath                       string
	DefaultsFrom                   string
	ConcurrentStreamsPerConnection int
	ConnectionIdleTimeout          int
	HeaderTableSize                int
	ActivationModes                []string
	EnforceTLSRequirements         string
	FrameSize                      int
	IncludeContentLength           string
	InsertHeader                   string
	InsertHeaderName               string
	ReceiveWindow                  int
	WriteSize                      int
}

func (*Http2) MarshalJSON

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

func (*Http2) UnmarshalJSON

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

type Http2s

type Http2s struct {
	Http2s []Http2 `json:"items"`
}

type HttpCompressionProfile

type HttpCompressionProfile struct {
	AllowHttp_10       string   `json:"allowHttp_10,omitempty"`
	AppService         string   `json:"appService,omitempty"`
	BrowserWorkarounds string   `json:"browserWorkarounds,omitempty"`
	BufferSize         int      `json:"bufferSize,omitempty"`
	ContentTypeExclude []string `json:"contentTypeExclude,omitempty"`
	ContentTypeInclude []string `json:"contentTypeInclude,omitempty"`
	CpuSaver           string   `json:"cpuSaver,omitempty"`
	CpuSaverHigh       int      `json:"cpuSaverHigh,omitempty"`
	CpuSaverLow        int      `json:"cpuSaverLow,omitempty"`
	DefaultsFrom       string   `json:"defaultsFrom,omitempty"`
	Description        string   `json:"description,omitempty"`
	GzipLevel          int      `json:"gzipLevel,omitempty"`
	GzipMemoryLevel    int      `json:"gzipMemoryLevel,omitempty"`
	GzipWindowSize     int      `json:"gzipWindowSize,omitempty"`
	KeepAcceptEncoding string   `json:"keepAcceptEncoding,omitempty"`
	MethodPrefer       string   `json:"methodPrefer,omitempty"`
	MinSize            int      `json:"minSize,omitempty"`
	Name               string   `json:"name,omitempty"`
	TmPartition        string   `json:"tmPartition,omitempty"`
	Selective          string   `json:"selective,omitempty"`
	UriExclude         []string `json:"uriExclude,omitempty"`
	UriInclude         []string `json:"uriInclude,omitempty"`
	VaryHeader         string   `json:"varyHeader,omitempty"`
}

type HttpCompressionProfiles

type HttpCompressionProfiles struct {
	HttpCompressionProfiles []HttpCompressionProfile `json:"items"`
}

type HttpProfile

type HttpProfile struct {
	AcceptXff                 string   `json:"acceptXff,omitempty"`
	AppService                string   `json:"appService,omitempty"`
	BasicAuthRealm            string   `json:"basicAuthRealm,omitempty"`
	DefaultsFrom              string   `json:"defaultsFrom,omitempty"`
	Description               string   `json:"description,omitempty"`
	EncryptCookieSecret       string   `json:"encryptCookieSecret,omitempty"`
	EncryptCookies            []string `json:"encryptCookies,omitempty"`
	FallbackHost              string   `json:"fallbackHost,omitempty"`
	FallbackStatusCodes       []string `json:"fallbackStatusCodes,omitempty"`
	HeaderErase               string   `json:"headerErase,omitempty"`
	HeaderInsert              string   `json:"headerInsert,omitempty"`
	InsertXforwardedFor       string   `json:"insertXforwardedFor,omitempty"`
	LwsSeparator              string   `json:"lwsSeparator,omitempty"`
	LwsWidth                  int      `json:"lwsWidth,omitempty"`
	Name                      string   `json:"name,omitempty"`
	OneconnectTransformations string   `json:"oneconnectTransformations,omitempty"`
	TmPartition               string   `json:"tmPartition,omitempty"`
	ProxyType                 string   `json:"proxyType,omitempty"`
	RedirectRewrite           string   `json:"redirectRewrite,omitempty"`
	RequestChunking           string   `json:"requestChunking,omitempty"`
	ResponseChunking          string   `json:"responseChunking,omitempty"`
	ResponseHeadersPermitted  []string `json:"responseHeadersPermitted,omitempty"`
	ServerAgentName           string   `json:"serverAgentName,omitempty"`
	ViaHostName               string   `json:"viaHostName,omitempty"`
	ViaRequest                string   `json:"viaRequest,omitempty"`
	ViaResponse               string   `json:"viaResponse,omitempty"`
	XffAlternativeNames       []string `json:"xffAlternativeNames,omitempty"`
}

type HttpProfiles

type HttpProfiles struct {
	HttpProfiles []HttpProfile `json:"items"`
}

type Httpcompress

type Httpcompress struct {
	Name               string
	DefaultsFrom       string
	UriExclude         []string
	UriInclude         []string
	ContentTypeInclude []string
	ContentTypeExclude []string
}

func (*Httpcompress) MarshalJSON

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

func (*Httpcompress) UnmarshalJSON

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

type Httpcompresss

type Httpcompresss struct {
	Httpcompresss []Httpcompress `json:"items"`
}

type IPSecPolicy

type IPSecPolicy struct {
	Name                           string `json:"name,omitempty"`
	FullPath                       string `json:"fullPath,omitempty"`
	Description                    string `json:"description,omitempty"`
	IkePhase2AuthAlgorithm         string `json:"ikePhase2AuthAlgorithm,omitempty"`
	IkePhase2EncryptAlgorithm      string `json:"ikePhase2EncryptAlgorithm,omitempty"`
	IkePhase2Lifetime              int    `json:"ikePhase2Lifetime,omitempty"`
	IkePhase2LifetimeKilobytes     int    `json:"ikePhase2LifetimeKilobytes,omitempty"`
	IkePhase2PerfectForwardSecrecy string `json:"ikePhase2PerfectForwardSecrecy,omitempty"`
	Ipcomp                         string `json:"ipcomp,omitempty"`
	Mode                           string `json:"mode,omitempty"`
	Protocol                       string `json:"protocol,omitempty"`
	TunnelLocalAddress             string `json:"tunnelLocalAddress,omitempty"`
	TunnelRemoteAddress            string `json:"tunnelRemoteAddress,omitempty"`
}

type IRule

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

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

type Iapp

type Iapp struct {
	Name                       string `json:"name,omitempty"`
	Partition                  string `json:"partition,omitempty"`
	Description                string `json:"description,omitempty"`
	DeviceGroup                string `json:"deviceGroup,omitempty"`
	ExecuteAction              string `json:"execute-action,omitempty"`
	InheritedDevicegroup       string `json:"inheritedDevicegroup,omitempty"`
	InheritedTrafficGroup      string `json:"inheritedTrafficGroup,omitempty"`
	StrictUpdates              string `json:"strictUpdates,omitempty"`
	Template                   string `json:"template,omitempty"`
	TemplateModified           string `json:"templateModified,omitempty"`
	TemplatePrerequisiteErrors string `json:"templatePrerequisiteErrors,omitempty"`
	TrafficGroup               string `json:"trafficGroup,omitempty"`
	Jsonfile                   string `json:"apiAnonymous,omitempty"`
	Tables                     []struct {
		ColumnNames []string `json:"columnNames"`
		Name        string   `json:"name"`
		Rows        []struct {
			Row []string `json:"row"`
		} `json:"rows"`
	} `json:"tables,omitempty"`

	Lists []struct {
		Name      string   `json:"name"`
		Encrypted string   `json:"encrypted"`
		Value     []string `json:"value"`
	} `json:"lists,omitempty"`

	Variables []struct {
		Encrypted string `json:"encrypted"`
		Name      string `json:"name"`
		Value     string `json:"value"`
	} `json:"variables,omitempty"`

	Metadata []struct {
		Persist string `json:"persist"`
		Value   string `json:"value"`
	} `json:"metadata,omitempty"`
}

type Iapps

type Iapps struct {
	Iapps []Iapp `json:"items"`
}

type IkePeer

type IkePeer struct {
	Name                        string   `json:"name,omitempty"`
	FullPath                    string   `json:"fullPath,omitempty"`
	AppService                  string   `json:"appService,omitempty"`
	CaCertFile                  string   `json:"caCertFile,omitempty"`
	CrlFile                     string   `json:"crlFile,omitempty"`
	DpdDelay                    int      `json:"dpdDelay,omitempty"`
	Lifetime                    int      `json:"lifetime,omitempty"`
	Description                 string   `json:"description,omitempty"`
	GeneratePolicy              string   `json:"generatePolicy,omitempty"`
	Mode                        string   `json:"mode,omitempty"`
	MyCertFile                  string   `json:"myCertFile,omitempty"`
	MyCertKeyFile               string   `json:"myCertKeyFile,omitempty"`
	MyCertKeyPassphrase         string   `json:"myCertKeyPassphrase,omitempty"`
	MyIdType                    string   `json:"myIdType,omitempty"`
	MyIdValue                   string   `json:"myIdValue,omitempty"`
	NatTraversal                string   `json:"natTraversal,omitempty"`
	Passive                     string   `json:"passive,omitempty"`
	PeersCertFile               string   `json:"peersCertFile,omitempty"`
	PeersCertType               string   `json:"peersCertType,omitempty"`
	PeersIdType                 string   `json:"peersIdType,omitempty"`
	PeersIdValue                string   `json:"peersIdValue,omitempty"`
	Phase1AuthMethod            string   `json:"phase1AuthMethod,omitempty"`
	Phase1EncryptAlgorithm      string   `json:"phase1EncryptAlgorithm,omitempty"`
	Phase1HashAlgorithm         string   `json:"phase1HashAlgorithm,omitempty"`
	Phase1PerfectForwardSecrecy string   `json:"phase1PerfectForwardSecrecy,omitempty"`
	PresharedKey                string   `json:"presharedKey,omitempty"`
	PresharedKeyEncrypted       string   `json:"presharedKeyEncrypted,omitempty"`
	Prf                         string   `json:"prf,omitempty"`
	ProxySupport                string   `json:"proxySupport,omitempty"`
	RemoteAddress               string   `json:"remoteAddress,omitempty"`
	ReplayWindowSize            int      `json:"replayWindowSize,omitempty"`
	State                       string   `json:"state,omitempty"`
	TrafficSelector             []string `json:"trafficSelector,omitempty"`
	//TrafficSelector             string   `json:"trafficSelector,omitempty"`
	VerifyCert string   `json:"verifyCert,omitempty"`
	Version    []string `json:"version,omitempty"`
}

type Interface

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

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

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

type Key

type Key struct {
	AppService     string `json:"appService,omitempty"`
	CachePath      string `json:"cachePath,omitempty"`
	Checksum       string `json:"checksum,omitempty"`
	CreatedBy      string `json:"createdBy,omitempty"`
	CreateTime     string `json:"createTime,omitempty"`
	CurveName      string `json:"curveName,omitempty"`
	FullPath       string `json:"fullPath,omitempty"`
	Generation     int    `json:"generation,omitempty"`
	IsDynamic      string `json:"isDynamic,omitempty"`
	KeySize        int    `json:"keySize,omitempty"`
	KeyType        string `json:"keyType,omitempty"`
	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
	Mode           int    `json:"mode,omitempty"`
	Name           string `json:"name,omitempty"`
	Partition      string `json:"partition,omitempty"`
	Passphrase     string `json:"passphrase,omitempty"`
	Revision       int    `json:"revision,omitempty"`
	SecurityType   string `json:"securityType,omitempty"`
	Size           uint64 `json:"size,omitempty"`
	SourcePath     string `json:"sourcePath,omitempty"`
	SystemPath     string `json:"systemPath,omitempty"`
	UpdatedBy      string `json:"updatedBy,omitempty"`
}

Key represents a private key associated with a certificate.

type Keys

type Keys struct {
	Keys []Key `json:"items,omitempty"`
}

Keys represents a list of installed keys.

type LIC

type LIC struct {
	DeviceAddress string
	Username      string
	Password      string
}

VirtualAddress contains information about each individual virtual address.

func (*LIC) MarshalJSON

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

func (*LIC) UnmarshalJSON

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

type LICDTO

type LICDTO struct {
	DeviceAddress string `json:"deviceAddress,omitempty"`
	Username      string `json:"username,omitempty"`
	Password      string `json:"password,omitempty"`
}

type LICs

type LICs struct {
	LIC []LIC `json:"items"`
}

LIC contains device license for BIG-IP system.

type LicenseParam

type LicenseParam struct {
	Address         string `json:"address,omitempty"`
	Port            int    `json:"port,omitempty"`
	AssignmentType  string `json:"assignmentType,omitempty"`
	Command         string `json:"command,omitempty"`
	Hypervisor      string `json:"hypervisor,omitempty"`
	LicensePoolName string `json:"licensePoolName,omitempty"`
	MacAddress      string `json:"macAddress,omitempty"`
	Password        string `json:"password,omitempty"`
	SkuKeyword1     string `json:"skuKeyword1,omitempty"`
	SkuKeyword2     string `json:"skuKeyword2,omitempty"`
	Tenant          string `json:"tenant,omitempty"`
	UnitOfMeasure   string `json:"unitOfMeasure,omitempty"`
	User            string `json:"user,omitempty"`
}

type LicensePool

type LicensePool struct {
	Items []struct {
		Uuid string `json:"Uuid,omitempty"`
	}
}

type LicensePools

type LicensePools struct {
	LicensePool []LicensePool `json:"items"`
}

type LogIPFIX

type LogIPFIX struct {
	AppService                 string `json:"appService,omitempty"`
	Name                       string `json:"name,omitempty"`
	PoolName                   string `json:"poolName,omitempty"`
	ProtocolVersion            string `json:"protocolVersion,omitempty"`
	ServersslProfile           string `json:"serversslProfile,omitempty"`
	TemplateDeleteDelay        int    `json:"templateDeleteDelay,omitempty"`
	TemplateRetransmitInterval int    `json:"templateRetransmitInterval,omitempty"`
	TransportProfile           string `json:"transportProfile,omitempty"`
}

type LogIPFIXs

type LogIPFIXs struct {
	LogIPFIXs []LogIPFIX `json:"items"`
}

type LogPublisher

type LogPublisher struct {
	Name  string `json:"name,omitempty"`
	Dests []Destinations
}

func (*LogPublisher) MarshalJSON

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

func (*LogPublisher) UnmarshalJSON

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

type LogPublishers

type LogPublishers struct {
	LogPublishers []LogPublisher `json:"items"`
}

type MSRDPPersistenceProfile

type MSRDPPersistenceProfile struct {
	PersistenceProfile
	HasSessionDir string `json:"hasSessionDir,omitempty"`
}

MSRDPPersistenceProfile Defines a single msrdp profile

type MSRDPPersistenceProfiles

type MSRDPPersistenceProfiles struct {
	MSRDPPersistenceProfiles []MSRDPPersistenceProfile `json:"items"`
}

MSRDPPersistenceProfiles contains a list of all msrdp profiles

type ManagedDevice

type ManagedDevice struct {
	DeviceReference DeviceRef `json:"deviceReference"`
}

type MembersList

type MembersList struct {
	Members []memberDetail `json:"items"`
}

type Monitor

type Monitor struct {
	Name      string
	Partition string
	//DefaultsFrom   string
	FullPath       string
	Generation     int
	ParentMonitor  string
	Description    string
	Destination    string
	Interval       int
	IPDSCP         int
	ManualResume   string
	Password       string
	ReceiveString  string
	ReceiveDisable string
	Reverse        string
	SendString     string
	TimeUntilUp    int
	Timeout        int
	Transparent    string
	UpInterval     int
	Username       string
	Compatibility  string
	Filename       string
	Mode           string
	Adaptive       string
	AdaptiveLimit  int
	Database       string
}

Monitor contains information about each individual monitor.

func (*Monitor) MarshalJSON

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

func (*Monitor) UnmarshalJSON

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

type Monitors

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

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

type NTP

type NTP struct {
	Description string   `json:"description,omitempty"`
	Servers     []string `json:"servers,omitempty"`
	Timezone    string   `json:"timezone,omitempty"`
}

type NTPs

type NTPs struct {
	NTPs []NTP `json:"items"`
}

type Node

type Node struct {
	Name            string `json:"name,omitempty"`
	Partition       string `json:"partition,omitempty"`
	FullPath        string `json:"fullPath,omitempty"`
	Description     string `json:"description,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"`
	FQDN            struct {
		AddressFamily string `json:"addressFamily,omitempty"`
		AutoPopulate  string `json:"autopopulate,omitempty"`
		DownInterval  int    `json:"downInterval,omitempty"`
		Interval      string `json:"interval,omitempty"`
		Name          string `json:"tmName,omitempty"`
	} `json:"fqdn,omitempty"`
}

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

type Nodes

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

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

type Oneconnect

type Oneconnect struct {
	Name                string
	Partition           string
	DefaultsFrom        string
	IdleTimeoutOverride string
	LimitType           string
	MaxAge              int
	MaxReuse            int
	MaxSize             int
	SourceMask          string
	SharePools          string
}

func (*Oneconnect) MarshalJSON

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

func (*Oneconnect) UnmarshalJSON

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

type OneconnectProfile

type OneconnectProfile struct {
	AppService          string `json:"appService,omitempty"`
	DefaultsFrom        string `json:"defaultsFrom,omitempty"`
	Description         string `json:"description,omitempty"`
	IdleTimeoutOverride string `json:"idleTimeoutOverride,omitempty"`
	LimitType           string `json:"limitType,omitempty"`
	MaxAge              int    `json:"maxAge,omitempty"`
	MaxReuse            int    `json:"maxReuse,omitempty"`
	MaxSize             int    `json:"maxSize,omitempty"`
	Name                string `json:"name,omitempty"`
	TmPartition         string `json:"tmPartition,omitempty"`
	SharePools          string `json:"sharePools,omitempty"`
	SourceMask          string `json:"sourceMask,omitempty"`
}

type OneconnectProfiles

type OneconnectProfiles struct {
	OneconnectProfiles []OneconnectProfile `json:"items"`
}

type Oneconnects

type Oneconnects struct {
	Oneconnects []Oneconnect `json:"items"`
}

type Originsrecord

type Originsrecord struct {
	Name string `json:"name"`
	// contains filtered or unexported fields
}

type Originsrecords

type Originsrecords struct {
	Items []Originsrecord `json:"items,omitempty"`
}

type PersistenceProfile

type PersistenceProfile struct {
	AppService              string `json:"appService,omitempty"`
	DefaultsFrom            string `json:"defaultsFrom,omitempty"`
	Description             string `json:"description,omitempty"`
	FullPath                string `json:"fullPath,omitempty"`
	MatchAcrossPools        string `json:"matchAcrossPools,omitempty"`
	MatchAcrossServices     string `json:"matchAcrossServices,omitempty"`
	MatchAcrossVirtuals     string `json:"matchAcrossVirtuals,omitempty"`
	Method                  string `json:"method,omitempty"`
	Mirror                  string `json:"mirror,omitempty"`
	Mode                    string `json:"mode,omitempty"`
	Name                    string `json:"name,omitempty"`
	OverrideConnectionLimit string `json:"overrideConnectionLimit,omitempty"`
	Partition               string `json:"partition,omitempty"`
	TmPartition             string `json:"tmPartition,omitempty"`
	Timeout                 string `json:"timeout,omitempty"`
}

PersistenceProfile is a base for all persistence profiles

type PersistenceProfiles

type PersistenceProfiles struct {
	PersistenceProfiles []PersistenceProfile `json:"items"`
}

PersistenceProfiles contains of list of persistence profiles

type Policies

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

type Policy

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

func (*Policy) MarshalJSON

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

func (*Policy) UnmarshalJSON

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

type PolicyPublish

type PolicyPublish struct {
	Name    string
	Command string
}

func (*PolicyPublish) MarshalJSON

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

func (*PolicyPublish) UnmarshalJSON

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

type PolicyPublishDTO

type PolicyPublishDTO struct {
	Name    string `json:"name"`
	Command string `json:"command"`
}

type PolicyRule

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

func (*PolicyRule) MarshalJSON

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

func (*PolicyRule) UnmarshalJSON

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

type PolicyRuleAction

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"`
	Connection         bool   `json:"connection,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"`
	Shutdown           bool   `json:"shutdown,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

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

type PolicyRuleCondition

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

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

type PolicyRules

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

type Pool

type Pool struct {
	Name                   string `json:"name,omitempty"`
	Partition              string `json:"partition,omitempty"`
	FullPath               string `json:"fullPath,omitempty"`
	Description            string `json:"description,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"`
	ServiceDownAction      string `json:"serviceDownAction,omitempty"`
	SlowRampTime           int    `json:"slowRampTime"`
}

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

func (*Pool) MarshalJSON

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

func (*Pool) UnmarshalJSON

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

type PoolMember

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"`
	FQDN            struct {
		AddressFamily string `json:"addressFamily,omitempty"`
		AutoPopulate  string `json:"autopopulate,omitempty"`
		DownInterval  int    `json:"downInterval,omitempty"`
		Interval      string `json:"interval,omitempty"`
		Name          string `json:"tmName,omitempty"`
	} `json:"fqdn,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 PoolMemberFqdn

type PoolMemberFqdn struct {
	Name string `json:"name"`
	FQDN struct {
		AddressFamily string `json:"addressFamily,omitempty"`
		AutoPopulate  string `json:"autopopulate,omitempty"`
		DownInterval  int    `json:"downInterval,omitempty"`
		Interval      string `json:"interval,omitempty"`
		Name          string `json:"tmName,omitempty"`
	} `json:"fqdn,omitempty"`
}

type PoolMembers

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

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

type Pool_a

type Pool_a struct {
	Name                 string   `json:"name,omitempty"`
	Monitor              string   `json:"monitor,omitempty"`
	Load_balancing_mode  string   `json:"load_balancing_mode,omitempty"`
	Max_answers_returned int      `json:"max_answers_returned,omitempty"`
	Alternate_mode       string   `json:"alternate_mode,omitempty"`
	Fallback_ip          string   `json:"fallback_ip,omitempty"`
	Fallback_mode        string   `json:"fallback_mode,omitempty"`
	Members              []string `json:"members,omitempty"`
}

type Pool_as

type Pool_as struct {
	Pool_as []Pool_a `json:"items"`
}

type Pools

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

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

type Profile

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

type Profiles

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

type Provision

type Provision struct {
	Name        string `json:"name,omitempty"`
	FullPath    string `json:"fullPath,omitempty"`
	CpuRatio    int    `json:"cpuRatio,omitempty"`
	DiskRatio   int    `json:"diskRatio,omitempty"`
	Level       string `json:"level,omitempty"`
	MemoryRatio int    `json:"memoryRatio,omitempty"`
}

type Provisions

type Provisions struct {
	Provisions []Provision `json:"items"`
}

type Records

type Records struct {
	Name string
	Data string
}

func (*Records) MarshalJSON

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

func (*Records) UnmarshalJSON

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

type RecordsDTO

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

type Recordss

type Recordss struct {
	Recordss []Records `json:"items"`
}

type RemoteServer

type RemoteServer struct {
	Name       string `json:"name,omitempty"`
	Host       string `json:"host,omitempty"`
	RemotePort int    `json:"remotePort,omitempty"`
}

func (*RemoteServer) MarshalJSON

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

func (*RemoteServer) UnmarshalJSON

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

type RequestError

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

func (r *RequestError) Error() error

Error returns the error message.

type Results1

type Results1 struct {
	Code      int64  `json:"code,omitempty"`
	Message   string `json:"message,omitempty"`
	LineCount int64  `json:"lineCount,omitempty"`
	Host      string `json:"host,omitempty"`
	Tenant    string `json:"tenant,omitempty"`
	RunTime   int64  `json:"runTime,omitempty"`
}

type Route

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"`
	TmInterface string `json:"tmInterface,omitempty"`
	Blackhole   bool   `json:"blackhole,omitempty"`
	//TmInterfaceReference struct {
	//      Link string `json:"link"`
	//} `json:"tmInterfaceReference,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

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

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

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

type Routes

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

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

type SIPPersistenceProfile

type SIPPersistenceProfile struct {
	PersistenceProfile
	SIPInfo string `json:"sipInfo,omitempty"`
}

SIPPersistenceProfile Defines a single sip profile

type SIPPersistenceProfiles

type SIPPersistenceProfiles struct {
	SIPPersistenceProfiles []SIPPersistenceProfile `json:"items"`
}

SIPPersistenceProfiles contains a list of all sip profiles

type SNMP

type SNMP struct {
	SysContact       string   `json:"sysContact,omitempty"`
	SysLocation      string   `json:"sysLocation,omitempty"`
	AllowedAddresses []string `json:"allowedAddresses,omitempty"`
}

type SNMPs

type SNMPs struct {
	SNMPs []SNMP `json:"items"`
}

type SSLPersistenceProfile

type SSLPersistenceProfile struct {
	PersistenceProfile
}

SSLPersistenceProfile Defines a single ssl profile

type SSLPersistenceProfiles

type SSLPersistenceProfiles struct {
	SSLPersistenceProfiles []SSLPersistenceProfile `json:"items"`
}

SSLPersistenceProfiles contains a list of all ssl profiles

type SelfIP

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

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

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

type Server

type Server struct {
	Name                     string
	Datacenter               string
	Monitor                  string
	Virtual_server_discovery bool
	Product                  string
	Addresses                []ServerAddresses
	GTMVirtual_Server        []VSrecord
}

func (*Server) MarshalJSON

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

func (*Server) UnmarshalJSON

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

type ServerAddresses

type ServerAddresses struct {
	Name        string `json:"name"`
	Device_name string `json:"deviceName,omitempty"`
	Translation string `json:"translation,omitempty"`
}

type ServerAddressess

type ServerAddressess struct {
	Items []ServerAddresses `json:"items,omitempty"`
}

type ServerSSLProfile

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"`
	C3dCaCert                    string      `json:"c3dCaCert,omitempty"`
	C3dCaKey                     string      `json:"c3dCaKey,omitempty"`
	C3dCaPassphrase              string      `json:"c3dCaPassphrase,omitempty"`
	C3dCertExtensionCustomOids   []string    `json:"c3dCertExtensionCustomOids,omitempty"`
	C3dCertExtensionIncludes     interface{} `json:"c3dCertExtensionIncludes,omitempty"`
	C3dCertLifespan              int         `json:"c3dCertLifespan,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                    interface{} `json:"tmOptions,omitempty"`
	Passphrase                   string      `json:"passphrase,omitempty"`
	PeerCertMode                 string      `json:"peerCertMode,omitempty"`
	ProxyCaCert                  string      `json:"proxyCaCert,omitempty"`
	ProxyCaKey                   string      `json:"proxyCaKey,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"`
	SslC3d                       string      `json:"sslC3d,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

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

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

type Servers

type Servers struct {
	Servers []Server `json:"items"`
}

type Snat

type Snat struct {
	Name          string
	Partition     string
	FullPath      string
	AutoLasthop   string
	Mirror        string
	SourcePort    string
	Translation   string
	Snatpool      string
	VlansDisabled bool
	Vlans         []string
	Origins       []Originsrecord
}

VirtualAddress contains information about each individual virtual address.

func (*Snat) MarshalJSON

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

func (*Snat) UnmarshalJSON

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

type SnatPool

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

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

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

type Snatpool

type Snatpool struct {
	Name      string
	Partition string
	Members   []string
}

Snatpool structure

func (*Snatpool) MarshalJSON

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

func (*Snatpool) UnmarshalJSON

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

type Snatpools

type Snatpools struct {
	Snatpools []Snatpool `json:"items"`
}

type Snats

type Snats struct {
	Snats []Snat `json:"items"`
}

type SourceAddrPersistenceProfile

type SourceAddrPersistenceProfile struct {
	PersistenceProfile
	HashAlgorithm   string `json:"hashAlgorithm,omitempty"`
	MapProxies      string `json:"mapProxies,omitempty"`
	MapProxyAddress string `json:"mapProxyAddress,omitempty"`
	MapProxyClass   string `json:"mapProxyClass,omitempty"`
	Mask            string `json:"mask,omitempty"`
}

SourceAddrPersistenceProfile Defines a single source-addr profile

type SourceAddrPersistenceProfiles

type SourceAddrPersistenceProfiles struct {
	SourceAddrPersistenceProfiles []SourceAddrPersistenceProfile `json:"items"`
}

SourceAddrPersistenceProfiles contains a list of all source-addr profiles

type Syslog

type Syslog struct {
	AuthPrivFrom  string
	RemoteServers []RemoteServer
}

func (*Syslog) MarshalJSON

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

func (*Syslog) UnmarshalJSON

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

type Syslogs

type Syslogs struct {
	Syslogs []Syslog `json:"items"`
}

type TMPartition

type TMPartition struct {
	Name               string `json:"name,omitempty"`
	Kind               string `json:"kind,omitempty"`
	DefaultRouteDomain int    `json:"defaultRouteDomain,omitempty"`
	FullPath           string `json:"fullPath,omitempty"`
	SelfLink           string `json:"selfLink,omitempty"`
}

type TMPartitions

type TMPartitions struct {
	TMPartitions []*TMPartition `json:"items"`
}

TMPartitions contains a list of all partitions on the BIG-IP system.

type TRAP

type TRAP struct {
	Name                     string `json:"name,omitempty"`
	AuthPasswordEncrypted    string `json:"authPasswordEncrypted,omitempty"`
	AuthProtocol             string `json:"authProtocol,omitempty"`
	Community                string `json:"community,omitempty"`
	Description              string `json:"description,omitempty"`
	EngineId                 string `json:"engineId,omitempty"`
	Host                     string `json:"host,omitempty"`
	Port                     int    `json:"port,omitempty"`
	PrivacyPassword          string `json:"privacyPassword,omitempty"`
	PrivacyPasswordEncrypted string `json:"privacyPasswordEncrypted,omitempty"`
	PrivacyProtocol          string `json:"privacyProtocol,omitempty"`
	SecurityLevel            string `json:"securityLevel,omitempty"`
	SecurityName             string `json:"SecurityName,omitempty"`
	Version                  string `json:"version,omitempty"`
}

type TRAPs

type TRAPs struct {
	SNMPs []SNMP `json:"items"`
}

type Tcp

type Tcp struct {
	Name              string
	Partition         string
	DefaultsFrom      string
	IdleTimeout       int
	CloseWaitTimeout  int
	FinWait_2Timeout  int
	FinWaitTimeout    int
	KeepAliveInterval int
	DeferredAccept    string
	FastOpen          string
}

func (*Tcp) MarshalJSON

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

func (*Tcp) UnmarshalJSON

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

type TcpProfile

type TcpProfile struct {
	Abc                      string `json:"abc,omitempty"`
	AckOnPush                string `json:"ackOnPush,omitempty"`
	AppService               string `json:"appService,omitempty"`
	AutoProxyBufferSize      string `json:"autoProxyBufferSize,omitempty"`
	AutoReceiveWindowSize    string `json:"autoReceiveWindowSize,omitempty"`
	AutoSendBufferSize       string `json:"autoSendBufferSize,omitempty"`
	CloseWaitTimeout         int    `json:"closeWaitTimeout,omitempty"`
	CmetricsCache            string `json:"cmetricsCache,omitempty"`
	CmetricsCacheTimeout     int    `json:"cmetricsCacheTimeout,omitempty"`
	CongestionControl        string `json:"congestionControl,omitempty"`
	DefaultsFrom             string `json:"defaultsFrom,omitempty"`
	DeferredAccept           string `json:"deferredAccept,omitempty"`
	DelayWindowControl       string `json:"delayWindowControl,omitempty"`
	DelayedAcks              string `json:"delayedAcks,omitempty"`
	Description              string `json:"description,omitempty"`
	Dsack                    string `json:"dsack,omitempty"`
	EarlyRetransmit          string `json:"earlyRetransmit,omitempty"`
	Ecn                      string `json:"ecn,omitempty"`
	EnhancedLossRecovery     string `json:"enhancedLossRecovery,omitempty"`
	FastOpen                 string `json:"fastOpen,omitempty"`
	FastOpenCookieExpiration int    `json:"fastOpenCookieExpiration,omitempty"`
	FinWait_2Timeout         int    `json:"finWait_2Timeout,omitempty"`
	FinWaitTimeout           int    `json:"finWaitTimeout,omitempty"`
	HardwareSynCookie        string `json:"hardwareSynCookie,omitempty"`
	IdleTimeout              int    `json:"idleTimeout,omitempty"`
	InitCwnd                 int    `json:"initCwnd,omitempty"`
	InitRwnd                 int    `json:"initRwnd,omitempty"`
	IpDfMode                 string `json:"ipDfMode,omitempty"`
	IpTosToClient            string `json:"ipTosToClient,omitempty"`
	IpTtlMode                string `json:"ipTtlMode,omitempty"`
	IpTtlV4                  int    `json:"ipTtlV4,omitempty"`
	IpTtlV6                  int    `json:"ipTtlV6,omitempty"`
	KeepAliveInterval        int    `json:"keepAliveInterval,omitempty"`
	LimitedTransmit          string `json:"limitedTransmit,omitempty"`
	LinkQosToClient          string `json:"linkQosToClient,omitempty"`
	MaxRetrans               int    `json:"maxRetrans,omitempty"`
	MaxSegmentSize           int    `json:"maxSegmentSize,omitempty"`
	Md5Signature             string `json:"md5Signature,omitempty"`
	Md5SignaturePassphrase   string `json:"md5SignaturePassphrase,omitempty"`
	MinimumRto               int    `json:"minimumRto,omitempty"`
	Mptcp                    string `json:"mptcp,omitempty"`
	MptcpCsum                string `json:"mptcpCsum,omitempty"`
	MptcpCsumVerify          string `json:"mptcpCsumVerify,omitempty"`
	MptcpDebug               string `json:"mptcpDebug,omitempty"`
	MptcpFallback            string `json:"mptcpFallback,omitempty"`
	MptcpFastjoin            string `json:"mptcpFastjoin,omitempty"`
	MptcpIdleTimeout         int    `json:"mptcpIdleTimeout,omitempty"`
	MptcpJoinMax             int    `json:"mptcpJoinMax,omitempty"`
	MptcpMakeafterbreak      string `json:"mptcpMakeafterbreak,omitempty"`
	MptcpNojoindssack        string `json:"mptcpNojoindssack,omitempty"`
	MptcpRtomax              int    `json:"mptcpRtomax,omitempty"`
	MptcpRxmitmin            int    `json:"mptcpRxmitmin,omitempty"`
	MptcpSubflowmax          int    `json:"mptcpSubflowmax,omitempty"`
	MptcpTimeout             int    `json:"mptcpTimeout,omitempty"`
	Nagle                    string `json:"nagle,omitempty"`
	Name                     string `json:"name,omitempty"`
	TmPartition              string `json:"tmPartition,omitempty"`
	PktLossIgnoreBurst       int    `json:"pktLossIgnoreBurst,omitempty"`
	PktLossIgnoreRate        int    `json:"pktLossIgnoreRate,omitempty"`
	ProxyBufferHigh          int    `json:"proxyBufferHigh,omitempty"`
	ProxyBufferLow           int    `json:"proxyBufferLow,omitempty"`
	ProxyMss                 string `json:"proxyMss,omitempty"`
	ProxyOptions             string `json:"proxyOptions,omitempty"`
	RatePace                 string `json:"ratePace,omitempty"`
	RatePaceMaxRate          int    `json:"ratePaceMaxRate,omitempty"`
	ReceiveWindowSize        int    `json:"receiveWindowSize,omitempty"`
	ResetOnTimeout           string `json:"resetOnTimeout,omitempty"`
	RexmtThresh              int    `json:"rexmtThresh,omitempty"`
	SelectiveAcks            string `json:"selectiveAcks,omitempty"`
	SelectiveNack            string `json:"selectiveNack,omitempty"`
	SendBufferSize           int    `json:"sendBufferSize,omitempty"`
	SlowStart                string `json:"slowStart,omitempty"`
	SynCookieEnable          string `json:"synCookieEnable,omitempty"`
	SynCookieWhitelist       string `json:"synCookieWhitelist,omitempty"`
	SynMaxRetrans            int    `json:"synMaxRetrans,omitempty"`
	SynRtoBase               int    `json:"synRtoBase,omitempty"`
	TailLossProbe            string `json:"tailLossProbe,omitempty"`
	TcpOptions               string `json:"tcpOptions,omitempty"`
	TimeWaitRecycle          string `json:"timeWaitRecycle,omitempty"`
	TimeWaitTimeout          string `json:"timeWaitTimeout,omitempty"`
	Timestamps               string `json:"timestamps,omitempty"`
	VerifiedAccept           string `json:"verifiedAccept,omitempty"`
}

type TcpProfiles

type TcpProfiles struct {
	TcpProfiles []TcpProfile `json:"items"`
}

TcpProfiles contains a list of every tcp profile on the BIG-IP system.

type Tcps

type Tcps struct {
	Tcps []Tcp `json:"items"`
}

type TmplArrType

type TmplArrType struct {
	Name string `json:"name,omitempty"`
	Hash string `json:"hash,omitempty"`
}

type TrafficSelector

type TrafficSelector struct {
	Name                 string `json:"name,omitempty"`
	FullPath             string `json:"fullPath,omitempty"`
	Action               string `json:"action,omitempty"`
	Description          string `json:"description,omitempty"`
	DestinationAddress   string `json:"destinationAddress,omitempty"`
	DestinationPort      int    `json:"destinationPort,omitempty"`
	Direction            string `json:"direction,omitempty"`
	IPProtocol           int    `json:"ipProtocol,omitempty"`
	IpsecPolicy          string `json:"ipsecPolicy,omitempty"`
	IpsecPolicyReference struct {
		Link string `json:"link,omitempty"`
	} `json:"ipsecPolicyReference,omitempty"`
	Order         int    `json:"order,omitempty"`
	SourceAddress string `json:"sourceAddress,omitempty"`
	SourcePort    int    `json:"sourcePort,omitempty"`
}

TrafficSelector is the structure used for Creating IPSec Traffic selectors https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_net_ipsec_traffic-selector.html

type Trunk

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

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

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

type Tunnel

type Tunnel struct {
	Name             string `json:"name,omitempty"`
	AppService       string `json:"appService,omitempty"`
	Partition        string `json:"partition,omitempty"`
	FullPath         string `json:"fullPath,omitempty"`
	AutoLasthop      string `json:"autoLasthop,omitempty"`
	Description      string `json:"description,omitempty"`
	IdleTimeout      int    `json:"idleTimeout,omitempty"`
	IfIndex          int    `json:"ifIndex,omitempty"`
	Key              int    `json:"key,omitempty"`
	LocalAddress     string `json:"localAddress,omitempty"`
	Mode             string `json:"mode,omitempty"`
	Mtu              int    `json:"mtu,omitempty"`
	Profile          string `json:"profile,omitempty"`
	RemoteAddress    string `json:"remoteAddress,omitempty"`
	SecondaryAddress string `json:"secondaryAddress,omitempty"`
	Tos              string `json:"tos,omitempty"`
	TrafficGroup     string `json:"trafficGroup,omitempty"`
	Transparent      string `json:"transparent,omitempty"`
	UsePmtu          string `json:"usePmtu,omitempty"`
}

Tunnel contains information on the tunnel. https://devcentral.f5.com/wiki/iControlREST.APIRef_tm_net_tunnels_tunnel.ashx

type Tunnels

type Tunnels struct {
	Tunnels []Tunnel `json:"items"`
}

Tunnels contains a list of tunnel objects on the BIG-IP system.

type ULIC

type ULIC struct {
	DeviceAddress string
	Username      string
	Password      string
	UnitOfMeasure string
}

This is BIG-IP which needs to be licensed.

func (*ULIC) MarshalJSON

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

func (*ULIC) UnmarshalJSON

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

type ULICDTO

type ULICDTO struct {
	DeviceAddress string `json:"deviceAddress,omitempty"`
	Username      string `json:"username,omitempty"`
	Password      string `json:"password,omitempty"`
	UnitOfMeasure string `json:"unitOfMeasure,omitempty"`
}

type ULICs

type ULICs struct {
	LIC []LIC `json:"items"`
}

LIC contains device license for BIG-IP system.

type UdpProfile

type UdpProfile struct {
	AllowNoPayload        string `json:"allowNoPayload,omitempty"`
	AppService            string `json:"appService,omitempty"`
	BufferMaxBytes        int    `json:"bufferMaxBytes,omitempty"`
	BufferMaxPackets      int    `json:"bufferMaxPackets,omitempty"`
	DatagramLoadBalancing string `json:"datagramLoadBalancing,omitempty"`
	DefaultsFrom          string `json:"defaultsFrom,omitempty"`
	Description           string `json:"description,omitempty"`
	IdleTimeout           string `json:"idleTimeout,omitempty"`
	IpDfMode              string `json:"ipDfMode,omitempty"`
	IpTosToClient         string `json:"ipTosToClient,omitempty"`
	IpTtlMode             string `json:"ipTtlMode,omitempty"`
	IpTtlV4               int    `json:"ipTtlV4,omitempty"`
	IpTtlV6               int    `json:"ipTtlV6,omitempty"`
	LinkQosToClient       string `json:"linkQosToClient,omitempty"`
	Name                  string `json:"name,omitempty"`
	NoChecksum            string `json:"noChecksum,omitempty"`
	TmPartition           string `json:"tmPartition,omitempty"`
	ProxyMss              string `json:"proxyMss,omitempty"`
}

type UdpProfiles

type UdpProfiles struct {
	UdpProfiles []UdpProfile `json:"items"`
}

UdpProfiles contains a list of every tcp profile on the BIG-IP system.

type UnicastAddress

type UnicastAddress struct {
	EffectiveIP   string `json:"effectiveIp"`
	EffectivePort int    `json:"effectivePort"`
	IP            string `json:"ip"`
	Port          int    `json:"port"`
}

UnicastAddress is an abstraction and used by Device

type UniversalPersistenceProfile

type UniversalPersistenceProfile struct {
	PersistenceProfile
	Rule string `json:"rule,omitempty"`
}

UniversalPersistenceProfile Defines a single universal profile

type UniversalPersistenceProfiles

type UniversalPersistenceProfiles struct {
	SSLPersistenceProfiles []UniversalPersistenceProfile `json:"items"`
}

UniversalPersistenceProfiles contains a list of all universal profiles

type UnmanagedDevice

type UnmanagedDevice struct {
	DeviceAddress string `json:"deviceAddress"`
	Username      string `json:"username"`
	Password      string `json:"password"`
	HTTPSPort     int    `json:"httpsPort,omitempty"`
}

type Upload

type Upload struct {
	RemainingByteCount int64          `json:"remainingByteCount"`
	UsedChunks         map[string]int `json:"usedChunks"`
	TotalByteCount     int64          `json:"totalByteCount"`
	LocalFilePath      string         `json:"localFilePath"`
	TemporaryFilePath  string         `json:"temporaryFilePath"`
	Generation         int            `json:"generation"`
	LastUpdateMicros   int            `json:"lastUpdateMicros"`
}

Upload contains information about a file upload status

type UtilityPool

type UtilityPool struct {
	Items []struct {
		RegKey string `json:"RegKey,omitempty"`
	}
}

type UtilityPools

type UtilityPools struct {
	UtilityPool []UtilityPool `json:"items"`
}

type VSrecord

type VSrecord struct {
	Name        string `json:"name"`
	Destination string `json:"destination,omitempty"`
}

type VSrecords

type VSrecords struct {
	Items []VSrecord `json:"items,omitempty"`
}

type Version

type Version struct {
	Kind     string `json:"kind,omitempty"`
	SelfLink string `json:"selfLink,omitempty"`
	Entries  struct {
		HTTPSLocalhostMgmtTmCliVersion0 struct {
			NestedStats struct {
				Entries struct {
					Active struct {
						Description string `json:"description"`
					} `json:"active,omitempty"`
					Latest struct {
						Description string `json:"description"`
					} `json:"latest,omitempty"`
					Supported struct {
						Description string `json:"description"`
					} `json:"supported,omitempty"`
				} `json:"entries,omitempty"`
			} `json:"nestedStats,omitempty"`
		} `json:"https://localhost/mgmt/tm/cli/version/0,omitempty"`
	} `json:"entries,omitempty"`
}

type VirtualAddress

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

VirtualAddress contains information about each individual virtual address.

func (*VirtualAddress) MarshalJSON

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

func (*VirtualAddress) UnmarshalJSON

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

type VirtualAddresses

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

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

type VirtualServer

type VirtualServer struct {
	Name                       string `json:"name,omitempty"`
	Partition                  string `json:"partition,omitempty"`
	FullPath                   string `json:"fullPath,omitempty"`
	Generation                 int    `json:"generation,omitempty"`
	Description                string `json:"description,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"`
	Disabled                   bool   `json:"disabled,omitempty"`
	GTMScore                   int    `json:"gtmScore,omitempty"`
	FallbackPersistenceProfile string `json:"fallbackPersistence,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"`
	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"`
	VSIndex                    int       `json:"vsIndex,omitempty"`
	Vlans                      []string  `json:"vlans,omitempty"`
	Rules                      []string  `json:"rules,omitempty"`
	SecurityLogProfiles        []string  `json:"securityLogProfiles,omitempty"`
	PerFlowRequestAccessPolicy string    `json:"perFlowRequestAccessPolicy,omitempty"`
	PersistenceProfiles        []Profile `json:"persist"`
	Profiles                   []Profile `json:"profiles,omitempty"`
	Policies                   []string  `json:"policies"`
}

VirtualServer contains information about each individual virtual server.

type VirtualServerPolicies

type VirtualServerPolicies struct {
	PolicyRef []VirtualServerPolicy `json:"items"`
}

type VirtualServerPolicy

type VirtualServerPolicy struct {
	Name      string
	Partition string
	FullPath  string
}

type VirtualServerPolicyDTO

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

type VirtualServers

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

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

type Vlan

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

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 VlanInterfaces

type VlanInterfaces struct {
	VlanInterfaces []VlanInterface `json:"items"`
}

VlanInterfaces contains a list of Interface(s) attached to a VLAN.

type Vlans

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

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

type Vxlan

type Vxlan struct {
	Name              string `json:"name,omitempty"`
	AppService        string `json:"appService,omitempty"`
	DefaultsFrom      string `json:"defaultsFrom,omitempty"`
	Description       string `json:"description,omitempty"`
	EncapsulationType string `json:"encapsulationType,omitempty"`
	FloodingType      string `json:"floodingType,omitempty"`
	Partition         string `json:"partition,omitempty"`
	Port              int    `json:"port,omitempty"`
}

Vxlan is the structure for the VXLAN profile on the bigip. https://devcentral.f5.com/wiki/iControlREST.APIRef_tm_net_tunnels_vxlan.ashx

type Vxlans

type Vxlans struct {
	Vxlans []Vxlan `json:"items"`
}

Vxlans contains a list of vlxan profiles on the BIG-IP system.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL