v1alpha2

package
v1.7.1 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2022 License: Apache-2.0 Imports: 7 Imported by: 5

Documentation

Index

Constants

View Source
const (
	IPv4 = IPVersion(4)
	IPv6 = IPVersion(6)
)
View Source
const GroupName = "crd.antrea.io"

GroupName is the group name used in this package.

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha2"}

SchemeGroupVersion is group version used to register these objects.

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func RegisterWebhook

func RegisterWebhook(in runtime.Object, webhook WebhookImpl) error

RegisterWebhook registers webhook implementation of a resource.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource.

Types

type AppliedTo

type AppliedTo struct {
	// Select Pods matched by this selector. If set with NamespaceSelector,
	// Pods are matched from Namespaces matched by the NamespaceSelector;
	// otherwise, Pods are matched from all Namespaces.
	// +optional
	PodSelector *metav1.LabelSelector `json:"podSelector,omitempty"`
	// Select all Pods from Namespaces matched by this selector. If set with
	// PodSelector, Pods are matched from Namespaces matched by the
	// NamespaceSelector.
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
	// Groups is the set of ClusterGroup names.
	// +optional
	Groups []string `json:"groups,omitempty"`
}

AppliedTo selects the entities to which a policy is applied.

func (*AppliedTo) DeepCopy

func (in *AppliedTo) DeepCopy() *AppliedTo

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

func (*AppliedTo) DeepCopyInto

func (in *AppliedTo) DeepCopyInto(out *AppliedTo)

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

type ClusterGroup

type ClusterGroup struct {
	metav1.TypeMeta `json:",inline"`
	// Standard metadata of the object.
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Desired state of the group.
	Spec GroupSpec `json:"spec"`
	// Most recently observed status of the group.
	Status GroupStatus `json:"status"`
}

func (*ClusterGroup) DeepCopy

func (in *ClusterGroup) DeepCopy() *ClusterGroup

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

func (*ClusterGroup) DeepCopyInto

func (in *ClusterGroup) DeepCopyInto(out *ClusterGroup)

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

func (*ClusterGroup) DeepCopyObject

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

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

type ClusterGroupList

type ClusterGroupList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []ClusterGroup `json:"items,omitempty"`
}

func (*ClusterGroupList) DeepCopy

func (in *ClusterGroupList) DeepCopy() *ClusterGroupList

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

func (*ClusterGroupList) DeepCopyInto

func (in *ClusterGroupList) DeepCopyInto(out *ClusterGroupList)

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

func (*ClusterGroupList) DeepCopyObject

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

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

type ClusterGroupReference

type ClusterGroupReference string

ClusterGroupReference represent reference to a ClusterGroup.

type Direction added in v1.7.0

type Direction string
const (
	DirectionIngress Direction = "Ingress"
	DirectionEgress  Direction = "Egress"
	DirectionBoth    Direction = "Both"
)

type ERSPANTunnel added in v1.7.0

type ERSPANTunnel struct {
	// The remote IP of the tunnel.
	RemoteIP string `json:"remoteIP"`
	// ERSPAN session ID.
	SessionID *int32 `json:"sessionID,omitempty"`
	// ERSPAN version.
	Version int32 `json:"version"`
	// ERSPAN Index.
	Index *int32 `json:"index,omitempty"`
	// ERSPAN v2 mirrored traffic’s direction.
	Dir *int32 `json:"dir,omitempty"`
	// ERSPAN hardware ID.
	HardwareID *int32 `json:"hardwareID,omitempty"`
}

ERSPANTunnel represents an ERSPAN tunnel. Antrea will create a port on the OVS bridge for the tunnel.

func (*ERSPANTunnel) DeepCopy added in v1.7.0

func (in *ERSPANTunnel) DeepCopy() *ERSPANTunnel

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

func (*ERSPANTunnel) DeepCopyInto added in v1.7.0

func (in *ERSPANTunnel) DeepCopyInto(out *ERSPANTunnel)

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

type Egress

type Egress struct {
	metav1.TypeMeta `json:",inline"`
	// Standard metadata of the object.
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of Egress.
	Spec EgressSpec `json:"spec"`

	// EgressStatus represents the current status of an Egress.
	Status EgressStatus `json:"status"`
}

Egress defines which egress (SNAT) IP the traffic from the selected Pods to the external network should use.

func (*Egress) DeepCopy

func (in *Egress) DeepCopy() *Egress

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

