capacity

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: May 24, 2021 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AutoScalingGroup

type AutoScalingGroup struct {
	OriginalDesiredCapacity *int64
	OriginalMaxSize         *int64
	StateSavedAt            *time.Time

	*autoscaling.Group
	// contains filtered or unexported fields
}

func NewAutoScalingGroup

func NewAutoScalingGroup(name string, asSvc autoscalingiface.AutoScalingAPI, ec2Svc ec2iface.EC2API) (*AutoScalingGroup, error)

func (*AutoScalingGroup) ReduceCapacity

func (asg *AutoScalingGroup) ReduceCapacity(amount int64, drainer Drainer) error

func (*AutoScalingGroup) ReplaceInstances

func (asg *AutoScalingGroup) ReplaceInstances(drainer Drainer) error

type Drainer

type Drainer interface {
	Drain([]string) error
	ProcessInterruptions([]*sqs.Message) ([]*sqs.DeleteMessageBatchRequestEntry, error)
}

func NewDrainer

func NewDrainer(cluster string, batchSize int64, ecsSvc ecsiface.ECSAPI) (Drainer, error)

type Poller

type Poller interface {
	Poll(context.Context, func([]*sqs.Message) ([]*sqs.DeleteMessageBatchRequestEntry, error))
	PollOnce(func([]*sqs.Message) ([]*sqs.DeleteMessageBatchRequestEntry, error), int64) error
}

type SQSQueuePoller

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

func NewSQSQueuePoller

func NewSQSQueuePoller(queueURL string, sqsSvc sqsiface.SQSAPI) *SQSQueuePoller

func (*SQSQueuePoller) Poll

func (p *SQSQueuePoller) Poll(ctx context.Context, callback func([]*sqs.Message) ([]*sqs.DeleteMessageBatchRequestEntry, error))

func (*SQSQueuePoller) PollOnce

func (p *SQSQueuePoller) PollOnce(callback func([]*sqs.Message) ([]*sqs.DeleteMessageBatchRequestEntry, error), waitTimeSeconds int64) error

type SpotFleetRequest

type SpotFleetRequest struct {
	SpotFleetRequestConfigData *ec2.SpotFleetRequestConfigData

	*ec2.SpotFleetRequestConfig
	// contains filtered or unexported fields
}

func NewSpotFleetRequest

func NewSpotFleetRequest(id string, ec2Svc ec2iface.EC2API) (*SpotFleetRequest, error)

func (*SpotFleetRequest) ReduceCapacity

func (sfr *SpotFleetRequest) ReduceCapacity(amount int64, drainer Drainer, poller Poller) error

func (*SpotFleetRequest) TerminateAllInstances

func (sfr *SpotFleetRequest) TerminateAllInstances(drainer Drainer) error

Jump to

Keyboard shortcuts

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