Documentation ¶
Index ¶
- Variables
- func Filter(filters []*ec2.Filter, id string, tags []*ec2.Tag) bool
- func FilterDescribeSecurtyGroups(sgs []*ec2.SecurityGroup, filters []*ec2.Filter) []*ec2.SecurityGroup
- func FilterDescribeSubnets(subnets []*ec2.Subnet, filters []*ec2.Filter) []*ec2.Subnet
- func NewOnDemandPrice(instanceType string, price float64) aws.JSONValue
- func SubnetsFromFleetRequest(createFleetInput *ec2.CreateFleetInput) []string
- type AtomicError
- type AtomicPtr
- type AtomicPtrSlice
- type CapacityPool
- type EC2API
- func (e *EC2API) CreateFleetWithContext(_ context.Context, input *ec2.CreateFleetInput, _ ...request.Option) (*ec2.CreateFleetOutput, error)
- func (e *EC2API) CreateLaunchTemplateWithContext(_ context.Context, input *ec2.CreateLaunchTemplateInput, _ ...request.Option) (*ec2.CreateLaunchTemplateOutput, error)
- func (e *EC2API) DescribeAvailabilityZonesWithContext(context.Context, *ec2.DescribeAvailabilityZonesInput, ...request.Option) (*ec2.DescribeAvailabilityZonesOutput, error)
- func (e *EC2API) DescribeImagesWithContext(_ context.Context, input *ec2.DescribeImagesInput, _ ...request.Option) (*ec2.DescribeImagesOutput, error)
- func (e *EC2API) DescribeInstanceTypeOfferingsPagesWithContext(_ context.Context, _ *ec2.DescribeInstanceTypeOfferingsInput, ...) error
- func (e *EC2API) DescribeInstanceTypesPagesWithContext(_ context.Context, _ *ec2.DescribeInstanceTypesInput, ...) error
- func (e *EC2API) DescribeInstancesWithContext(_ context.Context, input *ec2.DescribeInstancesInput, _ ...request.Option) (*ec2.DescribeInstancesOutput, error)
- func (e *EC2API) DescribeLaunchTemplatesWithContext(_ context.Context, input *ec2.DescribeLaunchTemplatesInput, ...) (*ec2.DescribeLaunchTemplatesOutput, error)
- func (e *EC2API) DescribeSecurityGroupsWithContext(ctx context.Context, input *ec2.DescribeSecurityGroupsInput, ...) (*ec2.DescribeSecurityGroupsOutput, error)
- func (e *EC2API) DescribeSpotPriceHistoryPagesWithContext(_ aws.Context, _ *ec2.DescribeSpotPriceHistoryInput, ...) error
- func (e *EC2API) DescribeSubnetsWithContext(ctx context.Context, input *ec2.DescribeSubnetsInput, opts ...request.Option) (*ec2.DescribeSubnetsOutput, error)
- func (e *EC2API) Reset()
- type EC2Behavior
- type PricingAPI
- type PricingBehavior
- type SSMAPI
Constants ¶
This section is empty.
Variables ¶
var DefaultSupportedUsageClasses = aws.StringSlice([]string{"on-demand", "spot"})
DefaultSupportedUsageClasses is a var because []*string can't be a const
Functions ¶
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
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 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.
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 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) DescribeAvailabilityZonesWithContext ¶
func (e *EC2API) DescribeAvailabilityZonesWithContext(context.Context, *ec2.DescribeAvailabilityZonesInput, ...request.Option) (*ec2.DescribeAvailabilityZonesOutput, 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) DescribeInstanceTypeOfferingsPagesWithContext ¶
func (*EC2API) DescribeInstanceTypesPagesWithContext ¶
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 (*EC2API) DescribeSubnetsWithContext ¶
func (e *EC2API) DescribeSubnetsWithContext(ctx context.Context, input *ec2.DescribeSubnetsInput, opts ...request.Option) (*ec2.DescribeSubnetsOutput, error)
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] 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)