Documentation ¶
Index ¶
- func NewConfig(ctx context.Context) (aws.Config, error)
- func NewSubnetsFilters(tags map[string]string, ids []string) []ec2_types.Filter
- type Client
- func (c *Client) AssignPrivateIpAddresses(ctx context.Context, eniID string, addresses int32) error
- func (c *Client) AttachNetworkInterface(ctx context.Context, index int32, instanceID, eniID string) (string, error)
- func (c *Client) CreateNetworkInterface(ctx context.Context, toAllocate int32, subnetID, desc string, groups []string) (string, *eniTypes.ENI, error)
- func (c *Client) DeleteNetworkInterface(ctx context.Context, eniID string) error
- func (c *Client) GetInstanceTypes(ctx context.Context) ([]ec2_types.InstanceTypeInfo, error)
- func (c *Client) GetInstances(ctx context.Context, vpcs ipamTypes.VirtualNetworkMap, ...) (*ipamTypes.InstanceMap, error)
- func (c *Client) GetSecurityGroups(ctx context.Context) (types.SecurityGroupMap, error)
- func (c *Client) GetSubnets(ctx context.Context) (ipamTypes.SubnetMap, error)
- func (c *Client) GetVpcs(ctx context.Context) (ipamTypes.VirtualNetworkMap, error)
- func (c *Client) ModifyNetworkInterface(ctx context.Context, eniID, attachmentID string, deleteOnTermination bool) error
- func (c *Client) UnassignPrivateIpAddresses(ctx context.Context, eniID string, addresses []string) error
- type MetricsAPI
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents an EC2 API client
func NewClient ¶
func NewClient(ec2Client *ec2.Client, metrics MetricsAPI, rateLimit float64, burst int, subnetsFilters []ec2_types.Filter, eniTags map[string]string) *Client
NewClient returns a new EC2 client
func (*Client) AssignPrivateIpAddresses ¶
AssignPrivateIpAddresses assigns the specified number of secondary IP addresses
func (*Client) AttachNetworkInterface ¶
func (c *Client) AttachNetworkInterface(ctx context.Context, index int32, instanceID, eniID string) (string, error)
AttachNetworkInterface attaches a previously created ENI to an instance
func (*Client) CreateNetworkInterface ¶
func (c *Client) CreateNetworkInterface(ctx context.Context, toAllocate int32, subnetID, desc string, groups []string) (string, *eniTypes.ENI, error)
CreateNetworkInterface creates an ENI with the given parameters
func (*Client) DeleteNetworkInterface ¶
DeleteNetworkInterface deletes an ENI with the specified ID
func (*Client) GetInstanceTypes ¶
GetInstanceTypes returns all the known EC2 instance types in the configured region
func (*Client) GetInstances ¶
func (c *Client) GetInstances(ctx context.Context, vpcs ipamTypes.VirtualNetworkMap, subnets ipamTypes.SubnetMap) (*ipamTypes.InstanceMap, error)
GetInstances returns the list of all instances including their ENIs as instanceMap
func (*Client) GetSecurityGroups ¶
GetSecurityGroups returns all EC2 security groups as a SecurityGroupMap
func (*Client) GetSubnets ¶
GetSubnets returns all EC2 subnets as a subnetMap
type MetricsAPI ¶
type MetricsAPI interface { helpers.MetricsAPI ObserveAPICall(call, status string, duration float64) }
MetricsAPI represents the metrics maintained by the AWS API client