Documentation
¶
Index ¶
- func DescribeInstancesInput(filter ...*ec2.Filter) *ec2.DescribeInstancesInput
- func Filter(name, value string) *ec2.Filter
- type Client
- func (c *Client) LoadAllInstancesByFilter(filter *ec2.DescribeInstancesInput) (instances *Instances, err error)
- func (c *Client) LoadInstance(id string) (instance *Instance, err error)
- func (c *Client) LoadInstanceByFilter(filter *ec2.DescribeInstancesInput) (instance *Instance, err error)
- func (c *Client) LoadInstanceByName(name string) (instance *Instance, err error)
- func (c *Client) LoadInstanceStatus(id string) (status *ec2.InstanceStatus, err error)
- type Instance
- type Instances
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DescribeInstancesInput ¶
func DescribeInstancesInput(filter ...*ec2.Filter) *ec2.DescribeInstancesInput
DescribeInstancesInput builds an input with one or multiple filters
Useful in conjunction with Filter
Example ¶
package main
import (
"fmt"
"github.com/NETWAYS/check_cloud_aws/internal/ec2"
)
func main() {
input := ec2.DescribeInstancesInput(
ec2.Filter("tag:aws:autoscaling:groupName", "magic"),
ec2.Filter("tag:Name", "web*"),
)
fmt.Println(input)
}
Output: { Filters: [{ Name: "tag:aws:autoscaling:groupName", Values: ["magic"] },{ Name: "tag:Name", Values: ["web*"] }] }
Types ¶
type Client ¶
Client implementation to offer various load functions for getting data from the API
func (*Client) LoadAllInstancesByFilter ¶
func (c *Client) LoadAllInstancesByFilter(filter *ec2.DescribeInstancesInput) (instances *Instances, err error)
LoadAllInstancesByFilter returns Instances with a list of Instance to work with
Also see our Filter and DescribeInstancesInput
func (*Client) LoadInstance ¶
LoadInstance returns a single Instance looking for its id
func (*Client) LoadInstanceByFilter ¶
func (c *Client) LoadInstanceByFilter(filter *ec2.DescribeInstancesInput) (instance *Instance, err error)
LoadInstanceByFilter returns a single Instance using a ec2.DescribeInstancesInput with a ec2.Filter in it
The function expects the result to have exactly one match.
Also see our Filter and DescribeInstancesInput
func (*Client) LoadInstanceByName ¶
LoadInstanceByName returns a single Instance looking for a name
Name is not required to be unique, but our interface expects it is.
func (*Client) LoadInstanceStatus ¶
func (c *Client) LoadInstanceStatus(id string) (status *ec2.InstanceStatus, err error)
LoadInstanceStatus returns the ec2.Instance for an id
type Instance ¶
type Instance struct {
Instance *ec2.Instance
Status *ec2.InstanceStatus
}
func (*Instance) GetLongOutput ¶
func (*Instance) GetStatus ¶
* instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).
* instance-status.status - The status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).
* system-status.status - The system status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).