as3

package
v2.6.3 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

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

View Source
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 DeepEqualAS3ArbitraryJsonObject

func DeepEqualAS3ArbitraryJsonObject(obj1, obj2 map[string]interface{}) bool

func DeepEqualJSON

func DeepEqualJSON(decl1, decl2 as3Declaration) bool

func ExtractVirtualAddressAndPort

func ExtractVirtualAddressAndPort(str string) (string, int)

func ValidateAndOverrideAS3JsonData

func ValidateAndOverrideAS3JsonData(srcJsonData string, dstJsonData string) string

func ValidateJSONStringAndFetchObject

func ValidateJSONStringAndFetchObject(jsonData string, jsonObj *map[string]interface{}) error

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
	// 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) ConfigDeployer

func (am *AS3Manager) ConfigDeployer()

configDeployer blocks on ReqChan whenever gets unblocked posts active configuration to BIG-IP

func (*AS3Manager) DeleteAS3Partition

func (am *AS3Manager) DeleteAS3Partition(partition string) (bool, string)

Method to delete any AS3 partition

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 L2L3Agent

type L2L3Agent struct {
	// contains filtered or unexported fields
}

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
	ShareNodes       bool
	RspChan          chan interface{}
	UserAgent        string
	As3Version       string
	As3Release       string
	As3SchemaVersion string

	DefaultRouteDomain int
	// contains filtered or unexported fields
}

Struct to allow NewManager to receive all or only specific parameters.

type PostManager

type PostManager struct {
	PostParams
	// contains filtered or unexported fields
}

func NewPostManager

func NewPostManager(params PostParams) *PostManager

func (*PostManager) GetBigipAS3Version

func (postMgr *PostManager) GetBigipAS3Version() (string, string, string, error)

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
}

Jump to

Keyboard shortcuts

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