Documentation ¶
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func RegisterWebhook(in runtime.Object, webhook WebhookImpl) error
- func Resource(resource string) schema.GroupResource
- type AppliedTo
- type ClusterGroup
- type ClusterGroupList
- type ClusterGroupReference
- type Direction
- type ERSPANTunnel
- type Egress
- type EgressList
- type EgressSpec
- type EgressStatus
- type Endpoint
- type ExternalEntity
- func (in *ExternalEntity) DeepCopy() *ExternalEntity
- func (in *ExternalEntity) DeepCopyInto(out *ExternalEntity)
- func (in *ExternalEntity) DeepCopyObject() runtime.Object
- func (in *ExternalEntity) Default()
- func (in *ExternalEntity) ValidateCreate() error
- func (in *ExternalEntity) ValidateDelete() error
- func (in *ExternalEntity) ValidateUpdate(old runtime.Object) error
- type ExternalEntityList
- type ExternalEntitySpec
- type ExternalIPPool
- type ExternalIPPoolList
- type ExternalIPPoolSpec
- type ExternalIPPoolStatus
- type GRETunnel
- type GroupCondition
- type GroupConditionType
- type GroupSpec
- type GroupStatus
- type IPAddressOwner
- type IPAddressPhase
- type IPAddressState
- type IPPool
- type IPPoolList
- type IPPoolSpec
- type IPPoolStatus
- type IPPoolUsage
- type IPRange
- type IPVersion
- type NamedPort
- type NetworkDevice
- type OVSInternalPort
- type PodOwner
- type StatefulSetOwner
- type SubnetIPRange
- type SubnetInfo
- type TrafficControl
- type TrafficControlAction
- type TrafficControlList
- type TrafficControlPort
- type TrafficControlSpec
- type UDPTunnel
- type WebhookImpl
Constants ¶
const ( IPv4 = IPVersion(4) IPv6 = IPVersion(6) )
const GroupName = "crd.antrea.io"
GroupName is the group name used in this package.
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha2"}
SchemeGroupVersion is group version used to register these objects.
Functions ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppliedTo.
func (*AppliedTo) DeepCopyInto ¶
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Egress.
func (*Egress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Egress) DeepCopyObject ¶
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"` // EgressIPs specifies multiple SNAT IP addresses for the selected workloads. // Cannot be set with EgressIP. EgressIPs []string `json:"egressIPs,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,omitempty"` // ExternalIPPools specifies multiple unique IP Pools that the EgressIPs should be allocated from. Entries with the // same index in EgressIPs and ExternalIPPools are correlated. // Cannot be set with ExternalIPPool. ExternalIPPools []string `json:"externalIPPools,omitempty"` }
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"` // EgressIP indicates the effective Egress IP for the selected workloads. It could be empty if the Egress IP in spec // is not assigned to any Node. It's also useful when there are more than one Egress IP specified in spec. EgressIP string `json:"egressIP"` }
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
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 IPPoolUsage `json:"usage,omitempty"`
}
func (*ExternalIPPoolStatus) DeepCopy ¶ added in v1.3.0
func (in *ExternalIPPoolStatus) DeepCopy() *ExternalIPPoolStatus
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 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRETunnel.
func (*GRETunnel) DeepCopyInto ¶ added in v1.7.0
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpec.
func (*GroupSpec) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPool.
func (*IPPool) DeepCopyInto ¶ added in v1.4.0
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
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"` Usage IPPoolUsage `json:"usage,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 IPPoolUsage ¶ added in v1.8.0
type IPPoolUsage struct { // Total number of IPs. Total int `json:"total"` // Number of allocated IPs. Used int `json:"used"` }
func (*IPPoolUsage) DeepCopy ¶ added in v1.8.0
func (in *IPPoolUsage) DeepCopy() *IPPoolUsage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPoolUsage.
func (*IPPoolUsage) DeepCopyInto ¶ added in v1.8.0
func (in *IPPoolUsage) DeepCopyInto(out *IPPoolUsage)
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPRange.
func (*IPRange) DeepCopyInto ¶ added in v1.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedPort.
func (*NamedPort) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodOwner.
func (*PodOwner) DeepCopyInto ¶ added in v1.4.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPTunnel.
func (*UDPTunnel) DeepCopyInto ¶ added in v1.7.0
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.