Documentation ¶
Index ¶
- type AMILookup
- type Service
- func (s *Service) CreateInstance(scope *scope.MachineScope, userData []byte) (*infrav1.Instance, error)
- func (s *Service) CreateLaunchTemplate(scope *scope.MachinePoolScope, imageID *string, userData []byte) (string, error)
- func (s *Service) CreateLaunchTemplateVersion(scope *scope.MachinePoolScope, imageID *string, userData []byte) error
- func (s *Service) DeleteBastion() error
- func (s *Service) DeleteLaunchTemplate(id string) error
- func (s *Service) DetachSecurityGroupsFromNetworkInterface(groups []string, interfaceID string) error
- func (s *Service) DiscoverLaunchTemplateAMI(scope *scope.MachinePoolScope) (*string, error)
- func (s *Service) GetConsoleOutput(instanceID string) (string, error)
- func (s *Service) GetCoreNodeSecurityGroups(scope *scope.MachinePoolScope) ([]string, error)
- func (s *Service) GetCoreSecurityGroups(scope *scope.MachineScope) ([]string, error)
- func (s *Service) GetInstanceSecurityGroups(instanceID string) (map[string][]string, error)
- func (s *Service) GetLaunchTemplate(id string) (*expinfrav1.AWSLaunchTemplate, error)
- func (s *Service) GetRunningInstanceByTags(scope *scope.MachineScope) (*infrav1.Instance, error)
- func (s *Service) InstanceIfExists(id *string) (*infrav1.Instance, error)
- func (s *Service) LaunchTemplateNeedsUpdate(scope *scope.MachinePoolScope, incoming *expinfrav1.AWSLaunchTemplate, ...) (bool, error)
- func (s *Service) ReconcileBastion() error
- func (s *Service) SDKToInstance(v *ec2.Instance) (*infrav1.Instance, error)
- func (s *Service) SDKToLaunchTemplate(d *ec2.LaunchTemplateVersion) (*expinfrav1.AWSLaunchTemplate, error)
- func (s *Service) TerminateInstance(instanceID string) error
- func (s *Service) TerminateInstanceAndWait(instanceID string) error
- func (s *Service) UpdateInstanceSecurityGroups(instanceID string, ids []string) error
- func (s *Service) UpdateResourceTags(resourceID *string, create, remove map[string]string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AMILookup ¶ added in v0.5.4
AMILookup contains the parameters used to template AMI names used for lookup.
type Service ¶
type Service struct { EC2Client ec2iface.EC2API // SSMClient is used to look up the official EKS AMI ID SSMClient ssmiface.SSMAPI // contains filtered or unexported fields }
Service holds a collection of interfaces. The interfaces are broken down like this to group functions together. One alternative is to have a large list of functions from the ec2 client.
func NewService ¶
NewService returns a new service given the ec2 api client.
func (*Service) CreateInstance ¶
func (s *Service) CreateInstance(scope *scope.MachineScope, userData []byte) (*infrav1.Instance, error)
CreateInstance runs an ec2 instance.
func (*Service) CreateLaunchTemplate ¶ added in v0.6.1
func (s *Service) CreateLaunchTemplate(scope *scope.MachinePoolScope, imageID *string, userData []byte) (string, error)
CreateLaunchTemplate generates a launch template to be used with the autoscaling group
func (*Service) CreateLaunchTemplateVersion ¶ added in v0.6.1
func (*Service) DeleteBastion ¶
DeleteBastion deletes the Bastion instance
func (*Service) DeleteLaunchTemplate ¶ added in v0.6.1
DeleteLaunchTemplate delete a launch template
func (*Service) DetachSecurityGroupsFromNetworkInterface ¶ added in v0.4.1
func (s *Service) DetachSecurityGroupsFromNetworkInterface(groups []string, interfaceID string) error
DetachSecurityGroupsFromNetworkInterface looks up an ENI by interfaceID and detaches a list of Security Groups from that ENI.
func (*Service) DiscoverLaunchTemplateAMI ¶ added in v0.6.1
func (s *Service) DiscoverLaunchTemplateAMI(scope *scope.MachinePoolScope) (*string, error)
func (*Service) GetConsoleOutput ¶
GetConsoleOutput returns the latest console output of an instance
func (*Service) GetCoreNodeSecurityGroups ¶ added in v0.6.1
func (s *Service) GetCoreNodeSecurityGroups(scope *scope.MachinePoolScope) ([]string, error)
GetCoreSecurityGroups looks up the security group IDs managed by this actuator They are considered "core" to its proper functioning
func (*Service) GetCoreSecurityGroups ¶
func (s *Service) GetCoreSecurityGroups(scope *scope.MachineScope) ([]string, error)
GetCoreSecurityGroups looks up the security group IDs managed by this actuator They are considered "core" to its proper functioning
func (*Service) GetInstanceSecurityGroups ¶
GetInstanceSecurityGroups returns a map from ENI id to the security groups applied to that ENI While some security group operations take place at the "instance" level, these are in fact an API convenience for manipulating the first ("primary") ENI's properties.
func (*Service) GetLaunchTemplate ¶ added in v0.6.1
func (s *Service) GetLaunchTemplate(id string) (*expinfrav1.AWSLaunchTemplate, error)
GetLaunchTemplate returns the existing LaunchTemplate or nothing if it doesn't exist. For now by name until we need the input to be something different
func (*Service) GetRunningInstanceByTags ¶
GetRunningInstanceByTags returns the existing instance or nothing if it doesn't exist.
func (*Service) InstanceIfExists ¶
InstanceIfExists returns the existing instance or nothing if it doesn't exist.
func (*Service) LaunchTemplateNeedsUpdate ¶ added in v0.6.1
func (s *Service) LaunchTemplateNeedsUpdate(scope *scope.MachinePoolScope, incoming *expinfrav1.AWSLaunchTemplate, existing *expinfrav1.AWSLaunchTemplate) (bool, error)
LaunchTemplateNeedsUpdate checks if a new launch template version is needed
func (*Service) ReconcileBastion ¶
ReconcileBastion ensures a bastion is created for the cluster
func (*Service) SDKToInstance ¶
SDKToInstance converts an AWS EC2 SDK instance to the CAPA instance type. SDKToInstance populates all instance fields except for rootVolumeSize, because EC2.DescribeInstances does not return the size of storage devices. An additional call to EC2 is required to get this value.
func (*Service) SDKToLaunchTemplate ¶ added in v0.6.1
func (s *Service) SDKToLaunchTemplate(d *ec2.LaunchTemplateVersion) (*expinfrav1.AWSLaunchTemplate, error)
SDKToLaunchTemplate converts an AWS EC2 SDK instance to the CAPA instance type.
func (*Service) TerminateInstance ¶
TerminateInstance terminates an EC2 instance. Returns nil on success, error in all other cases.
func (*Service) TerminateInstanceAndWait ¶
TerminateInstanceAndWait terminates and waits for an EC2 instance to terminate.
func (*Service) UpdateInstanceSecurityGroups ¶
UpdateInstanceSecurityGroups modifies the security groups of the given EC2 instance.
func (*Service) UpdateResourceTags ¶
UpdateResourceTags updates the tags for an instance. This will be called if there is anything to create (update) or delete. We may not always have to perform each action, so we check what we're receiving to avoid calling AWS if we don't need to.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |