bigip

package module
v0.0.0-...-ace8c75 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2024 License: MIT Imports: 17 Imported by: 12

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 ApplyStatus

type ApplyStatus struct {
	PolicyReference struct {
		Link     string `json:"link"`
		FullPath string `json:"fullPath"`
	} `json:"policyReference"`
	Status string `json:"status"`
	ID     string `json:"id"`
	Result struct {
		Message string `json:"message"`
	} `json:"result,omitempty"`
}

type ApplywafPolicy

type ApplywafPolicy struct {
	Filename string `json:"filename,omitempty"`
	FullPath string `json:"fullPath,omitempty"`
	Policy   struct {
		FullPath string `json:"fullPath,omitempty"`
	} `json:"policy,omitempty"`
}

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
	Transaction   string
}

BigIP is a container for our session state.

func NewSession

func NewSession(bigipConfig *Config) *BigIP

NewSession sets up our connection to the BIG-IP system. func NewSession(host, port, user, passwd string, configOptions *ConfigOptions) *BigIP {

func NewTokenSession

func NewTokenSession(bigipConfig *Config) (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) AddBotDefenseProfile

func (b *BigIP) AddBotDefenseProfile(config *BotDefenseProfile) error

AddBotDefenseProfile creates a new Bot Defense profile on the BIG-IP system.

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

func (b *BigIP) AddExternalDataGroup(config *ExternalDG) error

func (*BigIP) AddExternalDatagroupfile

func (b *BigIP) AddExternalDatagroupfile(dataGroup *ExternalDGFile) error

AddExternalDatagroupfile adds datagroup file

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

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

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

func (b *BigIP) AddLtmCipherGroup(config *CipherGroupReq) error

func (*BigIP) AddLtmCipherRule

func (b *BigIP) AddLtmCipherRule(config *CipherRuleReq) error

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, parent string) 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) AddRequestLogProfile

func (b *BigIP) AddRequestLogProfile(config *RequestLogProfile) error

AddRequestLogProfile creates a new Request Log profile on the BIG-IP system.

func (*BigIP) AddRewriteProfile

func (b *BigIP) AddRewriteProfile(config *RewriteProfile) error

AddRewriteProfile creates ltm rewrite profile on the BIG-IP system.

func (*BigIP) AddRewriteProfileUriRule

func (b *BigIP) AddRewriteProfileUriRule(name string, config *RewriteProfileUriRule) error

AddRewriteProfile creates ltm rewrite profile on the BIG-IP system.

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

func (b *BigIP) AddWebAcceleration(config *WebAccelerationProfileService) error

AddWebAcceleration creates a new web acceleration profile service on the BIG-IP system.

func (*BigIP) ApplyAwafJson

func (b *BigIP) ApplyAwafJson(awafPolicyName, policyID string) (string, error)

ApplyAwafJson apply Awaf Json policy

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

func (b *BigIP) CheckDraftPolicy(name string, partition string) (bool, error)

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

func (*BigIP) CheckSetting

func (b *BigIP) CheckSetting() (bool, error)

func (*BigIP) ClientSSLProfiles

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

ClientSSLProfiles returns a list of client-ssl profiles.

func (*BigIP) CommitTransaction

func (b *BigIP) CommitTransaction(tId int64) error

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(configFastl4 *Fastl4) error

func (*BigIP) CreateFtp

func (b *BigIP) CreateFtp(ftp *Ftp) 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) CreateIPSecProfile

func (b *BigIP) CreateIPSecProfile(config *IPSecProfile) error

CreateIPSecProfile adds a new IPSec profile 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, parent string) error

CreateMonitor adds a new monitor to the BIG-IP system. <parent> must be one of "http", "https", "icmp", "gateway icmp", or "tcp". func (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) CreateOCSP

func (b *BigIP) CreateOCSP(ocsp *OCSP) error

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

func (b *BigIP) CreatePartition(partition *Partition) error

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(config *SelfIP) 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) CreateVcmpGuest

func (b *BigIP) CreateVcmpGuest(config *VcmpGuest) error

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(config *Vlan) 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) DeleteBotDefenseProfile

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

DeleteBotDefenseProfile removes a Bot Defense profile.

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

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

func (*BigIP) DeleteExternalDatagroupfile

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

DeleteExternalDatagroupfile removes a Datagroup file.

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

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

DeleteFtp removes an Ftp 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) DeleteIPSecProfile

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

DeleteIPSecProfile removes specified IPSec profile.

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, partition 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) DeleteLtmCipherGroup

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

func (*BigIP) DeleteLtmCipherRule

func (b *BigIP) DeleteLtmCipherRule(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) DeleteOCSP

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

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

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

func (*BigIP) DeletePerApplicationAs3Bigip

func (b *BigIP) DeletePerApplicationAs3Bigip(tenantName string, applicationName string) error

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

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

DeleteRequestLogProfile removes a Request Log profile.

func (*BigIP) DeleteRewriteProfile

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

DeleteRewriteProfile removes a rewrite profile.

func (*BigIP) DeleteRewriteProfileUriRule

func (b *BigIP) DeleteRewriteProfileUriRule(profile_name string, rule_name string) error

DeleteRewriteProfileUrlRule removes an url-rule in rewrite profile.

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

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

func (*BigIP) DeleteVcmpGuest

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

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

func (b *BigIP) DeleteWafPolicy(policyId string) error

DeleteWafPolicy removes waf Policy

func (*BigIP) DeleteWebAccelerationProfile

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

DeleteWebAccelerationProfile removes a web acceleration 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) ExportPolicy

func (b *BigIP) ExportPolicy(policyID string) (*PolicyStruct, error)

func (*BigIP) ExportPolicyFull

func (b *BigIP) ExportPolicyFull(policyID string) (*string, error)

func (*BigIP) GetApplyStatus

func (b *BigIP) GetApplyStatus(taskId string) error

func (*BigIP) GetAppsList

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

func (*BigIP) GetAs3

func (b *BigIP) GetAs3(name, appList string, perAppMode bool) (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) GetBotDefenseProfile

func (b *BigIP) GetBotDefenseProfile(name string) (*BotDefenseProfile, 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) GetExportStatus

func (b *BigIP) GetExportStatus(taskId string) (*ImportStatus, error)

func (*BigIP) GetExternalDataGroup

func (b *BigIP) GetExternalDataGroup(name string) (*ExternalDG, error)

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

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

func (b *BigIP) GetFtp(name string) (*Ftp, 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) GetIPSecProfile

func (b *BigIP) GetIPSecProfile(name string) (*IPSecProfile, error)

GetIPSecProfile returns a named IPsec profile.

func (*BigIP) GetIkePeer

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

func (*BigIP) GetImportStatus

func (b *BigIP) GetImportStatus(taskId string) 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) GetLtmCipherGroup

func (b *BigIP) GetLtmCipherGroup(name string) (*CipherGroupReq, error)

func (*BigIP) GetLtmCipherRule

func (b *BigIP) GetLtmCipherRule(name string) (*CipherRuleReq, 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)

GetMonitor 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) GetOCSP

func (b *BigIP) GetOCSP(name string) (*OCSP, error)

func (*BigIP) GetOneconnect

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

func (*BigIP) GetOneconnectProfile

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

func (*BigIP) GetPartition

func (b *BigIP) GetPartition(name string) (*Partition, 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) GetRequestLogProfile

func (b *BigIP) GetRequestLogProfile(name string) (*RequestLogProfile, error)

func (*BigIP) GetRewriteProfile

func (b *BigIP) GetRewriteProfile(name string) (*RewriteProfile, error)

GetRewriteProfile gets a rewrite profile by name. Returns nil if the rewrite profile does not exist

func (*BigIP) GetRewriteProfileUriRule

func (b *BigIP) GetRewriteProfileUriRule(profile_name string, rule_name string) (*RewriteProfileUriRule, error)

GetRewriteProfileUrlRule returns an uri rule associated with rewrite profile.

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

func (b *BigIP) GetVcmpDisks() (*VcmpDisks, error)

func (*BigIP) GetVcmpGuest

func (b *BigIP) GetVcmpGuest(name string) (*VcmpGuest, error)

func (*BigIP) GetVcmpGuestStats

func (b *BigIP) GetVcmpGuestStats(name string) (*VcmpGuestStats, error)

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

func (b *BigIP) GetWafPbExportResult(id string) (*PbExport, error)

func (*BigIP) GetWafPolicy

func (b *BigIP) GetWafPolicy(policyID string) (*WafPolicy, error)

func (*BigIP) GetWafPolicyId

func (b *BigIP) GetWafPolicyId(policyName, partition string) (string, error)

func (*BigIP) GetWafPolicyParameters

func (b *BigIP) GetWafPolicyParameters(policyID string) (*Parameters, error)

func (*BigIP) GetWafPolicyQuery

