subnet

package
v0.37.2 Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultProvider added in v0.36.0

type DefaultProvider struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewDefaultProvider added in v0.36.0

func NewDefaultProvider(ec2api ec2iface.EC2API, cache *cache.Cache, availableIPAddressCache *cache.Cache, associatePublicIPAddressCache *cache.Cache) *DefaultProvider

func (*DefaultProvider) AssociatePublicIPAddressValue added in v0.37.0

func (p *DefaultProvider) AssociatePublicIPAddressValue(nodeClass *v1beta1.EC2NodeClass) *bool

associatePublicIPAddressValue validates whether we know the association value for all subnets AND that all subnets don't have associatePublicIP set. If both of these are true, we set the value explicitly to false For more detail see: https://github.com/aws/karpenter-provider-aws/pull/3814

func (*DefaultProvider) List added in v0.36.0

func (p *DefaultProvider) List(ctx context.Context, nodeClass *v1beta1.EC2NodeClass) ([]*ec2.Subnet, error)

func (*DefaultProvider) LivenessProbe added in v0.36.0

func (p *DefaultProvider) LivenessProbe(_ *http.Request) error

func (*DefaultProvider) UpdateInflightIPs added in v0.36.0

func (p *DefaultProvider) UpdateInflightIPs(createFleetInput *ec2.CreateFleetInput, createFleetOutput *ec2.CreateFleetOutput, instanceTypes []*cloudprovider.InstanceType,
	subnets []*Subnet, capacityType string)

UpdateInflightIPs is used to refresh the in-memory IP usage by adding back unused IPs after a CreateFleet response is returned

func (*DefaultProvider) ZonalSubnetsForLaunch added in v0.36.0

func (p *DefaultProvider) ZonalSubnetsForLaunch(ctx context.Context, nodeClass *v1beta1.EC2NodeClass, instanceTypes []*cloudprovider.InstanceType, capacityType string) (map[string]*Subnet, error)

ZonalSubnetsForLaunch returns a mapping of zone to the subnet with the most available IP addresses and deducts the passed ips from the available count

type Provider

type Provider interface {
	LivenessProbe(*http.Request) error
	List(context.Context, *v1beta1.EC2NodeClass) ([]*ec2.Subnet, error)
	AssociatePublicIPAddressValue(*v1beta1.EC2NodeClass) *bool
	ZonalSubnetsForLaunch(context.Context, *v1beta1.EC2NodeClass, []*cloudprovider.InstanceType, string) (map[string]*Subnet, error)
	UpdateInflightIPs(*ec2.CreateFleetInput, *ec2.CreateFleetOutput, []*cloudprovider.InstanceType, []*Subnet, string)
}

type Subnet added in v0.37.0

type Subnet struct {
	ID                      string
	Zone                    string
	ZoneID                  string
	AvailableIPAddressCount int64
}

Jump to

Keyboard shortcuts

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