Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the gateway v1alpha1 API group. +kubebuilder:object:generate=true +groupName=gateway.githedgehog.com
Index ¶
- Constants
- Variables
- func ListLabel(listType, val string) string
- func ListLabelPrefix(listType string) string
- func ListLabelVPC(vpcName string) string
- type Gateway
- type GatewayBGPNeighbor
- type GatewayGroup
- type GatewayGroupList
- type GatewayGroupMembership
- type GatewayGroupSpec
- type GatewayGroupStatus
- type GatewayInterface
- type GatewayList
- type GatewayLogLevel
- type GatewayLogs
- type GatewayProfiling
- type GatewaySpec
- type GatewayStatus
- type Peering
- type PeeringEntry
- type PeeringEntryAs
- type PeeringEntryExpose
- type PeeringEntryIP
- type PeeringList
- type PeeringNAT
- type PeeringNATMasquerade
- type PeeringNATPortForward
- type PeeringNATPortForwardEntry
- type PeeringNATProtocol
- type PeeringNATStatic
- type PeeringSpec
- type PeeringStatus
- type VPCInfo
- type VPCInfoList
- type VPCInfoSpec
- type VPCInfoStatus
- type VPCInfoSubnet
Constants ¶
const ( DefaultMasqueradeIdleTimeout = 2 * time.Minute DefaultPortForwardIdleTimeout = 2 * time.Minute )
const (
DefaultGatewayGroup = "default"
)
const (
VPCInfoExtPrefix = "ext."
)
Variables ¶
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 )
var ( LabelPrefix = "gateway.githedgehog.com/" ListLabelValue = "true" )
var ErrInvalidGW = errors.New("invalid gateway")
var GatewayLogLevels = []GatewayLogLevel{ GatewayLogLevelOff, GatewayLogLevelError, GatewayLogLevelWarning, GatewayLogLevelInfo, GatewayLogLevelDebug, GatewayLogLevelTrace, }
var PeeringNATProtocols = []PeeringNATProtocol{ PeeringNATProtocolAny, PeeringNATProtocolTCP, PeeringNATProtocolUDP, }
Functions ¶
func ListLabelPrefix ¶ added in v0.7.0
func ListLabelVPC ¶ added in v0.7.0
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway.
func (*Gateway) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Gateway) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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()
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
func (in *GatewayGroupMembership) DeepCopy() *GatewayGroupMembership
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Peering.
func (*Peering) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Peering) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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
func (in *PeeringNATMasquerade) DeepCopy() *PeeringNATMasquerade
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
func (in *PeeringNATPortForward) DeepCopy() *PeeringNATPortForward
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
func (in *PeeringNATPortForwardEntry) DeepCopy() *PeeringNATPortForwardEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringNATPortForwardEntry.
func (*PeeringNATPortForwardEntry) DeepCopyInto ¶ added in v0.41.0
func (in *PeeringNATPortForwardEntry) DeepCopyInto(out *PeeringNATPortForwardEntry)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCInfo.
func (*VPCInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VPCInfo) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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.