Documentation ¶
Overview ¶
-
- Copyright (c) 2016-2021, 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
- func DeepEqualAS3ArbitraryJsonObject(obj1, obj2 map[string]interface{}) bool
- func DeepEqualJSON(decl1, decl2 as3Declaration) bool
- func ExtractVirtualAddressAndPort(str string) (string, int)
- func ValidateAndOverrideAS3JsonData(srcJsonData string, dstJsonData string) string
- func ValidateJSONStringAndFetchObject(jsonData string, jsonObj *map[string]interface{}) error
- type AS3Config
- type AS3ConfigMap
- type AS3Manager
- func (am *AS3Manager) CleanAS3Tenant(partition string) (bool, string)
- func (am *AS3Manager) ConfigDeployer()
- func (am *AS3Manager) DeleteAS3Tenant(partition string) (bool, string)
- func (am *AS3Manager) IsBigIPAppServicesAvailable() error
- func (am *AS3Manager) SendARPEntries()
- func (am *AS3Manager) SendAgentResponse()
- type L2L3Agent
- type Params
- type PostManager
- type PostParams
Constants ¶
const ( F5TypeLabel = "f5type" VSLabel = "virtual-server" TrueLabel = "true" FalseLabel = "false" OverrideAS3Label = "overrideAS3" AS3Label = "as3" StagingAS3Label = "stagingAS3" )
cfgMap States
Variables ¶
This section is empty.
Functions ¶
func DeepEqualJSON ¶
func DeepEqualJSON(decl1, decl2 as3Declaration) bool
Types ¶
type AS3Config ¶
type AS3Config struct {
// contains filtered or unexported fields
}
AS3Config consists of all the AS3 related configurations
type AS3ConfigMap ¶
type AS3ConfigMap struct { Name string // AS3 specific ConfigMap name Namespace string // AS3 specific ConfigMap namespace Validated bool // Json Schema validated ok // contains filtered or unexported fields }
ActiveAS3ConfigMap user defined ConfigMap for global availability.
type AS3Manager ¶
type AS3Manager struct { As3SchemaLatest string // Override existing as3 declaration with this configmap OverriderCfgMapName string // Path of schemas reside locally SchemaLocalPath string // POSTs configuration to BIG-IP using AS3 PostManager *PostManager // To put list of tenants in BIG-IP REST call URL that are in AS3 declaration FilterTenants bool DefaultPartition string ReqChan chan MessageRequest RspChan chan interface{} ResourceRequest ResourceResponse // contains filtered or unexported fields }
AS3Manager holds all the AS3 orchestration specific config
func NewAS3Manager ¶
func NewAS3Manager(params *Params) *AS3Manager
Create and return a new app manager that meets the Manager interface
func (*AS3Manager) CleanAS3Tenant ¶
func (am *AS3Manager) CleanAS3Tenant(partition string) (bool, string)
func (*AS3Manager) ConfigDeployer ¶
func (am *AS3Manager) ConfigDeployer()
configDeployer blocks on ReqChan whenever gets unblocked posts active configuration to BIG-IP
func (*AS3Manager) DeleteAS3Tenant ¶
func (am *AS3Manager) DeleteAS3Tenant(partition string) (bool, string)
Method to delete AS3 partition using partition endpoint
func (*AS3Manager) IsBigIPAppServicesAvailable ¶
func (am *AS3Manager) IsBigIPAppServicesAvailable() error
Method to verify if App Services are installed or CIS as3 version is compatible with BIG-IP, it will return with error if any one of the requirements are not met
func (*AS3Manager) SendARPEntries ¶
func (am *AS3Manager) SendARPEntries()
func (*AS3Manager) SendAgentResponse ¶
func (am *AS3Manager) SendAgentResponse()
Post ARP entries over response channel
type Params ¶
type Params struct { // Package local for unit testing only SchemaLocal string AS3Validation bool SSLInsecure bool IPAM bool EnableTLS string TLS13CipherGroupReference string Ciphers string //Agent string OverriderCfgMapName string SchemaLocalPath string FilterTenants bool BIGIPUsername string BIGIPPassword string BIGIPURL string TrustedCerts string AS3PostDelay int ConfigWriter writer.Writer EventChan chan interface{} //Log the AS3 response body in Controller logs LogResponse bool RspChan chan interface{} UserAgent string As3Version string As3Release string As3SchemaVersion string DefaultRouteDomain int PoolMemberType string // contains filtered or unexported fields }
Struct to allow NewManager to receive all or only specific parameters.
type PostManager ¶
type PostManager struct { PostParams Tenants map[string]bool // contains filtered or unexported fields }
func NewPostManager ¶
func NewPostManager(params PostParams) *PostManager
func (*PostManager) GetBigipAS3Version ¶
func (postMgr *PostManager) GetBigipAS3Version() (string, string, string, error)
func (*PostManager) GetBigipRegKey ¶
func (postMgr *PostManager) GetBigipRegKey() (string, error)
GetBigipRegKey ...
type PostParams ¶
type PostParams struct { BIGIPUsername string BIGIPPassword string BIGIPURL string TrustedCerts string SSLInsecure bool AS3PostDelay int //Log the AS3 response body in Controller logs LogResponse bool RouteClientV1 routeclient.RouteV1Interface }