Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the network v1alpha1 API group +kubebuilder:object:generate=true +groupName=networking.tkg.tanzu.vmware.com
Index ¶
- Constants
- Variables
- type AKODeploymentConfig
- func (in *AKODeploymentConfig) DeepCopy() *AKODeploymentConfig
- func (in *AKODeploymentConfig) DeepCopyInto(out *AKODeploymentConfig)
- func (in *AKODeploymentConfig) DeepCopyObject() runtime.Object
- func (r *AKODeploymentConfig) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *AKODeploymentConfig) ValidateCreate() error
- func (r *AKODeploymentConfig) ValidateDelete() error
- func (r *AKODeploymentConfig) ValidateUpdate(old runtime.Object) error
- type AKODeploymentConfigList
- type AKODeploymentConfigSpec
- type AKODeploymentConfigStatus
- type AKOIngressConfig
- type AKOL4Config
- type AKOLogConfig
- type AKORbacConfig
- type AVITenant
- type ControlPlaneNetwork
- type DataNetwork
- type ExtraConfigs
- type IPPool
- type NamespaceSelector
- type NetworksConfig
- type NodeNetwork
- type NodePortSelector
- type SecretRef
- type SecretReference
- type VIPNetwork
Constants ¶
const ( TKGSystemNamespace = "tkg-system" TKGClusterNameLabel = "tkg.tanzu.vmware.com/cluster-name" TKGClusterNameSpaceLabel = "tkg.tanzu.vmware.com/cluster-namespace" TKGManagememtClusterRoleLabel = "cluster-role.tkg.tanzu.vmware.com/management" TKGAddonAnnotationKey = "tkg.tanzu.vmware.com/addon-type" TKGAddOnLabelAddonNameKey = "tkg.tanzu.vmware.com/addon-name" TKGAddOnLabelClusterNameKey = "tkg.tanzu.vmware.com/cluster-name" TKGAddOnLabelClusterctlKey = "clusterctl.cluster.x-k8s.io/move" TKGAddOnSecretType = "tkg.tanzu.vmware.com/addon" TKGClusterClassAddOnSecretType = "clusterbootstrap-secret" TKGAddOnSecretDataKey = "values.yaml" TKGDataValueFormatString = "#@data/values\n#@overlay/match-child-defaults missing_ok=True\n---\n" TKGSkipDeletePkgiAnnotationKey = "run.tanzu.vmware.com/skip-packageinstall-deletion" ManagementClusterAkoDeploymentConfig = "install-ako-for-management-cluster" WorkloadClusterAkoDeploymentConfig = "install-ako-for-all" AkoUserRoleName = "ako-essential-role" ClusterFinalizer = "ako-operator.networking.tkg.tanzu.vmware.com" AkoDeploymentConfigFinalizer = "ako-operator.networking.tkg.tanzu.vmware.com" AkoDeploymentConfigKind = "AKODeploymentConfig" AkoDeploymentConfigVersion = "networking.tanzu.vmware.com/v1alpha1" AkoStatefulSetName = "ako" AkoConfigMapName = "avi-k8s-config" AkoConfigMapCloudNameKey = "cloudName" AkoConfigMapControllerIPKey = "controllerIP" AkoConfigMapVipNetworkListKey = "vipNetworkList" AkoClusterBootstrapRefNamePrefix = "load-balancer-and-ingress-service.tanzu.vmware.com" AkoPackageInstallName = "load-balancer-and-ingress-service" AkoPreferredIPAnnotation = "ako.vmware.com/load-balancer-ip" AviClusterLabel = "networking.tkg.tanzu.vmware.com/avi" AviClusterDeleteConfigLabel = "networking.tkg.tanzu.vmware.com/avi-config-delete" AviClusterSecretType = "avi.cluster.x-k8s.io/secret" AviNamespace = "avi-system" AviCredentialName = "avi-controller-credentials" AviCAName = "avi-controller-ca" AviCertificateKey = "certificateAuthorityData" AviResourceCleanupReason = "AviResourceCleanup" AviResourceCleanupSucceededCondition clusterv1.ConditionType = "AviResourceCleanupSucceeded" AviUserCleanupSucceededCondition clusterv1.ConditionType = "AviUserCleanupSucceeded" PreTerminateAnnotation = clusterv1.PreTerminateDeleteHookAnnotationPrefix + "/avi-cleanup" HAServiceName = "control-plane" HAServiceBootstrapClusterFinalizer = "ako-operator.networking.tkg.tanzu.vmware.com/ha" HAServiceAnnotationsKey = "skipnodeport.ako.vmware.com/enabled" HAAVIInfraSettingAnnotationsKey = "aviinfrasetting.ako.vmware.com/name" AKODeploymentConfigControllerName = "akodeploymentconfig-controller" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "networking.tkg.tanzu.vmware.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AKODeploymentConfig ¶
type AKODeploymentConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AKODeploymentConfigSpec `json:"spec,omitempty"`
Status AKODeploymentConfigStatus `json:"status,omitempty"`
}
AKODeploymentConfig is the Schema for the akodeploymentconfigs API
func (*AKODeploymentConfig) DeepCopy ¶
func (in *AKODeploymentConfig) DeepCopy() *AKODeploymentConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKODeploymentConfig.
func (*AKODeploymentConfig) DeepCopyInto ¶
func (in *AKODeploymentConfig) DeepCopyInto(out *AKODeploymentConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AKODeploymentConfig) DeepCopyObject ¶
func (in *AKODeploymentConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AKODeploymentConfig) SetupWebhookWithManager ¶
func (r *AKODeploymentConfig) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*AKODeploymentConfig) ValidateCreate ¶
func (r *AKODeploymentConfig) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*AKODeploymentConfig) ValidateDelete ¶
func (r *AKODeploymentConfig) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*AKODeploymentConfig) ValidateUpdate ¶
func (r *AKODeploymentConfig) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type AKODeploymentConfigList ¶
type AKODeploymentConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AKODeploymentConfig `json:"items"`
}
AKODeploymentConfigList contains a list of AKODeploymentConfig
func (*AKODeploymentConfigList) DeepCopy ¶
func (in *AKODeploymentConfigList) DeepCopy() *AKODeploymentConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKODeploymentConfigList.
func (*AKODeploymentConfigList) DeepCopyInto ¶
func (in *AKODeploymentConfigList) DeepCopyInto(out *AKODeploymentConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AKODeploymentConfigList) DeepCopyObject ¶
func (in *AKODeploymentConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AKODeploymentConfigSpec ¶
type AKODeploymentConfigSpec struct {
// CloudName speficies the AVI Cloud AKO will be deployed with
CloudName string `json:"cloudName"`
// Controller is the AVI Controller endpoint to which AKO talks to
// provision Load Balancer resources
// The format is [scheme://]address[:port]
// * scheme http or https, defaults to https if not
// specified
// * address IP address of the AVI Controller
// specified
// * port if not specified, use default port for
// the corresponding scheme
Controller string `json:"controller"`
// ControllerVersion is the AVI Controller version which AKO Operator and AKO talks to.
// this value can be auto detected and corrected.
ControllerVersion string `json:"controllerVersion,omitempty"`
// ServiceEngineGroup is the group name of Service Engine that's to be used by the set
// of AKO Deployments
ServiceEngineGroup string `json:"serviceEngineGroup"`
// Label selector for Clusters. The Clusters that are
// selected by this will be the ones affected by this
// AKODeploymentConfig.
// It must match the Cluster labels. This field is immutable.
// +optional
ClusterSelector metav1.LabelSelector `json:"clusterSelector,omitempty"`
// WorkloadCredentialRef points to a Secret resource which includes the username
// and password to access and configure the Avi Controller.
//
// * username Username used with basic authentication for
// the Avi REST API
// * password Password used with basic authentication for
// the Avi REST API
//
// This field is optional. When it's not specified, username/password
// will be automatically generated for each Cluster and Tenant needs to
// be non-nil in this case.
// +optional
WorkloadCredentialRef SecretReference `json:"workloadCredentialRef,omitempty"`
// AdminCredentialRef points to a Secret resource which includes the username
// and password to access and configure the Avi Controller.
//
// * username Username used with basic authentication for
// the Avi REST API
// * password Password used with basic authentication for
// the Avi REST API
//
// This credential needs to be bound with admin tenant and will be used
// by AKO Operator to automate configurations and operations.
AdminCredentialRef SecretReference `json:"adminCredentialRef"`
// CertificateAuthorityRef points to a Secret resource that includes the
// AVI Controller's CA
//
// * certificateAuthorityData PEM-encoded certificate authority
// certificates
//
CertificateAuthorityRef SecretReference `json:"certificateAuthorityRef"`
// The AVI tenant for the current AKODeploymentConfig
// This field is optional.
// +optional
Tenant AVITenant `json:"tenant,omitempty"`
// DataNetworks describes the Data Networks the AKO will be deployed
// with.
// This field is immutable.
DataNetwork DataNetwork `json:"dataNetwork"`
// ControlPlaneNetwork describes the control plane network of the clusters selected by an akoDeploymentConfig
//
// +optional
ControlPlaneNetwork ControlPlaneNetwork `json:"controlPlaneNetwork,omitempty"`
// ExtraConfigs contains extra configurations for AKO Deployment
//
// +optional
ExtraConfigs ExtraConfigs `json:"extraConfigs,omitempty"`
}
AKODeploymentConfigSpec defines the desired state of an AKODeploymentConfig AKODeploymentConfig describes the shared configurations for AKO deployments across a set of Clusters.
func (*AKODeploymentConfigSpec) DeepCopy ¶
func (in *AKODeploymentConfigSpec) DeepCopy() *AKODeploymentConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKODeploymentConfigSpec.
func (*AKODeploymentConfigSpec) DeepCopyInto ¶
func (in *AKODeploymentConfigSpec) DeepCopyInto(out *AKODeploymentConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AKODeploymentConfigStatus ¶
type AKODeploymentConfigStatus struct {
// ObservedGeneration reflects the generation of the most recently
// observed AKODeploymentConfig.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions defines current state of the AKODeploymentConfig.
// +optional
Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}
AKODeploymentConfigStatus defines the observed state of AKODeploymentConfig
func (*AKODeploymentConfigStatus) DeepCopy ¶
func (in *AKODeploymentConfigStatus) DeepCopy() *AKODeploymentConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKODeploymentConfigStatus.
func (*AKODeploymentConfigStatus) DeepCopyInto ¶
func (in *AKODeploymentConfigStatus) DeepCopyInto(out *AKODeploymentConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AKOIngressConfig ¶
type AKOIngressConfig struct {
// DisableIngressClass will prevent AKO Operator to install AKO
// IngressClass into workload clusters for old version of K8s
//
// +optional
DisableIngressClass *bool `json:"disableIngressClass,omitempty"`
// DefaultIngressController bool describes ako is the default
// ingress controller to use
//
// +optional
DefaultIngressController *bool `json:"defaultIngressController,omitempty"`
// ServiceType string describes ingress methods for a service
// Valid value should be NodePort, ClusterIP and NodePortLocal
// +kubebuilder:validation:Enum=NodePort;ClusterIP;NodePortLocal
// +optional
ServiceType string `json:"serviceType,omitempty"`
// ShardVSSize describes ingress shared virtual service size
// Valid value should be SMALL, MEDIUM, LARGE or DEDICATED, default value is SMALL
// +kubebuilder:validation:Enum=SMALL;MEDIUM;LARGE;DEDICATED
// +optional
ShardVSSize string `json:"shardVSSize,omitempty"`
// PassthroughShardSize controls the passthrough virtualservice numbers
// Valid value should be SMALL, MEDIUM or LARGE, default value is SMALL
// +kubebuilder:validation:Enum=SMALL;MEDIUM;LARGE
// +optional
PassthroughShardSize string `json:"passthroughShardSize,omitempty"`
// NodeNetworkList describes the details of network and CIDRs
// are used in pool placement network for vcenter cloud. Node Network details
// are not needed when in NodePort mode / static routes are disabled / non vcenter clouds.
// +optional
NodeNetworkList []NodeNetwork `json:"nodeNetworkList,omitempty"`
// NoPGForSNI describes if you want to get rid of poolgroups from SNI VSes.
// Do not use this flag, if you don't want http caching, default value is false.
// +optional
NoPGForSNI *bool `json:"noPGForSNI,omitempty"`
// Enabling this flag would tell AKO to start processing multi-cluster ingress objects
// +optional
EnableMCI *bool `json:"enableMCI,omitempty"`
}
AKOIngressConfig contains ingress configurations for AKO Deployment
func (*AKOIngressConfig) DeepCopy ¶
func (in *AKOIngressConfig) DeepCopy() *AKOIngressConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKOIngressConfig.
func (*AKOIngressConfig) DeepCopyInto ¶
func (in *AKOIngressConfig) DeepCopyInto(out *AKOIngressConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AKOL4Config ¶
type AKOL4Config struct {
// DefaultDomain controls the default sub-domain to use for L4 VSes when multiple sub-domains
// are configured in the cloud.
// +optional
DefaultDomain string `json:"defaultDomain,omitempty"`
// AutoFQDN controls the FQDN generation.
// Valid value should be default(<svc>.<ns>.<subdomain>), flat (<svc>-<ns>.<subdomain>) or disabled,
// +kubebuilder:validation:Enum=default;flat;disabled
// +optional
AutoFQDN string `json:"autoFQDN,omitempty"`
}
AKOL4Config contains L4 load balancer configurations for AKO Deployment
func (*AKOL4Config) DeepCopy ¶
func (in *AKOL4Config) DeepCopy() *AKOL4Config
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKOL4Config.
func (*AKOL4Config) DeepCopyInto ¶
func (in *AKOL4Config) DeepCopyInto(out *AKOL4Config)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AKOLogConfig ¶
type AKOLogConfig struct {
// LogLevel specifies the AKO pod log level
// Valid value should be INFO, DEBUG, WARN or ERROR, default value is INFO
// +kubebuilder:validation:Enum=INFO;DEBUG;WARN;ERROR
// +optional
LogLevel string `json:"logLevel,omitempty"`
// PersistentVolumeClaim specifies if a PVC should make for AKO logging
// +optional
PersistentVolumeClaim string `json:"persistentVolumeClaim,omitempty"`
// MountPath specifies the path to mount PVC
// +optional
MountPath string `json:"mountPath,omitempty"`
// LogFile specifies the log file name
// +optional
LogFile string `json:"logFile,omitempty"`
}
func (*AKOLogConfig) DeepCopy ¶
func (in *AKOLogConfig) DeepCopy() *AKOLogConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKOLogConfig.
func (*AKOLogConfig) DeepCopyInto ¶
func (in *AKOLogConfig) DeepCopyInto(out *AKOLogConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AKORbacConfig ¶
type AKORbacConfig struct {
// PspPolicyAPIVersion decides the API version of the PodSecurityPolicy
PspPolicyAPIVersion string `json:"pspPolicyAPIVersion,omitempty"`
// PspEnabled enables the deployment of a PodSecurityPolicy that grants
// AKO the proper role
// +optional
PspEnabled *bool `json:"pspEnabled,omitempty"`
}
func (*AKORbacConfig) DeepCopy ¶
func (in *AKORbacConfig) DeepCopy() *AKORbacConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKORbacConfig.
func (*AKORbacConfig) DeepCopyInto ¶
func (in *AKORbacConfig) DeepCopyInto(out *AKORbacConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AVITenant ¶
type AVITenant struct {
// Context is the type of AVI tenant context. Defaults to Provider. This field is immutable.
// +kubebuilder:validation:Enum=Provider;Tenant
Context string `json:"context,omitempty"`
// Name is the name of the tenant. This field is immutable.
Name string `json:"name"`
}
AVITenant describes settings for an AVI Tenant object
func (*AVITenant) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AVITenant.
func (*AVITenant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControlPlaneNetwork ¶
ControlPlaneNetwork describes the ControlPlane Network of the clusters selected by an akoDeploymentConfig
func (*ControlPlaneNetwork) DeepCopy ¶
func (in *ControlPlaneNetwork) DeepCopy() *ControlPlaneNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneNetwork.
func (*ControlPlaneNetwork) DeepCopyInto ¶
func (in *ControlPlaneNetwork) DeepCopyInto(out *ControlPlaneNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataNetwork ¶
type DataNetwork struct {
Name string `json:"name"`
CIDR string `json:"cidr"`
IPPools []IPPool `json:"ipPools,omitempty"`
}
DataNetwork describes one AVI Data Network
func (*DataNetwork) DeepCopy ¶
func (in *DataNetwork) DeepCopy() *DataNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataNetwork.
func (*DataNetwork) DeepCopyInto ¶
func (in *DataNetwork) DeepCopyInto(out *DataNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtraConfigs ¶
type ExtraConfigs struct {
// Defines AKO instance is primary or not. Value `true` indicates that AKO instance is primary.
// In a multiple AKO deployment in a cluster, only one AKO instance should be primary.
// Default value: true.
// +optional
PrimaryInstance *bool `json:"primaryInstance,omitempty"`
// Log specifies the configuration for AKO logging
// +optional
Log AKOLogConfig `json:"log,omitempty"`
// FullSyncFrequency controls how often AKO polls the Avi controller to update itself
// with cloud configurations. Default value is 1800
// +optional
FullSyncFrequency string `json:"fullSyncFrequency,omitempty"`
// ApiServerPort specifies Internal port for AKO's API server for the liveness probe of the AKO pod
// default port is 8080
// +optional
ApiServerPort *int `json:"apiServerPort,omitempty"`
// Defines Enable or disable Event broadcasting via AKO
// +optional
EnableEvents *bool `json:"enableEvents,omitempty"`
// DisableStaticRouteSync describes ako should sync static routing or not.
// If the POD networks are reachable from the Avi SE, this should be to true.
// Otherwise, it should be false.
// It would be true by default.
// +optional
DisableStaticRouteSync *bool `json:"disableStaticRouteSync,omitempty"`
// CniPlugin describes which cni plugin cluster is using.
// default value is antrea, set this string if cluster cni is other type.
// AKO supported CNI: antrea|calico|canal|flannel|openshift|ncp
// +kubebuilder:validation:Enum=antrea;calico;canal;flannel;openshift;ncp
// +optional
CniPlugin string `json:"cniPlugin,omitempty"`
// EnableEVH specifies if you want to enable the Enhanced Virtual Hosting Model
// in Avi Controller for the Virtual Services, default value is false
// +optional
EnableEVH *bool `json:"enableEVH,omitempty"`
// Layer7Only specifies if you want AKO only to do layer 7 load balancing.
// default value is false
// +optional
Layer7Only *bool `json:"layer7Only,omitempty"`
// NameSpaceSelector contains label key and value used for namespace migration.
// Same label has to be present on namespace/s which needs migration/sync to AKO
// +optional
NamespaceSelector NamespaceSelector `json:"namespaceSelector,omitempty"`
// ServicesAPI specifies if enables AKO in services API mode: https://kubernetes-sigs.github.io/service-apis/.
// Currently, implemented only for L4. This flag uses the upstream GA APIs which are not backward compatible
// with the advancedL4 APIs which uses a fork and a version of v1alpha1pre1
// default value is false
// +optional
ServicesAPI *bool `json:"servicesAPI,omitempty"`
// Enabling this flag would tell AKO to create Parent VS per Namespace in EVH mode
// default value is false
// +optional
VIPPerNamespace *bool `json:"vipPerNamespace,omitempty"`
// This flag needs to be enabled when AKO is be to brought up in an Istio environment
// default value is false
// +optional
IstioEnabled *bool `json:"istioEnabled,omitempty"`
// This is the list of system namespaces from which AKO will not listen any Kubernetes object event.
// +optional
BlockedNamespaceList []string `json:"blockedNamespaceList,omitempty"`
// This flag can take values V4 or V6 (default V4)
// default value is V4
// +kubebuilder:validation:Enum=V4;V6
// +optional
IpFamily string `json:"ipFamily,omitempty"`
// If this flag is set to true, AKO will only handle default secrets from the namespace where AKO is installed
// This flag is applicable only to Openshift clusters
// default value is false
// +optional
UseDefaultSecretsOnly *bool `json:"useDefaultSecretsOnly,omitempty"`
// NetworksConfig specifies the network configurations for virtual services.
// +optional
NetworksConfig NetworksConfig `json:"networksConfig,omitempty"`
// IngressConfigs specifies ingress configuration for ako
// +optional
IngressConfigs AKOIngressConfig `json:"ingress,omitempty"`
// IngressConfigs specifies L4 load balancer configuration for ako
// +optional
L4Configs AKOL4Config `json:"l4Config,omitempty"`
// NodePortSelector only applicable if serviceType is NodePort
// +optional
NodePortSelector NodePortSelector `json:"nodePortSelector,omitempty"`
// Rbac specifies the configuration for AKO Rbac
// +optional
Rbac AKORbacConfig `json:"rbac,omitempty"`
}
ExtraConfigs contains extra configurations for AKO Deployment
func (*ExtraConfigs) DeepCopy ¶
func (in *ExtraConfigs) DeepCopy() *ExtraConfigs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtraConfigs.
func (*ExtraConfigs) DeepCopyInto ¶
func (in *ExtraConfigs) DeepCopyInto(out *ExtraConfigs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPPool ¶
type IPPool struct {
// Start represents the starting IP address of the pool.
Start string `json:"start"`
// End represents the ending IP address of the pool.
End string `json:"end"`
// Type represents the type of IP Address
// +kubebuilder:validation:Enum=V4;
Type string `json:"type"`
}
IPPool defines a contiguous range of IP Addresses
func (*IPPool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPool.
func (*IPPool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespaceSelector ¶
type NamespaceSelector struct {
LabelKey string `json:"labelKey,omitempty"`
LabelValue string `json:"labelValue,omitempty"`
}
NameSpaceSelector contains label key and value used for namespace migration
func (*NamespaceSelector) DeepCopy ¶
func (in *NamespaceSelector) DeepCopy() *NamespaceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceSelector.
func (*NamespaceSelector) DeepCopyInto ¶
func (in *NamespaceSelector) DeepCopyInto(out *NamespaceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworksConfig ¶
type NetworksConfig struct {
// EnableRHI specifies cluster wide setting for BGP peering.
// default value is false
// +optional
EnableRHI *bool `json:"enableRHI,omitempty"`
// BGPPeerLabels specifies BGP peers, this is used for selective VsVip advertisement.
// +optional
BGPPeerLabels []string `json:"bgpPeerLabels,omitempty"`
// T1 Logical Segment mapping for backend network. Only applies to NSX-T cloud.
// +optional
NsxtT1LR string `json:"nsxtT1LR,omitempty"`
}
func (*NetworksConfig) DeepCopy ¶
func (in *NetworksConfig) DeepCopy() *NetworksConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworksConfig.
func (*NetworksConfig) DeepCopyInto ¶
func (in *NetworksConfig) DeepCopyInto(out *NetworksConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeNetwork ¶
type NodeNetwork struct {
// NetworkName is the name of this network
// +optional
NetworkName string `json:"networkName,omitempty"`
// Cidrs represents all the IP CIDRs in this network
// +optional
Cidrs []string `json:"cidrs,omitempty"`
}
func (*NodeNetwork) DeepCopy ¶
func (in *NodeNetwork) DeepCopy() *NodeNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeNetwork.
func (*NodeNetwork) DeepCopyInto ¶
func (in *NodeNetwork) DeepCopyInto(out *NodeNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodePortSelector ¶
type NodePortSelector struct {
Key string `json:"key,omitempty"`
Value string `json:"value,omitempty"`
}
NodePortSelector is only applicable if serviceType is NodePort
func (*NodePortSelector) DeepCopy ¶
func (in *NodePortSelector) DeepCopy() *NodePortSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePortSelector.
func (*NodePortSelector) DeepCopyInto ¶
func (in *NodePortSelector) DeepCopyInto(out *NodePortSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretRef ¶
type SecretRef struct {
// Name is the name of resource being referenced.
Name string `json:"name"`
// Namespace of the resource being referenced.
Namespace string `json:"namespace"`
}
SecretRef references a Kind Secret object in the same kubernetes cluster
func (*SecretRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (*SecretRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VIPNetwork ¶
VIPNetwork describes a VIPNetwork in the adc file
func (*VIPNetwork) DeepCopy ¶
func (in *VIPNetwork) DeepCopy() *VIPNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VIPNetwork.
func (*VIPNetwork) DeepCopyInto ¶
func (in *VIPNetwork) DeepCopyInto(out *VIPNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.