Documentation
¶
Overview ¶
Package types provides Alibaba Cloud specific types
Index ¶
Constants ¶
const ( // ENITypePrimary is the type for ENI ENITypePrimary string = "Primary" // ENITypeSecondary is the type for ENI ENITypeSecondary string = "Secondary" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ENI ¶
type ENI struct {
// NetworkInterfaceID is the ENI id
//
// +optional
NetworkInterfaceID string `json:"network-interface-id,omitempty"`
// MACAddress is the mac address of the ENI
//
// +optional
MACAddress string `json:"mac-address,omitempty"`
// Type is the ENI type Primary or Secondary
//
// +optional
Type string `json:"type,omitempty"`
// InstanceID is the InstanceID using this ENI
//
// +optional
InstanceID string `json:"instance-id,omitempty"`
// SecurityGroupIDs is the security group ids used by this ENI
//
// +optional
SecurityGroupIDs []string `json:"security-groupids,omitempty"`
// VPC is the vpc to which the ENI belongs
//
// +optional
VPC VPC `json:"vpc,omitempty"`
// ZoneID is the zone to which the ENI belongs
//
// +optional
ZoneID string `json:"zone-id,omitempty"`
// VSwitch is the vSwitch the ENI is using
//
// +optional
VSwitch VSwitch `json:"vswitch,omitempty"`
// PrimaryIPAddress is the primary IP on ENI
//
// +optional
PrimaryIPAddress string `json:"primary-ip-address,omitempty"`
// PrivateIPSets is the list of all IPs on the ENI, including PrimaryIPAddress
//
// +optional
PrivateIPSets []PrivateIPSet `json:"private-ipsets,omitempty"`
// Tags is the tags on this ENI
//
// +optional
Tags map[string]string `json:"tags,omitempty"`
}
ENI represents an AlibabaCloud Elastic Network Interface
func (*ENI) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ENI.
func (*ENI) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ENI) DeepEqual ¶
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*ENI) ForeachAddress ¶
func (e *ENI) ForeachAddress(id string, fn types.AddressIterator) error
ForeachAddress iterates over all addresses and calls fn
func (*ENI) InterfaceID ¶
InterfaceID returns the identifier of the interface
type ENIStatus ¶
type ENIStatus struct {
// ENIs is the list of ENIs on the node
//
// +optional
ENIs map[string]ENI `json:"enis,omitempty"`
}
ENIStatus is the status of ENI addressing of the node
func (*ENIStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ENIStatus.
func (*ENIStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrivateIPSet ¶
type PrivateIPSet struct {
PrivateIpAddress string `json:"private-ip-address,omitempty"`
Primary bool `json:"primary,omitempty" `
}
PrivateIPSet is a nested struct in ecs response
func (*PrivateIPSet) DeepCopy ¶
func (in *PrivateIPSet) DeepCopy() *PrivateIPSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateIPSet.
func (*PrivateIPSet) DeepCopyInto ¶
func (in *PrivateIPSet) DeepCopyInto(out *PrivateIPSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PrivateIPSet) DeepEqual ¶
func (in *PrivateIPSet) DeepEqual(other *PrivateIPSet) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type Spec ¶
type Spec struct {
// InstanceType is the ECS instance type, e.g. "ecs.g6.2xlarge"
//
// +kubebuilder:validation:Optional
InstanceType string `json:"instance-type,omitempty"`
// AvailabilityZone is the availability zone to use when allocating
// ENIs.
//
// +kubebuilder:validation:Optional
AvailabilityZone string `json:"availability-zone,omitempty"`
// VPCID is the VPC ID to use when allocating ENIs.
//
// +kubebuilder:validation:Optional
VPCID string `json:"vpc-id,omitempty"`
// CIDRBlock is vpc ipv4 CIDR
//
// +kubebuilder:validation:Optional
CIDRBlock string `json:"cidr-block,omitempty"`
// VSwitches is the ID of vSwitch available for ENI
//
// +kubebuilder:validation:Optional
VSwitches []string `json:"vswitches,omitempty"`
// VSwitchTags is the list of tags to use when evaluating which
// vSwitch to use for the ENI.
//
// +kubebuilder:validation:Optional
VSwitchTags map[string]string `json:"vswitch-tags,omitempty"`
// SecurityGroups is the list of security groups to attach to any ENI
// that is created and attached to the instance.
//
// +kubebuilder:validation:Optional
SecurityGroups []string `json:"security-groups,omitempty"`
// SecurityGroupTags is the list of tags to use when evaluating which
// security groups to use for the ENI.
//
// +kubebuilder:validation:Optional
SecurityGroupTags map[string]string `json:"security-group-tags,omitempty"`
}
Spec is the ENI specification of a node. This specification is considered by the cilium-operator to act as an IPAM operator and makes ENI IPs available via the IPAMSpec section.
The ENI specification can either be provided explicitly by the user or the cilium-agent running on the node can be instructed to create the CiliumNode custom resource along with an ENI specification when the node registers itself to the Kubernetes cluster.
func (*Spec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Spec.
func (*Spec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPC ¶
type VPC struct {
// VPCID is the vpc to which the ENI belongs
//
// +optional
VPCID string `json:"vpc-id,omitempty"`
// CIDRBlock is the VPC IPv4 CIDR
//
// +optional
CIDRBlock string `json:"cidr,omitempty"`
// IPv6CIDRBlock is the VPC IPv6 CIDR
//
// +optional
IPv6CIDRBlock string `json:"ipv6-cidr,omitempty"`
}
func (*VPC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPC.
func (*VPC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSwitch ¶
type VSwitch struct {
// VSwitchID is the vSwitch to which the ENI belongs
//
// +optional
VSwitchID string `json:"vswitch-id,omitempty"`
// CIDRBlock is the vSwitch IPv4 CIDR
//
// +optional
CIDRBlock string `json:"cidr,omitempty"`
// IPv6CIDRBlock is the vSwitch IPv6 CIDR
//
// +optional
IPv6CIDRBlock string `json:"ipv6-cidr,omitempty"`
}
func (*VSwitch) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSwitch.
func (*VSwitch) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.