nodes

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2024 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Service = GraphSchema{
		Type:                           "Service",
		GetParentIngresses:             SvcToIng,
		GetParentRoutes:                SvcToRoute,
		GetParentGateways:              SvcToGateway,
		GetParentMultiClusterIngresses: SvcToMultiClusterIng,
	}
	SharedVipService = GraphSchema{
		Type:              "SharedVipService",
		GetParentServices: ServiceChanges,
	}
	Ingress = GraphSchema{
		Type:               "Ingress",
		GetParentIngresses: IngressChanges,
	}
	IngressClass = GraphSchema{
		Type:               "IngressClass",
		GetParentIngresses: IngClassToIng,
	}
	Endpoint = GraphSchema{
		Type:               "Endpoints",
		GetParentIngresses: EPToIng,
		GetParentRoutes:    EPToRoute,
		GetParentGateways:  EPToGateway,
	}
	Pod = GraphSchema{
		Type:               "Pod",
		GetParentIngresses: PodToIng,
	}
	Node = GraphSchema{
		Type:               "Node",
		GetParentIngresses: NodeToIng,
		GetParentRoutes:    NodeToRoute,
	}
	Secret = GraphSchema{
		Type:                           "Secret",
		GetParentIngresses:             SecretToIng,
		GetParentRoutes:                SecretToRoute,
		GetParentGateways:              SecretToGateway,
		GetParentMultiClusterIngresses: SecretToMultiClusterIng,
	}
	Route = GraphSchema{
		Type:            utils.OshiftRoute,
		GetParentRoutes: RouteChanges,
	}
	HostRule = GraphSchema{
		Type:               "HostRule",
		GetParentIngresses: HostRuleToIng,
		GetParentRoutes:    HostRuleToIng,
	}
	HTTPRule = GraphSchema{
		Type:               "HTTPRule",
		GetParentIngresses: HTTPRuleToIng,
		GetParentRoutes:    HTTPRuleToIng,
	}
	Gateway = GraphSchema{
		Type:              "Gateway",
		GetParentGateways: GatewayChanges,
	}
	GatewayClass = GraphSchema{
		Type:              "GatewayClass",
		GetParentGateways: GWClassToGateway,
	}
	AviInfraSetting = GraphSchema{
		Type:               "AviInfraSetting",
		GetParentIngresses: AviSettingToIng,
		GetParentGateways:  AviSettingToGateway,
		GetParentServices:  AviSettingToSvc,
		GetParentRoutes:    AviSettingToRoute,
	}
	MultiClusterIngress = GraphSchema{
		Type:                           lib.MultiClusterIngress,
		GetParentMultiClusterIngresses: MultiClusterIngressChanges,
	}
	ServiceImport = GraphSchema{
		Type:                           lib.ServiceImport,
		GetParentMultiClusterIngresses: ServiceImportToMultiClusterIng,
	}
	SSORule = GraphSchema{
		Type:               lib.SSORule,
		GetParentIngresses: SSORuleToIng,
		GetParentRoutes:    SSORuleToIng,
	}
	NamespaceNetworkInfos = GraphSchema{
		Type:               utils.NamespaceNetworkInfo,
		GetParentGateways:  t1LRNSToGateway,
		GetParentIngresses: t1LRNSToIngress,
	}
	SupportedGraphTypes = GraphDescriptor{
		Ingress,
		IngressClass,
		Service,
		SharedVipService,
		Pod,
		Endpoint,
		Secret,
		Route,
		Node,
		HostRule,
		HTTPRule,
		Gateway,
		GatewayClass,
		AviInfraSetting,
		MultiClusterIngress,
		ServiceImport,
		SSORule,
		L4Rule,
		NamespaceNetworkInfos,
	}
)
View Source
var (
	L4Rule = GraphSchema{
		Type:              lib.L4Rule,
		GetParentServices: L4RuleToSvc,
	}
)

Functions

func AviSettingToGateway

func AviSettingToGateway(infraSettingName string, namespace string, key string) ([]string, bool)

func AviSettingToIng

func AviSettingToIng(infraSettingName, namespace, key string) ([]string, bool)

func AviSettingToRoute

func AviSettingToRoute(infraSettingName, namespace, key string) ([]string, bool)

func AviSettingToSvc

func AviSettingToSvc(infraSettingName string, namespace string, key string) ([]string, bool)

func BuildL7HostRule

func BuildL7HostRule(host, key string, vsNode AviVsEvhSniModel)

func BuildL7Rule

func BuildL7Rule(host, key, l7RuleName, namespace string, vsNode AviVsEvhSniModel)

func BuildL7SSORule

func BuildL7SSORule(host, key string, vsNode AviVsEvhSniModel)

func BuildPoolHTTPRule

func BuildPoolHTTPRule(host, poolPath, ingName, namespace, infraSettingName, key string, vsNode AviVsEvhSniModel, isSNI, isDedicated bool)

BuildPoolHTTPRule notes when we get an ingress update and we are building the corresponding pools of that ingress we need to get all httprules which match ingress's host/path

func DeleteDedicatedEvhVSNode

func DeleteDedicatedEvhVSNode(vsNode *AviEvhVsNode, key string, hostsToRemove []string)

func DeleteDedicatedVSNode

func DeleteDedicatedVSNode(vsNode *AviVsNode, hostsToRemove []string, key string)

func DeleteStaleData

func DeleteStaleData(routeIgrObj RouteIngressModel, key string, modelList *[]string, Storedhosts map[string]*objects.RouteIngrhost, hostsMap map[string]*objects.RouteIngrhost)

DeleteStaleData : delete pool, fqdn and redirect policy which are present in the object store but no longer required.

func DeleteStaleDataForEvh

func DeleteStaleDataForEvh(routeIgrObj RouteIngressModel, key string, modelList *[]string, Storedhosts map[string]*objects.RouteIngrhost, hostsMap map[string]*objects.RouteIngrhost)

DeleteStaleData : delete pool, EVH VS and redirect policy which are present in the object store but no longer required.

func DeleteStaleDataForModelChange

func DeleteStaleDataForModelChange(routeIgrObj RouteIngressModel, namespace, objname, key string, fullsync bool, sharedQueue *utils.WorkerQueue)

func DeleteStaleDataForModelChangeForEvh

func DeleteStaleDataForModelChangeForEvh(routeIgrObj RouteIngressModel, namespace, objname, key string, fullsync bool, sharedQueue *utils.WorkerQueue)

func DequeueIngestion

func DequeueIngestion(key string, fullsync bool)

func DerivePassthroughVS

func DerivePassthroughVS(hostname string, key string, routeIgrObj RouteIngressModel) (string, string)

func DeriveShardVS

func DeriveShardVS(hostname string, key string, routeIgrObj RouteIngressModel) (lib.VSNameMetadata, lib.VSNameMetadata)

returns old and new models if changed, else just the current one.

func DeriveShardVSForEvh

func DeriveShardVSForEvh(hostname, key string, routeIgrObj RouteIngressModel) (lib.VSNameMetadata, lib.VSNameMetadata)

func EPToGateway

func EPToGateway(epName string, namespace string, key string) ([]string, bool)

func EPToIng

func EPToIng(epName string, namespace string, key string) ([]string, bool)

func EPToRoute

func EPToRoute(epName string, namespace string, key string) ([]string, bool)

func FindAndReplaceEvhInModel

func FindAndReplaceEvhInModel(currentEvhNode *AviEvhVsNode, modelEvhNodes []*AviEvhVsNode, key string) bool

func FindAndReplaceHeaderRewriteHTTPPolicyInModel

func FindAndReplaceHeaderRewriteHTTPPolicyInModel(vsNode *AviVsNode, httpPolicy *AviHttpPolicySetNode, gslbHost, key string) bool

func FindAndReplaceRedirectHTTPPolicyInModel

func FindAndReplaceRedirectHTTPPolicyInModel(vsNode *AviVsNode, httpPolicy *AviHttpPolicySetNode, hostnames []string, key string) bool

func FindAndReplaceRedirectHTTPPolicyInModelforEvh

func FindAndReplaceRedirectHTTPPolicyInModelforEvh(vsNode *AviEvhVsNode, httpPolicy *AviHttpPolicySetNode, hostnames []string, key string) bool

As either HttpSecurityPolicy or HttpRedirect policy exists, using same function for both.

func FindAndReplaceSniInModel

func FindAndReplaceSniInModel(currentSniNode *AviVsNode, modelSniNodes []*AviVsNode, key string) bool

func GWClassToGateway

func GWClassToGateway(gwClassName string, namespace string, key string) ([]string, bool)

func GatewayChanges

func GatewayChanges(gwName string, namespace string, key string) ([]string, bool)

func GetDedicatedVSName

func GetDedicatedVSName(host, infrasettingName string) string

func GetDefaultSubDomain

func GetDefaultSubDomain() []string

func GetShardVSName

func GetShardVSName(s string, key string, shardSize uint32, prefix ...string) lib.VSNameMetadata

func GetShardVSPrefix

func GetShardVSPrefix(key string) string

func HTTPRuleToIng

func HTTPRuleToIng(rrname string, namespace string, key string) ([]string, bool)

func HostNameShardAndPublish

func HostNameShardAndPublish(objType, objname, namespace, key string, fullsync bool, sharedQueue *utils.WorkerQueue)

HostNameShardAndPublish: Create model from supported objects - route/ingress, and publish to rest layer

func HostRuleToIng

func HostRuleToIng(hrname string, namespace string, key string) ([]string, bool)

func IngClassToIng

func IngClassToIng(ingClassName string, namespace string, key string) ([]string, bool)

func IngressChanges

func IngressChanges(ingName string, namespace string, key string) ([]string, bool)

func L4RuleToSvc

func L4RuleToSvc(l4RuleName string, namespace string, key string) ([]string, bool)

func MultiClusterIngressChanges

func MultiClusterIngressChanges(ingName string, namespace string, key string) ([]string, bool)

func NodeToIng

func NodeToIng(nodeName string, namespace string, key string) ([]string, bool)

func NodeToRoute

func NodeToRoute(nodeName string, namespace string, key string) ([]string, bool)

func ParseL4ServiceForGateway

func ParseL4ServiceForGateway(svc *corev1.Service, key string) (string, []string)

func PodToIng

