v1alpha1

package
v0.43.5 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2026 License: Apache-2.0 Imports: 18 Imported by: 8

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the gateway v1alpha1 API group. +kubebuilder:object:generate=true +groupName=gateway.githedgehog.com

Index

Constants

View Source
const (
	DefaultMasqueradeIdleTimeout  = 2 * time.Minute
	DefaultPortForwardIdleTimeout = 2 * time.Minute
)
View Source
const (
	DefaultGatewayGroup = "default"
)
View Source
const (
	VPCInfoExtPrefix = "ext."
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "gateway.githedgehog.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
)
View Source
var (
	LabelPrefix    = "gateway.githedgehog.com/"
	ListLabelValue = "true"
)
View Source
var ErrInvalidGW = errors.New("invalid gateway")

Functions

func ListLabel added in v0.7.0

func ListLabel(listType, val string) string

func ListLabelPrefix added in v0.7.0

func ListLabelPrefix(listType string) string

func ListLabelVPC added in v0.7.0

func ListLabelVPC(vpcName string) string

Types

type Gateway

type Gateway struct {
	kmetav1.TypeMeta   `json:",inline"`
	kmetav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GatewaySpec   `json:"spec,omitempty"`
	Status GatewayStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:categories=hedgehog;hedgehog-gateway,shortName=gw +kubebuilder:printcolumn:name="ProtoIP",type=string,JSONPath=`.spec.protocolIP`,priority=0 +kubebuilder:printcolumn:name="VTEPIP",type=string,JSONPath=`.spec.vtepIP`,priority=0 +kubebuilder:printcolumn:name="Groups",type=string,JSONPath=`.spec.groups`,priority=1 +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,priority=0 Gateway is the Schema for the gateways API.

func (*Gateway) DeepCopy

func (in *Gateway) DeepCopy() *Gateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway.

func (*Gateway) DeepCopyInto

func (in *Gateway) DeepCopyInto(out *Gateway)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Gateway) DeepCopyObject

func (in *Gateway) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Gateway) Default

func (gw *Gateway) Default()

func (*Gateway) Validate

func (gw *Gateway) Validate(ctx context.Context, kube kclient.Reader, gwCfg *meta.GatewayCtrlConfig) error

type GatewayBGPNeighbor added in v0.6.0

type GatewayBGPNeighbor struct {
	// Source is the source interface for the BGP neighbor configuration
	Source string `json:"source,omitempty"`
	// IP is the IP address of the BGP neighbor
	IP string `json:"ip,omitempty"`
	// ASN is the remote ASN of the BGP neighbor
	ASN uint32 `json:"asn,omitempty"`
}

GatewayBGPNeighbor defines the configuration for a BGP neighbor

func (*GatewayBGPNeighbor) DeepCopy added in v0.6.0

func (in *GatewayBGPNeighbor) DeepCopy() *GatewayBGPNeighbor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayBGPNeighbor.

func (*GatewayBGPNeighbor) DeepCopyInto added in v0.6.0

