ec2wrapper

package
v0.0.0-...-c3677c5 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2023 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const (
	InvalidNetworkInterfaceIDNotFound = "InvalidNetworkInterfaceID.NotFound"
	InvalidAssociationIDNotFound      = "InvalidAssociationID.NotFound"
	InvalidGroupNotFound              = "InvalidGroup.NotFound"
	InvalidGroupIDMalformed           = "InvalidGroupId.Malformed"
	InvalidSubnetIDNotFound           = "InvalidSubnetID.NotFound"
	InvalidInstanceIDNotFound         = "InvalidInstanceID.NotFound"
	ClientRequestLimitExceeded        = "Client.RequestLimitExceeded"
)

Variables

This section is empty.

Functions

func GetInterfaceByIdxWithRetries

func GetInterfaceByIdxWithRetries(ctx context.Context, session *EC2Session, instance *ec2.Instance, deviceIdx uint32) (*ec2.InstanceNetworkInterface, error)

func HandleEC2Error

func HandleEC2Error(err error, span *trace.Span) error

Sets the span to the status of the EC2 errors, and returns a wrapped error

func IsAWSErr

func IsAWSErr(err error) bool

func IsErrInterfaceByIdxNotFound

func IsErrInterfaceByIdxNotFound(err error) bool

func IsRequestFailure

func IsRequestFailure(err error) bool

func RegionFromAZ

func RegionFromAZ(az string) string

Deprecated

func RetrieveEC2Error

func RetrieveEC2Error(err error) awserr.Error

func RetrieveRequestFailure

func RetrieveRequestFailure(err error) awserr.RequestFailure

func WrapEC2Error

func WrapEC2Error(err error) error

Returns an error, with aspects from the vpcerrors library

Types

type BatchDescriber

type BatchDescriber struct {
	// contains filtered or unexported fields
}

type BatchENIDescriber

type BatchENIDescriber struct {
	BatchDescriber
}

func NewBatchENIDescriber

func NewBatchENIDescriber(
	ctx context.Context,
	maxDeadline time.Duration,
	maxItems int,
	session *session.Session,
	newEC2 func(p client.ConfigProvider, cfgs ...*aws.Config) ec2iface.EC2API) *BatchENIDescriber

TODO: This currently leaks goroutines.

func (*BatchENIDescriber) DescribeNetworkInterfaces

func (b *BatchENIDescriber) DescribeNetworkInterfaces(ctx context.Context, networkInterfaceID string) (*ec2.NetworkInterface, error)

func (*BatchENIDescriber) DescribeNetworkInterfacesWithTimeout

func (b *BatchENIDescriber) DescribeNetworkInterfacesWithTimeout(ctx context.Context, networkInterfaceID string, deadline time.Duration) (*ec2.NetworkInterface, error)

type BatchInstanceDescriber

type BatchInstanceDescriber struct {
	BatchDescriber
}

func NewBatchInstanceDescriber

func NewBatchInstanceDescriber(
	ctx context.Context,
	maxDeadline time.Duration,
	maxItems int,
	session *session.Session,
	newEC2 func(p client.ConfigProvider, cfgs ...*aws.Config) ec2iface.EC2API) *BatchInstanceDescriber

TODO: This currently leaks goroutines.

func (*BatchInstanceDescriber) DescribeInstanceWithTimeout

func (b *BatchInstanceDescriber) DescribeInstanceWithTimeout(ctx context.Context, instanceID string, deadline time.Duration) (*ec2.Instance, string, error)

type EC2InstanceCacheValue

type EC2InstanceCacheValue struct {
	// contains filtered or unexported fields
}

type EC2Session

type EC2Session struct {
	Session *session.Session
	// contains filtered or unexported fields
}

func (*EC2Session) AssignIPv6Addresses

func (s *EC2Session) AssignIPv6Addresses(ctx context.Context, assignIpv6AddressesInput ec2.AssignIpv6AddressesInput) (*ec2.AssignIpv6AddressesOutput, error)