func PodToIng(podName string, namespace string, key string) ([]string, bool)

PodToIng fetches the list of impacted Ingresses from Pod update. First fetch list of Services for the Pod. Then get list of Ingresses for the Services.

func PopulateIngHostMap

func PopulateIngHostMap(namespace, hostName, ingName, secretName string, pathsvcMap HostMetadata)

func ProcessInsecureHosts

func ProcessInsecureHosts(routeIgrObj RouteIngressModel, key string, parsedIng IngressConfig, modelList *[]string, Storedhosts map[string]*objects.RouteIngrhost, hostsMap map[string]*objects.RouteIngrhost)

func ProcessInsecureHostsForEVH

func ProcessInsecureHostsForEVH(routeIgrObj RouteIngressModel, key string, parsedIng IngressConfig, modelList *[]string, Storedhosts map[string]*objects.RouteIngrhost, hostsMap map[string]*objects.RouteIngrhost)

func ProcessPassthroughHosts

func ProcessPassthroughHosts(routeIgrObj RouteIngressModel, key string, parsedIng IngressConfig, modelList *[]string,
	Storedhosts map[string]*objects.RouteIngrhost, hostsMap map[string]*objects.RouteIngrhost)

func ProcessSecureHosts

func ProcessSecureHosts(routeIgrObj RouteIngressModel, key string, parsedIng IngressConfig, modelList *[]string, Storedhosts map[string]*objects.RouteIngrhost,
	hostsMap map[string]*objects.RouteIngrhost, fullsync bool, sharedQueue *utils.WorkerQueue)

func ProcessSecureHostsForEVH

func ProcessSecureHostsForEVH(routeIgrObj RouteIngressModel, key string, parsedIng IngressConfig, modelList *[]string, Storedhosts map[string]*objects.RouteIngrhost,
	hostsMap map[string]*objects.RouteIngrhost, fullsync bool, sharedQueue *utils.WorkerQueue)

func PublishKeyToRestLayer

func PublishKeyToRestLayer(modelName string, key string, sharedQueue *utils.WorkerQueue)

func RemoveEvhInModel

func RemoveEvhInModel(currentEvhNodeName string, modelEvhNodes []*AviEvhVsNode, key string)

func RemoveFqdnFromEVHVIP

func RemoveFqdnFromEVHVIP(vsNode *AviEvhVsNode, hostsToRemove []string, key string)

func RemoveFqdnFromVIP

func RemoveFqdnFromVIP(vsNode *AviVsNode, key string, Fqdns []string)

func RemoveHeaderRewriteHTTPPolicyInModel

func RemoveHeaderRewriteHTTPPolicyInModel(vsNode *AviVsNode, hostname, key string)

func RemoveRedirectHTTPPolicyInModel

func RemoveRedirectHTTPPolicyInModel(vsNode *AviVsNode, hostnames []string, key string)

func RemoveRedirectHTTPPolicyInModelForEvh

func RemoveRedirectHTTPPolicyInModelForEvh(vsNode *AviEvhVsNode, hostnames []string, key string)

As either HttpSecurity policy or http redirect policy exists, using same function for both.

func RemoveSniInModel

func RemoveSniInModel(currentSniNodeName string, modelSniNodes []*AviVsNode, key string)

func RouteChanges

func RouteChanges(routeName string, namespace string, key string) ([]string, bool)

func RouteIngrDeletePoolsByHostname

func RouteIngrDeletePoolsByHostname(routeIgrObj RouteIngressModel, namespace, objname, key string, fullsync bool, sharedQueue *utils.WorkerQueue)

RouteIngrDeletePoolsByHostname : Based on DeletePoolsByHostname, delete pools and policies that are no longer required

func RouteIngrDeletePoolsByHostnameForEvh

func RouteIngrDeletePoolsByHostnameForEvh(routeIgrObj RouteIngressModel, namespace, objname, key string, fullsync bool, sharedQueue *utils.WorkerQueue)

RouteIngrDeletePoolsByHostname : Based on DeletePoolsByHostname, delete pools and policies that are no longer required

func SSORuleToIng

func SSORuleToIng(srname string, namespace string, key string) ([]string, bool)

func SecretToGateway

func SecretToGateway(secretName string, namespace string, key string) ([]string, bool)

func SecretToIng

func SecretToIng(secretName string, namespace string, key string) ([]string, bool)

func SecretToMultiClusterIng

func SecretToMultiClusterIng(secretName string, namespace string, key string) ([]string, bool)

func SecretToRoute

func SecretToRoute(secretName string, namespace string, key string) ([]string, bool)

func ServiceChanges

func ServiceChanges(serviceName, namespace, key string) ([]string, bool)

func ServiceImportToMultiClusterIng

func ServiceImportToMultiClusterIng(siName string, namespace string, key string) ([]string, bool)

func SvcToGateway

func SvcToGateway(svcName string, namespace string, key string) ([]string, bool)

func SvcToIng

func SvcToIng(svcName string, namespace string, key string) ([]string, bool)

func SvcToMultiClusterIng

func SvcToMultiClusterIng(svcName string, namespace string, key string) ([]string, bool)

func SvcToRoute

func SvcToRoute(svcName string, namespace string, key string) ([]string, bool)

Types

type AviEvhVsNode

type AviEvhVsNode struct {
	EVHParent     bool
	VHParentName  string
	VHDomainNames []string
	EvhNodes      []*AviEvhVsNode
	EvhHostName   string
	AviMarkers    utils.AviObjectMarkers
	// props from avi vs node
	Name                string
	Tenant              string
	ServiceEngineGroup  string
	ApplicationProfile  string
	NetworkProfile      string
	EnableRhi           *bool
	Enabled             *bool
	PortProto           []AviPortHostProtocol // for listeners
	DefaultPool         string
	CloudConfigCksum    uint32
	DefaultPoolGroup    string
	HTTPChecksum        uint32
	PoolGroupRefs       []*AviPoolGroupNode
	PoolRefs            []*AviPoolNode
	HTTPDSrefs          []*AviHTTPDataScriptNode
	SharedVS            bool
	CACertRefs          []*AviTLSKeyCertNode
	SSLKeyCertRefs      []*AviTLSKeyCertNode
	HttpPolicyRefs      []*AviHttpPolicySetNode
	VSVIPRefs           []*AviVSVIPNode
	TLSType             string
	ServiceMetadata     lib.ServiceMetadataObj
	VrfContext          string
	ICAPProfileRefs     []string
	ErrorPageProfileRef string
	HttpPolicySetRefs   []string
	Paths               []string
	IngressNames        []string
	Dedicated           bool
	VHMatches           []*avimodels.VHMatch
	Secure              bool

	AviVsNodeCommonFields

	AviVsNodeGeneratedFields
}

func (*AviEvhVsNode) AddFQDNAliasesToHTTPPolicy

func (o *AviEvhVsNode) AddFQDNAliasesToHTTPPolicy(hosts []string, key string)

func (*AviEvhVsNode) AddFQDNsToModel

func (o *AviEvhVsNode) AddFQDNsToModel(hosts []string, gsFqdn, key string)

func (*AviEvhVsNode) AddSSLPort

func (vsNode *AviEvhVsNode) AddSSLPort(key string)

func (*AviEvhVsNode) CalculateCheckSum

func (v *AviEvhVsNode) CalculateCheckSum()

func (*AviEvhVsNode) CalculateForGraphChecksum

func (v *AviEvhVsNode) CalculateForGraphChecksum() uint32

func (*AviEvhVsNode) CheckCACertNodeNameNChecksum

func (o *AviEvhVsNode) CheckCACertNodeNameNChecksum(cacertNodeName string, checksum uint32) bool

func (*AviEvhVsNode) CheckHttpPolNameNChecksumForEvh

func (o *AviEvhVsNode) CheckHttpPolNameNChecksumForEvh(httpNodeName, hppMapName string, checksum uint32) bool

func (*AviEvhVsNode) CheckPGNameNChecksum

func (o *AviEvhVsNode) CheckPGNameNChecksum(pgNodeName string, checksum uint32) bool

func (*AviEvhVsNode) CheckPoolNChecksum

func (o *AviEvhVsNode) CheckPoolNChecksum(poolNodeName string, checksum uint32) bool

func (*AviEvhVsNode) CheckSSLCertNodeNameNChecksum

func (o *AviEvhVsNode) CheckSSLCertNodeNameNChecksum(sslNodeName string, checksum uint32) bool

func (*AviEvhVsNode) CopyNode

func (v *AviEvhVsNode) CopyNode() AviModelNode

func (*AviEvhVsNode) DeletSSLRefInDedicatedNode

func (vsNode *AviEvhVsNode) DeletSSLRefInDedicatedNode(key string)

TODO: Next PR opt: make part of Avivs model interface

func (*AviEvhVsNode) DeleteCACertRefInEVHNode

func (o *AviEvhVsNode) DeleteCACertRefInEVHNode(cacertNodeName, key string)

func (*AviEvhVsNode) DeleteSSLPort

func (vsNode *AviEvhVsNode) DeleteSSLPort(key string)

TODO: Next PR Opt: make part of Avivsevhsni model interface

func (*AviEvhVsNode) DeleteSSLRefInEVHNode

func (o *AviEvhVsNode) DeleteSSLRefInEVHNode(sslKeyCertName, key string)

func (*AviEvhVsNode) DeleteSecureAppProfile

func (vsNode *AviEvhVsNode) DeleteSecureAppProfile(key string)

func (*AviEvhVsNode) GetAnalyticsPolicy

func (v *AviEvhVsNode) GetAnalyticsPolicy() *avimodels.AnalyticsPolicy

func (*AviEvhVsNode) GetAnalyticsProfileRef

func (v *AviEvhVsNode) GetAnalyticsProfileRef() *string

func (*AviEvhVsNode) GetAppProfileRef

func (v *AviEvhVsNode) GetAppProfileRef() *string

func (*AviEvhVsNode) GetCheckSum

func (v *AviEvhVsNode) GetCheckSum() uint32

func (*AviEvhVsNode) GetCommonFields

func (v *AviEvhVsNode) GetCommonFields() *AviVsNodeCommonFields

func (*AviEvhVsNode) GetEnabled

func (v *AviEvhVsNode) GetEnabled() *bool