func (*Egress) DeepCopyInto

func (in *Egress) DeepCopyInto(out *Egress)

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

func (*Egress) DeepCopyObject

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

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

type EgressList

type EgressList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []Egress `json:"items"`
}

func (*EgressList) DeepCopy

func (in *EgressList) DeepCopy() *EgressList

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

func (*EgressList) DeepCopyInto

func (in *EgressList) DeepCopyInto(out *EgressList)

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

func (*EgressList) DeepCopyObject

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

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

type EgressSpec

type EgressSpec struct {
	// AppliedTo selects Pods to which the Egress will be applied.
	AppliedTo AppliedTo `json:"appliedTo"`
	// EgressIP specifies the SNAT IP address for the selected workloads.
	// If ExternalIPPool is empty, it must be specified manually.
	// If ExternalIPPool is non-empty, it can be empty and will be assigned by Antrea automatically.
	// If both ExternalIPPool and EgressIP are non-empty, the IP must be in the pool.
	EgressIP string `json:"egressIP,omitempty"`
	// ExternalIPPool specifies the IP Pool that the EgressIP should be allocated from.
	// If it is empty, the specified EgressIP must be assigned to a Node manually.
	// If it is non-empty, the EgressIP will be assigned to a Node specified by the pool automatically and will failover
	// to a different Node when the Node becomes unreachable.
	ExternalIPPool string `json:"externalIPPool"`
}

EgressSpec defines the desired state for Egress.

func (*EgressSpec) DeepCopy

func (in *EgressSpec) DeepCopy() *EgressSpec

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

func (*EgressSpec) DeepCopyInto

func (in *EgressSpec) DeepCopyInto(out *EgressSpec)

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

type EgressStatus added in v1.2.0

type EgressStatus struct {
	// The name of the Node that holds the Egress IP.
	EgressNode string `json:"egressNode"`
}

EgressStatus represents the current status of an Egress.

func (*EgressStatus) DeepCopy added in v1.2.0

func (in *EgressStatus) DeepCopy() *EgressStatus

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

func (*EgressStatus) DeepCopyInto added in v1.2.0

func (in *EgressStatus) DeepCopyInto(out *EgressStatus)

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

type Endpoint

type Endpoint struct {
	// IP associated with this endpoint.
	IP string `json:"ip,omitempty"`
	// Name identifies this endpoint. Could be the network interface name in case of VMs.
	// +optional
	Name string `json:"name,omitempty"`
}

Endpoint refers to an endpoint associated with the ExternalEntity.

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

type ExternalEntity

type ExternalEntity struct {
	metav1.TypeMeta `json:",inline"`
	// Standard metadata of the object.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Desired state of the external entity.
	Spec ExternalEntitySpec `json:"spec,omitempty"`
}

func (*ExternalEntity) DeepCopy

func (in *ExternalEntity) DeepCopy() *ExternalEntity

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

func (*ExternalEntity) DeepCopyInto

func (in *ExternalEntity) DeepCopyInto(out *ExternalEntity)

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

func (*ExternalEntity) DeepCopyObject

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

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

func (*ExternalEntity) Default

func (in *ExternalEntity) Default()

Default implements webhook Defaulter.

func (*ExternalEntity) ValidateCreate

func (in *ExternalEntity) ValidateCreate() error

ValidateCreate implements webhook Validator.

func (*ExternalEntity) ValidateDelete

func (in *ExternalEntity) ValidateDelete() error

ValidateDelete implements webhook Validator.

func (*ExternalEntity) ValidateUpdate

func (in *ExternalEntity) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook Validator.

type ExternalEntityList

type ExternalEntityList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []ExternalEntity `json:"items,omitempty"`
}

func (*ExternalEntityList) DeepCopy

func (in *ExternalEntityList) DeepCopy() *ExternalEntityList

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

func (*ExternalEntityList) DeepCopyInto

func (in *ExternalEntityList) DeepCopyInto(out *ExternalEntityList)

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

func (*ExternalEntityList) DeepCopyObject

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

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

type ExternalEntitySpec

type ExternalEntitySpec struct {
	// Endpoints is a list of external endpoints associated with this entity.
	Endpoints []Endpoint `json:"endpoints,omitempty"`
	// Ports maintain the list of named ports.
	Ports []NamedPort `json:"ports,omitempty"`
	// ExternalNode is the opaque identifier of the agent/controller responsible
	// for additional processing or handling of this external entity.
	ExternalNode string `json:"externalNode,omitempty"`
}

