Documentation ¶
Index ¶
- type API
- func (a *API) AddKey(name, key string) error
- func (a *API) CheckInstances(ids []*string, d time.Duration) error
- func (a *API) CopyImage(sourceImageID string, regions []string) (map[string]string, error)
- func (a *API) CreateHVMImage(snapshotID string, name string, description string) (string, error)
- func (a *API) CreateImportRole(bucket string) error
- func (a *API) CreateInstances(keyname, userdata string, count uint64, wait bool) ([]*ec2.Instance, error)
- func (a *API) CreatePVImage(snapshotID string, name string, description string) (string, error)
- func (a *API) CreateSnapshot(imageName, sourceURL string, format EC2ImageFormat) (*Snapshot, error)
- func (a *API) CreateTags(resources []string, tags map[string]string) error
- func (a *API) DeleteKey(name string) error
- func (a *API) DeleteObject(bucket, path string) error
- func (a *API) FindImage(name string) (string, error)
- func (a *API) FindSnapshot(imageName string) (*Snapshot, error)
- func (a *API) GrantLaunchPermission(imageID string, userIDs []string) error
- func (a *API) InitializeBucket(bucket string) error
- func (a *API) PreflightCheck() error
- func (a *API) PublishImage(imageID string) error
- func (a *API) TerminateInstance(id string) error
- func (a *API) UploadObject(r io.Reader, bucket, path string, force bool) error
- type EC2ImageFormat
- type EC2ImageType
- type Options
- type Snapshot
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
// contains filtered or unexported fields
}
func New ¶
New creates a new AWS API wrapper. It uses credentials from any of the standard credentials sources, including the environment and the profile configured in ~/.aws. No validation is done that credentials exist and before using the API a preflight check is recommended via api.PreflightCheck
func (*API) CheckInstances ¶
CheckInstances waits until a set of EC2 instances are accessible by SSH, waiting a maximum of 'd' time.
func (*API) CreateHVMImage ¶ added in v0.4.0
func (*API) CreateImportRole ¶ added in v0.4.0
func (*API) CreateInstances ¶
func (a *API) CreateInstances(keyname, userdata string, count uint64, wait bool) ([]*ec2.Instance, error)
CreateInstances creates EC2 instances with a given ssh key name, user data. The image ID, instance type, and security group set in the API will be used. If wait is true, CreateInstances will block until all instances are reachable by SSH.
func (*API) CreatePVImage ¶ added in v0.4.0
func (*API) CreateSnapshot ¶ added in v0.4.0
func (a *API) CreateSnapshot(imageName, sourceURL string, format EC2ImageFormat) (*Snapshot, error)
CreateSnapshot creates an AWS Snapshot
func (*API) CreateTags ¶ added in v0.4.0
func (*API) DeleteObject ¶ added in v0.5.0
func (*API) FindImage ¶ added in v0.5.0
Find an image we own with the specified name. Return ID or "".
func (*API) FindSnapshot ¶ added in v0.5.0
Look up a Snapshot by name. Return nil if not found.
func (*API) GrantLaunchPermission ¶ added in v0.5.0
func (*API) InitializeBucket ¶ added in v0.4.0
func (*API) PreflightCheck ¶ added in v0.4.0
PreflightCheck validates that the aws configuration provided has valid credentials
func (*API) PublishImage ¶ added in v0.5.0
Grant everyone launch permission on the specified image and create-volume permission on its underlying snapshot.
func (*API) TerminateInstance ¶
TerminateInstance schedules an EC2 instance to be terminated.
type EC2ImageFormat ¶ added in v0.4.0
type EC2ImageFormat string
const ( EC2ImageFormatRaw EC2ImageFormat = ec2.DiskImageFormatRaw EC2ImageFormatVmdk = ec2.DiskImageFormatVmdk )
func (*EC2ImageFormat) Set ¶ added in v0.4.0
func (e *EC2ImageFormat) Set(s string) error
func (*EC2ImageFormat) String ¶ added in v0.4.0
func (e *EC2ImageFormat) String() string
func (*EC2ImageFormat) Type ¶ added in v0.4.0
func (e *EC2ImageFormat) Type() string
type EC2ImageType ¶ added in v0.4.0
type EC2ImageType string
const ( EC2ImageTypeHVM EC2ImageType = "hvm" EC2ImageTypePV EC2ImageType = "paravirtual" )
type Options ¶
type Options struct { *platform.Options // The AWS region regional api calls should use Region string // The path to the shared credentials file, if not ~/.aws/credentials CredentialsFile string // The profile to use when resolving credentials, if applicable Profile string // AccessKeyID is the optional access key to use. It will override all other sources AccessKeyID string // SecretKey is the optional secret key to use. It will override all other sources SecretKey string AMI string InstanceType string SecurityGroup string }