func (*AviEvhVsNode) GetErrorPageProfileRef

func (v *AviEvhVsNode) GetErrorPageProfileRef() string

func (*AviEvhVsNode) GetEvhNodeForName

func (v *AviEvhVsNode) GetEvhNodeForName(EVHNodeName string) *AviEvhVsNode

func (*AviEvhVsNode) GetGeneratedFields

func (v *AviEvhVsNode) GetGeneratedFields() *AviVsNodeGeneratedFields

func (*AviEvhVsNode) GetHttpPolicyRefs

func (v *AviEvhVsNode) GetHttpPolicyRefs() []*AviHttpPolicySetNode

func (*AviEvhVsNode) GetHttpPolicySetRefs

func (v *AviEvhVsNode) GetHttpPolicySetRefs() []string

func (*AviEvhVsNode) GetICAPProfileRefs

func (v *AviEvhVsNode) GetICAPProfileRefs() []string

func (*AviEvhVsNode) GetName

func (v *AviEvhVsNode) GetName() string

func (*AviEvhVsNode) GetNetworkSecurityPolicyRef

func (v *AviEvhVsNode) GetNetworkSecurityPolicyRef() *string

func (*AviEvhVsNode) GetNodeType

func (v *AviEvhVsNode) GetNodeType() string

func (*AviEvhVsNode) GetPGForVSByName

func (o *AviEvhVsNode) GetPGForVSByName(pgName string) *AviPoolGroupNode

func (*AviEvhVsNode) GetPoolGroupRefs

func (v *AviEvhVsNode) GetPoolGroupRefs() []*AviPoolGroupNode

func (*AviEvhVsNode) GetPoolRefs

func (v *AviEvhVsNode) GetPoolRefs() []*AviPoolNode

func (*AviEvhVsNode) GetPortProtocols

func (v *AviEvhVsNode) GetPortProtocols() []AviPortHostProtocol

func (*AviEvhVsNode) GetSSLKeyCertRefs

func (v *AviEvhVsNode) GetSSLKeyCertRefs() []*AviTLSKeyCertNode

func (*AviEvhVsNode) GetSSLProfileRef

func (v *AviEvhVsNode) GetSSLProfileRef() *string

func (*AviEvhVsNode) GetServiceMetadata

func (v *AviEvhVsNode) GetServiceMetadata() lib.ServiceMetadataObj

func (*AviEvhVsNode) GetSslKeyAndCertificateRefs

func (v *AviEvhVsNode) GetSslKeyAndCertificateRefs() []string

func (*AviEvhVsNode) GetTenant

func (v *AviEvhVsNode) GetTenant() string

func (*AviEvhVsNode) GetVHDomainNames

func (v *AviEvhVsNode) GetVHDomainNames() []string

func (*AviEvhVsNode) GetVSVIPLoadBalancerIP

func (v *AviEvhVsNode) GetVSVIPLoadBalancerIP() string

func (*AviEvhVsNode) GetVsDatascriptRefs

func (v *AviEvhVsNode) GetVsDatascriptRefs() []string

func (*AviEvhVsNode) GetWafPolicyRef

func (v *AviEvhVsNode) GetWafPolicyRef() *string

func (*AviEvhVsNode) IsDedicatedVS

func (v *AviEvhVsNode) IsDedicatedVS() bool

func (*AviEvhVsNode) IsSecure

func (v *AviEvhVsNode) IsSecure() bool

func (*AviEvhVsNode) IsSharedVS

func (v *AviEvhVsNode) IsSharedVS() bool

func (*AviEvhVsNode) RemoveFQDNAliasesFromHTTPPolicy

func (o *AviEvhVsNode) RemoveFQDNAliasesFromHTTPPolicy(hosts []string, key string)

func (*AviEvhVsNode) RemoveFQDNsFromModel

func (o *AviEvhVsNode) RemoveFQDNsFromModel(hosts []string, key string)

func (*AviEvhVsNode) ReplaceCACertRefInEVHNode

func (o *AviEvhVsNode) ReplaceCACertRefInEVHNode(cacertNode *AviTLSKeyCertNode, key string)

func (*AviEvhVsNode) ReplaceEvhPGInEVHNode

func (o *AviEvhVsNode) ReplaceEvhPGInEVHNode(newPGNode *AviPoolGroupNode, key string)

func (*AviEvhVsNode) ReplaceEvhPoolInEVHNode

func (o *AviEvhVsNode) ReplaceEvhPoolInEVHNode(newPoolNode *AviPoolNode, key string)

func (*AviEvhVsNode) ReplaceEvhSSLRefInEVHNode

func (o *AviEvhVsNode) ReplaceEvhSSLRefInEVHNode(newSslNode *AviTLSKeyCertNode, key string)

func (*AviEvhVsNode) ReplaceHTTPRefInNodeForEvh

func (o *AviEvhVsNode) ReplaceHTTPRefInNodeForEvh(httpPGPath AviHostPathPortPoolPG, httpPolName, key string)

func (*AviEvhVsNode) SetAnalyticsPolicy

func (v *AviEvhVsNode) SetAnalyticsPolicy(policy *avimodels.AnalyticsPolicy)

func (*AviEvhVsNode) SetAnalyticsProfileRef

func (v *AviEvhVsNode) SetAnalyticsProfileRef(analyticsProfileRef *string)

func (*AviEvhVsNode) SetAppProfileRef

func (v *AviEvhVsNode) SetAppProfileRef(applicationProfileRef *string)

func (*AviEvhVsNode) SetEnabled

func (v *AviEvhVsNode) SetEnabled(Enabled *bool)

func (*AviEvhVsNode) SetErrorPageProfileRef

func (v *AviEvhVsNode) SetErrorPageProfileRef(errorPageProfileRef string)

func (*AviEvhVsNode) SetHttpPolicyRefs

func (v *AviEvhVsNode) SetHttpPolicyRefs(httpPolicyRefs []*AviHttpPolicySetNode)

func (*AviEvhVsNode) SetHttpPolicySetRefs

func (v *AviEvhVsNode) SetHttpPolicySetRefs(httpPolicySetRefs []string)

func (*AviEvhVsNode) SetICAPProfileRefs

func (v *AviEvhVsNode) SetICAPProfileRefs(ICAPProfileRef []string)

func (*AviEvhVsNode) SetName

func (v *AviEvhVsNode) SetName(name string)

func (*AviEvhVsNode) SetNetworkSecurityPolicyRef

func (v *AviEvhVsNode) SetNetworkSecurityPolicyRef(networkSecuirtyPolicyRef *string)

func (*AviEvhVsNode) SetPoolGroupRefs

func (v *AviEvhVsNode) SetPoolGroupRefs(poolGroupRefs []*AviPoolGroupNode)

func (*AviEvhVsNode) SetPoolRefs

func (v *AviEvhVsNode) SetPoolRefs(poolRefs []*AviPoolNode)

func (*AviEvhVsNode) SetPortProtocols

func (v *AviEvhVsNode) SetPortProtocols(portProto []AviPortHostProtocol)

func (*AviEvhVsNode) SetSSLKeyCertRefs

func (v *AviEvhVsNode) SetSSLKeyCertRefs(sslKeyCertRefs []*AviTLSKeyCertNode)

func (*AviEvhVsNode) SetSSLProfileRef

func (v *AviEvhVsNode) SetSSLProfileRef(SSLProfileRef *string)

func (*AviEvhVsNode) SetServiceMetadata

func (v *AviEvhVsNode) SetServiceMetadata(serviceMetadata lib.ServiceMetadataObj)

func (*AviEvhVsNode) SetSslKeyAndCertificateRefs

func (v *AviEvhVsNode) SetSslKeyAndCertificateRefs(sslKeyAndCertificateRefs []string)

func (*AviEvhVsNode) SetVHDomainNames

func (v *AviEvhVsNode) SetVHDomainNames(domainNames []string)

func (*AviEvhVsNode) SetVSVIPLoadBalancerIP

func (v *AviEvhVsNode) SetVSVIPLoadBalancerIP(ip string)

func (*AviEvhVsNode) SetVsDatascriptRefs

func (v *AviEvhVsNode) SetVsDatascriptRefs(VsDatascriptRefs []string)

func (*AviEvhVsNode) SetWafPolicyRef

func (v *AviEvhVsNode) SetWafPolicyRef(wafPolicyRef *string)

type AviHTTPDataScriptNode

type AviHTTPDataScriptNode struct {
	Name             string
	Tenant           string
	CloudConfigCksum uint32
	PoolGroupRefs    []string
	ProtocolParsers  []string
	*DataScript
}

func (*AviHTTPDataScriptNode) CalculateCheckSum

func (v *AviHTTPDataScriptNode) CalculateCheckSum()

func (*AviHTTPDataScriptNode) CopyNode

func (v *AviHTTPDataScriptNode) CopyNode() AviModelNode

func (*AviHTTPDataScriptNode) GetCheckSum

func (v *AviHTTPDataScriptNode) GetCheckSum() uint32

func (*AviHTTPDataScriptNode) GetNodeType

func (v *AviHTTPDataScriptNode) GetNodeType() string

type AviHTTPSecurity

type AviHTTPSecurity struct {
	Name          string
	Action        string
	MatchCriteria string
	Enable        bool
	Port          int64
}

type AviHostHeaderRewrite

type AviHostHeaderRewrite struct {
	Name       string
	SourceHost string
	TargetHost string
}

type AviHostPathPortPoolPG

type AviHostPathPortPoolPG struct {
	Name          string
	Checksum      uint32
	Host          []string
	Path          []string
	Port          uint32
	Pool          string
	PoolGroup     string
	MatchCriteria string
	Protocol      string
	IngName       string
}

func (*AviHostPathPortPoolPG) CalculateCheckSum

func (v *AviHostPathPortPoolPG) CalculateCheckSum()

func (*AviHostPathPortPoolPG) GetCheckSum

func (v *AviHostPathPortPoolPG) GetCheckSum() uint32

type AviHttpPolicySetNode