ExternalEntitySpec defines the desired state for ExternalEntity.

func (*ExternalEntitySpec) DeepCopy

func (in *ExternalEntitySpec) DeepCopy() *ExternalEntitySpec

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

func (*ExternalEntitySpec) DeepCopyInto

func (in *ExternalEntitySpec) DeepCopyInto(out *ExternalEntitySpec)

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

type ExternalIPPool added in v1.2.0

type ExternalIPPool struct {
	metav1.TypeMeta `json:",inline"`
	// Standard metadata of the object.
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the ExternalIPPool.
	Spec ExternalIPPoolSpec `json:"spec"`

	// The current status of the ExternalIPPool.
	Status ExternalIPPoolStatus `json:"status"`
}

ExternalIPPool defines one or multiple IP sets that can be used in the external network. For instance, the IPs can be allocated to the Egress resources as the Egress IPs.

func (*ExternalIPPool) DeepCopy added in v1.2.0

func (in *ExternalIPPool) DeepCopy() *ExternalIPPool

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

func (*ExternalIPPool) DeepCopyInto added in v1.2.0

func (in *ExternalIPPool) DeepCopyInto(out *ExternalIPPool)

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

func (*ExternalIPPool) DeepCopyObject added in v1.2.0

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

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

type ExternalIPPoolList added in v1.2.0

type ExternalIPPoolList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []ExternalIPPool `json:"items"`
}

func (*ExternalIPPoolList) DeepCopy added in v1.2.0

func (in *ExternalIPPoolList) DeepCopy() *ExternalIPPoolList

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

func (*ExternalIPPoolList) DeepCopyInto added in v1.2.0

func (in *ExternalIPPoolList) DeepCopyInto(out *ExternalIPPoolList)

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

func (*ExternalIPPoolList) DeepCopyObject added in v1.2.0

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

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

type ExternalIPPoolSpec added in v1.2.0

type ExternalIPPoolSpec struct {
	// The IP ranges of this IP pool, e.g. 10.10.0.0/24, 10.10.10.2-10.10.10.20, 10.10.10.30-10.10.10.30.
	IPRanges []IPRange `json:"ipRanges"`
	// The Nodes that the external IPs can be assigned to. If empty, it means all Nodes.
	NodeSelector metav1.LabelSelector `json:"nodeSelector"`
}

func (*ExternalIPPoolSpec) DeepCopy added in v1.2.0

func (in *ExternalIPPoolSpec) DeepCopy() *ExternalIPPoolSpec

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

func (*ExternalIPPoolSpec) DeepCopyInto added in v1.2.0

func (in *ExternalIPPoolSpec) DeepCopyInto(out *ExternalIPPoolSpec)

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

type ExternalIPPoolStatus added in v1.3.0

type ExternalIPPoolStatus struct {
	Usage ExternalIPPoolUsage `json:"usage,omitempty"`
}

func (*ExternalIPPoolStatus) DeepCopy added in v1.3.0

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

func (*ExternalIPPoolStatus) DeepCopyInto added in v1.3.0

func (in *ExternalIPPoolStatus) DeepCopyInto(out *ExternalIPPoolStatus)

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

type ExternalIPPoolUsage added in v1.3.0

type ExternalIPPoolUsage struct {
	// Total number of IPs.
	Total int `json:"total"`
	// Number of allocated IPs.
	Used int `json:"used"`
}

func (*ExternalIPPoolUsage) DeepCopy added in v1.3.0

func (in *ExternalIPPoolUsage) DeepCopy() *ExternalIPPoolUsage

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

func (*ExternalIPPoolUsage) DeepCopyInto added in v1.3.0

func (in *ExternalIPPoolUsage) DeepCopyInto(out *ExternalIPPoolUsage)

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

type GRETunnel added in v1.7.0

type GRETunnel struct {
	// The remote IP of the tunnel.
	RemoteIP string `json:"remoteIP"`
	// GRE key.
	Key *int32 `json:"key,omitempty"`
}

GRETunnel represents a GRE tunnel. Antrea will create a port on the OVS bridge for the tunnel.

func (*GRETunnel) DeepCopy added in v1.7.0

func (in *GRETunnel) DeepCopy() *GRETunnel

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

func (*GRETunnel) DeepCopyInto added in v1.7.0