func (b *BigIP) GetWafPolicyQuery(wafPolicyName string, partition string) (*WafPolicy, error)

func (*BigIP) GetWafPolicyUrls

func (b *BigIP) GetWafPolicyUrls(policyID string) (*WafUrlJsons, error)

func (*BigIP) GetWafSignature

func (b *BigIP) GetWafSignature(signatureid int) (*Signatures, error)

func (*BigIP) GetWebAccelerationProfile

func (b *BigIP) GetWebAccelerationProfile(name string) (*WebAccelerationProfileService, error)

func (*BigIP) Getas3TaskResponse

func (b *BigIP) Getas3TaskResponse(id string) (interface{}, error)

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, partition string) (*Iapp, error)

func (*BigIP) ImportAwafJson

func (b *BigIP) ImportAwafJson(awafPolicyName, awafJsonContent, policyID string) (string, error)

ImportAwafJson import Awaf Json from local machine to BIGIP

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

func (b *BigIP) ModifyBotDefenseProfile(name string, config *BotDefenseProfile) error

ModifyBotDefenseProfile allows you to change any attribute of a Bot Defense profile. Fields that can be modified are referenced in the BotDefenseProfile struct.

func (*BigIP) ModifyCertificate

func (b *BigIP) ModifyCertificate(certName string, cert *Certificate) error

ModifyCertificate installs a certificate.

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

func (b *BigIP) ModifyExternalDataGroup(config *ExternalDG) error

func (*BigIP) ModifyExternalDatagroupfile

func (b *BigIP) ModifyExternalDatagroupfile(dgName string, dataGroup *ExternalDGFile) error

ModifyExternalDatagroupfile modify datagroup file

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

func (b *BigIP) ModifyFolderDescription(partition string, body map[string]string) error

func (*BigIP) ModifyFtp

func (b *BigIP) ModifyFtp(name string, ftp *Ftp) error

ModifyFtp updates the given Ftp 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) ModifyIPSecProfile

func (b *BigIP) ModifyIPSecProfile(name string, config *IPSecProfile) error

ModifyIPSecProfile allows you to change any attribute of a IPSec profile. Fields that can be modified are referenced in the IPSec profile 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) ModifyKey

func (b *BigIP) ModifyKey(keyName string, config *Key) error

ModifyKey Updates a key.

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

func (b *BigIP) ModifyLtmCipherGroup(name string, config *CipherGroupReq) error

func (*BigIP) ModifyLtmCipherGroupNew

func (b *BigIP) ModifyLtmCipherGroupNew(name string, config interface{}) error

func (*BigIP) ModifyLtmCipherRule

func (b *BigIP) ModifyLtmCipherRule(name string, config *CipherRuleReq) 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) ModifyOCSP

func (b *BigIP) ModifyOCSP(name string, ocsp *OCSP) error

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

func (b *BigIP) ModifyPartition(name string, partition *Partition) error

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

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

ModifyPoolMember2 will update the configuration of a particular pool member.

func (*BigIP) ModifyPool_a

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

func (*BigIP) ModifyRequestLogProfile

func (b *BigIP) ModifyRequestLogProfile(name string, config *RequestLogProfile) error

ModifyRequestLogProfile allows you to change any attribute of a RequestLog profile. Fields that can be modified are referenced in the RequestLogProfile struct.

func (*BigIP) ModifyRewriteProfile

func (b *BigIP) ModifyRewriteProfile(name string, config *RewriteProfile) error

ModifyRewriteProfile allows you to change any attribute of a rewrite profile. Fields that can be modified are referenced in the RewriteProfile struct.

func (*BigIP) ModifyRewriteProfileUriRule

func (b *BigIP) ModifyRewriteProfileUriRule(profile_name string, rule_name string, config *RewriteProfileUriRule) error

ModifyRewriteProfileUrlRule allows you to change any attribute of an uri rule of rewrite profile. Fields that can be modified are referenced in the RewriteProfileUriRule struct.

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

func (b *BigIP) ModifyWebAccelerationProfile(name string, config *WebAccelerationProfileService) error

ModifyWebAccelerationProfile allows you to change any attribute of a Web Acceleration 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, 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, userAgent 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) PostPbExport

func (b *BigIP) PostPbExport(payload interface{}) (*PbExport, error)

func (*BigIP) PostPerAppBigIp

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

PostPerAppBigIp - used for posting Per-Application Declarations

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

func (b *BigIP) StartTransaction() (*Transaction, error)

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(certpath string, cert *Certificate) 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) UpdateVcmpGuest

func (b *BigIP) UpdateVcmpGuest(name string, config *VcmpGuest) 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) UploadAsmBytes

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

Upload a file from a byte slice

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(certpath string, cert *Certificate) error

UploadCertificate copies a certificate local disk to BIGIP

func (*BigIP) UploadDataGroupFile

func (b *BigIP) UploadDataGroupFile(f *os.File, tmpName string) (*Upload, error)

Upload a file

func (*BigIP) UploadDatagroup

func (b *BigIP) UploadDatagroup(tmplpath *os.File, dgname, partition, dgtype string, createDg bool) error

UploadDatagroup copies a template set from local disk to BIGIP

func (*BigIP) UploadFastTemp

func (b *BigIP) UploadFastTemp(f *os.File, tmpName string) (*Upload, error)

Upload a file

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 string) (string, error)

UploadKey copies a certificate key from local disk to BIGIP

func (*BigIP) ValidateConnection

func (client *BigIP) ValidateConnection() error

APICall is used to Validate BIG-IP with SelfIPs list

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 BigIPSetting

type BigIPSetting struct {
	BetaOptions struct {
		PerAppDeploymentAllowed bool `json:"perAppDeploymentAllowed,omitempty"`
	} `json:"betaOptions,omitempty"`
}

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 BotDefenseProfile

type BotDefenseProfile struct {
	Name               string `json:"name,omitempty"`
	Partition          string `json:"partition,omitempty"`
	FullPath           string `json:"fullPath,omitempty"`
	DefaultsFrom       string `json:"defaultsFrom,omitempty"`
	Description        string `json:"description,omitempty"`
	Template           string `json:"template,omitempty"`
	EnforcementMode    string `json:"enforcementMode,omitempty"`
	AllowBrowserAccess string `json:"allowBrowserAccess,omitempty"`
}

type CertValidatorReference

type CertValidatorReference struct {
	Items []CertValidatorState `json:"items,omitempty"`
}

type CertValidatorState

type CertValidatorState struct {
	Name      string `json:"name,omitempty"`
	Partition string `json:"partition,omitempty"`
	FullPath  string `json:"fullPath,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          int64                   `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"`
	CertValidatorRef        *CertValidatorReference `json:"certValidatorsReference,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 CipherGroupReq

type CipherGroupReq struct {
	Name      string        `json:"name,omitempty"`
	Partition string        `json:"partition,omitempty"`
	FullPath  string        `json:"fullPath,omitempty"`
	Ordering  string        `json:"ordering,omitempty"`
	Allow     []interface{} `json:"allow,omitempty"`
	Require   []interface{} `json:"require,omitempty"`
}

type CipherRule

type CipherRule struct {
	Name                string `json:"name,omitempty"`
	Partition           string `json:"partition,omitempty"`
	Cipher              string `json:"cipher,omitempty"`
	DHGroups            string `json:"dhGroups,omitempty"`
	SignatureAlgorithms string `json:"signatureAlgorithms,omitempty"`
}

type CipherRuleReq

type CipherRuleReq struct {
	Name                string `json:"name,omitempty"`
	Partition           string `json:"partition,omitempty"`
	FullPath            string `json:"fullPath,omitempty"`
	Cipher              string `json:"cipher,omitempty"`
	Description         string `json:"description,omitempty"`
	DhGroups            string `json:"dhGroups,omitempty"`
	SignatureAlgorithms string `json:"signatureAlgorithms,omitempty"`
}

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"`
	AllowExpiredCrl          string `json:"allowExpiredCrl,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"`
	CipherGroup                     string      `json:"cipherGroup,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"`
	OcspStapling                    string      `json:"ocspStapling,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 Config

type Config struct {
	Address            string
	Port               string
	Username           string
	Password           string
	Token              string
	CertVerifyDisable  bool
	TrustedCertificate string
	LoginReference     string `json:"loginProviderName"`
	ConfigOptions      *ConfigOptions
}

type ConfigOptions

type ConfigOptions struct {
	APICallTimeout time.Duration
	TokenTimeout   time.Duration
	APICallRetries int
}

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"`
	NameServers  []string `json:"nameServers,"`
	NumberOfDots int      `json:"numberOfDots,omitempty"`
	Search       []string `json:"search"`
}

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 DefenseAttribute

type DefenseAttribute struct {
	AllowIntrospectionQueries bool        `json:"allowIntrospectionQueries"`
	MaximumBatchedQueries     interface{} `json:"maximumBatchedQueries,omitempty"`
	MaximumStructureDepth     interface{} `json:"maximumStructureDepth,omitempty"`
	MaximumTotalLength        interface{} `json:"maximumTotalLength,omitempty"`
	MaximumValueLength        interface{} `json:"maximumValueLength,omitempty"`
	TolerateParsingWarnings   bool        `json:"tolerateParsingWarnings"`
}

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 DynStat

type DynStat map[string]VcmpGuestStat

type Enforcement

type Enforcement struct {
	KnownMethods          []string `json:"knownMethods,omitempty"`
	ExcessClientHeaders   string
	ExcessServerHeaders   string
	MaxHeaderCount        int `json:"maxHeaderCount,omitempty"`
	MaxHeaderSize         int `json:"maxHeaderSize,omitempty"`
	MaxRequests           int
	OversizeClientHeaders string
	OversizeServerHeaders string
	Pipeline              string
	TruncatedRedirects    string
	UnknownMethod         string `json:"unknownMethod,omitempty"`
}

type ExportPayload

type ExportPayload struct {
	Filename        string `json:"filename,omitempty"`
	Format          string `json:"format,omitempty"`
	Inline          bool   `json:"inline,omitempty"`
	PolicyReference struct {
		Link string `json:"link"`
	} `json:"policyReference"`
}

type ExternalDG

type ExternalDG struct {
	Name             string `json:"name,omitempty"`
	FullPath         string `json:"fullPath,omitempty"`
	ExternalFileName string `json:"externalFileName,omitempty"`
	Type             string `json:"type,omitempty"`
}

type ExternalDGFile

type ExternalDGFile struct {
	Name       string `json:"name"`
	Partition  string `json:"partition"`
	SourcePath string `json:"sourcePath"`
	Type       string `json:"type"`
}

type FastHttpJson

type FastHttpJson struct {
	Tenant                    string         `json:"tenant_name,omitempty"`
	Application               string         `json:"app_name,omitempty"`
	VirtualAddress            string         `json:"virtual_address,omitempty"`
	VirtualPort               interface{}    `json:"virtual_port,omitempty"`
	SnatEnable                bool           `json:"enable_snat,omitempty"`
	SnatAutomap               bool           `json:"snat_automap"`
	MakeSnatPool              bool           `json:"make_snatpool"`
	SnatPoolName              string         `json:"snatpool_name,omitempty"`
	SnatAddresses             []string       `json:"snat_addresses,omitempty"`
	PoolEnable                bool           `json:"enable_pool"`
	MakePool                  bool           `json:"make_pool"`
	TlsServerEnable           bool           `json:"enable_tls_server"`
	TlsClientEnable           bool           `json:"enable_tls_client"`
	TlsServerProfileCreate    bool           `json:"make_tls_server_profile"`
	TlsClientProfileCreate    bool           `json:"make_tls_client_profile"`
	TlsServerProfileName      string         `json:"tls_server_profile_name,omitempty"`
	TlsClientProfileName      string         `json:"tls_client_profile_name,omitempty"`
	TlsCertName               string         `json:"tls_cert_name,omitempty"`
	TlsKeyName                string         `json:"tls_key_name,omitempty"`
	PoolName                  string         `json:"pool_name,omitempty"`
	PoolMembers               []FastHttpPool `json:"pool_members,omitempty"`
	SdEnable                  bool           `json:"use_sd"`
	ServiceDiscovery          []interface{}  `json:"service_discovery,omitempty"`
	LoadBalancingMode         string         `json:"load_balancing_mode,omitempty"`
	SlowRampTime              int            `json:"slow_ramp_time,omitempty"`
	MonitorEnable             bool           `json:"enable_monitor,omitempty"`
	MakeMonitor               bool           `json:"make_monitor"`
	HTTPMonitor               string         `json:"monitor_name_http,omitempty"`
	HTTPSMonitor              string         `json:"monitor_name,omitempty"`
	MonitorAuth               bool           `json:"monitor_credentials"`
	MonitorUsername           string         `json:"monitor_username,omitempty"`
	MonitorPassword           string         `json:"monitor_passphrase,omitempty"`
	MonitorInterval           int            `json:"monitor_interval,omitempty"`
	MonitorSendString         string         `json:"monitor_send_string,omitempty"`
	MonitorResponse           string         `json:"monitor_expected_response,omitempty"`
	EnablePersistence         bool           `json:"enable_persistence"`
	UseExistingPersistence    bool           `json:"use_existing_persistence_profile,omitempty"`
	EnableFallbackPersistence bool           `json:"enable_fallback_persistence"`
	FallbackPersistenceType   string         `json:"fallback_persistence_type,omitempty"`
	PersistenceProfile        string         `json:"persistence_profile,omitempty"`
	PersistenceType           string         `json:"persistence_type,omitempty"`
	WafPolicyEnable           bool           `json:"enable_waf_policy"`
	MakeWafpolicy             bool           `json:"make_waf_policy"`
	WafPolicyName             string         `json:"asm_waf_policy,omitempty"`
	EndpointPolicyNames       []string       `json:"endpoint_policy_names,omitempty"`
	AsmLoggingEnable          bool           `json:"enable_asm_logging"`
	LogProfileNames           []string       `json:"log_profile_names,omitempty"`
}

type FastHttpPool

type FastHttpPool struct {
	ServerAddresses []string `json:"serverAddresses,omitempty"`
	ServicePort     int      `json:"servicePort,omitempty"`
	ConnectionLimit int      `json:"connectionLimit,omitempty"`
	PriorityGroup   int      `json:"priorityGroup,omitempty"`
	ShareNodes      bool     `json:"shareNodes,omitempty"`
}

type FastPayload

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

type FastTCPJson