type AviHttpPolicySetNode struct {
	Name               string
	Tenant             string
	CloudConfigCksum   uint32
	HppMap             []AviHostPathPortPoolPG
	RedirectPorts      []AviRedirectPort
	HeaderReWrite      *AviHostHeaderRewrite
	SecurityRules      []AviHTTPSecurity
	AviMarkers         utils.AviObjectMarkers
	AttachedToSharedVS bool
	RequestRules       []*avimodels.HTTPRequestRule
	ResponseRules      []*avimodels.HTTPResponseRule
}

func (*AviHttpPolicySetNode) CalculateCheckSum

func (v *AviHttpPolicySetNode) CalculateCheckSum()

func (*AviHttpPolicySetNode) CopyNode

func (v *AviHttpPolicySetNode) CopyNode() AviModelNode

func (*AviHttpPolicySetNode) GetCheckSum

func (v *AviHttpPolicySetNode) GetCheckSum() uint32

func (*AviHttpPolicySetNode) GetNodeType

func (v *AviHttpPolicySetNode) GetNodeType() string

type AviL4PolicyNode

type AviL4PolicyNode struct {
	Name             string
	Tenant           string
	CloudConfigCksum uint32
	PortPool         []AviHostPathPortPoolPG
	AviMarkers       utils.AviObjectMarkers
}

func (*AviL4PolicyNode) CalculateCheckSum

func (v *AviL4PolicyNode) CalculateCheckSum()

func (*AviL4PolicyNode) CopyNode

func (v *AviL4PolicyNode) CopyNode() AviModelNode

func (*AviL4PolicyNode) GetCheckSum

func (v *AviL4PolicyNode) GetCheckSum() uint32

func (*AviL4PolicyNode) GetNodeType

func (v *AviL4PolicyNode) GetNodeType() string

type AviModelNode

type AviModelNode interface {
	//Each AVIModelNode represents a AVI API object.
	GetCheckSum() uint32
	CalculateCheckSum()
	GetNodeType() string
	CopyNode() AviModelNode
}

type AviObjectGraph

type AviObjectGraph struct {
	Name          string
	GraphChecksum uint32
	IsVrf         bool
	RetryCount    int
	Validator     *Validator
	Lock          sync.RWMutex
	// contains filtered or unexported fields
}

func NewAviObjectGraph

func NewAviObjectGraph() *AviObjectGraph

func (*AviObjectGraph) AddModelNode

func (o *AviObjectGraph) AddModelNode(node AviModelNode)

func (*AviObjectGraph) BuildAdvancedL4Graph

func (o *AviObjectGraph) BuildAdvancedL4Graph(namespace, gatewayName, key string, sharedVipOnSvcLBUsecase bool)

func (*AviObjectGraph) BuildCACertNode

func (o *AviObjectGraph) BuildCACertNode(tlsNode *AviVsNode, cacert, infraSettingName, host, key string) string

BuildCACertNode : Build a new node to store CA cert, this would be referred by the corresponding keycert

func (*AviObjectGraph) BuildCACertNodeForEvh

func (o *AviObjectGraph) BuildCACertNodeForEvh(tlsNode *AviEvhVsNode, cacert, infraSettingName, host, key string) string

BuildCACertNode : Build a new node to store CA cert, this would be referred by the corresponding keycert

func (*AviObjectGraph) BuildDedicatedL7VSGraphHostNameShard

func (o *AviObjectGraph) BuildDedicatedL7VSGraphHostNameShard(vsName, hostname string, routeIgrObj RouteIngressModel, insecureEdgeTermAllow bool, pathsvcMap HostMetadata, key string)

func (*AviObjectGraph) BuildGraphForPassthrough

func (o *AviObjectGraph) BuildGraphForPassthrough(svclist []IngressHostPathSvc, objName, hostname, namespace, key string, redirect bool, infraSetting *akov1beta1.AviInfraSetting)

func (*AviObjectGraph) BuildHTTPSecurityPolicyForVSForEvh

func (o *AviObjectGraph) BuildHTTPSecurityPolicyForVSForEvh(vsNode *AviEvhVsNode, hostnames []string, namespace, ingName, key, infrasettingName string)

func (*AviObjectGraph) BuildHeaderRewrite

func (o *AviObjectGraph) BuildHeaderRewrite(vsNode []*AviVsNode, gslbHost, localHost, key string)

func (*AviObjectGraph) BuildL4LBGraph

func (o *AviObjectGraph) BuildL4LBGraph(namespace string, svcName string, key string)

func (*AviObjectGraph) BuildL7VSGraphHostNameShard

func (o *AviObjectGraph) BuildL7VSGraphHostNameShard(vsName, hostname string, routeIgrObj RouteIngressModel, pathsvc []IngressHostPathSvc, gslbHostHeader string, insecureEdgeTermAllow bool, key string)

func (*AviObjectGraph) BuildModelGraphForInsecureEVH

func (o *AviObjectGraph) BuildModelGraphForInsecureEVH(routeIgrObj RouteIngressModel, host string, infraSetting *akov1beta1.AviInfraSetting, key string, pathsvcmap HostMetadata)

func (*AviObjectGraph) BuildModelGraphForSNI

func (o *AviObjectGraph) BuildModelGraphForSNI(routeIgrObj RouteIngressModel, ingressHostMap SecureHostNameMapProp, sniHosts []string, tlssetting TlsSettings, ingName, namespace string, infraSetting *akov1beta1.AviInfraSetting, sniHost, gsFqdn string, key string)

func (*AviObjectGraph) BuildModelGraphForSecureEVH

func (o *AviObjectGraph) BuildModelGraphForSecureEVH(routeIgrObj RouteIngressModel, ingressHostMap SecureHostNameMapProp, hosts []string, tlssetting TlsSettings, ingName, namespace string, infraSetting *akov1beta1.AviInfraSetting, host, key string, paths HostMetadata)

func (*AviObjectGraph) BuildPolicyPGPoolsForEVH

func (o *AviObjectGraph) BuildPolicyPGPoolsForEVH(vsNode []*AviEvhVsNode, childNode *AviEvhVsNode, namespace, ingName, key string, infraSetting *akov1beta1.AviInfraSetting, hosts []string, paths []IngressHostPathSvc, tlsSettings *TlsSettings, modelType string)

func (*AviObjectGraph) BuildPolicyPGPoolsForSNI

func (o *AviObjectGraph) BuildPolicyPGPoolsForSNI(vsNode []*AviVsNode, tlsNode *AviVsNode, namespace string, ingName string, hostpath TlsSettings, secretName string, key string, isIngr bool, infraSetting *akov1beta1.AviInfraSetting, hostName string)

func (*AviObjectGraph) BuildPolicyRedirectForVS

func (o *AviObjectGraph) BuildPolicyRedirectForVS(vsNode []*AviVsNode, hostnames []string, namespace, infrasettingName, host, key string)

func (*AviObjectGraph) BuildPolicyRedirectForVSForEvh

func (o *AviObjectGraph) BuildPolicyRedirectForVSForEvh(vsNode *AviEvhVsNode, hostnames []string, namespace, ingName, key, infraSettingName string)

func (*AviObjectGraph) BuildPoolPGPolicyForDedicatedVS

func (o *AviObjectGraph) BuildPoolPGPolicyForDedicatedVS(vsNode []*AviVsNode, namespace, ingName, hostname string, infraSetting *akov1beta1.AviInfraSetting, key string, pathFQDNs []string, paths []IngressHostPathSvc, insecureEdgeTermAllow, isIngr bool)

func (*AviObjectGraph) BuildPoolSecurity

func (o *AviObjectGraph) BuildPoolSecurity(poolNode *AviPoolNode, tlsData TlsSettings, key string, aviMarkers utils.AviObjectMarkers)

func (*AviObjectGraph) BuildTlsCertNode

func (o *AviObjectGraph) BuildTlsCertNode(svcLister *objects.SvcLister, tlsNode *AviVsNode, namespace string, tlsData TlsSettings, key, infraSettingName, sniHost string) bool

func (*AviObjectGraph) BuildTlsCertNodeForEvh

func (o *AviObjectGraph) BuildTlsCertNodeForEvh(svcLister *objects.SvcLister, tlsNode *AviEvhVsNode, namespace string, tlsData TlsSettings, key, infraSettingName, host string) bool

func (*AviObjectGraph) BuildVRFGraph

func (o *AviObjectGraph) BuildVRFGraph(key, vrfName, nodeName string, deleteFlag bool) error

BuildVRFGraph : build vrf graph from k8s nodes

func (*AviObjectGraph) BuildVSForPassthrough

func (o *AviObjectGraph) BuildVSForPassthrough(vsName, namespace, hostname, key string, infraSetting *akov1beta1.AviInfraSetting) *AviVsNode

func (*AviObjectGraph) CalculateCheckSum

func (v *AviObjectGraph) CalculateCheckSum()

func (*AviObjectGraph) ConstructAdvL4PolPoolNodes

func (o *AviObjectGraph) ConstructAdvL4PolPoolNodes(vsNode *AviVsNode, gwName, namespace, key string)

func (*AviObjectGraph) ConstructAdvL4VsNode

func (o *AviObjectGraph) ConstructAdvL4VsNode(gatewayName, namespace, key string) *AviVsNode

func (*AviObjectGraph) ConstructAviL4PolPoolNodes

func (o *AviObjectGraph) ConstructAviL4PolPoolNodes(svcObj *corev1.Service, vsNode *AviVsNode, key string)

func (*AviObjectGraph) ConstructAviL4VsNode

func (o *AviObjectGraph) ConstructAviL4VsNode(svcObj *corev1.Service, key string) *AviVsNode

func (*AviObjectGraph) ConstructAviL7SharedVsNodeForEvh

func (o *AviObjectGraph) ConstructAviL7SharedVsNodeForEvh(vsName, key string, routeIgrObj RouteIngressModel, dedicated, secure bool)

func (*AviObjectGraph) ConstructAviL7VsNode

func (o *AviObjectGraph) ConstructAviL7VsNode(vsName string, key string, routeIgrObj RouteIngressModel, dedicatedVs, secureVS bool)

func (*AviObjectGraph) ConstructHTTPDataScript

func (o *AviObjectGraph) ConstructHTTPDataScript(vsName string, key string, vsNode *AviVsNode) *AviHTTPDataScriptNode

func (*AviObjectGraph) ConstructL4DataScript

func (o *AviObjectGraph) ConstructL4DataScript(vsName string, key string, vsNode *AviVsNode) *AviHTTPDataScriptNode