func (in *GRETunnel) DeepCopyInto(out *GRETunnel)

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

type GroupCondition

type GroupCondition struct {
	Type               GroupConditionType `json:"type"`
	Status             v1.ConditionStatus `json:"status"`
	LastTransitionTime metav1.Time        `json:"lastTransitionTime,omitempty"`
}

func (*GroupCondition) DeepCopy

func (in *GroupCondition) DeepCopy() *GroupCondition

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

func (*GroupCondition) DeepCopyInto

func (in *GroupCondition) DeepCopyInto(out *GroupCondition)

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

type GroupConditionType

type GroupConditionType string
const GroupMembersComputed GroupConditionType = "GroupMembersComputed"

type GroupSpec

type GroupSpec struct {
	// Select Pods matching the labels set in the PodSelector in
	// AppliedTo/To/From fields. If set with NamespaceSelector, Pods are
	// matched from Namespaces matched by the NamespaceSelector.
	// Cannot be set with any other selector except NamespaceSelector.
	// +optional
	PodSelector *metav1.LabelSelector `json:"podSelector,omitempty"`
	// Select all Pods from Namespaces matched by this selector, as
	// workloads in AppliedTo/To/From fields. If set with PodSelector,
	// Pods are matched from Namespaces matched by the NamespaceSelector.
	// Cannot be set with any other selector except PodSelector.
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
	// IPBlock describes the IPAddresses/IPBlocks that is matched in to/from.
	// IPBlock cannot be set as part of the AppliedTo field.
	// Cannot be set with any other selector or ServiceReference.
	// Cannot be set with IPBlocks.
	// +optional
	IPBlock *v1alpha1.IPBlock `json:"ipBlock,omitempty"`
	// IPBlocks is a list of IPAddresses/IPBlocks that is matched in to/from.
	// IPBlock cannot be set as part of the AppliedTo field.
	// Cannot be set with any other selector or ServiceReference.
	// Cannot be set with IPBlock.
	// +optional
	IPBlocks []v1alpha1.IPBlock `json:"ipBlocks,omitempty"`
	// Select backend Pods of the referred Service.
	// Cannot be set with any other selector or ipBlock.
	// +optional
	ServiceReference *v1alpha1.NamespacedName `json:"serviceReference,omitempty"`
	// Select ExternalEntities from all Namespaces as workloads
	// in AppliedTo/To/From fields. If set with NamespaceSelector,
	// ExternalEntities are matched from Namespaces matched by the
	// NamespaceSelector.
	// Cannot be set with any other selector except NamespaceSelector.
	// +optional
	ExternalEntitySelector *metav1.LabelSelector `json:"externalEntitySelector,omitempty"`
	// Select other ClusterGroups by name. The ClusterGroups must already
	// exist and must not contain ChildGroups themselves.
	// Cannot be set with any selector/IPBlock/ServiceReference.
	// +optional
	ChildGroups []ClusterGroupReference `json:"childGroups,omitempty"`
}

func (*GroupSpec) DeepCopy

func (in *GroupSpec) DeepCopy() *GroupSpec

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

func (*GroupSpec) DeepCopyInto

func (in *GroupSpec) DeepCopyInto(out *GroupSpec)

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

type GroupStatus

type GroupStatus struct {
	Conditions []GroupCondition `json:"conditions,omitempty"`
}

GroupStatus represents information about the status of a Group.

func (*GroupStatus) DeepCopy

func (in *GroupStatus) DeepCopy() *GroupStatus

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

func (*GroupStatus) DeepCopyInto

func (in *GroupStatus) DeepCopyInto(out *GroupStatus)

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

type IPAddressOwner added in v1.4.0

type IPAddressOwner struct {
	Pod         *PodOwner         `json:"pod,omitempty"`
	StatefulSet *StatefulSetOwner `json:"statefulSet,omitempty"`
}

func (*IPAddressOwner) DeepCopy added in v1.4.0

func (in *IPAddressOwner) DeepCopy() *IPAddressOwner

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

func (*IPAddressOwner) DeepCopyInto added in v1.4.0

func (in *IPAddressOwner) DeepCopyInto(out *IPAddressOwner)

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

type IPAddressPhase added in v1.4.0

type IPAddressPhase string
const (
	IPAddressPhaseAllocated    IPAddressPhase = "Allocated"
	IPAddressPhasePreallocated IPAddressPhase = "Preallocated"
	IPAddressPhaseReserved     IPAddressPhase = "Reserved"
)