func (*EC2Session) AssignPrivateIPAddresses

func (s *EC2Session) AssignPrivateIPAddresses(ctx context.Context, assignPrivateIPAddressesInput ec2.AssignPrivateIpAddressesInput) (*ec2.AssignPrivateIpAddressesOutput, error)

func (*EC2Session) AssociateAddress

func (s *EC2Session) AssociateAddress(ctx context.Context, input ec2.AssociateAddressInput) (*ec2.AssociateAddressOutput, error)

func (*EC2Session) AssociateTrunkInterface

func (*EC2Session) AttachNetworkInterface

func (*EC2Session) CreateNetworkInterface

func (*EC2Session) DeleteNetworkInterface

func (*EC2Session) DescribeNetworkInterfaces

func (*EC2Session) DescribeSecurityGroups

func (*EC2Session) DisassociateAddress

func (*EC2Session) GetDefaultSecurityGroups

func (s *EC2Session) GetDefaultSecurityGroups(ctx context.Context, vpcID string) ([]*string, error)

func (*EC2Session) GetInstance

func (s *EC2Session) GetInstance(ctx context.Context, instanceID string, invalidateCache bool) (*ec2.Instance, string, error)

func (*EC2Session) GetNetworkInterfaceByID

func (s *EC2Session) GetNetworkInterfaceByID(ctx context.Context, networkInterfaceID string, deadline time.Duration) (*ec2.NetworkInterface, error)

func (*EC2Session) GetRouteTables

func (s *EC2Session) GetRouteTables(ctx context.Context) ([]*ec2.RouteTable, error)

func (*EC2Session) GetSubnetCidrReservations

func (s *EC2Session) GetSubnetCidrReservations(ctx context.Context, subnet string) ([]*ec2.SubnetCidrReservation, error)

func (*EC2Session) Region

func (s *EC2Session) Region(ctx context.Context) (string, error)

func (*EC2Session) UnassignIpv6Addresses

func (s *EC2Session) UnassignIpv6Addresses(ctx context.Context, unassignIpv6AddressesInput ec2.UnassignIpv6AddressesInput) (*ec2.UnassignIpv6AddressesOutput, error)

func (*EC2Session) UnassignPrivateIPAddresses

func (s *EC2Session) UnassignPrivateIPAddresses(ctx context.Context, unassignPrivateIPAddressesInput ec2.UnassignPrivateIpAddressesInput) (*ec2.UnassignPrivateIpAddressesOutput, error)

type EC2SessionManager

type EC2SessionManager struct {

	// Function used to create a new STS service client
	NewSts func(p client.ConfigProvider, cfgs ...*aws.Config) stsiface.STSAPI
	// Function used to create a new EC2 service client
	NewEC2 func(p client.ConfigProvider, cfgs ...*aws.Config) ec2iface.EC2API
	// contains filtered or unexported fields
}

func NewEC2SessionManager

func NewEC2SessionManager(workerRole string) *EC2SessionManager

func (*EC2SessionManager) GetSessionFromAccountAndRegion

func (sessionManager *EC2SessionManager) GetSessionFromAccountAndRegion(ctx context.Context, sessionKey Key) (*EC2Session, error)

func (*EC2SessionManager) GetSessionFromInstanceIdentity

func (sessionManager *EC2SessionManager) GetSessionFromInstanceIdentity(ctx context.Context, instanceIdentity *vpcapi.InstanceIdentity) (*EC2Session, error)

type ErrInterfaceByIdxNotFound

type ErrInterfaceByIdxNotFound struct {
	// contains filtered or unexported fields
}

func (*ErrInterfaceByIdxNotFound) Error

func (e *ErrInterfaceByIdxNotFound) Error() string

type Key

type Key struct {
	AccountID string
	Region    string
}

func (Key) String

func (k Key) String() string

Jump to

Keyboard shortcuts

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