func (*AviObjectGraph) ConstructShardVsPGNode

func (o *AviObjectGraph) ConstructShardVsPGNode(vsName string, key string, vsNode *AviVsNode) *AviPoolGroupNode

func (*AviObjectGraph) ConstructSharedVipPolPoolNodes

func (o *AviObjectGraph) ConstructSharedVipPolPoolNodes(vsNode *AviVsNode, sharedVipKey, namespace, key string)

func (*AviObjectGraph) ConstructSharedVipSvcLBNode

func (o *AviObjectGraph) ConstructSharedVipSvcLBNode(sharedVipKey, namespace, key string) *AviVsNode

func (*AviObjectGraph) ConstructSvcApiL4VsNode

func (o *AviObjectGraph) ConstructSvcApiL4VsNode(gatewayName, namespace, key string) *AviVsNode

func (*AviObjectGraph) DecrementRetryCounter

func (v *AviObjectGraph) DecrementRetryCounter()

func (*AviObjectGraph) DeleteObjectsForPassthroughHost

func (o *AviObjectGraph) DeleteObjectsForPassthroughHost(vsName, hostname string, routeIgrObj RouteIngressModel, pathSvc map[string][]string, infraSettingName, key string, removeFqdn, removeRedir, secure bool)

func (*AviObjectGraph) DeletePoolForHostname

func (o *AviObjectGraph) DeletePoolForHostname(vsName, hostname string, routeIgrObj RouteIngressModel, pathSvc map[string][]string, key string, infraSettingName string, removeFqdn, removeRedir, secure bool) bool

func (*AviObjectGraph) DeletePoolForHostnameForEvh

func (o *AviObjectGraph) DeletePoolForHostnameForEvh(vsName, hostname string, routeIgrObj RouteIngressModel, pathSvc map[string][]string, key, infraSettingName string, removeFqdn, removeRedir, removeRouteIngData, secure bool) bool

func (*AviObjectGraph) GetAviEvhVS

func (o *AviObjectGraph) GetAviEvhVS() []*AviEvhVsNode

func (*AviObjectGraph) GetAviHTTPDSNode

func (o *AviObjectGraph) GetAviHTTPDSNode() []*AviHTTPDataScriptNode

func (*AviObjectGraph) GetAviPoolNodeByName

func (o *AviObjectGraph) GetAviPoolNodeByName(poolname string) *AviPoolNode

func (*AviObjectGraph) GetAviPoolNodesByIngress

func (o *AviObjectGraph) GetAviPoolNodesByIngress(tenant string, ingName string) []*AviPoolNode

func (*AviObjectGraph) GetAviPoolNodesByIngressForEvh

func (o *AviObjectGraph) GetAviPoolNodesByIngressForEvh(tenant string, ingName string) []*AviPoolNode

func (*AviObjectGraph) GetAviVRF

func (o *AviObjectGraph) GetAviVRF() []*AviVrfNode

func (*AviObjectGraph) GetAviVS

func (o *AviObjectGraph) GetAviVS() []*AviVsNode

func (*AviObjectGraph) GetCheckSum

func (v *AviObjectGraph) GetCheckSum() uint32

func (*AviObjectGraph) GetCopy

func (v *AviObjectGraph) GetCopy(key string) (*AviObjectGraph, bool)

GetCopy : Create a copy the model generated by graph layer after acquiring a ReadLock. The copy would be used by rest layer. This would ensure that any subsequent chages made in the model by made graph layer would not impact the rest layer. For all such subsequent changes, a new key would be published, which would be processed by the graph layer later.

func (*AviObjectGraph) GetIstioNodes

func (o *AviObjectGraph) GetIstioNodes() (*AviPkiProfileNode, *AviTLSKeyCertNode)

func (*AviObjectGraph) GetOrderedNodes

func (o *AviObjectGraph) GetOrderedNodes() []AviModelNode

func (*AviObjectGraph) GetPoolGroupByName

func (o *AviObjectGraph) GetPoolGroupByName(pgName string) *AviPoolGroupNode

func (*AviObjectGraph) GetRetryCounter

func (v *AviObjectGraph) GetRetryCounter() int

func (*AviObjectGraph) ManipulateEvhNode

func (o *AviObjectGraph) ManipulateEvhNode(currentEvhNodeName, ingName, namespace, hostname string, pathSvc map[string][]string, vsNode []*AviEvhVsNode, infraSettingName, key string) bool

func (*AviObjectGraph) ManipulateSniNode

func (o *AviObjectGraph) ManipulateSniNode(currentSniNodeName, ingName, namespace, hostname string, pathSvc map[string][]string, vsNode []*AviVsNode, key string, isIngr bool, infraSettingName string) bool

func (*AviObjectGraph) RemoveHTTPRefsFromEvh

func (o *AviObjectGraph) RemoveHTTPRefsFromEvh(httpPol, hppmapName string, evhNode *AviEvhVsNode)

func (*AviObjectGraph) RemoveHTTPRefsFromSni

func (o *AviObjectGraph) RemoveHTTPRefsFromSni(httpPol, hppMap string, sniNode *AviVsNode)

func (*AviObjectGraph) RemovePGNodeRefs

func (o *AviObjectGraph) RemovePGNodeRefs(pgName string, vsNode *AviVsNode)

func (*AviObjectGraph) RemovePGNodeRefsForEvh

func (o *AviObjectGraph) RemovePGNodeRefsForEvh(pgName string, vsNode *AviEvhVsNode)

func (*AviObjectGraph) RemovePoolNodeRefs

func (o *AviObjectGraph) RemovePoolNodeRefs(poolName string)

func (*AviObjectGraph) RemovePoolNodeRefsFromEvh

func (o *AviObjectGraph) RemovePoolNodeRefsFromEvh(poolName string, evhNode *AviEvhVsNode)

func (*AviObjectGraph) RemovePoolNodeRefsFromSni

func (o *AviObjectGraph) RemovePoolNodeRefsFromSni(poolName string, sniNode *AviVsNode)

func (*AviObjectGraph) RemovePoolRefsFromPG

func (o *AviObjectGraph) RemovePoolRefsFromPG(poolName string, pgNode *AviPoolGroupNode)

func (*AviObjectGraph) SetRetryCounter

func (v *AviObjectGraph) SetRetryCounter(num ...int)

type AviObjectGraphIntf

type AviObjectGraphIntf interface {
	GetOrderedNodes() []AviModelNode
}

type AviPkiProfileNode

type AviPkiProfileNode struct {
	Name             string
	Tenant           string
	CloudConfigCksum uint32
	CACert           string
	AviMarkers       utils.AviObjectMarkers
}

func (*AviPkiProfileNode) CalculateCheckSum

func (v *AviPkiProfileNode) CalculateCheckSum()

func (*AviPkiProfileNode) CopyNode

func (v *AviPkiProfileNode) CopyNode() AviModelNode

func (*AviPkiProfileNode) GetCheckSum

func (v *AviPkiProfileNode) GetCheckSum() uint32

func (*AviPkiProfileNode) GetNodeType

func (v *AviPkiProfileNode) GetNodeType() string

type AviPoolCommonFields

type AviPoolCommonFields struct {
	ApplicationPersistenceProfileRef *string
	HealthMonitorRefs                []string
	LbAlgorithm                      *string
	LbAlgorithmHash                  *string
	LbAlgorithmConsistentHashHdr     *string
	PkiProfileRef                    *string
	SslProfileRef                    *string
	SslKeyAndCertificateRef          *string
}

AviPoolCommonFields struct contains the fields that are:

  1. expected to be part of the generated code.
  2. already in use in the code and is part of the generated code.

This struct is added to avoid any collision between the generated and existing struct fields.

func (*AviPoolCommonFields) ConvertToRef

func (o *AviPoolCommonFields) ConvertToRef()

type AviPoolGeneratedFields

type AviPoolGeneratedFields struct {
	AnalyticsPolicy *v1alpha2.PoolAnalyticsPolicy
	Enabled         *bool
	MinServersUp    *uint32
}

func (*AviPoolGeneratedFields) CalculateCheckSumOfGeneratedCode

func (v *AviPoolGeneratedFields) CalculateCheckSumOfGeneratedCode() uint32

func (*AviPoolGeneratedFields) ConvertToRef

func (o *AviPoolGeneratedFields) ConvertToRef()

type AviPoolGroupNode

type AviPoolGroupNode struct {
	Name                  string
	Tenant                string
	CloudConfigCksum      uint32
	Members               []*avimodels.PoolGroupMember
	Port                  string
	ImplicitPriorityLabel bool
	AviMarkers            utils.AviObjectMarkers
	AttachedToSharedVS    bool
}

func (*AviPoolGroupNode) CalculateCheckSum

func (v *AviPoolGroupNode) CalculateCheckSum()

func (*AviPoolGroupNode) CopyNode

func (v *AviPoolGroupNode) CopyNode() AviModelNode

func (*AviPoolGroupNode) GetCheckSum

func (v *AviPoolGroupNode) GetCheckSum() uint32

func (*AviPoolGroupNode) GetNodeType

func (v *AviPoolGroupNode) GetNodeType() string

type AviPoolMetaServer

type AviPoolMetaServer struct {
	Ip         avimodels.IPAddr
	ServerNode string
	Port       int32
}

func PopulateServers

func PopulateServers(poolNode *AviPoolNode, ns string, serviceName string, ingress bool, key string) []AviPoolMetaServer

func PopulateServersForMultiClusterIngress

func PopulateServersForMultiClusterIngress(poolNode *AviPoolNode, ns, cluster, serviceNamespace, serviceName string, key string) []AviPoolMetaServer

func PopulateServersForNPL

func PopulateServersForNPL(poolNode *AviPoolNode, ns string, serviceName string, ingress bool, key string) []AviPoolMetaServer

func PopulateServersForNodePort

func PopulateServersForNodePort(poolNode *AviPoolNode, ns string, serviceName string, ingress bool, key string) []AviPoolMetaServer

type AviPoolNode