type IPAddressState added in v1.4.0

type IPAddressState struct {
	// IP Address this entry is tracking
	IPAddress string `json:"ipAddress"`
	// Allocation state - either Allocated or Preallocated
	Phase IPAddressPhase `json:"phase"`
	// Owner this IP Address is allocated to
	Owner IPAddressOwner `json:"owner"`
}

func (*IPAddressState) DeepCopy added in v1.4.0

func (in *IPAddressState) DeepCopy() *IPAddressState

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

func (*IPAddressState) DeepCopyInto added in v1.4.0

func (in *IPAddressState) DeepCopyInto(out *IPAddressState)

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

type IPPool added in v1.4.0

type IPPool struct {
	metav1.TypeMeta `json:",inline"`
	// Standard metadata of the object.
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the IPPool.
	Spec IPPoolSpec `json:"spec"`

	// Most recently observed status of the pool.
	Status IPPoolStatus `json:"status"`
}

IPPool defines one or multiple IP sets that can be used for flexible IPAM feature. For instance, the IPs can be allocated to Pods according to IP pool specified in Deployment annotation.

func (*IPPool) DeepCopy added in v1.4.0

func (in *IPPool) DeepCopy() *IPPool

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

func (*IPPool) DeepCopyInto added in v1.4.0

func (in *IPPool) DeepCopyInto(out *IPPool)

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

func (*IPPool) DeepCopyObject added in v1.4.0

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

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

type IPPoolList added in v1.4.0

type IPPoolList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []IPPool `json:"items"`
}

func (*IPPoolList) DeepCopy added in v1.4.0

func (in *IPPoolList) DeepCopy() *IPPoolList

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

func (*IPPoolList) DeepCopyInto added in v1.4.0

func (in *IPPoolList) DeepCopyInto(out *IPPoolList)

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

func (*IPPoolList) DeepCopyObject added in v1.4.0

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

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

type IPPoolSpec added in v1.4.0

type IPPoolSpec struct {
	// IP Version for this IP pool - either 4 or 6
	IPVersion IPVersion `json:"ipVersion"`
	// List IP ranges, along with subnet definition.
	IPRanges []SubnetIPRange `json:"ipRanges"`
}

func (*IPPoolSpec) DeepCopy added in v1.4.0

func (in *IPPoolSpec) DeepCopy() *IPPoolSpec

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

func (*IPPoolSpec) DeepCopyInto added in v1.4.0

func (in *IPPoolSpec) DeepCopyInto(out *IPPoolSpec)

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

type IPPoolStatus added in v1.4.0

type IPPoolStatus struct {
	IPAddresses []IPAddressState `json:"ipAddresses,omitempty"`
}

func (*IPPoolStatus) DeepCopy added in v1.4.0

func (in *IPPoolStatus) DeepCopy() *IPPoolStatus

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

func (*IPPoolStatus) DeepCopyInto added in v1.4.0

func (in *IPPoolStatus) DeepCopyInto(out *IPPoolStatus)

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

type IPRange added in v1.2.0

type IPRange struct {
	// The CIDR of this range, e.g. 10.10.10.0/24.
	CIDR string `json:"cidr,omitempty"`
	// The start IP of the range, e.g. 10.10.20.5, inclusive.
	Start string `json:"start,omitempty"`
	// The end IP of the range, e.g. 10.10.20.20, inclusive.
	End string `json:"end,omitempty"`
}

IPRange is a set of contiguous IP addresses, represented by a CIDR or a pair of start and end IPs.

func (*IPRange) DeepCopy added in v1.2.0

func (in *IPRange) DeepCopy() *IPRange

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

func (*IPRange) DeepCopyInto added in v1.2.0

func (in *IPRange) DeepCopyInto(out *IPRange)

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

type IPVersion added in v1.7.0

type IPVersion int

type NamedPort

type NamedPort struct {
	// The protocol (TCP, UDP, or SCTP) which traffic must match.
	// If not specified, this field defaults to TCP.
	// +optional
	Protocol v1.Protocol `json:"protocol,omitempty"`
	// The port on the given protocol.
	// +optional
	Port int32 `json:"port,omitempty"`
	// Name associated with the Port.
	// +optional
	Name string `json:"name,omitempty"`
}

NamedPort describes the port and protocol to match in a rule.

func (*NamedPort) DeepCopy

