Documentation
¶
Index ¶
- Constants
- Variables
- func Filter(filters []ec2types.Filter, id, name, owner, state string, tags []ec2types.Tag) bool
- func FilterDescribeCapacityReservations(crs []ec2types.CapacityReservation, ids []string, filters []ec2types.Filter) []ec2types.CapacityReservation
- func FilterDescribeImages(images []ec2types.Image, filters []ec2types.Filter) []ec2types.Image
- func FilterDescribeSecurtyGroups(sgs []ec2types.SecurityGroup, filters []ec2types.Filter) []ec2types.SecurityGroup
- func FilterDescribeSubnets(subnets []ec2types.Subnet, filters []ec2types.Filter) []ec2types.Subnet
- func GenerateDefaultPriceOutput() (*ec2.DescribeSpotPriceHistoryOutput, *pricing.GetProductsOutput)
- func ImageID() string
- func InstanceID() string
- func InstanceProfileID() string
- func LaunchTemplateID() string
- func LaunchTemplateName() string
- func MakeInstanceOfferings(instanceTypes []ec2types.InstanceTypeInfo) []ec2types.InstanceTypeOffering
- func MakeInstances() []ec2types.InstanceTypeInfo
- func MakeUniqueInstancesAndFamilies(instances []ec2types.InstanceTypeInfo, numInstanceFamilies int) ([]ec2types.InstanceTypeInfo, sets.Set[string])
- func NewOnDemandPrice(instanceType string, price float64) string
- func NewOnDemandPriceWithCurrency(instanceType string, price float64, currency string) string
- func PrivateDNSName() string
- func ProviderID(id string) string
- func RandomProviderID() string
- func RoleID() string
- func SecurityGroupID() string
- func SubnetID() string
- func SubnetsFromFleetRequest(createFleetInput *ec2.CreateFleetInput) []string
- type AtomicError
- type AtomicErrorOption
- type AtomicPtr
- type AtomicPtrSlice
- type CapacityPool
- type CloudProvider
- func (c *CloudProvider) Create(_ context.Context, _ *karpv1.NodeClaim) (*karpv1.NodeClaim, error)
- func (c *CloudProvider) Delete(context.Context, *karpv1.NodeClaim) error
- func (c *CloudProvider) DisruptionReasons() []karpv1.DisruptionReason
- func (c *CloudProvider) Get(context.Context, string) (*karpv1.NodeClaim, error)
- func (c *CloudProvider) GetInstanceTypes(_ context.Context, _ *karpv1.NodePool) ([]*corecloudprovider.InstanceType, error)
- func (c *CloudProvider) GetSupportedNodeClasses() []status.Object
- func (c *CloudProvider) IsDrifted(_ context.Context, nodeClaim *karpv1.NodeClaim) (corecloudprovider.DriftReason, error)
- func (c *CloudProvider) List(context.Context) ([]*karpv1.NodeClaim, error)
- func (c *CloudProvider) Name() string
- func (c *CloudProvider) RepairPolicies() []corecloudprovider.RepairPolicy
- type EC2API
- func (e *EC2API) CreateFleet(_ context.Context, input *ec2.CreateFleetInput, _ ...func(*ec2.Options)) (*ec2.CreateFleetOutput, error)
- func (e *EC2API) CreateLaunchTemplate(ctx context.Context, input *ec2.CreateLaunchTemplateInput, ...) (*ec2.CreateLaunchTemplateOutput, error)
- func (e *EC2API) CreateTags(_ context.Context, input *ec2.CreateTagsInput, _ ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
- func (e *EC2API) DeleteLaunchTemplate(_ context.Context, input *ec2.DeleteLaunchTemplateInput, ...) (*ec2.DeleteLaunchTemplateOutput, error)
- func (e *EC2API) DescribeAvailabilityZones(context.Context, *ec2.DescribeAvailabilityZonesInput, ...func(*ec2.Options)) (*ec2.DescribeAvailabilityZonesOutput, error)
- func (e *EC2API) DescribeCapacityReservations(ctx context.Context, input *ec2.DescribeCapacityReservationsInput, ...) (*ec2.DescribeCapacityReservationsOutput, error)
- func (e *EC2API) DescribeImages(ctx context.Context, input *ec2.DescribeImagesInput, _ ...func(*ec2.Options)) (*ec2.DescribeImagesOutput, error)
- func (e *EC2API) DescribeInstanceTypeOfferings(_ context.Context, _ *ec2.DescribeInstanceTypeOfferingsInput, ...) (*ec2.DescribeInstanceTypeOfferingsOutput, error)
- func (e *EC2API) DescribeInstanceTypes(_ context.Context, _ *ec2.DescribeInstanceTypesInput, _ ...func(*ec2.Options)) (*ec2.DescribeInstanceTypesOutput, error)
- func (e *EC2API) DescribeInstances(_ context.Context, input *ec2.DescribeInstancesInput, _ ...func(*ec2.Options)) (*ec2.DescribeInstancesOutput, error)
- func (e *EC2API) DescribeLaunchTemplates(_ context.Context, input *ec2.DescribeLaunchTemplatesInput, ...) (*ec2.DescribeLaunchTemplatesOutput, error)
- func (e *EC2API) DescribeSecurityGroups(_ context.Context, input *ec2.DescribeSecurityGroupsInput, ...) (*ec2.DescribeSecurityGroupsOutput, error)
- func (e *EC2API) DescribeSpotPriceHistory(_ context.Context, input *ec2.DescribeSpotPriceHistoryInput, ...) (*ec2.DescribeSpotPriceHistoryOutput, error)
- func (e *EC2API) DescribeSubnets(_ context.Context, input *ec2.DescribeSubnetsInput, _ ...func(*ec2.Options)) (*ec2.DescribeSubnetsOutput, error)
- func (e *EC2API) Reset()
- func (e *EC2API) RunInstances(ctx context.Context, input *ec2.RunInstancesInput, ...) (*ec2.RunInstancesOutput, error)
- func (e *EC2API) TerminateInstances(_ context.Context, input *ec2.TerminateInstancesInput, _ ...func(*ec2.Options)) (*ec2.TerminateInstancesOutput, error)
- type EC2Behavior
- type EKSAPI
- type EKSAPIBehavior
- type IAMAPI
- func (s *IAMAPI) AddRoleToInstanceProfile(_ context.Context, input *iam.AddRoleToInstanceProfileInput, ...) (*iam.AddRoleToInstanceProfileOutput, error)
- func (s *IAMAPI) CreateInstanceProfile(_ context.Context, input *iam.CreateInstanceProfileInput, ...) (*iam.CreateInstanceProfileOutput, error)
- func (s *IAMAPI) DeleteInstanceProfile(_ context.Context, input *iam.DeleteInstanceProfileInput, ...) (*iam.DeleteInstanceProfileOutput, error)
- func (s *IAMAPI) GetInstanceProfile(_ context.Context, input *iam.GetInstanceProfileInput, _ ...func(*iam.Options)) (*iam.GetInstanceProfileOutput, error)
- func (s *IAMAPI) GetRole(_ context.Context, input *iam.GetRoleInput, _ ...func(*iam.Options)) (*iam.GetRoleOutput, error)
- func (s *IAMAPI) ListInstanceProfiles(_ context.Context, input *iam.ListInstanceProfilesInput, ...) (*iam.ListInstanceProfilesOutput, error)
- func (s *IAMAPI) RemoveRoleFromInstanceProfile(_ context.Context, input *iam.RemoveRoleFromInstanceProfileInput, ...) (*iam.RemoveRoleFromInstanceProfileOutput, error)
- func (s *IAMAPI) Reset()
- func (s *IAMAPI) TagInstanceProfile(_ context.Context, input *iam.TagInstanceProfileInput, _ ...func(*iam.Options)) (*iam.TagInstanceProfileOutput, error)
- type IAMAPIBehavior
- type MockedFunction
- type PricingAPI
- type SQSAPI
- func (s *SQSAPI) DeleteMessage(_ context.Context, input *sqs.DeleteMessageInput, _ ...func(*sqs.Options)) (*sqs.DeleteMessageOutput, error)
- func (s *SQSAPI) GetQueueUrl(_ context.Context, input *sqs.GetQueueUrlInput, _ ...func(*sqs.Options)) (*sqs.GetQueueUrlOutput, error)
- func (s *SQSAPI) ReceiveMessage(_ context.Context, input *sqs.ReceiveMessageInput, _ ...func(*sqs.Options)) (*sqs.ReceiveMessageOutput, error)
- func (s *SQSAPI) Reset()
- type SQSBehavior
- type SSMAPI
Constants ¶
const ( DefaultRegion = "us-west-2" DefaultAccount = "123456789" )
Variables ¶
var DefaultSupportedUsageClasses = []ec2types.UsageClassType{ec2types.UsageClassType("on-demand"), ec2types.UsageClassType("spot")}
DefaultSupportedUsageClasses is a var because []*string can't be a const
Functions ¶
func FilterDescribeCapacityReservations ¶ added in v1.3.0
func FilterDescribeCapacityReservations(crs []ec2types.CapacityReservation, ids []string, filters []ec2types.Filter) []ec2types.CapacityReservation
func FilterDescribeImages ¶
func FilterDescribeSecurtyGroups ¶
func FilterDescribeSecurtyGroups(sgs []ec2types.SecurityGroup, filters []ec2types.Filter) []ec2types.SecurityGroup
FilterDescribeSecurtyGroups filters the passed in security groups based on the filters passed in. Filters are chained with a logical "AND"
func FilterDescribeSubnets ¶
FilterDescribeSubnets filters the passed in subnets based on the filters passed in. Filters are chained with a logical "AND"
func GenerateDefaultPriceOutput ¶ added in v1.4.0
func GenerateDefaultPriceOutput() (*ec2.DescribeSpotPriceHistoryOutput, *pricing.GetProductsOutput)
GenerateDefaultPriceOutput generates default output that can be set on the pricing provider if a test needs pricing data and is just using the default instance types
func InstanceID ¶
func InstanceID() string
func InstanceProfileID ¶
func InstanceProfileID() string
func LaunchTemplateID ¶
func LaunchTemplateID() string
func LaunchTemplateName ¶
func LaunchTemplateName() string
func MakeInstanceOfferings ¶ added in v0.35.0
func MakeInstanceOfferings(instanceTypes []ec2types.InstanceTypeInfo) []ec2types.InstanceTypeOffering
func MakeInstances ¶ added in v0.35.0
func MakeInstances() []ec2types.InstanceTypeInfo
func MakeUniqueInstancesAndFamilies ¶ added in v0.35.0
func MakeUniqueInstancesAndFamilies(instances []ec2types.InstanceTypeInfo, numInstanceFamilies int) ([]ec2types.InstanceTypeInfo, sets.Set[string])
func NewOnDemandPrice ¶
func NewOnDemandPriceWithCurrency ¶ added in v0.36.0
func PrivateDNSName ¶
func PrivateDNSName() string
func ProviderID ¶
func RandomProviderID ¶
func RandomProviderID() string
func SecurityGroupID ¶
func SecurityGroupID() string
func SubnetsFromFleetRequest ¶
func SubnetsFromFleetRequest(createFleetInput *ec2.CreateFleetInput) []string
SubnetsFromFleetRequest returns a unique slice of subnetIDs passed as overrides from a CreateFleetInput
Types ¶
type AtomicError ¶
type AtomicError struct {
// contains filtered or unexported fields
}
func (*AtomicError) Get ¶
func (e *AtomicError) Get() error
Get is equivalent to the error being called, so we increase number of calls in this function
func (*AtomicError) IsNil ¶
func (e *AtomicError) IsNil() bool
func (*AtomicError) Reset ¶
func (e *AtomicError) Reset()
func (*AtomicError) Set ¶
func (e *AtomicError) Set(err error, opts ...AtomicErrorOption)
type AtomicErrorOption ¶
type AtomicErrorOption func(atomicError *AtomicError)
func MaxCalls ¶
func MaxCalls(maxCalls int) AtomicErrorOption
type AtomicPtr ¶
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 ¶
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 ¶
func (a *AtomicPtrSlice[T]) Add(input *T)
func (*AtomicPtrSlice[T]) At ¶ added in v0.37.8
func (a *AtomicPtrSlice[T]) At(index int) *T
func (*AtomicPtrSlice[T]) ForEach ¶
func (a *AtomicPtrSlice[T]) ForEach(fn func(*T))
func (*AtomicPtrSlice[T]) Len ¶
func (a *AtomicPtrSlice[T]) Len() int
func (*AtomicPtrSlice[T]) Pop ¶
func (a *AtomicPtrSlice[T]) Pop() *T
func (*AtomicPtrSlice[T]) Reset ¶
func (a *AtomicPtrSlice[T]) Reset()
type CapacityPool ¶
type CloudProvider ¶
type CloudProvider struct {
InstanceTypes []*corecloudprovider.InstanceType
ValidAMIs []string
}
func (*CloudProvider) DisruptionReasons ¶ added in v1.1.0
func (c *CloudProvider) DisruptionReasons() []karpv1.DisruptionReason
func (*CloudProvider) GetInstanceTypes ¶
func (c *CloudProvider) GetInstanceTypes(_ context.Context, _ *karpv1.NodePool) ([]*corecloudprovider.InstanceType, error)
func (*CloudProvider) GetSupportedNodeClasses ¶ added in v0.34.7
func (c *CloudProvider) GetSupportedNodeClasses() []status.Object
func (*CloudProvider) IsDrifted ¶
func (c *CloudProvider) IsDrifted(_ context.Context, nodeClaim *karpv1.NodeClaim) (corecloudprovider.DriftReason, error)
func (*CloudProvider) Name ¶
func (c *CloudProvider) Name() string
Name returns the CloudProvider implementation name.
func (*CloudProvider) RepairPolicies ¶ added in v1.1.0
func (c *CloudProvider) RepairPolicies() []corecloudprovider.RepairPolicy
type EC2API ¶
type EC2API struct {
sdk.EC2API
EC2Behavior
}
func (*EC2API) CreateFleet ¶ added in v1.1.0
func (e *EC2API) CreateFleet(_ context.Context, input *ec2.CreateFleetInput, _ ...func(*ec2.Options)) (*ec2.CreateFleetOutput, error)
nolint: gocyclo
func (*EC2API) CreateLaunchTemplate ¶ added in v1.1.0
func (e *EC2API) CreateLaunchTemplate(ctx context.Context, input *ec2.CreateLaunchTemplateInput, _ ...func(*ec2.Options)) (*ec2.CreateLaunchTemplateOutput, error)
Then modify the CreateLaunchTemplate method:
func (*EC2API) CreateTags ¶ added in v1.1.0
func (e *EC2API) CreateTags(_ context.Context, input *ec2.CreateTagsInput, _ ...func(*ec2.Options)) (*ec2.CreateTagsOutput, error)
func (*EC2API) DeleteLaunchTemplate ¶ added in v1.1.0
func (e *EC2API) DeleteLaunchTemplate(_ context.Context, input *ec2.DeleteLaunchTemplateInput, _ ...func(*ec2.Options)) (*ec2.DeleteLaunchTemplateOutput, error)
func (*EC2API) DescribeAvailabilityZones ¶ added in v1.1.0
func (e *EC2API) DescribeAvailabilityZones(context.Context, *ec2.DescribeAvailabilityZonesInput, ...func(*ec2.Options)) (*ec2.DescribeAvailabilityZonesOutput, error)
func (*EC2API) DescribeCapacityReservations ¶ added in v1.3.0
func (e *EC2API) DescribeCapacityReservations(ctx context.Context, input *ec2.DescribeCapacityReservationsInput, _ ...func(*ec2.Options)) (*ec2.DescribeCapacityReservationsOutput, error)
func (*EC2API) DescribeImages ¶ added in v1.1.0
func (e *EC2API) DescribeImages(ctx context.Context, input *ec2.DescribeImagesInput, _ ...func(*ec2.Options)) (*ec2.DescribeImagesOutput, error)
func (*EC2API) DescribeInstanceTypeOfferings ¶ added in v1.1.0
func (e *EC2API) DescribeInstanceTypeOfferings(_ context.Context, _ *ec2.DescribeInstanceTypeOfferingsInput, _ ...func(*ec2.Options)) (*ec2.DescribeInstanceTypeOfferingsOutput, error)
func (*EC2API) DescribeInstanceTypes ¶ added in v1.1.0
func (e *EC2API) DescribeInstanceTypes(_ context.Context, _ *ec2.DescribeInstanceTypesInput, _ ...func(*ec2.Options)) (*ec2.DescribeInstanceTypesOutput, error)
func (*EC2API) DescribeInstances ¶ added in v1.1.0
func (e *EC2API) DescribeInstances(_ context.Context, input *ec2.DescribeInstancesInput, _ ...func(*ec2.Options)) (*ec2.DescribeInstancesOutput, error)
func (*EC2API) DescribeLaunchTemplates ¶ added in v1.1.0
func (e *EC2API) DescribeLaunchTemplates(_ context.Context, input *ec2.DescribeLaunchTemplatesInput, _ ...func(*ec2.Options)) (*ec2.DescribeLaunchTemplatesOutput, error)
func (*EC2API) DescribeSecurityGroups ¶ added in v1.1.0
func (e *EC2API) DescribeSecurityGroups(_ context.Context, input *ec2.DescribeSecurityGroupsInput, _ ...func(*ec2.Options)) (*ec2.DescribeSecurityGroupsOutput, error)
func (*EC2API) DescribeSpotPriceHistory ¶ added in v1.1.0
func (e *EC2API) DescribeSpotPriceHistory(_ context.Context, input *ec2.DescribeSpotPriceHistoryInput, _ ...func(*ec2.Options)) (*ec2.DescribeSpotPriceHistoryOutput, error)
func (*EC2API) DescribeSubnets ¶ added in v1.1.0
func (e *EC2API) DescribeSubnets(_ context.Context, input *ec2.DescribeSubnetsInput, _ ...func(*ec2.Options)) (*ec2.DescribeSubnetsOutput, error)
func (*EC2API) Reset ¶
func (e *EC2API) Reset()
Reset must be called between tests otherwise tests will pollute each other.
func (*EC2API) RunInstances ¶ added in v1.3.0
func (e *EC2API) RunInstances(ctx context.Context, input *ec2.RunInstancesInput, optFns ...func(*ec2.Options)) (*ec2.RunInstancesOutput, error)
func (*EC2API) TerminateInstances ¶ added in v1.1.0
func (e *EC2API) TerminateInstances(_ context.Context, input *ec2.TerminateInstancesInput, _ ...func(*ec2.Options)) (*ec2.TerminateInstancesOutput, error)
type EC2Behavior ¶
type EC2Behavior struct {
DescribeCapacityReservationsOutput AtomicPtr[ec2.DescribeCapacityReservationsOutput]
DescribeImagesOutput AtomicPtr[ec2.DescribeImagesOutput]
DescribeLaunchTemplatesOutput AtomicPtr[ec2.DescribeLaunchTemplatesOutput]
DescribeInstanceTypesOutput AtomicPtr[ec2.DescribeInstanceTypesOutput]
DescribeInstanceTypeOfferingsOutput AtomicPtr[ec2.DescribeInstanceTypeOfferingsOutput]
DescribeAvailabilityZonesOutput AtomicPtr[ec2.DescribeAvailabilityZonesOutput]
DescribeSubnetsBehavior MockedFunction[ec2.DescribeSubnetsInput, ec2.DescribeSubnetsOutput]
DescribeSecurityGroupsBehavior MockedFunction[ec2.DescribeSecurityGroupsInput, ec2.DescribeSecurityGroupsOutput]
DescribeSpotPriceHistoryBehavior MockedFunction[ec2.DescribeSpotPriceHistoryInput, ec2.DescribeSpotPriceHistoryOutput]
CreateFleetBehavior MockedFunction[ec2.CreateFleetInput, ec2.CreateFleetOutput]
TerminateInstancesBehavior MockedFunction[ec2.TerminateInstancesInput, ec2.TerminateInstancesOutput]
DescribeInstancesBehavior MockedFunction[ec2.DescribeInstancesInput, ec2.DescribeInstancesOutput]
CreateTagsBehavior MockedFunction[ec2.CreateTagsInput, ec2.CreateTagsOutput]
RunInstancesBehavior MockedFunction[ec2.RunInstancesInput, ec2.RunInstancesOutput]
CreateLaunchTemplateBehavior MockedFunction[ec2.CreateLaunchTemplateInput, ec2.CreateLaunchTemplateOutput]
CalledWithDescribeImagesInput AtomicPtrSlice[ec2.DescribeImagesInput]
Instances sync.Map
InsufficientCapacityPools atomic.Slice[CapacityPool]
NextError AtomicError
Subnets sync.Map
LaunchTemplates sync.Map
// contains filtered or unexported fields
}
EC2Behavior must be reset between tests otherwise tests will pollute each other.
type EKSAPI ¶
type EKSAPI struct {
sdk.EKSAPI
EKSAPIBehavior
}
func (*EKSAPI) DescribeCluster ¶ added in v1.1.0
func (s *EKSAPI) DescribeCluster(_ context.Context, input *eks.DescribeClusterInput, _ ...func(*eks.Options)) (*eks.DescribeClusterOutput, error)
type EKSAPIBehavior ¶
type EKSAPIBehavior struct {
DescribeClusterBehavior MockedFunction[eks.DescribeClusterInput, eks.DescribeClusterOutput]
}
EKSAPIBehavior must be reset between tests otherwise tests will pollute each other.
type IAMAPI ¶
type IAMAPI struct {
sync.Mutex
sdk.IAMAPI
IAMAPIBehavior
InstanceProfiles map[string]*iamtypes.InstanceProfile
// TODO (jmdeal@): Update remaining tests to pass role validation
EnableRoleValidation bool
Roles map[string]*iamtypes.Role
}
func (*IAMAPI) AddRoleToInstanceProfile ¶ added in v1.1.0
func (s *IAMAPI) AddRoleToInstanceProfile(_ context.Context, input *iam.AddRoleToInstanceProfileInput, _ ...func(*iam.Options)) (*iam.AddRoleToInstanceProfileOutput, error)
func (*IAMAPI) CreateInstanceProfile ¶ added in v1.1.0
func (s *IAMAPI) CreateInstanceProfile(_ context.Context, input *iam.CreateInstanceProfileInput, _ ...func(*iam.Options)) (*iam.CreateInstanceProfileOutput, error)
func (*IAMAPI) DeleteInstanceProfile ¶ added in v1.1.0
func (s *IAMAPI) DeleteInstanceProfile(_ context.Context, input *iam.DeleteInstanceProfileInput, _ ...func(*iam.Options)) (*iam.DeleteInstanceProfileOutput, error)
func (*IAMAPI) GetInstanceProfile ¶ added in v1.1.0
func (s *IAMAPI) GetInstanceProfile(_ context.Context, input *iam.GetInstanceProfileInput, _ ...func(*iam.Options)) (*iam.GetInstanceProfileOutput, error)
func (*IAMAPI) GetRole ¶ added in v1.7.0
func (s *IAMAPI) GetRole(_ context.Context, input *iam.GetRoleInput, _ ...func(*iam.Options)) (*iam.GetRoleOutput, error)
func (*IAMAPI) ListInstanceProfiles ¶ added in v1.7.0
func (s *IAMAPI) ListInstanceProfiles(_ context.Context, input *iam.ListInstanceProfilesInput, _ ...func(*iam.Options)) (*iam.ListInstanceProfilesOutput, error)
func (*IAMAPI) RemoveRoleFromInstanceProfile ¶ added in v1.1.0
func (s *IAMAPI) RemoveRoleFromInstanceProfile(_ context.Context, input *iam.RemoveRoleFromInstanceProfileInput, _ ...func(*iam.Options)) (*iam.RemoveRoleFromInstanceProfileOutput, error)
func (*IAMAPI) TagInstanceProfile ¶ added in v1.1.0
func (s *IAMAPI) TagInstanceProfile(_ context.Context, input *iam.TagInstanceProfileInput, _ ...func(*iam.Options)) (*iam.TagInstanceProfileOutput, error)
type IAMAPIBehavior ¶
type IAMAPIBehavior struct {
GetInstanceProfileBehavior MockedFunction[iam.GetInstanceProfileInput, iam.GetInstanceProfileOutput]
CreateInstanceProfileBehavior MockedFunction[iam.CreateInstanceProfileInput, iam.CreateInstanceProfileOutput]
DeleteInstanceProfileBehavior MockedFunction[iam.DeleteInstanceProfileInput, iam.DeleteInstanceProfileOutput]
AddRoleToInstanceProfileBehavior MockedFunction[iam.AddRoleToInstanceProfileInput, iam.AddRoleToInstanceProfileOutput]
TagInstanceProfileBehavior MockedFunction[iam.TagInstanceProfileInput, iam.TagInstanceProfileOutput]
RemoveRoleFromInstanceProfileBehavior MockedFunction[iam.RemoveRoleFromInstanceProfileInput, iam.RemoveRoleFromInstanceProfileOutput]
ListInstanceProfilesBehavior MockedFunction[iam.ListInstanceProfilesInput, iam.ListInstanceProfilesOutput]
GetRoleBehavior MockedFunction[iam.GetRoleInput, iam.GetRoleOutput]
}
IAMAPIBehavior must be reset between tests otherwise tests will pollute each other.
type MockedFunction ¶
type MockedFunction[I any, O any] struct { Output AtomicPtr[O] // Output to return on call to this function MultiOut AtomicPtrSlice[O] OutputPages AtomicPtrSlice[O] CalledWithInput AtomicPtrSlice[I] // Slice used to keep track of passed input to this function Error AtomicError // Error to return a certain number of times defined by custom error options // contains filtered or unexported fields }
func (*MockedFunction[I, O]) Calls ¶
func (m *MockedFunction[I, O]) Calls() int
func (*MockedFunction[I, O]) FailedCalls ¶
func (m *MockedFunction[I, O]) FailedCalls() int
func (*MockedFunction[I, O]) Invoke ¶
func (m *MockedFunction[I, O]) Invoke(input *I, defaultTransformer func(*I) (*O, error)) (*O, error)
func (*MockedFunction[I, O]) Reset ¶
func (m *MockedFunction[I, O]) Reset()
Reset must be called between tests otherwise tests will pollute each other.
func (*MockedFunction[I, O]) SuccessfulCalls ¶
func (m *MockedFunction[I, O]) SuccessfulCalls() int
type PricingAPI ¶
type PricingAPI struct {
sdk.PricingAPI
GetProductsBehavior MockedFunction[pricing.GetProductsInput, pricing.GetProductsOutput]
}
func (*PricingAPI) GetProducts ¶ added in v1.1.0
func (p *PricingAPI) GetProducts(_ context.Context, input *pricing.GetProductsInput, _ ...func(*pricing.Options)) (*pricing.GetProductsOutput, error)
func (*PricingAPI) Reset ¶
func (p *PricingAPI) Reset()
type SQSAPI ¶
type SQSAPI struct {
sdk.SQSAPI
SQSBehavior
}
func (*SQSAPI) DeleteMessage ¶ added in v1.1.0
func (s *SQSAPI) DeleteMessage(_ context.Context, input *sqs.DeleteMessageInput, _ ...func(*sqs.Options)) (*sqs.DeleteMessageOutput, error)
func (*SQSAPI) GetQueueUrl ¶ added in v1.1.0
func (s *SQSAPI) GetQueueUrl(_ context.Context, input *sqs.GetQueueUrlInput, _ ...func(*sqs.Options)) (*sqs.GetQueueUrlOutput, error)
func (*SQSAPI) ReceiveMessage ¶ added in v1.1.0
func (s *SQSAPI) ReceiveMessage(_ context.Context, input *sqs.ReceiveMessageInput, _ ...func(*sqs.Options)) (*sqs.ReceiveMessageOutput, error)
type SQSBehavior ¶
type SQSBehavior struct {
GetQueueURLBehavior MockedFunction[sqs.GetQueueUrlInput, sqs.GetQueueUrlOutput]
ReceiveMessageBehavior MockedFunction[sqs.ReceiveMessageInput, sqs.ReceiveMessageOutput]
DeleteMessageBehavior MockedFunction[sqs.DeleteMessageInput, sqs.DeleteMessageOutput]
}
SQSBehavior must be reset between tests otherwise tests will pollute each other.
type SSMAPI ¶
type SSMAPI struct {
sdk.SSMAPI
Parameters map[string]string
GetParameterOutput *ssm.GetParameterOutput
WantErr error
// contains filtered or unexported fields
}
func (SSMAPI) GetParameter ¶ added in v1.1.0
func (a SSMAPI) GetParameter(_ context.Context, input *ssm.GetParameterInput, _ ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)