type AviPoolNode struct {
	Name                     string
	Tenant                   string
	CloudConfigCksum         uint32
	Port                     int32
	TargetPort               intstr.IntOrString
	PortName                 string
	Servers                  []AviPoolMetaServer
	Protocol                 string
	IngressName              string
	PriorityLabel            string
	ServiceMetadata          lib.ServiceMetadataObj
	SniEnabled               bool
	PkiProfile               *AviPkiProfileNode
	NetworkPlacementSettings map[string]lib.NodeNetworkMap
	VrfContext               string
	T1Lr                     string // Only applicable to NSX-T cloud, if this value is set, we automatically should unset the VRF context value.
	AviMarkers               utils.AviObjectMarkers
	AttachedWithSharedVS     bool

	AviPoolCommonFields

	AviPoolGeneratedFields
}

func (*AviPoolNode) CalculateCheckSum

func (v *AviPoolNode) CalculateCheckSum()

func (*AviPoolNode) CopyNode

func (v *AviPoolNode) CopyNode() AviModelNode

func (*AviPoolNode) GetCheckSum

func (v *AviPoolNode) GetCheckSum() uint32

func (*AviPoolNode) GetNodeType

func (v *AviPoolNode) GetNodeType() string

func (*AviPoolNode) UpdatePoolNodeForIstio

func (v *AviPoolNode) UpdatePoolNodeForIstio()

type AviPortHostProtocol

type AviPortHostProtocol struct {
	PortMap     map[string][]int32
	Port        int32
	TargetPort  intstr.IntOrString
	Protocol    string
	Hosts       []string
	Secret      string
	Passthrough bool
	Redirect    bool
	EnableSSL   bool
	EnableHTTP2 bool
	Name        string
}

type AviRedirectPort

type AviRedirectPort struct {
	Name         string
	Hosts        []string
	RedirectPort int32
	StatusCode   string
	VsPort       int32
}

type AviTLSKeyCertNode

type AviTLSKeyCertNode struct {
	Name             string
	Tenant           string
	CloudConfigCksum uint32
	Key              []byte
	Cert             []byte
	CACert           string
	Port             int32
	Type             string
	AviMarkers       utils.AviObjectMarkers
}

func (*AviTLSKeyCertNode) CalculateCheckSum

func (v *AviTLSKeyCertNode) CalculateCheckSum()

func (*AviTLSKeyCertNode) CopyNode

func (v *AviTLSKeyCertNode) CopyNode() AviModelNode

func (*AviTLSKeyCertNode) GetCheckSum

func (v *AviTLSKeyCertNode) GetCheckSum() uint32

func (*AviTLSKeyCertNode) GetNodeType

func (v *AviTLSKeyCertNode) GetNodeType() string

type AviVSVIPNode

type AviVSVIPNode struct {
	Name                    string
	Tenant                  string
	CloudConfigCksum        uint32
	FQDNs                   []string
	VrfContext              string
	IPAddress               string
	VipNetworks             []akov1beta1.AviInfraSettingVipNetwork
	EnablePublicIP          *bool
	BGPPeerLabels           []string
	SecurePassthroughNode   *AviVsNode
	InsecurePassthroughNode *AviVsNode
	T1Lr                    string
}

func (*AviVSVIPNode) CalculateCheckSum

func (v *AviVSVIPNode) CalculateCheckSum()

func (*AviVSVIPNode) CopyNode

func (v *AviVSVIPNode) CopyNode() AviModelNode

func (*AviVSVIPNode) GetCheckSum

func (v *AviVSVIPNode) GetCheckSum() uint32

func (*AviVSVIPNode) GetNodeType

func (v *AviVSVIPNode) GetNodeType() string

type AviVrfNode

type AviVrfNode struct {
	Name             string
	StaticRoutes     []*avimodels.StaticRoute
	CloudConfigCksum uint32
	NodeStaticRoutes map[string]StaticRouteDetails
	Nodes            []string
	NodeIds          map[int]struct{}
}

func (*AviVrfNode) CalculateCheckSum

func (v *AviVrfNode) CalculateCheckSum()

func (*AviVrfNode) CopyNode

func (v *AviVrfNode) CopyNode() AviModelNode

func (*AviVrfNode) GetCheckSum

func (v *AviVrfNode) GetCheckSum() uint32

func (*AviVrfNode) GetNodeType

func (v *AviVrfNode) GetNodeType() string

type AviVsEvhSniModel

type AviVsEvhSniModel interface {
	GetName() string
	SetName(string)

	IsSharedVS() bool
	IsDedicatedVS() bool
	IsSecure() bool

	GetPortProtocols() []AviPortHostProtocol
	SetPortProtocols([]AviPortHostProtocol)

	GetPoolRefs() []*AviPoolNode
	SetPoolRefs([]*AviPoolNode)

	GetPoolGroupRefs() []*AviPoolGroupNode
	SetPoolGroupRefs([]*AviPoolGroupNode)

	GetSSLKeyCertRefs() []*AviTLSKeyCertNode
	SetSSLKeyCertRefs([]*AviTLSKeyCertNode)

	GetHttpPolicyRefs() []*AviHttpPolicySetNode
	SetHttpPolicyRefs([]*AviHttpPolicySetNode)

	GetServiceMetadata() lib.ServiceMetadataObj
	SetServiceMetadata(lib.ServiceMetadataObj)

	GetSslKeyAndCertificateRefs() []string
	SetSslKeyAndCertificateRefs([]string)

	GetWafPolicyRef() *string
	SetWafPolicyRef(*string)

	GetHttpPolicySetRefs() []string
	SetHttpPolicySetRefs([]string)

	GetAppProfileRef() *string
	SetAppProfileRef(*string)

	GetICAPProfileRefs() []string
	SetICAPProfileRefs([]string)

	GetAnalyticsProfileRef() *string
	SetAnalyticsProfileRef(*string)

	GetErrorPageProfileRef() string
	SetErrorPageProfileRef(string)

	GetSSLProfileRef() *string
	SetSSLProfileRef(*string)

	GetVsDatascriptRefs() []string
	SetVsDatascriptRefs([]string)

	GetEnabled() *bool
	SetEnabled(*bool)

	GetAnalyticsPolicy() *avimodels.AnalyticsPolicy
	SetAnalyticsPolicy(*avimodels.AnalyticsPolicy)

	GetVSVIPLoadBalancerIP() string
	SetVSVIPLoadBalancerIP(string)

	GetVHDomainNames() []string
	SetVHDomainNames([]string)

	GetGeneratedFields() *AviVsNodeGeneratedFields
	GetCommonFields() *AviVsNodeCommonFields

	GetNetworkSecurityPolicyRef() *string
	SetNetworkSecurityPolicyRef(*string)
	GetTenant() string
}

AviVsEvhSniModel : High Level interfaces that should be implemented by AviEvhVsNode and AviVsNode

type AviVsNode

type AviVsNode struct {
	Name                  string
	Tenant                string
	ServiceEngineGroup    string
	ApplicationProfile    string
	NetworkProfile        string
	Enabled               *bool
	EnableRhi             *bool
	PortProto             []AviPortHostProtocol // for listeners
	DefaultPool           string
	CloudConfigCksum      uint32
	DefaultPoolGroup      string
	HTTPChecksum          uint32
	SNIParent             bool
	PoolGroupRefs         []*AviPoolGroupNode
	PoolRefs              []*AviPoolNode
	HTTPDSrefs            []*AviHTTPDataScriptNode
	SniNodes              []*AviVsNode
	PassthroughChildNodes []*AviVsNode
	SharedVS              bool
	CACertRefs            []*AviTLSKeyCertNode
	SSLKeyCertRefs        []*AviTLSKeyCertNode
	HttpPolicyRefs        []*AviHttpPolicySetNode
	VSVIPRefs             []*AviVSVIPNode
	L4PolicyRefs          []*AviL4PolicyNode
	VHParentName          string
	VHDomainNames         []string
	TLSType               string
	IsSNIChild            bool
	ServiceMetadata       lib.ServiceMetadataObj
	VrfContext            string
	ICAPProfileRefs       []string
	ErrorPageProfileRef   string
	HttpPolicySetRefs     []string
	AviMarkers            utils.AviObjectMarkers
	Paths                 []string
	IngressNames          []string
	Dedicated             bool
	IsL4VS                bool
	Secure                bool

	AviVsNodeCommonFields

	AviVsNodeGeneratedFields
}

func (*AviVsNode) AddFQDNAliasesToHTTPPolicy

func (o *AviVsNode) AddFQDNAliasesToHTTPPolicy(hosts []string, key string)

func (*AviVsNode) AddFQDNsToModel

func (o *AviVsNode) AddFQDNsToModel(hosts []string, gsFqdn, key string)

func (*AviVsNode) AddSSLPort

func (vsNode *AviVsNode) AddSSLPort(key string)

func (*AviVsNode) CalculateCheckSum

func (v *AviVsNode) CalculateCheckSum()

func (*AviVsNode) CalculateForGraphChecksum

func (v *AviVsNode) CalculateForGraphChecksum() uint32

func (*AviVsNode) CheckCACertNodeNameNChecksum

func (o *AviVsNode) CheckCACertNodeNameNChecksum(cacertNodeName string, checksum uint32) bool

func (*AviVsNode) CheckHttpPolNameNChecksum

func (o *AviVsNode) CheckHttpPolNameNChecksum(httpPolName, hppMapName string, checksum uint32) bool

func (*AviVsNode) CheckPGNameNChecksum

func (o *AviVsNode) CheckPGNameNChecksum(pgNodeName string, checksum uint32) bool

func (*AviVsNode) CheckPoolNChecksum

func (o *AviVsNode) CheckPoolNChecksum(poolNodeName string, checksum uint32) bool

func (*AviVsNode) CheckSSLCertNodeNameNChecksum

func (o *AviVsNode) CheckSSLCertNodeNameNChecksum(sslNodeName string, checksum uint32) bool

func (*AviVsNode) CopyNode

func (v *AviVsNode) CopyNode() AviModelNode

func (*AviVsNode) DeletSSLRefInDedicatedNode

func (vsNode *AviVsNode) DeletSSLRefInDedicatedNode(key string)

func (*AviVsNode) DeleteCACertRefInSNINode

func (o *AviVsNode) DeleteCACertRefInSNINode(cacertNodeName, key string)

func (*AviVsNode) DeleteSSLPort

func (vsNode *AviVsNode) DeleteSSLPort(key string)

func (*AviVsNode) DeleteSecureAppProfile