func (in *NamedPort) DeepCopy() *NamedPort

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

func (*NamedPort) DeepCopyInto

func (in *NamedPort) DeepCopyInto(out *NamedPort)

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

type NetworkDevice added in v1.7.0

type NetworkDevice struct {
	// The name of the network device.
	Name string `json:"name"`
}

NetworkDevice represents a network device. It must exist on all Nodes. Antrea will attach it to the OVS bridge if it is not attached.

func (*NetworkDevice) DeepCopy added in v1.7.0

func (in *NetworkDevice) DeepCopy() *NetworkDevice

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

func (*NetworkDevice) DeepCopyInto added in v1.7.0

func (in *NetworkDevice) DeepCopyInto(out *NetworkDevice)

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

type OVSInternalPort added in v1.7.0

type OVSInternalPort struct {
	// The name of the OVS internal port.
	Name string `json:"name"`
}

OVSInternalPort represents an OVS internal port. Antrea will create the port if it doesn't exist.

func (*OVSInternalPort) DeepCopy added in v1.7.0

func (in *OVSInternalPort) DeepCopy() *OVSInternalPort

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

func (*OVSInternalPort) DeepCopyInto added in v1.7.0

func (in *OVSInternalPort) DeepCopyInto(out *OVSInternalPort)

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

type PodOwner added in v1.4.0

type PodOwner struct {
	Name        string `json:"name"`
	Namespace   string `json:"namespace"`
	ContainerID string `json:"containerID"`
	// Network interface name. Used when the IP is allocated for a secondary network interface
	// of the Pod.
	IFName string `json:"ifName,omitempty"`
}

Pod owner

func (*PodOwner) DeepCopy added in v1.4.0

func (in *PodOwner) DeepCopy() *PodOwner

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

func (*PodOwner) DeepCopyInto added in v1.4.0

func (in *PodOwner) DeepCopyInto(out *PodOwner)

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

type StatefulSetOwner added in v1.5.0

type StatefulSetOwner struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
	Index     int    `json:"index"`
}

StatefulSet owner

func (*StatefulSetOwner) DeepCopy added in v1.5.0

func (in *StatefulSetOwner) DeepCopy() *StatefulSetOwner

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

func (*StatefulSetOwner) DeepCopyInto added in v1.5.0

func (in *StatefulSetOwner) DeepCopyInto(out *StatefulSetOwner)

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

type SubnetIPRange added in v1.4.0

type SubnetIPRange struct {
	IPRange    `json:",inline"`
	SubnetInfo `json:",inline"`
}

SubnetIPRange is a set of contiguous IP addresses, represented by a CIDR or a pair of start and end IPs, along with subnet definition.

func (*SubnetIPRange) DeepCopy added in v1.4.0

func (in *SubnetIPRange) DeepCopy() *SubnetIPRange

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

func (*SubnetIPRange) DeepCopyInto added in v1.4.0

func (in *SubnetIPRange) DeepCopyInto(out *SubnetIPRange)

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

type SubnetInfo added in v1.4.0

type SubnetInfo struct {
	// Gateway IP for this subnet, eg. 10.10.1.1
	Gateway string `json:"gateway"`
	// Prefix length for the subnet, eg. 24
	PrefixLength int32 `json:"prefixLength"`
	// VLAN ID for this subnet. Default is 0. Valid value is 0~4094.
	VLAN uint16 `json:"vlan,omitempty"`
}

SubnetInfo specifies subnet attributes for IP Range

func (*SubnetInfo) DeepCopy added in v1.4.0

func (in *SubnetInfo) DeepCopy() *SubnetInfo

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

func (*SubnetInfo) DeepCopyInto added in v1.4.0

func (in *SubnetInfo) DeepCopyInto(out *SubnetInfo)

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

type TrafficControl added in v1.7.0

type TrafficControl struct {
	metav1.TypeMeta `json:",inline"`
	// Standard metadata of the object.
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of TrafficControl.
	Spec TrafficControlSpec `json:"spec"`
}

TrafficControl allows mirroring or redirecting the traffic Pods send or receive. It enables users to monitor and analyze Pod traffic, and to enforce custom network protections for Pods with fine-grained control over network traffic.

func (*TrafficControl) DeepCopy added in v1.7.0

func (in *TrafficControl) DeepCopy() *TrafficControl

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

func (*TrafficControl) DeepCopyInto added in v1.7.0