type FastTCPJson struct {
	Tenant                        string         `json:"tenant_name,omitempty"`
	Application                   string         `json:"app_name,omitempty"`
	VirtualAddress                string         `json:"virtual_address,omitempty"`
	VirtualPort                   interface{}    `json:"virtual_port,omitempty"`
	SnatEnable                    bool           `json:"enable_snat,omitempty"`
	SnatAutomap                   bool           `json:"snat_automap"`
	MakeSnatPool                  bool           `json:"make_snatpool"`
	SnatPoolName                  string         `json:"snatpool_name,omitempty"`
	SnatAddresses                 []string       `json:"snat_addresses,omitempty"`
	PoolEnable                    bool           `json:"enable_pool"`
	MakePool                      bool           `json:"make_pool"`
	PoolName                      string         `json:"pool_name,omitempty"`
	PoolMembers                   []FastHttpPool `json:"pool_members,omitempty"`
	LoadBalancingMode             string         `json:"load_balancing_mode,omitempty"`
	SlowRampTime                  int            `json:"slow_ramp_time,omitempty"`
	MonitorEnable                 bool           `json:"enable_monitor,omitempty"`
	MakeMonitor                   bool           `json:"make_monitor"`
	TCPMonitor                    string         `json:"monitor_name,omitempty"`
	MonitorInterval               int            `json:"monitor_interval,omitempty"`
	EnablePersistence             bool           `json:"enable_persistence"`
	PersistenceProfile            string         `json:"persistence_profile,omitempty"`
	PersistenceType               string         `json:"persistence_type,omitempty"`
	UseExistingPersistenceProfile bool           `json:"use_existing_persistence_profile,omitempty"`
	EnableFallbackPersistence     bool           `json:"enable_fallback_persistence"`
	FallbackPersistenceType       string         `json:"fallback_persistence_type,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 FastUDPJson

type FastUDPJson struct {
	Tenant                    string         `json:"tenant_name,omitempty"`
	Application               string         `json:"app_name,omitempty"`
	VirtualAddress            string         `json:"virtual_address,omitempty"`
	VirtualPort               interface{}    `json:"virtual_port,omitempty"`
	Fastl4Enable              bool           `json:"fastl4"`
	MakeFastl4Profile         bool           `json:"make_fastl4_profile,omitempty"`
	Fastl4ProfileName         string         `json:"fastl4_profile_name,omitempty"`
	UdpProfileName            string         `json:"udp_profile_name,omitempty"`
	SnatEnable                bool           `json:"enable_snat"`
	SnatAutomap               bool           `json:"snat_automap"`
	MakeSnatPool              bool           `json:"make_snatpool"`
	SnatPoolName              string         `json:"snatpool_name,omitempty"`
	SnatAddresses             []string       `json:"snat_addresses,omitempty"`
	EnablePersistence         bool           `json:"enable_persistence"`
	UseExistingPersistence    bool           `json:"use_existing_persistence_profile,omitempty"`
	Fastl4PersistenceProfile  string         `json:"fastl4_persistence_profile,omitempty"`
	Fastl4PersistenceType     string         `json:"fastl4_persistence_type,omitempty"`
	UdpPersistenceProfile     string         `json:"persistence_profile,omitempty"`
	UdpPersistenceType        string         `json:"persistence_type,omitempty"`
	EnableFallbackPersistence bool           `json:"enable_fallback_persistence"`
	FallbackPersistenceType   string         `json:"fallback_persistence_type,omitempty"`
	PoolEnable                bool           `json:"enable_pool"`
	MakePool                  bool           `json:"make_pool"`
	PoolName                  string         `json:"pool_name,omitempty"`
	PoolMembers               []FastHttpPool `json:"pool_members,omitempty"`
	LoadBalancingMode         string         `json:"load_balancing_mode,omitempty"`
	SlowRampTime              int            `json:"slow_ramp_time,omitempty"`
	MonitorEnable             bool           `json:"enable_monitor,omitempty"`
	MakeMonitor               bool           `json:"make_monitor"`
	MonitorInterval           int            `json:"monitor_interval,omitempty"`
	MonitorSendString         string         `json:"monitor_send_string,omitempty"`
	MonitorExpectedResponse   string         `json:"monitor_expected_response,omitempty"`
	UdpMonitor                string         `json:"monitor_name,omitempty"`
	IruleNames                []string       `json:"irule_names,omitempty"`
	VlansEnable               bool           `json:"vlans_enable"`
	VlansAllow                bool           `json:"vlans_allow"`
	Vlans                     []string       `json:"vlan_names,omitempty"`
	EnableAsmLogging          bool           `json:"enable_asm_logging"`
	LogProfileNames           []string       `json:"log_profile_names,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 `json:"name"`
	FullPath                    string `json:"fullPath"`
	ClientTimeout               int    `json:"clientTimeout,omitempty"`
	DefaultsFrom                string `json:"defaultsFrom,omitempty"`
	Description                 string `json:"description,omitempty"`
	ExplicitFlowMigration       string `json:"explicitFlowMigration,omitempty"`
	HardwareSynCookie           string `json:"hardwareSynCookie,omitempty"`
	IdleTimeout                 string `json:"idleTimeout,omitempty"`
	IPDfMode                    string `json:"ipDfMode,omitempty"`
	IpTosToClient               string `json:"ipTosToClient,omitempty"`
	IpTosToServer               string `json:"ipTosToServer,omitempty"`
	IPTTLMode                   string `json:"ipTtlMode,omitempty"`
	IPTTLV4                     int    `json:"ipTtlV4,omitempty"`
	IPTTLV6                     int    `json:"ipTtlV6,omitempty"`
	KeepAliveInterval           string `json:"keepAliveInterval,omitempty"`
	LateBinding                 string `json:"lateBinding,omitempty"`
	LinkQosToClient             string `json:"linkQosToClient,omitempty"`
	LinkQosToServer             string `json:"linkQosToServer,omitempty"`
	LooseClose                  string `json:"looseClose,omitempty"`
	LooseInitialization         string `json:"looseInitialization,omitempty"`
	MssOverride                 int    `json:"mssOverride,omitempty"`
	OtherPvaClientpktsThreshold int    `json:"otherPvaClientpktsThreshold,omitempty"`
	OtherPvaOffloadDirection    string `json:"otherPvaOffloadDirection,omitempty"`
	OtherPvaServerpktsThreshold int    `json:"otherPvaServerpktsThreshold,omitempty"`
	OtherPvaWhentoOffload       string `json:"otherPvaWhentoOffload,omitempty"`
	PriorityToClient            string `json:"priorityToClient,omitempty"`
	PriorityToServer            string `json:"priorityToServer,omitempty"`
	PvaAcceleration             string `json:"pvaAcceleration,omitempty"`
	PvaDynamicClientPackets     int    `json:"pvaDynamicClientPackets,omitempty"`
	PvaDynamicServerPackets     int    `json:"pvaDynamicServerPackets,omitempty"`
	PvaFlowAging                string `json:"pvaFlowAging,omitempty"`
	PvaFlowEvict                string `json:"pvaFlowEvict,omitempty"`
	PvaOffloadDynamic           string `json:"pvaOffloadDynamic,omitempty"`
	PvaOffloadDynamicPriority   string `json:"pvaOffloadDynamicPriority,omitempty"`
	PvaOffloadInitialPriority   string `json:"pvaOffloadInitialPriority,omitempty"`
	PvaOffloadState             string `json:"pvaOffloadState,omitempty"`
	ReassembleFragments         string `json:"reassembleFragments,omitempty"`
	ReceiveWindowSize           int    `json:"receiveWindowSize,omitempty"`
	ResetOnTimeout              string `json:"resetOnTimeout,omitempty"`
	RttFromClient               string `json:"rttFromClient,omitempty"`
	RttFromServer               string `json:"rttFromServer,omitempty"`
	ServerSack                  string `json:"serverSack,omitempty"`
	ServerTimestamp             string `json:"serverTimestamp,omitempty"`
	SoftwareSynCookie           string `json:"softwareSynCookie,omitempty"`
	SynCookieDsrFlowResetBy     string `json:"synCookieDsrFlowResetBy,omitempty"`
	SynCookieEnable             string `json:"synCookieEnable,omitempty"`
	SynCookieMss                int    `json:"synCookieMss,omitempty"`
	SynCookieWhitelist          string `json:"synCookieWhitelist,omitempty"`
	TCPCloseTimeout             string `json:"tcpCloseTimeout,omitempty"`
	TCPGenerateIsn              string `json:"tcpGenerateIsn,omitempty"`
	TCPHandshakeTimeout         string `json:"tcpHandshakeTimeout,omitempty"`
	TCPPvaOffloadDirection      string `json:"tcpPvaOffloadDirection,omitempty"`
	TCPPvaWhentoOffload         string `json:"tcpPvaWhentoOffload,omitempty"`
	TCPStripSack                string `json:"tcpStripSack,omitempty"`
	TCPTimeWaitTimeout          int    `json:"tcpTimeWaitTimeout,omitempty"`
	TCPTimestampMode            string `json:"tcpTimestampMode,omitempty"`
	TCPWscaleMode               string `json:"tcpWscaleMode,omitempty"`
	TimeoutRecovery             string `json:"timeoutRecovery,omitempty"`
}

type Fastl4s

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

type Filetype

type Filetype struct {
	Allowed                bool   `json:"allowed,omitempty"`
	CheckPostDataLength    bool   `json:"checkPostDataLength,omitempty"`
	CheckQueryStringLength bool   `json:"checkQueryStringLength,omitempty"`
	CheckRequestLength     bool   `json:"checkRequestLength,omitempty"`
	CheckURLLength         bool   `json:"checkUrlLength,omitempty"`
	Name                   string `json:"name,omitempty"`
	PerformStaging         bool   `json:"performStaging,omitempty"`
	PostDataLength         int    `json:"postDataLength,omitempty"`
	QueryStringLength      int    `json:"queryStringLength,omitempty"`
	RequestLength          int    `json:"requestLength,omitempty"`
	ResponseCheck          bool   `json:"responseCheck,omitempty"`
	Type                   string `json:"type,omitempty"`
	WildcardOrder          int    `json:"wildcardOrder,omitempty"`
	URLLength              int    `json:"urlLength,omitempty"`
}

type Ftp

type Ftp struct {
	Name                  string
	AllowFtps             string
	AppService            string
	DefaultsFrom          string
	Description           string
	InheritParentProfile  string
	InheritVlanList       string
	LogProfile            string
	LogPublisher          string
	TmPartition           string
	Port                  int
	Security              string
	FtpsMode              string
	EnforceTlsSesionReuse string
	AllowActiveMode       string
	TranslateExtended     string
}

func (*Ftp) MarshalJSON

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

func (*Ftp) UnmarshalJSON

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

type Ftps

type Ftps struct {
	Ftps []Ftp `json:"items"`
}

type GraphqlProfile

type GraphqlProfile struct {
	AttackSignaturesCheck bool             `json:"attackSignaturesCheck"`
	DefenseAttributes     DefenseAttribute `json:"defenseAttributes,omitempty"`
	Description           string           `json:"description,omitempty"`
	MetacharElementCheck  bool             `json:"metacharElementCheck"`
	Name                  string           `json:"name,omitempty"`
}

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 HTTPStrictTransportSecurity

type HTTPStrictTransportSecurity struct {
	IncludeSubdomains string `json:"includeSubdomains,omitempty"`
	MaximumAge        int    `json:"maximumAge,omitempty"`
	Mode              string `json:"mode,omitempty"`
	Preload           string `json:"preload,omitempty"`
}

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 HostName