func (vsNode *AviVsNode) DeleteSecureAppProfile(key string)

func (*AviVsNode) GetAnalyticsPolicy

func (v *AviVsNode) GetAnalyticsPolicy() *avimodels.AnalyticsPolicy

func (*AviVsNode) GetAnalyticsProfileRef

func (v *AviVsNode) GetAnalyticsProfileRef() *string

func (*AviVsNode) GetAppProfileRef

func (v *AviVsNode) GetAppProfileRef() *string

func (*AviVsNode) GetCheckSum

func (v *AviVsNode) GetCheckSum() uint32

func (*AviVsNode) GetCommonFields

func (v *AviVsNode) GetCommonFields() *AviVsNodeCommonFields

func (*AviVsNode) GetEnabled

func (v *AviVsNode) GetEnabled() *bool

func (*AviVsNode) GetErrorPageProfileRef

func (v *AviVsNode) GetErrorPageProfileRef() string

func (*AviVsNode) GetGeneratedFields

func (v *AviVsNode) GetGeneratedFields() *AviVsNodeGeneratedFields

func (*AviVsNode) GetHttpPolicyRefs

func (v *AviVsNode) GetHttpPolicyRefs() []*AviHttpPolicySetNode

func (*AviVsNode) GetHttpPolicySetRefs

func (v *AviVsNode) GetHttpPolicySetRefs() []string

func (*AviVsNode) GetICAPProfileRefs

func (v *AviVsNode) GetICAPProfileRefs() []string

func (*AviVsNode) GetName

func (v *AviVsNode) GetName() string

func (*AviVsNode) GetNetworkSecurityPolicyRef

func (v *AviVsNode) GetNetworkSecurityPolicyRef() *string

func (*AviVsNode) GetNodeType

func (v *AviVsNode) GetNodeType() string

func (*AviVsNode) GetPGForVSByName

func (o *AviVsNode) GetPGForVSByName(pgName string) *AviPoolGroupNode

func (*AviVsNode) GetPoolGroupRefs

func (v *AviVsNode) GetPoolGroupRefs() []*AviPoolGroupNode

func (*AviVsNode) GetPoolRefs

func (v *AviVsNode) GetPoolRefs() []*AviPoolNode

func (*AviVsNode) GetPortProtocols

func (v *AviVsNode) GetPortProtocols() []AviPortHostProtocol

func (*AviVsNode) GetSSLKeyCertRefs

func (v *AviVsNode) GetSSLKeyCertRefs() []*AviTLSKeyCertNode

func (*AviVsNode) GetSSLProfileRef

func (v *AviVsNode) GetSSLProfileRef() *string

func (*AviVsNode) GetServiceMetadata

func (v *AviVsNode) GetServiceMetadata() lib.ServiceMetadataObj

func (*AviVsNode) GetSniNodeForName

func (v *AviVsNode) GetSniNodeForName(sniNodeName string) *AviVsNode

func (*AviVsNode) GetSslKeyAndCertificateRefs

func (v *AviVsNode) GetSslKeyAndCertificateRefs() []string

func (*AviVsNode) GetTenant

func (v *AviVsNode) GetTenant() string

func (*AviVsNode) GetVHDomainNames

func (v *AviVsNode) GetVHDomainNames() []string

func (*AviVsNode) GetVSVIPLoadBalancerIP

func (v *AviVsNode) GetVSVIPLoadBalancerIP() string

func (*AviVsNode) GetVsDatascriptRefs

func (v *AviVsNode) GetVsDatascriptRefs() []string

func (*AviVsNode) GetWafPolicyRef

func (v *AviVsNode) GetWafPolicyRef() *string

func (*AviVsNode) IsDedicatedVS

func (v *AviVsNode) IsDedicatedVS() bool

func (*AviVsNode) IsSecure

func (v *AviVsNode) IsSecure() bool

func (*AviVsNode) IsSharedVS

func (v *AviVsNode) IsSharedVS() bool

func (*AviVsNode) RemoveFQDNAliasesFromHTTPPolicy

func (o *AviVsNode) RemoveFQDNAliasesFromHTTPPolicy(hosts []string, key string)

func (*AviVsNode) RemoveFQDNsFromModel

func (o *AviVsNode) RemoveFQDNsFromModel(hosts []string, key string)

func (*AviVsNode) ReplaceCACertRefInSNINode

func (o *AviVsNode) ReplaceCACertRefInSNINode(cacertNode *AviTLSKeyCertNode, key string)

func (*AviVsNode) ReplaceSniHTTPRefInSNINode

func (o *AviVsNode) ReplaceSniHTTPRefInSNINode(httpPGPath AviHostPathPortPoolPG, httpPolName, key string)

func (*AviVsNode) ReplaceSniPGInSNINode

func (o *AviVsNode) ReplaceSniPGInSNINode(newPGNode *AviPoolGroupNode, key string)

func (*AviVsNode) ReplaceSniPoolInSNINode

func (o *AviVsNode) ReplaceSniPoolInSNINode(newPoolNode *AviPoolNode, key string)

func (*AviVsNode) ReplaceSniSSLRefInSNINode

func (o *AviVsNode) ReplaceSniSSLRefInSNINode(newSslNode *AviTLSKeyCertNode, key string)

func (*AviVsNode) SetAnalyticsPolicy

func (v *AviVsNode) SetAnalyticsPolicy(policy *avimodels.AnalyticsPolicy)

func (*AviVsNode) SetAnalyticsProfileRef

func (v *AviVsNode) SetAnalyticsProfileRef(analyticsProfileRef *string)

func (*AviVsNode) SetAppProfileRef

func (v *AviVsNode) SetAppProfileRef(applicationProfileRef *string)

func (*AviVsNode) SetEnabled

func (v *AviVsNode) SetEnabled(Enabled *bool)

func (*AviVsNode) SetErrorPageProfileRef

func (v *AviVsNode) SetErrorPageProfileRef(errorPageProfileRef string)

func (*AviVsNode) SetHttpPolicyRefs

func (v *AviVsNode) SetHttpPolicyRefs(httpPolicyRefs []*AviHttpPolicySetNode)

func (*AviVsNode) SetHttpPolicySetRefs

func (v *AviVsNode) SetHttpPolicySetRefs(httpPolicySetRefs []string)

func (*AviVsNode) SetICAPProfileRefs

func (v *AviVsNode) SetICAPProfileRefs(ICAPProfileRef []string)

func (*AviVsNode) SetName

func (v *AviVsNode) SetName(Name string)

func (*AviVsNode) SetNetworkSecurityPolicyRef

func (v *AviVsNode) SetNetworkSecurityPolicyRef(networkSecurityPolicyRef *string)

func (*AviVsNode) SetPoolGroupRefs

func (v *AviVsNode) SetPoolGroupRefs(poolGroupRefs []*AviPoolGroupNode)

func (*AviVsNode) SetPoolRefs

func (v *AviVsNode) SetPoolRefs(PoolRefs []*AviPoolNode)

func (*AviVsNode) SetPortProtocols

func (v *AviVsNode) SetPortProtocols(portProto []AviPortHostProtocol)

func (*AviVsNode) SetSSLKeyCertRefs

func (v *AviVsNode) SetSSLKeyCertRefs(sslKeyCertRefs []*AviTLSKeyCertNode)

func (*AviVsNode) SetSSLProfileRef

func (v *AviVsNode) SetSSLProfileRef(SSLProfileRef *string)

func (*AviVsNode) SetServiceMetadata

func (v *AviVsNode) SetServiceMetadata(serviceMetadata lib.ServiceMetadataObj)

func (*AviVsNode) SetSslKeyAndCertificateRefs

func (v *AviVsNode) SetSslKeyAndCertificateRefs(sslKeyAndCertificateRefs []string)

func (*AviVsNode) SetVHDomainNames

func (v *AviVsNode) SetVHDomainNames(domainNames []string)

func (*AviVsNode) SetVSVIPLoadBalancerIP

func (v *AviVsNode) SetVSVIPLoadBalancerIP(ip string)

func (*AviVsNode) SetVsDatascriptRefs

func (v *AviVsNode) SetVsDatascriptRefs(VsDatascriptRefs []string)

func (*AviVsNode) SetWafPolicyRef

func (v *AviVsNode) SetWafPolicyRef(wafPolicyRef *string)

type AviVsNodeCommonFields

type AviVsNodeCommonFields struct {
	AnalyticsPolicy          *avimodels.AnalyticsPolicy
	AnalyticsProfileRef      *string
	ApplicationProfileRef    *string
	SslProfileRef            *string
	VsDatascriptRefs         []string
	WafPolicyRef             *string
	SslKeyAndCertificateRefs []string // refs to avi sslkeyandcertificate objs
}

AviVsNodeCommonFields struct contains the fields that are:

  1. expected to be part of the generated code.
  2. already in use in the code and is part of the generated code.

This struct is added to avoid any collision between the generated and existing struct fields.

func (*AviVsNodeCommonFields) ConvertToRef

func (o *AviVsNodeCommonFields) ConvertToRef()

type AviVsNodeGeneratedFields

type AviVsNodeGeneratedFields struct {
	AllowInvalidClientCert        *bool
	BotPolicyRef                  *string
	CloseClientConnOnConfigUpdate *bool
	Fqdn                          *string
	HostNameXlate                 *string
	IgnPoolNetReach               *bool
	LoadBalancerIP                *string
	MinPoolsUp                    *uint32
	NetworkProfileRef             *string
	NetworkSecurityPolicyRef      *string
	OauthVsConfig                 *v1alpha2.OAuthVSConfig
	PerformanceLimits             *v1alpha2.PerformanceLimits
	RemoveListeningPortOnVsDown   *bool
	SamlSpConfig                  *v1alpha2.SAMLSPConfig
	SecurityPolicyRef             *string
	Services                      []*v1alpha2.Service
	SslSessCacheAvgSize           *uint32
	SsoPolicyRef                  *string
	TrafficCloneProfileRef        *string
}

func (*AviVsNodeGeneratedFields) CalculateCheckSumOfGeneratedCode

func (v *AviVsNodeGeneratedFields) CalculateCheckSumOfGeneratedCode() uint32

func (*AviVsNodeGeneratedFields) ConvertL7RuleFieldsToNil