func (in *TrafficControl) DeepCopyInto(out *TrafficControl)

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

func (*TrafficControl) DeepCopyObject added in v1.7.0

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

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

type TrafficControlAction added in v1.7.0

type TrafficControlAction string
const (
	ActionRedirect TrafficControlAction = "Redirect"
	ActionMirror   TrafficControlAction = "Mirror"
)

type TrafficControlList added in v1.7.0

type TrafficControlList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []TrafficControl `json:"items"`
}

func (*TrafficControlList) DeepCopy added in v1.7.0

func (in *TrafficControlList) DeepCopy() *TrafficControlList

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

func (*TrafficControlList) DeepCopyInto added in v1.7.0

func (in *TrafficControlList) DeepCopyInto(out *TrafficControlList)

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

func (*TrafficControlList) DeepCopyObject added in v1.7.0

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

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

type TrafficControlPort added in v1.7.0

type TrafficControlPort struct {
	// OVSInternal represents an OVS internal port.
	OVSInternal *OVSInternalPort `json:"ovsInternal,omitempty"`
	// Device represents a network device.
	Device *NetworkDevice `json:"device,omitempty"`
	// GENEVE represents a GENEVE tunnel.
	GENEVE *UDPTunnel `json:"geneve,omitempty"`
	// VXLAN represents a VXLAN tunnel.
	VXLAN *UDPTunnel `json:"vxlan,omitempty"`
	// GRE represents a GRE tunnel.
	GRE *GRETunnel `json:"gre,omitempty"`
	// ERSPAN represents a ERSPAN tunnel.
	ERSPAN *ERSPANTunnel `json:"erspan,omitempty"`
}

TrafficControlPort represents a port that can be used as the target of traffic mirroring or redirecting, and the return port of traffic redirecting.

func (*TrafficControlPort) DeepCopy added in v1.7.0

func (in *TrafficControlPort) DeepCopy() *TrafficControlPort

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

func (*TrafficControlPort) DeepCopyInto added in v1.7.0

func (in *TrafficControlPort) DeepCopyInto(out *TrafficControlPort)

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

type TrafficControlSpec added in v1.7.0

type TrafficControlSpec struct {
	// AppliedTo selects Pods to which the traffic control configuration will be applied.
	AppliedTo AppliedTo `json:"appliedTo"`

	// The direction of traffic that should be matched. It can be Ingress, Egress, or Both.
	Direction Direction `json:"direction"`

	// The action that should be taken for the traffic. It can be Redirect or Mirror.
	Action TrafficControlAction `json:"action"`

	// The port to which the traffic should be redirected or mirrored.
	TargetPort TrafficControlPort `json:"targetPort"`

	// The port from which the traffic will be sent back to OVS. It should only be set for Redirect action.
	ReturnPort *TrafficControlPort `json:"returnPort,omitempty"`
}

func (*TrafficControlSpec) DeepCopy added in v1.7.0

func (in *TrafficControlSpec) DeepCopy() *TrafficControlSpec

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

func (*TrafficControlSpec) DeepCopyInto added in v1.7.0

func (in *TrafficControlSpec) DeepCopyInto(out *TrafficControlSpec)

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

type UDPTunnel added in v1.7.0

type UDPTunnel struct {
	// The remote IP of the tunnel.
	RemoteIP string `json:"remoteIP"`
	// The ID of the tunnel.
	VNI *int32 `json:"vni,omitempty"`
	// The transport layer destination port of the tunnel. If not specified, the assigned IANA port will be used, i.e.,
	// 4789 for VXLAN, 6081 for GENEVE.
	DestinationPort *int32 `json:"destinationPort,omitempty"`
}

UDPTunnel represents a UDP based tunnel. Antrea will create a port on the OVS bridge for the tunnel.

func (*UDPTunnel) DeepCopy added in v1.7.0

func (in *UDPTunnel) DeepCopy() *UDPTunnel

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

func (*UDPTunnel) DeepCopyInto added in v1.7.0

func (in *UDPTunnel) DeepCopyInto(out *UDPTunnel)

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

type WebhookImpl

type WebhookImpl interface {
	Default(in *ExternalEntity)
	ValidateCreate(in *ExternalEntity) error
	ValidateUpdate(in *ExternalEntity, old runtime.Object) error
	ValidateDelete(in *ExternalEntity) error
}

WebhookImpl implements webhook validator of a resource.

Jump to

Keyboard shortcuts

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