type HostName struct {
	IncludeSubdomains bool   `json:"includeSubdomains,omitempty"`
	Name              string `json:"name,omitempty"`
}

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  []interface{}               `json:"responseHeadersPermitted,omitempty"`
	ServerAgentName           string                      `json:"serverAgentName,omitempty"`
	ViaHostName               string                      `json:"viaHostName,omitempty"`
	ViaRequest                string                      `json:"viaRequest,omitempty"`
	ViaResponse               string                      `json:"viaResponse,omitempty"`
	XffAlternativeNames       []interface{}               `json:"xffAlternativeNames,omitempty"`
	Hsts                      HTTPStrictTransportSecurity `json:"hsts,omitempty"`
	Enforcement               Enforcement                 `json:"enforcement,omitempty"`
}

type HttpProfiles

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

type Httpcompress

type Httpcompress struct {
	Name               string   `json:"name,omitempty"`
	FullPath           string   `json:"fullPath,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"`
	Selective          string   `json:"selective,omitempty"`
	UriExclude         []string `json:"uriExclude,omitempty"`
	UriInclude         []string `json:"uriInclude,omitempty"`
	VaryHeader         string   `json:"varyHeader,omitempty"`
}

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 IPSecProfile

type IPSecProfile struct {
	Name            string `json:"name,omitempty"`
	Partition       string `json:"partition,omitempty"`
	FullPath        string `json:"fullPath,omitempty"`
	DefaultsFrom    string `json:"defaultsFrom,omitempty"`
	Description     string `json:"description"`
	TrafficSelector string `json:"trafficSelector,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 ImportStatus

type ImportStatus struct {
	IsBase64                  bool   `json:"isBase64,omitempty"`
	Status                    string `json:"status"`
	GetPolicyAttributesOnly   bool   `json:"getPolicyAttributesOnly,omitempty"`
	Filename                  string `json:"filename"`
	ID                        string `json:"id"`
	RetainInheritanceSettings bool   `json:"retainInheritanceSettings"`
	Result                    struct {
		File    string `json:"file,omitempty"`
		Message string `json:"message"`
	} `json:"result,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 MethodOverrides

type MethodOverrides struct {
	Allowed bool   `json:"allowed"` // as we can supply true and false, omitempty would automatically remove allowed = false which we do not want
	Method  string `json:"method,omitempty"`
}

type Monitor

type Monitor struct {
	Name           string `json:"name,omitempty"`
	Partition      string `json:"partition,omitempty"`
	FullPath       string `json:"fullPath,omitempty"`
	Generation     int    `json:"generation,omitempty"`
	ParentMonitor  string `json:"defaultsFrom,omitempty"`
	Description    string `json:"description,omitempty"`
	Destination    string `json:"destination,omitempty"`
	Database       string `json:"database,omitempty"`
	Interval       int    `json:"interval,omitempty"`
	IPDSCP         int    `json:"ipDscp,omitempty"`
	ManualResume   string `json:"manualResume,omitempty"`
	Password       string `json:"password,omitempty"`
	ReceiveString  string `json:"recv,omitempty"`
	ReceiveDisable string `json:"recvDisable,omitempty"`
	Reverse        string `json:"reverse,omitempty"`
	SendString     string `json:"send,omitempty"`
	TimeUntilUp    int    `json:"timeUntilUp,omitempty"`
	Timeout        int    `json:"timeout,omitempty"`
	Transparent    string `json:"transparent,omitempty"`
	UpInterval     int    `json:"upInterval,omitempty"`
	Username       string `json:"username,omitempty"`
	Compatibility  string `json:"compatibility,omitempty"`
	Filename       string `json:"filename,omitempty"`
	Mode           string `json:"mode,omitempty"`
	Adaptive       string `json:"adaptive,omitempty"`
	AdaptiveLimit  int    `json:"adaptiveLimit,omitempty"`
	Count          string `json:"count,omitempty"`
	RecvRow        string `json:"recvRow,omitempty"`
	RecvColumn     string `json:"recvColumn,omitempty"`
	SSLProfile     string `json:"sslProfile,omitempty"`
	// ldap specifics
	Base                string `json:"base,omitempty"`
	Filter              string `json:"filter,omitempty"`
	MandatoryAttributes string `json:"mandatoryAttributes,omitempty"`
	ChaseReferrals      string `json:"chaseReferrals,omitempty"`
	Security            string `json:"security,omitempty"`
}

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"`
	Servers     []string `json:"servers"`
	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 OCSP

type OCSP struct {
	Name                       string `json:"name,omitempty"`
	FullPath                   string `json:"fullPath,omitempty"`
	Partition                  string `json:"partition,omitempty"`
	ProxyServerPool            string `json:"proxyServerPool,omitempty"`
	DnsResolver                string `json:"dnsResolver,omitempty"`
	RouteDomain                string `json:"routeDomain,omitempty"`
	ConcurrentConnectionsLimit int64  `json:"concurrentConnectionsLimit,omitempty"`
	ResponderUrl               string `json:"responderUrl,omitempty"`
	ConnectionTimeout          int64  `json:"timeout,omitempty"`
	TrustedResponders          string `json:"trustedResponders,omitempty"`
	ClockSkew                  int64  `json:"clockSkew,omitempty"`
	StatusAge                  int64  `json:"statusAge,omitempty"`
	StrictRespCertCheck        string `json:"strictRespCertCheck,omitempty"`
	CacheTimeout               string `json:"cacheTimeout,omitempty"`
	CacheErrorTimeout          int64  `json:"cacheErrorTimeout,omitempty"`
	SignerCert                 string `json:"signerCert,omitempty"`
	SignerKey                  string `json:"signerKey,omitempty"`
	Passphrase                 string `json:"passphrase,omitempty"`
	SignHash                   string `json:"signHash,omitempty"`
}

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 OpenApiLink struct {
	Link string `json:"link,omitempty"`
}

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 Parameter

type Parameter struct {
	Name                           string                   `json:"name,omitempty"`
	Description                    string                   `json:"description,omitempty"`
	Type                           string                   `json:"type,omitempty"`
	ValueType                      string                   `json:"valueType,omitempty"`
	AllowEmptyValue                bool                     `json:"allowEmptyValue,omitempty"`
	AllowRepeatedParameterName     bool                     `json:"allowRepeatedParameterName,omitempty"`
	AttackSignaturesCheck          bool                     `json:"attackSignaturesCheck,omitempty"`
	CheckMaxValueLength            bool                     `json:"checkMaxValueLength,omitempty"`
	CheckMinValueLength            bool                     `json:"checkMinValueLength,omitempty"`
	DataType                       string                   `json:"dataType,omitempty"`
	EnableRegularExpression        bool                     `json:"enableRegularExpression,omitempty"`
	IsBase64                       bool                     `json:"isBase64,omitempty"`
	IsCookie                       bool                     `json:"isCookie,omitempty"`
	IsHeader                       bool                     `json:"isHeader,omitempty"`
	Level                          string                   `json:"level,omitempty"`
	Mandatory                      bool                     `json:"mandatory,omitempty"`
	MetacharsOnParameterValueCheck bool                     `json:"metacharsOnParameterValueCheck,omitempty"`
	ParameterLocation              string                   `json:"parameterLocation,omitempty"`
	PerformStaging                 bool                     `json:"performStaging,omitempty"`
	SensitiveParameter             bool                     `json:"sensitiveParameter,omitempty"`
	SignatureOverrides             []map[string]interface{} `json:"signatureOverrides,omitempty"`
	URL                            interface{}              `json:"url,omitempty"`
	MaximumLength                  int                      `json:"maximumLength,omitempty"`
	MinimumLength                  int                      `json:"minimumLength,omitempty"`
}

type ParameterUrl

type ParameterUrl struct {
	Method   string `json:"method,omitempty"`
	Name     string `json:"name,omitempty"`
	Protocol string `json:"protocol,omitempty"`
	Type     string `json:"type,omitempty"`
}

type Parameters

type Parameters struct {
	Parameters []Parameter `json:"items"`
}

type Partition

type Partition struct {
	Name        string `json:"name,omitempty"`
	RouteDomain int    `json:"defaultRouteDomain"`
	Description string `json:"description,omitempty"`
}

type PbExport

type PbExport struct {
	Status  string                 `json:"status,omitempty"`
	Task_id string                 `json:"id,omitempty"`
	Result  map[string]interface{} `json:"result,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
	Description 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
	Description string
	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"`
	Datagroup             string   `json:"datagroup,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"`
	Exists                bool     `json:"exists,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"`
	ClientAccepted        bool     `json:"clientAccepted,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 PolicyStruct

type PolicyStruct struct {
	Policy        WafPolicy     `json:"policy,omitempty"`
	Modifications []interface{} `json:"modifications,omitempty"`
}

type PolicyStructobject

type PolicyStructobject struct {
	Policy        interface{}   `json:"policy,omitempty"`
	Modifications []interface{} `json:"modifications,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 RequestLogProfile

type RequestLogProfile struct {
	Name                       string `json:"name,omitempty"`
	Partition                  string `json:"partition,omitempty"`
	FullPath                   string `json:"fullPath,omitempty"`
	AppService                 string `json:"appService,omitempty"`
	DefaultsFrom               string `json:"defaultsFrom,omitempty"`
	Description                string `json:"description,omitempty"`
	LogRequestLoggingErrors    string `json:"logRequestLoggingErrors,omitempty"`
	LogResponseByDefault       string `json:"logResponseByDefault,omitempty"`
	LogResponseLoggingErrors   string `json:"logResponseLoggingErrors,omitempty"`
	ProxyCloseOnError          string `json:"proxyCloseOnError,omitempty"`
	ProxyRespondOnLoggingError string `json:"proxyRespondOnLoggingError,omitempty"`
	ProxyResponse              string `json:"proxyResponse,omitempty"`
	RequestLogErrorPool        string `json:"requestLogErrorPool,omitempty"`
	RequestLogErrorProtocol    string `json:"requestLogErrorProtocol,omitempty"`
	RequestLogErrorTemplate    string `json:"requestLogErrorTemplate,omitempty"`
	RequestLogPool             string `json:"requestLogPool,omitempty"`
	RequestLogProtocol         string `json:"requestLogProtocol,omitempty"`
	RequestLogTemplate         string `json:"requestLogTemplate,omitempty"`
	RequestLogging             string `json:"requestLogging,omitempty"`
	ResponseLogErrorPool       string `json:"responseLogErrorPool,omitempty"`
	ResponseLogErrorProtocol   string `json:"responseLogErrorProtocol,omitempty"`
	ResponseLogErrorTemplate   string `json:"responseLogErrorTemplate,omitempty"`
	ResponseLogPool            string `json:"responseLogPool,omitempty"`
	ResponseLogProtocol        string `json:"responseLogProtocol,omitempty"`
	ResponseLogTemplate        string `json:"responseLogTemplate,omitempty"`
	ResponseLogging            string `json:"responseLogging,omitempty"`
}

json to golang struct

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 RewriteProfile

type RewriteProfile struct {
	Name           string                      `json:"name,omitempty"`
	Partition      string                      `json:"partition,omitempty"`
	FullPath       string                      `json:"fullPath,omitempty"`
	DefaultsFrom   string                      `json:"defaultsFrom,omitempty"`
	AppService     string                      `json:"appService,omitempty"`
	Mode           string                      `json:"rewriteMode,omitempty"`
	CaFile         string                      `json:"javaCaFile,omitempty"`
	CrlFile        string                      `json:"javaCrl,omitempty"`
	CachingType    string                      `json:"clientCachingType,omitempty"`
	SigningCert    string                      `json:"javaSigner,omitempty"`
	SigningKey     string                      `json:"javaSignKey,omitempty"`
	SigningKeyPass string                      `json:"javaSignKeyPassphraseEncrypted,omitempty"`
	SplitTunnel    string                      `json:"splitTunneling,omitempty"`
	RewriteList    []string                    `json:"rewriteList,omitempty"`
	BypassList     []string                    `json:"bypassList,omitempty"`
	Request        RewriteProfileRequestd      `json:"request,omitempty"`
	Response       RewriteProfileResponsed     `json:"response,omitempty"`
	Cookies        []RewriteProfileCookieRules `json:"setCookieRules,omitempty"`
}

type RewriteProfileCookieClSrv

type RewriteProfileCookieClSrv struct {
	Domain string `json:"domain,omitempty"`
	Path   string `json:"path,omitempty"`
}

type RewriteProfileCookieRules

type RewriteProfileCookieRules struct {
	Name   string                    `json:"name,omitempty"`
	Client RewriteProfileCookieClSrv `json:"client,omitempty"`
	Server RewriteProfileCookieClSrv `json:"server,omitempty"`
}

type RewriteProfileRequestd

type RewriteProfileRequestd struct {
	XfwdFor        string `json:"insertXforwardedFor,omitempty"`
	XfwdHost       string `json:"insertXforwardedHost,omitempty"`
	XfwdProtocol   string `json:"insertXforwardedProto,omitempty"`
	RewriteHeaders string `json:"rewriteHeaders,omitempty"`
}

type RewriteProfileResponsed

type RewriteProfileResponsed struct {
	RewriteContent string `json:"rewriteContent,omitempty"`
	RewriteHeaders string `json:"rewriteHeaders,omitempty"`
}

type RewriteProfileUriRule

type RewriteProfileUriRule struct {
	Name   string                 `json:"name,omitempty"`
	Type   string                 `json:"type,omitempty"`
	Client RewriteProfileUrlClSrv `json:"client,omitempty"`
	Server RewriteProfileUrlClSrv `json:"server,omitempty"`
}

type RewriteProfileUriRules

type RewriteProfileUriRules struct {
	Uri []RewriteProfileUriRule `json:"items,omitempty"`
}

type RewriteProfileUrlClSrv

type RewriteProfileUrlClSrv struct {
	Host   string `json:"host,omitempty"`
	Path   string `json:"path,omitempty"`
	Port   string `json:"port,omitempty"`
	Scheme string `json:"scheme,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 SDAzureObject

type SDAzureObject struct {
	SdType               string `json:"sd_type,omitempty"`
	SdPort               *int   `json:"sd_port,omitempty"`
	SdRg                 string `json:"sd_rg,omitempty"`
	SdSid                string `json:"sd_sid,omitempty"`
	SdRid                string `json:"sd_rid,omitempty"`
	SdRtype              string `json:"sd_rtype,omitempty"`
	SdDirid              string `json:"sd_dirid,omitempty"`
	SdAppid              string `json:"sd_appid,omitempty"`
	SdApikey             string `json:"sd_apikey,omitempty"`
	SdAddressRealm       string `json:"sd_addressRealm,omitempty"`
	SdCredentialUpdate   bool   `json:"sd_credentialUpdate,omitempty"`
	SdEnvironment        string `json:"sd_environment,omitempty"`
	SdMinimumMonitors    string `json:"sd_minimumMonitors,omitempty"`
	SdAzureTagKey        string `json:"sd_azure_tag_key,omitempty"`
	SdAzureTagVal        string `json:"sd_azure_tag_val,omitempty"`
	SdUndetectableAction string `json:"sd_undetectableAction,omitempty"`
	SdUpdateInterval     string `json:"sd_updateInterval,omitempty"`
	SdUseManagedIdentity bool   `json:"sd_useManagedIdentity,omitempty"`
}

type SDConsulObject

type SDConsulObject struct {
	SdType               string `json:"sd_type,omitempty"`
	SdPort               *int   `json:"sd_port,omitempty"`
	SdUri                string `json:"sd_uri,omitempty"`
	SdAddressRealm       string `json:"sd_addressRealm,omitempty"`
	SdCredentialUpdate   bool   `json:"sd_credentialUpdate,omitempty"`
	SdEncodedToken       string `json:"sd_encodedToken,omitempty"`
	SdJmesPathQuery      string `json:"sd_jmesPathQuery,omitempty"`
	SdMinimumMonitors    string `json:"sd_minimumMonitors,omitempty"`
	SdRejectUnauthorized bool   `json:"sd_rejectUnauthorized,omitempty"`
	SdTrustCA            string `json:"sd_trustCA,omitempty"`
	SdUndetectableAction string `json:"sd_undetectableAction,omitempty"`
	SdUpdateInterval     string `json:"sd_updateInterval,omitempty"`
}

type SDGceObject

type SDGceObject struct {
	SdType               string `json:"sd_type,omitempty"`
	SdPort               *int   `json:"sd_port,omitempty"`
	SdTagKey             string `json:"sd_tag_key,omitempty"`
	SdTagVal             string `json:"sd_tag_val,omitempty"`
	SdRegion             string `json:"sd_region,omitempty"`
	SdAddressRealm       string `json:"sd_addressRealm,omitempty"`
	SdCredentialUpdate   bool   `json:"sd_credentialUpdate,omitempty"`
	SdEncodedCredentials string `json:"sd_encodedCredentials,omitempty"`
	SdMinimumMonitors    string `json:"sd_minimumMonitors,omitempty"`
	SdProjectId          string `json:"sd_projectId,omitempty"`
	SdUndetectableAction string `json:"sd_undetectableAction,omitempty"`
	SdUpdateInterval     string `json:"sd_updateInterval,omitempty"`
}

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 SdAwsObj

type SdAwsObj struct {
	SdType               string `json:"sd_type,omitempty"`
	SdPort               *int   `json:"sd_port,omitempty"`
	SdTagKey             string `json:"sd_tag_key,omitempty"`
	SdTagVal             string `json:"sd_tag_val,omitempty"`
	SdAccessKeyId        string `json:"sd_accessKeyId,omitempty"`
	SdSecretAccessKey    string `json:"sd_secretAccessKey,omitempty"`
	SdAddressRealm       string `json:"sd_addressRealm,omitempty"`
	SdCredentialUpdate   bool   `json:"sd_credentialUpdate,omitempty"`
	SdExternalId         string `json:"sd_externalId,omitempty"`
	SdRoleARN            string `json:"sd_roleARN,omitempty"`
	SdMinimumMonitors    string `json:"sd_minimumMonitors,omitempty"`
	SdAwsRegion          string `json:"sd_aws_region,omitempty"`
	SdUndetectableAction string `json:"sd_undetectableAction,omitempty"`
	SdUpdateInterval     string `json:"sd_updateInterval,omitempty"`
}

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"`
	AllowService          interface{} `json:"allowService"`
}

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"`
	CipherGroup                  string      `json:"cipherGroup,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 ServerTech

type ServerTech struct {
	ServerTechnologyName string `json:"serverTechnologyName,omitempty"`
}

type Servers

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

type ServiceDiscoverObj

type ServiceDiscoverObj struct {
	SdType               string `json:"sd_type"`
	SdPort               int    `json:"sd_port"`
	SdTagKey             string `json:"sd_tag_key,omitempty"`
	SdTagVal             string `json:"sd_tag_val,omitempty"`
	SdAccessKeyId        string `json:"sd_accessKeyId,omitempty"`
	SdSecretAccessKey    string `json:"sd_secretAccessKey,omitempty"`
	SdAddressRealm       string `json:"sd_addressRealm,omitempty"`
	SdCredentialUpdate   bool   `json:"sd_credentialUpdate"`
	SdExternalId         string `json:"sd_externalId,omitempty"`
	SdRoleARN            string `json:"sd_roleARN,omitempty"`
	SdMinimumMonitors    string `json:"sd_minimumMonitors,omitempty"`
	SdAwsRegion          string `json:"sd_aws_region,omitempty"`
	SdUndetectableAction string `json:"sd_undetectableAction"`
	SdUpdateInterval     string `json:"sd_updateInterval,omitempty"`
	SdRg                 string `json:"sd_rg,omitempty"`
	SdSid                string `json:"sd_sid,omitempty"`
	SdRid                string `json:"sd_rid,omitempty"`
	SdRtype              string `json:"sd_rtype,omitempty"`
	SdDirid              string `json:"sd_dirid,omitempty"`
	SdAppid              string `json:"sd_appid,omitempty"`
	SdApikey             string `json:"sd_apikey,omitempty"`
	SdEnvironment        string `json:"sd_environment,omitempty"`
	SdAzureTagKey        string `json:"sd_azure_tag_key,omitempty"`
	SdAzureTagVal        string `json:"sd_azure_tag_val,omitempty"`
	SdUseManagedIdentity bool   `json:"sd_useManagedIdentity,omitempty"`
	SdRegion             string `json:"sd_region,omitempty"`
	SdEncodedCredentials string `json:"sd_encodedCredentials,omitempty"`
	SdProjectId          string `json:"sd_projectId,omitempty"`
	SdUri                string `json:"sd_uri,omitempty"`
	SdEncodedToken       string `json:"sd_encodedToken,omitempty"`
	SdJmesPathQuery      string `json:"sd_jmesPathQuery,omitempty"`
	SdRejectUnauthorized bool   `json:"sd_rejectUnauthorized,omitempty"`
	SdTrustCA            string `json:"sd_trustCA,omitempty"`
}

type Signature

type Signature struct {
	Name        string `json:"name,omitempty"`
	ResourceId  string `json:"id,omitempty"`
	Description string `json:"description,omitempty"`
	SignatureId int    `json:"signatureId,omitempty"`
	Type        string `json:"signatureType,omitempty"`
	Accuracy    string `json:"accuracy,omitempty"`
	Risk        string `json:"risk,omitempty"`
}

type SignatureSet

type SignatureSet struct {
	Alarm        bool          `json:"alarm,omitempty"`
	Block        bool          `json:"block,omitempty"`
	Learn        bool          `json:"learn,omitempty"`
	Name         string        `json:"name,omitempty"`
	Signatureset SignatureType `json:"signatureSet,omitempty"`
}

type SignatureType

type SignatureType struct {
	Filter struct {
		AccuracyFilter    string `json:"accuracyFilter,omitempty"`
		AccuracyValue     string `json:"accuracyValue,omitempty"`
		HasCve            string `json:"hasCve,omitempty"`
		LastUpdatedFilter string `json:"lastUpdatedFilter,omitempty"`
		RiskFilter        string `json:"riskFilter,omitempty"`
		RiskValue         string `json:"riskValue,omitempty"`
		SignatureType     string `json:"signatureType,omitempty"`
		TagFilter         string `json:"tagFilter,omitempty"`
		UserDefinedFilter string `json:"userDefinedFilter,omitempty"`
	} `json:"filter,omitempty"`
	Systems []struct {
		Name string `json:"name,omitempty"`
	} `json:"systems,omitempty"`
	Type string `json:"type,omitempty"`
}

type Signatures

type Signatures struct {
	Signatures []Signature `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
	VlansEnabled  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
	CongestionControl string
	DelayedAcks       string
	Nagle             string
	EarlyRetransmit   string
	TailLossProbe     string
	ProxyBufferHigh   int
	ReceiveWindowSize int
	SendBufferSize    int
	TimeWaitRecycle   string
	VerifiedAccept    string
	ZeroWindowTimeout int
	InitCwnd          int
	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 Transaction

type Transaction struct {
	TransID          int64  `json:"transId,omitempty"`
	State            string `json:"state,omitempty"`
	TimeoutSeconds   int64  `json:"timeoutSeconds,omitempty"`
	AsyncExecution   bool   `json:"asyncExecution,omitempty"`
	ValidateOnly     bool   `json:"validateOnly,omitempty"`
	ExecutionTimeout int64  `json:"executionTimeout,omitempty"`
	ExecutionTime    int64  `json:"executionTime,omitempty"`
	FailureReason    string `json:"failureReason,omitempty"`
}

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 VcmpDisk

type VcmpDisk struct {
	Name     string `json:"name,omitempty"`
	FullPath string `json:"fullPath,omitempty"`
}

type VcmpDisks

type VcmpDisks struct {
	Disks []VcmpDisk `json:"items,omitempty"`
}

type VcmpGuest

type VcmpGuest struct {
	Name              string   `json:"name,omitempty"`
	FullPath          string   `json:"fullPath,omitempty"`
	AllowedSlots      []int    `json:"allowedSlots,omitempty"`
	AssignedSlots     []int    `json:"assignedSlots,omitempty"`
	CoresPerSlot      int      `json:"coresPerSlot,omitempty"`
	Hostname          string   `json:"hostname,omitempty"`
	InitialImage      string   `json:"initialImage,omitempty"`
	InitialHotfix     string   `json:"initialHotfix,omitempty"`
	Slots             int      `json:"slots,omitempty"`
	MinSlots          int      `json:"minSlots,omitempty"`
	ManagementNetwork string   `json:"managementNetwork,omitempty"`
	ManagementIp      string   `json:"managementIp,omitempty"`
	ManagementGw      string   `json:"managementGw,omitempty"`
	VirtualDisk       string   `json:"virtualDisk,omitempty"`
	Vlans             []string `json:"vlans,omitempty"`
	State             string   `json:"state,omitempty"`
	SslMode           string   `json:"sslMode,omitempty"`
}

type VcmpGuestStat

type VcmpGuestStat struct {
	NestedStats struct {
		Entries struct {
			RequestedState struct {
				Descrption string `json:"description,omitempty"`
			} `json:"requestedState,omitempty"`
			VmStatus struct {
				Descrption string `json:"description,omitempty"`
			} `json:"vmStatus,omitempty"`
		} `json:"entries,omitempty"`
	} `json:"nestedStats,omitempty"`
}

type VcmpGuestStats

type VcmpGuestStats struct {
	Kind     string  `json:"kind,omitempty"`
	SelfLink string  `json:"selfLink,omitempty"`
	Entries  DynStat `json:"entries,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"`
	FwEnforcedPolicy           string    `json:"fwEnforcedPolicy,omitempty"`
	SYNCookieStatus            string    `json:"synCookieStatus,omitempty"`
	TranslateAddress           string    `json:"translateAddress,omitempty"`
	TranslatePort              string    `json:"translatePort,omitempty"`
	VlansEnabled               bool      `json:"vlansEnabled,omitempty"`
	VlansDisabled              bool      `json:"vlansDisabled,omitempty"`
	TrafficMatchingCriteria    string    `json:"trafficMatchingCriteria,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.

type WafPolicies

type WafPolicies struct {
	WafPolicies []WafPolicy `json:"items,omitempty"`
}

type WafPolicy

type WafPolicy struct {
	Name        string `json:"name,omitempty"`
	Partition   string `json:"partition,omitempty"`
	Description string `json:"description,omitempty"`
	FullPath    string `json:"fullPath,omitempty"`
	ID          string `json:"id,omitempty"`
	Template    struct {
		Name string `json:"name,omitempty"`
		Link string `json:"link,omitempty"`
	} `json:"template,omitempty"`
	HasParent           bool         `json:"hasParent,omitempty"`
	ApplicationLanguage string       `json:"applicationLanguage,omitempty"`
	EnablePassiveMode   bool         `json:"enablePassiveMode,omitempty"`
	ProtocolIndependent bool         `json:"protocolIndependent,omitempty"`
	CaseInsensitive     bool         `json:"caseInsensitive,omitempty"`
	EnforcementMode     string       `json:"enforcementMode,omitempty"`
	Type                string       `json:"type,omitempty"`
	Parameters          []Parameter  `json:"parameters,omitempty"`
	ServerTechnologies  []ServerTech `json:"server-technologies,omitempty"`
	Urls                []WafUrlJson `json:"urls,omitempty"`
	PolicyBuilder       struct {
		LearningMode string `json:"learningMode,omitempty"`
	} `json:"policy-builder,omitempty"`
	SignatureSettings struct {
		SignatureStaging bool `json:"signatureStaging,omitempty"`
	} `json:"signature-settings,omitempty"`
	Signatures             []WafSignature   `json:"signatures,omitempty"`
	WhitelistIps           []WhitelistIp    `json:"whitelist-ips,omitempty"`
	GraphqlProfiles        []GraphqlProfile `json:"graphql-profiles,omitempty"`
	Filetypes              []Filetype       `json:"filetypes,omitempty"`
	DisallowedGeolocations []struct {
		CountryName string `json:"countryName,omitempty"`
	} `json:"disallowed-geolocations,omitempty"`
	OpenAPIFiles   []OpenApiLink  `json:"open-api-files,omitempty"`
	SignatureSets  []SignatureSet `json:"signature-sets,omitempty"`
	VirtualServers []interface{}  `json:"virtualServers,omitempty"`
	DataGuard      struct {
		Enabled         bool   `json:"enabled,omitempty"`
		EnforcementMode string `json:"enforcementMode,omitempty"`
	} `json:"data-guard,omitempty"`
	IpIntelligence struct {
		Enabled bool `json:"enabled,omitempty"`
	} `json:"ip-intelligence,omitempty"`
	HostNames []HostName `json:"host-names,omitempty"`
	General   struct {
		AllowedResponseCodes           []int  `json:"allowedResponseCodes,omitempty"`
		EnableEventCorrelation         bool   `json:"enableEventCorrelation,omitempty"`
		EnforcementReadinessPeriod     int    `json:"enforcementReadinessPeriod,omitempty"`
		MaskCreditCardNumbersInRequest bool   `json:"maskCreditCardNumbersInRequest,omitempty"`
		PathParameterHandling          string `json:"pathParameterHandling,omitempty"`
		TriggerAsmIruleEvent           string `json:"triggerAsmIruleEvent,omitempty"`
		TrustXff                       bool   `json:"trustXff,omitempty"`
		UseDynamicSessionIdInUrl       bool   `json:"useDynamicSessionIdInUrl,omitempty"`
	} `json:"general,omitempty"`
}

type WafQueriedPolicies

type WafQueriedPolicies struct {
	WafPolicyList []WafQueriedPolicy `json:"items"`
}

type WafQueriedPolicy

type WafQueriedPolicy struct {
	Name      string `json:"name,omitempty"`
	Partition string `json:"partition,omitempty"`
	Policy_id string `json:"id,omitempty"`
}

type WafSignature

type WafSignature struct {
	Name                string      `json:"name,omitempty"`
	SignatureID         interface{} `json:"signatureId,omitempty"`
	IsPriorRuleEnforced bool        `json:"isPriorRuleEnforced,omitempty"`
	Alarm               bool        `json:"alarm,omitempty"`
	Block               bool        `json:"block,omitempty"`
	PerformStaging      bool        `json:"performStaging"`
	Learn               bool        `json:"learn,omitempty"`
	Enabled             bool        `json:"enabled,omitempty"`
}

type WafSignaturesets

type WafSignaturesets struct {
	WafSignaturesets []SignatureSet `json:"items"`
}

type WafUrlAllowedOrigins

type WafUrlAllowedOrigins struct {
	IncludeSubdomains bool   `json:"includeSubDomains,omitempty"`
	OriginPort        string `json:"originPort,omitempty"`
	OriginName        string `json:"originName,omitempty"`
	OriginProtocol    string `json:"originProtocol,omitempty"`
}

type WafUrlJson

type WafUrlJson struct {
	Name                                string            `json:"name,omitempty"`
	Description                         string            `json:"description,omitempty"`
	Type                                string            `json:"type,omitempty"`
	Protocol                            string            `json:"protocol,omitempty"`
	Method                              string            `json:"method,omitempty"`
	PerformStaging                      bool              `json:"performStaging,omitempty"`
	SignatureOverrides                  []WafUrlSig       `json:"signatureOverrides,omitempty"`
	MethodOverrides                     []MethodOverrides `json:"methodOverrides,omitempty"`
	AttackSignaturesCheck               bool              `json:"attackSignaturesCheck,omitempty"`
	IsAllowed                           bool              `json:"isAllowed,omitempty"`
	MethodsOverrideOnUrlCheck           bool              `json:"methodsOverrideOnUrlCheck,omitempty"`
	ClickjackingProtection              bool              `json:"clickjackingProtection,omitempty"`
	DisallowFileUploadOfExecutables     bool              `json:"disallowFileUploadOfExecutables,omitempty"`
	HTML5CrossOriginRequestsEnforcement struct {
		EnforcementMode string                 `json:"enforcementMode,omitempty"`
		AllowerOrigins  []WafUrlAllowedOrigins `json:"crossDomainAllowedOrigin,omitempty"`
	} `json:"html5CrossOriginRequestsEnforcement,omitempty"`
	MandatoryBody      bool `json:"mandatoryBody,omitempty"`
	URLContentProfiles []struct {
		ContentProfile struct {
			Name string `json:"name,omitempty"`
		} `json:"contentProfile,omitempty"`
		HeaderName  string `json:"headerName,omitempty"`
		HeaderOrder string `json:"headerOrder,omitempty"`
		HeaderValue string `json:"headerValue,omitempty"`
		Type        string `json:"type,omitempty"`
	} `json:"urlContentProfiles,omitempty"`
}

type WafUrlJsons

type WafUrlJsons struct {
	WafUrlJsons []WafUrlJson `json:"items"`
}

type WafUrlSig

type WafUrlSig struct {
	Enabled bool `json:"enabled"` // as we can supply true and false, omitempty would automatically remove allowed = false which we do not want
	Id      int  `json:"signatureId,omitempty"`
}

type WebAccelerationProfileService

type WebAccelerationProfileService struct {
	Name                        string   `json:"name,omitempty"`
	DefaultsFrom                string   `json:"defaultsFrom,omitempty"`
	CacheSize                   int      `json:"cacheSize,omitempty"`
	CacheMaxEntries             int      `json:"cacheMaxEntries,omitempty"`
	CacheMaxAge                 int      `json:"cacheMaxAge,omitempty"`
	CacheObjectMinSize          int      `json:"cacheObjectMinSize,omitempty"`
	CacheObjectMaxSize          int      `json:"cacheObjectMaxSize,omitempty"`
	CacheUriExclude             []string `json:"cacheUriExclude,omitempty"`
	CacheUriInclude             []string `json:"cacheUriInclude,omitempty"`
	CacheUriIncludeOverride     []string `json:"cacheUriIncludeOverride,omitempty"`
	CacheUriPinned              []string `json:"cacheUriPinned,omitempty"`
	CacheClientCacheControlMode string   `json:"cacheClientCacheControlMode,omitempty"`
	CacheInsertAgeHeader        string   `json:"cacheInsertAgeHeader,omitempty"`
	CacheAgingRate              int      `json:"cacheAgingRate,omitempty"`
}

type WhitelistIp

type WhitelistIp struct {
	BlockRequests          string `json:"blockRequests,omitempty"`
	Description            string `json:"description,omitempty"`
	IgnoreAnomalies        bool   `json:"ignoreAnomalies,omitempty"`
	IgnoreIpReputation     bool   `json:"ignoreIpReputation,omitempty"`
	IpAddress              string `json:"ipAddress,omitempty"`
	IpMask                 string `json:"ipMask,omitempty"`
	NeverLearnRequests     bool   `json:"neverLearnRequests,omitempty"`
	NeverLogRequests       bool   `json:"neverLogRequests,omitempty"`
	TrustedByPolicyBuilder bool   `json:"trustedByPolicyBuilder,omitempty"`
}

Directories

Path Synopsis
f5teem module

Jump to

Keyboard shortcuts

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