func (in *GatewayBGPNeighbor) DeepCopyInto(out *GatewayBGPNeighbor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayGroup added in v0.31.0

type GatewayGroup struct {
	kmetav1.TypeMeta   `json:",inline"`
	kmetav1.ObjectMeta `json:"metadata,omitzero"`

	// +optional
	Spec GatewayGroupSpec `json:"spec"`
	// +optional
	Status GatewayGroupStatus `json:"status,omitzero"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:categories=hedgehog;hedgehog-gateway,shortName=gwgr GatewayGroup is the Schema for the gatewaygroups API

func (*GatewayGroup) DeepCopy added in v0.31.0

func (in *GatewayGroup) DeepCopy() *GatewayGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayGroup.

func (*GatewayGroup) DeepCopyInto added in v0.31.0

func (in *GatewayGroup) DeepCopyInto(out *GatewayGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GatewayGroup) DeepCopyObject added in v0.31.0

func (in *GatewayGroup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GatewayGroup) Default added in v0.31.0

func (gg *GatewayGroup) Default()

func (*GatewayGroup) Validate added in v0.31.0

func (gg *GatewayGroup) Validate(_ context.Context, _ kclient.Reader) error

type GatewayGroupList added in v0.31.0

type GatewayGroupList struct {
	kmetav1.TypeMeta `json:",inline"`
	kmetav1.ListMeta `json:"metadata,omitzero"`
	Items            []GatewayGroup `json:"items"`
}

GatewayGroupList contains a list of GatewayGroup

func (*GatewayGroupList) DeepCopy added in v0.31.0

func (in *GatewayGroupList) DeepCopy() *GatewayGroupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayGroupList.

func (*GatewayGroupList) DeepCopyInto added in v0.31.0

func (in *GatewayGroupList) DeepCopyInto(out *GatewayGroupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GatewayGroupList) DeepCopyObject added in v0.31.0

func (in *GatewayGroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GatewayGroupMembership added in v0.31.0

type GatewayGroupMembership struct {
	// Name is the name of the group to which the gateway belongs
	Name string `json:"name,omitempty"`
	// Priority is the priority of the gateway within the group
	Priority uint32 `json:"priority,omitempty"`
}

func (*GatewayGroupMembership) DeepCopy added in v0.31.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayGroupMembership.

func (*GatewayGroupMembership) DeepCopyInto added in v0.31.0

func (in *GatewayGroupMembership) DeepCopyInto(out *GatewayGroupMembership)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayGroupSpec added in v0.31.0

type GatewayGroupSpec struct{}

GatewayGroupSpec defines the desired state of GatewayGroup

func (*GatewayGroupSpec) DeepCopy added in v0.31.0

func (in *GatewayGroupSpec) DeepCopy() *GatewayGroupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayGroupSpec.

func (*GatewayGroupSpec) DeepCopyInto added in v0.31.0

func (in *GatewayGroupSpec) DeepCopyInto(out *GatewayGroupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayGroupStatus added in v0.31.0

type GatewayGroupStatus struct {
}

GatewayGroupStatus defines the observed state of GatewayGroup.

func (*GatewayGroupStatus) DeepCopy added in v0.31.0

func (in *GatewayGroupStatus) DeepCopy() *GatewayGroupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayGroupStatus.

func (*GatewayGroupStatus) DeepCopyInto added in v0.31.0

func (in *GatewayGroupStatus) DeepCopyInto(out *GatewayGroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayInterface added in v0.6.0

type GatewayInterface struct {
	// PCI address of the interface (required for DPDK driver), e.g. 0000:00:01.0
	PCI string `json:"pci,omitempty"`
	// Kernel is the kernel name of the interface to use (required for kernel driver), e.g. enp2s1
	Kernel string `json:"kernel,omitempty"`
	// IPs is the list of IP address to assign to the interface
	IPs []string `json:"ips,omitempty"`
	// MTU for the interface
	MTU uint32 `json:"mtu,omitempty"`
}

GatewayInterface defines the configuration for a gateway interface

func (*GatewayInterface) DeepCopy added in v0.6.0

func (in *GatewayInterface) DeepCopy() *GatewayInterface

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayInterface.

func (*GatewayInterface) DeepCopyInto added in v0.6.0

func (in *GatewayInterface) DeepCopyInto(out *GatewayInterface)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayList

type GatewayList struct {
	kmetav1.TypeMeta `json:",inline"`
	kmetav1.ListMeta `json:"metadata,omitempty"`
	Items            []Gateway `json:"items"`
}

GatewayList contains a list of Gateway.

func (*GatewayList) DeepCopy

func (in *GatewayList) DeepCopy() *GatewayList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayList.

func (*GatewayList) DeepCopyInto

func (in *GatewayList) DeepCopyInto(out *GatewayList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GatewayList) DeepCopyObject

func (in *GatewayList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GatewayLogLevel added in v0.20.0

type GatewayLogLevel string
const (
	GatewayLogLevelOff     GatewayLogLevel = "off"
	GatewayLogLevelError   GatewayLogLevel = "error"
	GatewayLogLevelWarning GatewayLogLevel = "warning"
	GatewayLogLevelInfo    GatewayLogLevel = "info"
	GatewayLogLevelDebug   GatewayLogLevel = "debug"
	GatewayLogLevelTrace   GatewayLogLevel = "trace"
)

type GatewayLogs added in v0.20.0

type GatewayLogs struct {
	Default GatewayLogLevel            `json:"default,omitempty"`
	Tags    map[string]GatewayLogLevel `json:"tags,omitempty"`
}

GatewayLogs defines the configuration for logging levels

func (*GatewayLogs) DeepCopy added in v0.20.0

func (in *GatewayLogs) DeepCopy() *GatewayLogs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayLogs.

func (*GatewayLogs) DeepCopyInto added in v0.20.0

func (in *GatewayLogs) DeepCopyInto(out *GatewayLogs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayProfiling added in v0.25.0

type GatewayProfiling struct {
	Enabled bool `json:"enabled,omitempty"`
}

func (*GatewayProfiling) DeepCopy added in v0.25.0

func (in *GatewayProfiling) DeepCopy() *GatewayProfiling

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayProfiling.

func (*GatewayProfiling) DeepCopyInto added in v0.25.0

func (in *GatewayProfiling) DeepCopyInto(out *GatewayProfiling)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewaySpec

type GatewaySpec struct {
	// ProtocolIP is used as a loopback IP and BGP Router ID
	ProtocolIP string `json:"protocolIP,omitempty"`
	// VTEP IP to be used by the gateway
	VTEPIP string `json:"vtepIP,omitempty"`
	// VTEP MAC address to be used by the gateway
	VTEPMAC string `json:"vtepMAC,omitempty"`
	// ASN is the ASN of the gateway
	ASN uint32 `json:"asn,omitempty"`
	// VTEPMTU is the MTU for the VTEP interface
	VTEPMTU uint32 `json:"vtepMTU,omitempty"`
	// Interfaces is a map of interface names to their configurations
	Interfaces map[string]GatewayInterface `json:"interfaces,omitempty"`
	// Neighbors is a list of BGP neighbors
	Neighbors []GatewayBGPNeighbor `json:"neighbors,omitempty"`
	// Logs defines the configuration for logging levels
	Logs GatewayLogs `json:"logs,omitempty"`
	// Profiling defines the configuration for profiling
	Profiling GatewayProfiling `json:"profiling,omitempty"`
	// Workers defines the number of worker threads to use for dataplane
	Workers uint8 `json:"workers,omitempty"`
	// Groups is a list of group memberships for the gateway
	Groups []GatewayGroupMembership `json:"groups,omitempty"`
}

GatewaySpec defines the desired state of Gateway.

func (*GatewaySpec) DeepCopy

func (in *GatewaySpec) DeepCopy() *GatewaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewaySpec.

func (*GatewaySpec) DeepCopyInto

func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GatewayStatus

type GatewayStatus struct{}

GatewayStatus defines the observed state of Gateway.

func (*GatewayStatus) DeepCopy

func (in *GatewayStatus) DeepCopy() *GatewayStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayStatus.

func (*GatewayStatus) DeepCopyInto

func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Peering

type Peering struct {
	kmetav1.TypeMeta   `json:",inline"`
	kmetav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PeeringSpec   `json:"spec,omitempty"`
	Status PeeringStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:categories=hedgehog;hedgehog-gateway,shortName=peer +kubebuilder:printcolumn:name="GatewayGroup",type=string,JSONPath=`.spec.gatewayGroup`,priority=0 +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,priority=0 Peering is the Schema for the peerings API.

func (*Peering) DeepCopy

func (in *Peering) DeepCopy() *Peering

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Peering.

func (*Peering) DeepCopyInto

func (in *Peering) DeepCopyInto(out *Peering)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Peering) DeepCopyObject

func (in *Peering) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Peering) Default

func (p *Peering) Default()

func (*Peering) Validate

func (p *Peering) Validate(ctx context.Context, kube kclient.Reader) error

type PeeringEntry

type PeeringEntry struct {
	Expose []PeeringEntryExpose `json:"expose,omitempty"`
}

func (*PeeringEntry) DeepCopy

func (in *PeeringEntry) DeepCopy() *PeeringEntry

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringEntry.

func (*PeeringEntry) DeepCopyInto

func (in *PeeringEntry) DeepCopyInto(out *PeeringEntry)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringEntryAs

type PeeringEntryAs struct {
	// CIDR to include, only one of cidr, not can be set
	CIDR string `json:"cidr,omitempty"`
	// CIDR to exclude, only one of cidr, not can be set
	Not string `json:"not,omitempty"`
}

func (*PeeringEntryAs) DeepCopy

func (in *PeeringEntryAs) DeepCopy() *PeeringEntryAs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringEntryAs.

func (*PeeringEntryAs) DeepCopyInto

func (in *PeeringEntryAs) DeepCopyInto(out *PeeringEntryAs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringEntryExpose added in v0.2.0

type PeeringEntryExpose struct {
	IPs                []PeeringEntryIP `json:"ips,omitempty"`
	As                 []PeeringEntryAs `json:"as,omitempty"`
	NAT                *PeeringNAT      `json:"nat,omitempty"`
	DefaultDestination bool             `json:"default,omitempty"`
}

func (*PeeringEntryExpose) DeepCopy added in v0.2.0

func (in *PeeringEntryExpose) DeepCopy() *PeeringEntryExpose

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringEntryExpose.

func (*PeeringEntryExpose) DeepCopyInto added in v0.2.0

func (in *PeeringEntryExpose) DeepCopyInto(out *PeeringEntryExpose)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringEntryIP

type PeeringEntryIP struct {
	// CIDR to include, only one of cidr, not, vpcSubnet can be set
	CIDR string `json:"cidr,omitempty"`
	// CIDR to exclude, only one of cidr, not, vpcSubnet can be set
	Not string `json:"not,omitempty"`
	// CIDR by VPC subnet name to include, only one of cidr, not, vpcSubnet can be set
	VPCSubnet string `json:"vpcSubnet,omitempty"`
}

func (*PeeringEntryIP) DeepCopy

func (in *PeeringEntryIP) DeepCopy() *PeeringEntryIP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringEntryIP.

func (*PeeringEntryIP) DeepCopyInto

func (in *PeeringEntryIP) DeepCopyInto(out *PeeringEntryIP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringList

type PeeringList struct {
	kmetav1.TypeMeta `json:",inline"`
	kmetav1.ListMeta `json:"metadata,omitempty"`
	Items            []Peering `json:"items"`
}

PeeringList contains a list of Peering.

func (*PeeringList) DeepCopy

func (in *PeeringList) DeepCopy() *PeeringList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringList.

func (*PeeringList) DeepCopyInto

func (in *PeeringList) DeepCopyInto(out *PeeringList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PeeringList) DeepCopyObject

func (in *PeeringList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PeeringNAT added in v0.21.0

type PeeringNAT struct {
	Masquerade  *PeeringNATMasquerade  `json:"masquerade,omitempty"`
	PortForward *PeeringNATPortForward `json:"portForward,omitempty"`
	Static      *PeeringNATStatic      `json:"static,omitempty"`
}

func (*PeeringNAT) DeepCopy added in v0.21.0

func (in *PeeringNAT) DeepCopy() *PeeringNAT

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringNAT.

func (*PeeringNAT) DeepCopyInto added in v0.21.0

func (in *PeeringNAT) DeepCopyInto(out *PeeringNAT)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringNATMasquerade added in v0.41.0

type PeeringNATMasquerade struct {
	// Time since the last packet after which flows are removed from the connection state table
	IdleTimeout kmetav1.Duration `json:"idleTimeout,omitempty"`
}

func (*PeeringNATMasquerade) DeepCopy added in v0.41.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringNATMasquerade.

func (*PeeringNATMasquerade) DeepCopyInto added in v0.41.0

func (in *PeeringNATMasquerade) DeepCopyInto(out *PeeringNATMasquerade)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringNATPortForward added in v0.41.0

type PeeringNATPortForward struct {
	// Time since the last packet after which flows are removed from the connection state table
	IdleTimeout kmetav1.Duration             `json:"idleTimeout,omitempty"`
	Ports       []PeeringNATPortForwardEntry `json:"ports,omitempty"`
}

func (*PeeringNATPortForward) DeepCopy added in v0.41.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringNATPortForward.

func (*PeeringNATPortForward) DeepCopyInto added in v0.41.0

func (in *PeeringNATPortForward) DeepCopyInto(out *PeeringNATPortForward)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringNATPortForwardEntry added in v0.41.0

type PeeringNATPortForwardEntry struct {
	Protocol PeeringNATProtocol `json:"proto,omitempty"`
	Port     string             `json:"port,omitempty"`
	As       string             `json:"as,omitempty"`
}

func (*PeeringNATPortForwardEntry) DeepCopy added in v0.41.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringNATPortForwardEntry.

func (*PeeringNATPortForwardEntry) DeepCopyInto added in v0.41.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringNATProtocol added in v0.41.0

type PeeringNATProtocol string

+kubebuilder:validation:Enum=tcp;udp;""

const (
	// Any protocol by default
	PeeringNATProtocolAny PeeringNATProtocol = ""
	// TCP only
	PeeringNATProtocolTCP PeeringNATProtocol = "tcp"
	// UDP only
	PeeringNATProtocolUDP PeeringNATProtocol = "udp"
)

type PeeringNATStatic added in v0.41.0

type PeeringNATStatic struct{}

func (*PeeringNATStatic) DeepCopy added in v0.41.0

func (in *PeeringNATStatic) DeepCopy() *PeeringNATStatic

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringNATStatic.

func (*PeeringNATStatic) DeepCopyInto added in v0.41.0

func (in *PeeringNATStatic) DeepCopyInto(out *PeeringNATStatic)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringSpec

type PeeringSpec struct {
	// GatewayGroup is the name of the gateway group that should process the peering
	GatewayGroup string `json:"gatewayGroup,omitempty"`
	// Peerings is a map of peering entries for each VPC participating in the peering (keyed by VPC name)
	Peering map[string]*PeeringEntry `json:"peering,omitempty"`
}

PeeringSpec defines the desired state of Peering.

func (*PeeringSpec) DeepCopy

func (in *PeeringSpec) DeepCopy() *PeeringSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringSpec.

func (*PeeringSpec) DeepCopyInto

func (in *PeeringSpec) DeepCopyInto(out *PeeringSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeeringStatus

type PeeringStatus struct{}

PeeringStatus defines the observed state of Peering.

func (*PeeringStatus) DeepCopy

func (in *PeeringStatus) DeepCopy() *PeeringStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringStatus.

func (*PeeringStatus) DeepCopyInto

func (in *PeeringStatus) DeepCopyInto(out *PeeringStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCInfo

type VPCInfo struct {
	kmetav1.TypeMeta   `json:",inline"`
	kmetav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VPCInfoSpec   `json:"spec,omitempty"`
	Status VPCInfoStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=vpcinfos,categories=hedgehog;hedgehog-gateway,shortName=gwvpc +kubebuilder:printcolumn:name="InternalID",type=string,JSONPath=`.status.internalID`,priority=0 +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`,priority=0 VPCInfo is the Schema for the vpcinfos API.

func (*VPCInfo) DeepCopy

func (in *VPCInfo) DeepCopy() *VPCInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCInfo.

func (*VPCInfo) DeepCopyInto

func (in *VPCInfo) DeepCopyInto(out *VPCInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCInfo) DeepCopyObject

func (in *VPCInfo) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*VPCInfo) Default

func (vpc *VPCInfo) Default()

func (*VPCInfo) IsReady added in v0.3.0

func (vpc *VPCInfo) IsReady() bool

func (*VPCInfo) Validate

func (vpc *VPCInfo) Validate(_ context.Context, _ kclient.Reader) error

type VPCInfoList

type VPCInfoList struct {
	kmetav1.TypeMeta `json:",inline"`
	kmetav1.ListMeta `json:"metadata,omitempty"`
	Items            []VPCInfo `json:"items"`
}

VPCInfoList contains a list of VPCInfo.

func (*VPCInfoList) DeepCopy

func (in *VPCInfoList) DeepCopy() *VPCInfoList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCInfoList.

func (*VPCInfoList) DeepCopyInto

func (in *VPCInfoList) DeepCopyInto(out *VPCInfoList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VPCInfoList) DeepCopyObject

func (in *VPCInfoList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type VPCInfoSpec

type VPCInfoSpec struct {
	// Subnets is a map of all subnets in the VPC (incl. CIDRs, VNIs, etc) keyed by the subnet name
	Subnets map[string]*VPCInfoSubnet `json:"subnets,omitempty"`
	// VNI is the VNI for the VPC
	VNI uint32 `json:"vni,omitempty"`
}

VPCInfoSpec defines the desired state of VPCInfo.

func (*VPCInfoSpec) DeepCopy

func (in *VPCInfoSpec) DeepCopy() *VPCInfoSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCInfoSpec.

func (*VPCInfoSpec) DeepCopyInto

func (in *VPCInfoSpec) DeepCopyInto(out *VPCInfoSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCInfoStatus

type VPCInfoStatus struct {
	InternalID string `json:"internalID,omitempty"`
}

VPCInfoStatus defines the observed state of VPCInfo.

func (*VPCInfoStatus) DeepCopy

func (in *VPCInfoStatus) DeepCopy() *VPCInfoStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCInfoStatus.

func (*VPCInfoStatus) DeepCopyInto

func (in *VPCInfoStatus) DeepCopyInto(out *VPCInfoStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPCInfoSubnet

type VPCInfoSubnet struct {
	// CIDR is the subnet CIDR block, such as "10.0.0.0/24"
	CIDR string `json:"cidr,omitempty"`
}

func (*VPCInfoSubnet) DeepCopy

func (in *VPCInfoSubnet) DeepCopy() *VPCInfoSubnet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCInfoSubnet.

func (*VPCInfoSubnet) DeepCopyInto

func (in *VPCInfoSubnet) DeepCopyInto(out *VPCInfoSubnet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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