fake

package
v0.18.1 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2022 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultSupportedUsageClasses = aws.StringSlice([]string{"on-demand", "spot"})

DefaultSupportedUsageClasses is a var because []*string can't be a const

Functions

func Filter added in v0.14.0

func Filter(filters []*ec2.Filter, id string, tags []*ec2.Tag) bool

func FilterDescribeSecurtyGroups added in v0.10.1

func FilterDescribeSecurtyGroups(sgs []*ec2.SecurityGroup, filters []*ec2.Filter) []*ec2.SecurityGroup

FilterDescribeSecurtyGroups filters the passed in security groups based on the filters passed in. Filters are chained with a logical "AND"

func FilterDescribeSubnets added in v0.10.1

func FilterDescribeSubnets(subnets []*ec2.Subnet, filters []*ec2.Filter) []*ec2.Subnet

FilterDescribeSubnets filters the passed in subnets based on the filters passed in. Filters are chained with a logical "AND"

func NewOnDemandPrice added in v0.13.0

func NewOnDemandPrice(instanceType string, price float64) aws.JSONValue

func SubnetsFromFleetRequest added in v0.10.1

func SubnetsFromFleetRequest(createFleetInput *ec2.CreateFleetInput) []string

SubnetsFromFleetRequest returns a unique slice of subnetIDs passed as overrides from a CreateFleetInput

Types

type AtomicError added in v0.13.0

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

func (*AtomicError) Get added in v0.13.0

func (e *AtomicError) Get() error

func (*AtomicError) IsNil added in v0.13.0

func (e *AtomicError) IsNil() bool

func (*AtomicError) Reset added in v0.13.0

func (e *AtomicError) Reset()

func (*AtomicError) Set added in v0.13.0

func (e *AtomicError) Set(err error)

type AtomicPtr added in v0.13.0

type AtomicPtr[T any] struct {
	// contains filtered or unexported fields
}

AtomicPtr is intended for use in mocks to easily expose variables for use in testing. It makes setting and retrieving the values race free by wrapping the pointer itself in a mutex. There is no Get() method, but instead a Clone() method deep copies the object being stored by serializing/de-serializing it from JSON. This pattern shouldn't be followed anywhere else but is an easy way to eliminate races in our tests.

func (*AtomicPtr[T]) Clone added in v0.13.0

func (a *AtomicPtr[T]) Clone() *T

func (*AtomicPtr[T]) IsNil added in v0.13.0

func (a *AtomicPtr[T]) IsNil() bool

func (*AtomicPtr[T]) Reset added in v0.13.0

func (a *AtomicPtr[T]) Reset()

func (*AtomicPtr[T]) Set added in v0.13.0

func (a *AtomicPtr[T]) Set(v *T)

type AtomicPtrSlice added in v0.13.0

type AtomicPtrSlice[T any] struct {
	// contains filtered or unexported fields
}

AtomicPtrSlice exposes a slice of a pointer type in a race-free manner. The interface is just enough to replace the set.Set usage in our previous tests.

func (*AtomicPtrSlice[T]) Add added in v0.13.0

func (a *AtomicPtrSlice[T]) Add(input *T)

func (*AtomicPtrSlice[T]) Len added in v0.13.0

func (a *AtomicPtrSlice[T]) Len() int

func (*AtomicPtrSlice[T]) Pop added in v0.13.0

func (a *AtomicPtrSlice[T]) Pop() *T

func (*AtomicPtrSlice[T]) Reset added in v0.13.0

func (a *AtomicPtrSlice[T]) Reset()

type CapacityPool

type CapacityPool struct {
	CapacityType string
	InstanceType string
	Zone         string
}

type EC2API

type EC2API struct {
	ec2iface.EC2API
	EC2Behavior
}

func (*EC2API) CreateFleetWithContext

func (e *EC2API) CreateFleetWithContext(_ context.Context, input *ec2.CreateFleetInput, _ ...request.Option) (*ec2.CreateFleetOutput, error)

nolint: gocyclo

func (*EC2API) CreateLaunchTemplateWithContext

func (e *EC2API) CreateLaunchTemplateWithContext(_ context.Context, input *ec2.CreateLaunchTemplateInput, _ ...request.Option) (*ec2.CreateLaunchTemplateOutput, error)

func (*EC2API) DescribeImagesWithContext added in v0.14.0

func (e *EC2API) DescribeImagesWithContext(_ context.Context, input *ec2.DescribeImagesInput, _ ...request.Option) (*ec2.DescribeImagesOutput, error)

func (*EC2API) DescribeInstanceTypesPagesWithContext

