common

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2013 License: MPL-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InstanceStateRefreshFunc added in v0.2.2

func InstanceStateRefreshFunc(conn *ec2.EC2, i *ec2.Instance) func() (interface{}, string, error)

func SSHAddress

func SSHAddress(port int) func(map[string]interface{}) (string, error)

SSHAddress returns a function that can be given to the SSH communicator for determining the SSH address based on the instance DNS name.

func SSHConfig

func SSHConfig(username string) func(map[string]interface{}) (*gossh.ClientConfig, error)

SSHConfig returns a function that can be used for the SSH communicator config for connecting to the instance created over SSH using the generated private key.

func WaitForAMI

func WaitForAMI(c *ec2.EC2, imageId string) error

WaitForAMI waits for the given AMI ID to become ready.

func WaitForState

func WaitForState(conf *StateChangeConf) (i interface{}, err error)

Types

type AccessConfig

type AccessConfig struct {
	AccessKey string `mapstructure:"access_key"`
	SecretKey string `mapstructure:"secret_key"`
	RawRegion string `mapstructure:"region"`
}

AccessConfig is for common configuration related to AWS access

func (*AccessConfig) Auth

func (c *AccessConfig) Auth() (aws.Auth, error)

Auth returns a valid aws.Auth object for access to AWS services, or an error if the authentication couldn't be resolved.

func (*AccessConfig) Prepare

func (c *AccessConfig) Prepare() []error

func (*AccessConfig) Region added in v0.2.2

func (c *AccessConfig) Region() (aws.Region, error)

Region returns the aws.Region object for access to AWS services, requesting the region from the instance metadata if possible.

type Artifact

type Artifact struct {
	// A map of regions to AMI IDs.
	Amis map[string]string

	// BuilderId is the unique ID for the builder that created this AMI
	BuilderIdValue string

	// EC2 connection for performing API stuff.
	Conn *ec2.EC2
}

Artifact is an artifact implementation that contains built AMIs.

func (*Artifact) BuilderId

func (a *Artifact) BuilderId() string

func (*Artifact) Destroy

func (a *Artifact) Destroy() error

func (*Artifact) Files

func (*Artifact) Files() []string

func (*Artifact) Id

func (a *Artifact) Id() string

func (*Artifact) String

func (a *Artifact) String() string

type RunConfig

type RunConfig struct {
	SourceAmi          string `mapstructure:"source_ami"`
	IamInstanceProfile string `mapstructure:"iam_instance_profile"`
	InstanceType       string `mapstructure:"instance_type"`
	RawSSHTimeout      string `mapstructure:"ssh_timeout"`
	SSHUsername        string `mapstructure:"ssh_username"`
	SSHPort            int    `mapstructure:"ssh_port"`
	SecurityGroupId    string `mapstructure:"security_group_id"`
	SubnetId           string `mapstructure:"subnet_id"`
	VpcId              string `mapstructure:"vpc_id"`
	// contains filtered or unexported fields
}

RunConfig contains configuration for running an instance from a source AMI and details on how to access that launched image.

func (*RunConfig) Prepare

func (c *RunConfig) Prepare() []error

func (*RunConfig) SSHTimeout

func (c *RunConfig) SSHTimeout() time.Duration

type StateChangeConf

type StateChangeConf struct {
	Conn      *ec2.EC2
	Pending   []string
	Refresh   func() (interface{}, string, error)
	StepState map[string]interface{}
	Target    string
}

type StepKeyPair

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

func (*StepKeyPair) Cleanup

func (s *StepKeyPair) Cleanup(state map[string]interface{})

func (*StepKeyPair) Run

func (s *StepKeyPair) Run(state map[string]interface{}) multistep.StepAction

type StepRunSourceInstance

type StepRunSourceInstance struct {
	ExpectedRootDevice string
	InstanceType       string
	SourceAMI          string
	IamInstanceProfile string
	SubnetId           string
	// contains filtered or unexported fields
}

func (*StepRunSourceInstance) Cleanup

func (s *StepRunSourceInstance) Cleanup(state map[string]interface{})

func (*StepRunSourceInstance) Run

func (s *StepRunSourceInstance) Run(state map[string]interface{}) multistep.StepAction

type StepSecurityGroup

type StepSecurityGroup struct {
	SecurityGroupId string
	SSHPort         int
	VpcId           string
	// contains filtered or unexported fields
}

func (*StepSecurityGroup) Cleanup

func (s *StepSecurityGroup) Cleanup(state map[string]interface{})

func (*StepSecurityGroup) Run

func (s *StepSecurityGroup) Run(state map[string]interface{}) multistep.StepAction

Jump to

Keyboard shortcuts

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