func (o *AviVsNodeGeneratedFields) ConvertL7RuleFieldsToNil()

func (*AviVsNodeGeneratedFields) ConvertL7RuleParentOnlyFieldsToNil

func (o *AviVsNodeGeneratedFields) ConvertL7RuleParentOnlyFieldsToNil()

func (*AviVsNodeGeneratedFields) ConvertToRef

func (o *AviVsNodeGeneratedFields) ConvertToRef()

type DataScript

type DataScript struct {
	Evt    string
	Script string
}

type GraphDescriptor

type GraphDescriptor []GraphSchema

func ConfigDescriptor

func ConfigDescriptor() GraphDescriptor

func (GraphDescriptor) GetByType

func (descriptor GraphDescriptor) GetByType(name string) (GraphSchema, bool)

type GraphSchema

type GraphSchema struct {
	Type                           string
	GetParentIngresses             func(string, string, string) ([]string, bool)
	GetParentRoutes                func(string, string, string) ([]string, bool)
	GetParentGateways              func(string, string, string) ([]string, bool)
	GetParentServices              func(string, string, string) ([]string, bool)
	GetParentMultiClusterIngresses func(string, string, string) ([]string, bool)
}

type HostMetadata

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

type HostNameLister

type HostNameLister struct {
	HostNamePathStore
	// contains filtered or unexported fields
}

func SharedHostNameLister

func SharedHostNameLister() *HostNameLister

func (*HostNameLister) Delete

func (a *HostNameLister) Delete(hostname string)

func (*HostNameLister) DeleteNamespace

func (a *HostNameLister) DeleteNamespace(hostname string)

func (*HostNameLister) Get

func (a *HostNameLister) Get(hostname string) (bool, SecureHostNameMapProp)

func (*HostNameLister) GetNamespace

func (a *HostNameLister) GetNamespace(hostname string) (bool, string)

func (*HostNameLister) Save

func (a *HostNameLister) Save(hostname string, hsGraph SecureHostNameMapProp)

func (*HostNameLister) SaveNamespace

func (a *HostNameLister) SaveNamespace(hostname string, namespace string)

type HostNamePathSecrets

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

type HostNamePathStore

type HostNamePathStore struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

thread safe for namespace based sharding in case of same hostname in different namespaces cache sample: foo.com -> {path1: ns1/ingress1, path2: ns2/ingress2}

func (*HostNamePathStore) DeleteHostPathStore

func (h *HostNamePathStore) DeleteHostPathStore(host string)

func (*HostNamePathStore) GetHostPathStore

func (h *HostNamePathStore) GetHostPathStore(host string) (bool, map[string][]string)

func (*HostNamePathStore) GetHostPathStoreIngresses

func (h *HostNamePathStore) GetHostPathStoreIngresses(host, path string) (bool, []string)

func (*HostNamePathStore) GetHostsFromHostPathStore

func (h *HostNamePathStore) GetHostsFromHostPathStore(host, fqdnMatchType string) []string

func (*HostNamePathStore) RemoveHostPathStore

func (h *HostNamePathStore) RemoveHostPathStore(host, path string, ing string)

func (*HostNamePathStore) SaveHostPathStore

func (h *HostNamePathStore) SaveHostPathStore(host, path string, ing string)

type IngressConfig

type IngressConfig struct {
	PassthroughCollection map[string]PassthroughSettings
	TlsCollection         []TlsSettings
	IngressHostMap
	InsecureEdgeTermAllow bool
}

type IngressHostMap

type IngressHostMap map[string]HostMetadata

type IngressHostPathSvc

type IngressHostPathSvc struct {
	ServiceName string
	Path        string
	PathType    networkingv1.PathType
	Port        int32

	PortName   string
	TargetPort intstr.IntOrString
	// contains filtered or unexported fields
}

type K8sIngressModel

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

K8sIngressModel : Model for kubernetes ingresses with default service lister

func GetK8sIngressModel

func GetK8sIngressModel(name, namespace, key string) (*K8sIngressModel, error, bool)

func (*K8sIngressModel) Exists

func (m *K8sIngressModel) Exists() bool

func (*K8sIngressModel) GetAnnotations

func (m *K8sIngressModel) GetAnnotations() map[string]string

func (*K8sIngressModel) GetAviInfraSetting

func (m *K8sIngressModel) GetAviInfraSetting() *akov1beta1.AviInfraSetting

func (*K8sIngressModel) GetDiffPathSvc

func (m *K8sIngressModel) GetDiffPathSvc(storedPathSvc map[string][]string, currentPathSvc []IngressHostPathSvc, checkSvc bool) map[string][]string

func (*K8sIngressModel) GetName

func (m *K8sIngressModel) GetName() string

func (*K8sIngressModel) GetNamespace

func (m *K8sIngressModel) GetNamespace() string

func (*K8sIngressModel) GetSpec

func (m *K8sIngressModel) GetSpec() interface{}

func (*K8sIngressModel) GetSvcLister

func (m *K8sIngressModel) GetSvcLister() *objects.SvcLister

func (*K8sIngressModel) GetType

func (m *K8sIngressModel) GetType() string

func (*K8sIngressModel) ParseHostPath

func (m *K8sIngressModel) ParseHostPath() IngressConfig

type OshiftRouteModel

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

OshiftRouteModel : Model for openshift routes with it's own service lister

func GetOshiftRouteModel

func GetOshiftRouteModel(name, namespace, key string) (*OshiftRouteModel, error, bool)

func (*OshiftRouteModel) Exists

func (m *OshiftRouteModel) Exists() bool

func (*OshiftRouteModel) GetAnnotations

func (m *OshiftRouteModel) GetAnnotations() map[string]string

func (*OshiftRouteModel) GetAviInfraSetting

func (m *OshiftRouteModel) GetAviInfraSetting() *akov1beta1.AviInfraSetting

func (*OshiftRouteModel) GetDiffPathSvc

func (m *OshiftRouteModel) GetDiffPathSvc(storedPathSvc map[string][]string, currentPathSvc []IngressHostPathSvc, checkSvc bool) map[string][]string

func (*OshiftRouteModel) GetName

func (m *OshiftRouteModel) GetName() string

func (*OshiftRouteModel) GetNamespace

func (m *OshiftRouteModel) GetNamespace() string

func (*OshiftRouteModel) GetSpec

func (m *OshiftRouteModel) GetSpec() interface{}

func (*OshiftRouteModel) GetSvcLister

func (m *OshiftRouteModel) GetSvcLister() *objects.SvcLister

func (*OshiftRouteModel) GetType

func (m *OshiftRouteModel) GetType() string

func (*OshiftRouteModel) ParseHostPath

func (or *OshiftRouteModel) ParseHostPath() IngressConfig

type PassthroughSettings

type PassthroughSettings struct {
	PathSvc []IngressHostPathSvc
	// contains filtered or unexported fields
}

type RouteIngressModel

type RouteIngressModel interface {
	GetName() string
	GetNamespace() string
	GetType() string
	GetSvcLister() *objects.SvcLister
	GetSpec() interface{}
	GetAnnotations() map[string]string
	ParseHostPath() IngressConfig
	Exists() bool
	// this is required due to different naming convention used in ingress where we dont use service name
	// later if we decide to have common naming for ingress and route, then we can hav a common method
	GetDiffPathSvc(map[string][]string, []IngressHostPathSvc, bool) map[string][]string

	GetAviInfraSetting() *akov1beta1.AviInfraSetting
}

RouteIngressModel : High Level interfaces that should be implemenetd by all l7 route objects, e.g: k8s ingress, openshift route

func GetMultiClusterIngressModel

func GetMultiClusterIngressModel(name, namespace, key string) (RouteIngressModel, error, bool)

type SecureHostNameMapProp

type SecureHostNameMapProp struct {
	// This method is only used in case of hostname based sharding. Hostname sharding uses a single thread in layer 2
	// Hence locking is avoided. Secondly, hostname based shards are agnostic of namespaces, hence namespaces are kept only as a
	// naming constuct. Only used for secure hosts.
	// hostname1(this is persisted in the store) --> ingress1 + ns --> path: [/foo, /bar], secrets: [secret1]
	// 			 --> ingress2 + ns --> path: [/baz], secrets: [secret3]
	HostNameMap map[string]HostNamePathSecrets
}

func NewSecureHostNameMapProp

func NewSecureHostNameMapProp() SecureHostNameMapProp

func (*SecureHostNameMapProp) GetIngressesForHostName

func (h *SecureHostNameMapProp) GetIngressesForHostName(hostname string) []string

func (*SecureHostNameMapProp) GetPathsForHostName

func (h *SecureHostNameMapProp) GetPathsForHostName(hostname string) []string

func (*SecureHostNameMapProp) GetSecretsForHostName

func (h *SecureHostNameMapProp) GetSecretsForHostName(hostname string) []string

type StaticRouteDetails

type StaticRouteDetails struct {
	StartIndex int
	Count      int
	// contains filtered or unexported fields
}

type TlsSettings

type TlsSettings struct {
	Hosts      map[string]HostMetadata
	SecretName string
	SecretNS   string
	// contains filtered or unexported fields
}

type Validator

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

func NewNodesValidator

func NewNodesValidator() *Validator

func (*Validator) IsValidHostName

func (v *Validator) IsValidHostName(hostname string) bool

func (*Validator) ParseHostPathForIngress

func (v *Validator) ParseHostPathForIngress(ns string, ingName string, ingSpec networkingv1.IngressSpec, annotations map[string]string, key string) IngressConfig

ParseHostPathForIngress handling for hostrule: if the host has a hostrule, and that hostrule has a tls.sslkeycertref then move that host in the tls.hosts, this should be only in case of hostname sharding

func (*Validator) ParseHostPathForMultiClusterIngress

func (v *Validator) ParseHostPathForMultiClusterIngress(ns string, ingName string, ingSpec *v1alpha1.MultiClusterIngressSpec, key string) IngressConfig

ParseHostPathForMultiClusterIngress extracts the information from multi-cluster ingress object and generates ingress configs required for creating the models.

func (*Validator) ParseHostPathForRoute

func (v *Validator) ParseHostPathForRoute(ns string, routeName string, routeSpec routev1.RouteSpec, key string) IngressConfig

Jump to

Keyboard shortcuts

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