Help us shape the future of Go! Take the 2026 Go Developer Survey

ec2

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2021 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

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*"]
    }]
}

func Filter

func Filter(name, value string) *ec2.Filter

Filter builds a simple key value filter for EC2

Example
package main

import (
	"fmt"
	"github.com/NETWAYS/check_cloud_aws/internal/ec2"
)

func main() {
	filter := ec2.Filter("tag:Name", "vm1")
	fmt.Println(filter)
}
Output:
{
  Name: "tag:Name",
  Values: ["vm1"]
}

Types

type Client

type Client struct {
	Client *ec2.EC2
}

Client implementation to offer various load functions for getting data from the API

func NewClient

func NewClient(session *session.Session) *Client

NewClient sets up a Client with a AWS session.Session

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

func (c *Client) LoadInstance(id string) (instance *Instance, err error)

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

func (c *Client) LoadInstanceByName(name string) (instance *Instance, err error)

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 (i *Instance) GetLongOutput() (out string)

func (*Instance) GetOutput

func (i *Instance) GetOutput() (out string)

func (*Instance) GetStatus

func (i *Instance) GetStatus() int

* 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).

type Instances

type Instances struct {
	Instances []*Instance
}

func (Instances) GetOutput

func (i Instances) GetOutput() (output string)

func (Instances) GetStatus

func (i Instances) GetStatus() int

Jump to

Keyboard shortcuts

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