Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions machine/v1beta1/types_awsprovider.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,16 @@ type AWSMachineProviderConfig struct {
// it should use the default of its subnet.
// +optional
PublicIP *bool `json:"publicIp,omitempty"`
// NetworkInterfaceType specifies the type of network interface to be used for the primary
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we make use of secondary network interfaces? I don't mind only controlling this one, but I'd like to know.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We only support a single network interface within Machine API across all of the core cloud providers, I'm not sure why this was done as this was pre me joining RH

// network interface.
// Valid values are "ENA", "EFA", and omitted, which means no opinion and the platform
// chooses a good default which may change over time.
// The current default value is "ENA".
// Please visit https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html to learn more
// about the AWS Elastic Fabric Adapter interface option.
// +kubebuilder:validation:Enum:="ENA";"EFA"
// +optional
NetworkInterfaceType AWSNetworkInterfaceType `json:"networkInterfaceType,omitempty"`
// SecurityGroups is an array of references to security groups that should be applied to the
// instance.
// +optional
Expand Down Expand Up @@ -235,6 +245,19 @@ const (
NetworkLoadBalancerType AWSLoadBalancerType = "network" // AWS Network Load Balancer (NLB)
)

// AWSNetworkInterfaceType defines the network interface type of the the
// AWS EC2 network interface.
type AWSNetworkInterfaceType string

const (
// AWSENANetworkInterfaceType is the default network interface type,
// the EC2 Elastic Network Adapter commonly used with EC2 instances.
// This should be used for standard network operations.
AWSENANetworkInterfaceType AWSNetworkInterfaceType = "ENA"
// AWSEFANetworkInterfaceType is the Elastic Fabric Adapter network interface type.
AWSEFANetworkInterfaceType AWSNetworkInterfaceType = "EFA"
)

// AWSMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field.
// It contains AWS-specific status information.
// Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
Expand Down
33 changes: 17 additions & 16 deletions machine/v1beta1/zz_generated.swagger_doc_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.