func (e *EC2API) DescribeInstanceTypesPagesWithContext(_ context.Context, _ *ec2.DescribeInstanceTypesInput, fn func(*ec2.DescribeInstanceTypesOutput, bool) bool, _ ...request.Option) error

func (*EC2API) DescribeInstancesWithContext

func (e *EC2API) DescribeInstancesWithContext(_ context.Context, input *ec2.DescribeInstancesInput, _ ...request.Option) (*ec2.DescribeInstancesOutput, error)

func (*EC2API) DescribeLaunchTemplatesWithContext

func (e *EC2API) DescribeLaunchTemplatesWithContext(_ context.Context, input *ec2.DescribeLaunchTemplatesInput, _ ...request.Option) (*ec2.DescribeLaunchTemplatesOutput, error)

func (*EC2API) DescribeSecurityGroupsWithContext

func (e *EC2API) DescribeSecurityGroupsWithContext(ctx context.Context, input *ec2.DescribeSecurityGroupsInput, opts ...request.Option) (*ec2.DescribeSecurityGroupsOutput, error)

func (*EC2API) DescribeSpotPriceHistoryPagesWithContext added in v0.13.0

func (e *EC2API) DescribeSpotPriceHistoryPagesWithContext(_ aws.Context, in *ec2.DescribeSpotPriceHistoryInput, fn func(*ec2.DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error

func (*EC2API) DescribeSubnetsWithContext

func (e *EC2API) DescribeSubnetsWithContext(ctx context.Context, input *ec2.DescribeSubnetsInput, opts ...request.Option) (*ec2.DescribeSubnetsOutput, error)

func (*EC2API) Reset

func (e *EC2API) Reset()

Reset must be called between tests otherwise tests will pollute each other.

type EC2Behavior

type EC2Behavior struct {
	DescribeInstancesOutput             AtomicPtr[ec2.DescribeInstancesOutput]
	DescribeImagesOutput                AtomicPtr[ec2.DescribeImagesOutput]
	DescribeLaunchTemplatesOutput       AtomicPtr[ec2.DescribeLaunchTemplatesOutput]
	DescribeSubnetsOutput               AtomicPtr[ec2.DescribeSubnetsOutput]
	DescribeSecurityGroupsOutput        AtomicPtr[ec2.DescribeSecurityGroupsOutput]
	DescribeInstanceTypesOutput         AtomicPtr[ec2.DescribeInstanceTypesOutput]
	DescribeInstanceTypeOfferingsOutput AtomicPtr[ec2.DescribeInstanceTypeOfferingsOutput]
	DescribeAvailabilityZonesOutput     AtomicPtr[ec2.DescribeAvailabilityZonesOutput]
	DescribeSpotPriceHistoryInput       AtomicPtr[ec2.DescribeSpotPriceHistoryInput]
	DescribeSpotPriceHistoryOutput      AtomicPtr[ec2.DescribeSpotPriceHistoryOutput]
	CalledWithCreateFleetInput          AtomicPtrSlice[ec2.CreateFleetInput]
	CalledWithCreateLaunchTemplateInput AtomicPtrSlice[ec2.CreateLaunchTemplateInput]
	CreateFleetOutput                   AtomicPtr[ec2.CreateFleetOutput]
	CalledWithDescribeImagesInput       AtomicPtrSlice[ec2.DescribeImagesInput]
	Instances                           sync.Map
	LaunchTemplates                     sync.Map
	InsufficientCapacityPools           atomic.Slice[CapacityPool]
	NextError                           AtomicError
}

EC2Behavior must be reset between tests otherwise tests will pollute each other.

type PricingAPI added in v0.13.0

type PricingAPI struct {
	pricingiface.PricingAPI
	PricingBehavior
}

func (*PricingAPI) GetProductsPagesWithContext added in v0.13.0

func (p *PricingAPI) GetProductsPagesWithContext(_ aws.Context, inp *pricing.GetProductsInput, fn func(*pricing.GetProductsOutput, bool) bool, opts ...request.Option) error

func (*PricingAPI) Reset added in v0.13.0

func (p *PricingAPI) Reset()

type PricingBehavior added in v0.13.0

type PricingBehavior struct {
	NextError         AtomicError
	GetProductsOutput AtomicPtr[pricing.GetProductsOutput]
}

type SSMAPI

type SSMAPI struct {
	ssmiface.SSMAPI
	GetParameterOutput *ssm.GetParameterOutput
	WantErr            error
}

func (SSMAPI) GetParameterWithContext

func (a SSMAPI) GetParameterWithContext(ctx context.Context, input *ssm.GetParameterInput, opts ...request.Option) (*ssm.GetParameterOutput, error)

Jump to

Keyboard shortcuts

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