Documentation ¶
Index ¶
- type BlockDeviceMapping
- type CreateSecurityGroupResp
- type CreateSnapshotResp
- type EC2
- func (ec2 *EC2) AuthorizeSecurityGroup(group SecurityGroup, perms []IPPerm) (resp *SimpleResp, err error)
- func (ec2 *EC2) CreateSecurityGroup(name, description string) (resp *CreateSecurityGroupResp, err error)
- func (ec2 *EC2) CreateSnapshot(volumeId, description string) (resp *CreateSnapshotResp, err error)
- func (ec2 *EC2) CreateTags(instIds []string, tags []Tag) (resp *SimpleResp, err error)
- func (ec2 *EC2) DeleteSecurityGroup(group SecurityGroup) (resp *SimpleResp, err error)
- func (ec2 *EC2) DeleteSnapshots(ids []string) (resp *SimpleResp, err error)
- func (ec2 *EC2) Images(ids []string, filter *Filter) (resp *ImagesResp, err error)
- func (ec2 *EC2) Instances(instIds []string, filter *Filter) (resp *InstancesResp, err error)
- func (ec2 *EC2) RebootInstances(ids ...string) (resp *SimpleResp, err error)
- func (ec2 *EC2) RevokeSecurityGroup(group SecurityGroup, perms []IPPerm) (resp *SimpleResp, err error)
- func (ec2 *EC2) RunInstances(options *RunInstances) (resp *RunInstancesResp, err error)
- func (ec2 *EC2) SecurityGroups(groups []SecurityGroup, filter *Filter) (resp *SecurityGroupsResp, err error)
- func (ec2 *EC2) Snapshots(ids []string, filter *Filter) (resp *SnapshotsResp, err error)
- func (ec2 *EC2) StartInstances(ids ...string) (resp *StartInstanceResp, err error)
- func (ec2 *EC2) StopInstances(ids ...string) (resp *StopInstanceResp, err error)
- func (ec2 *EC2) TerminateInstances(instIds []string) (resp *TerminateInstancesResp, err error)
- type Error
- type Filter
- type IPPerm
- type Image
- type ImagesResp
- type Instance
- type InstanceState
- type InstanceStateChange
- type InstancesResp
- type Reservation
- type RunInstances
- type RunInstancesResp
- type SecurityGroup
- type SecurityGroupInfo
- type SecurityGroupsResp
- type SimpleResp
- type Snapshot
- type SnapshotsResp
- type StartInstanceResp
- type StopInstanceResp
- type Tag
- type TerminateInstancesResp
- type UserSecurityGroup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockDeviceMapping ¶
type BlockDeviceMapping struct { DeviceName string `xml:"deviceName"` VirtualName string `xml:"virtualName"` SnapshotId string `xml:"ebs>snapshotId"` VolumeType string `xml:"ebs>volumeType"` VolumeSize int64 `xml:"ebs>volumeSize"` DeleteOnTermination bool `xml:"ebs>deleteOnTermination"` // The number of I/O operations per second (IOPS) that the volume supports. IOPS int64 `xml:"ebs>iops"` }
BlockDeviceMapping represents the association of a block device with an image.
See http://goo.gl/wnDBf for more details.
type CreateSecurityGroupResp ¶
type CreateSecurityGroupResp struct { SecurityGroup RequestId string `xml:"requestId"` }
CreateSecurityGroupResp represents a response to a CreateSecurityGroup request.
type CreateSnapshotResp ¶
Response to a CreateSnapshot request.
See http://goo.gl/ttcda for more details.
type EC2 ¶
The EC2 type encapsulates operations with a specific EC2 region.
func (*EC2) AuthorizeSecurityGroup ¶
func (ec2 *EC2) AuthorizeSecurityGroup(group SecurityGroup, perms []IPPerm) (resp *SimpleResp, err error)
AuthorizeSecurityGroup creates an allowance for clients matching the provided rules to access instances within the given security group.
See http://goo.gl/u2sDJ for more details.
func (*EC2) CreateSecurityGroup ¶
func (ec2 *EC2) CreateSecurityGroup(name, description string) (resp *CreateSecurityGroupResp, err error)
CreateSecurityGroup run a CreateSecurityGroup request in EC2, with the provided name and description.
See http://goo.gl/Eo7Yl for more details.
func (*EC2) CreateSnapshot ¶
func (ec2 *EC2) CreateSnapshot(volumeId, description string) (resp *CreateSnapshotResp, err error)
CreateSnapshot creates a volume snapshot and stores it in S3.
See http://goo.gl/ttcda for more details.
func (*EC2) CreateTags ¶
func (ec2 *EC2) CreateTags(instIds []string, tags []Tag) (resp *SimpleResp, err error)
CreateTags adds or overwrites one or more tags for the specified instance ids.
See http://goo.gl/Vmkqc for more details
func (*EC2) DeleteSecurityGroup ¶
func (ec2 *EC2) DeleteSecurityGroup(group SecurityGroup) (resp *SimpleResp, err error)
DeleteSecurityGroup removes the given security group in EC2.
See http://goo.gl/QJJDO for more details.
func (*EC2) DeleteSnapshots ¶
func (ec2 *EC2) DeleteSnapshots(ids []string) (resp *SimpleResp, err error)
DeleteSnapshots deletes the volume snapshots with the given ids.
Note: If you make periodic snapshots of a volume, the snapshots are incremental so that only the blocks on the device that have changed since your last snapshot are incrementally saved in the new snapshot. Even though snapshots are saved incrementally, the snapshot deletion process is designed so that you need to retain only the most recent snapshot in order to restore the volume.
See http://goo.gl/vwU1y for more details.
func (*EC2) Images ¶
func (ec2 *EC2) Images(ids []string, filter *Filter) (resp *ImagesResp, err error)
Images returns details about available images. The ids and filter parameters, if provided, will limit the images returned. For example, to get all the private images associated with this account set the boolean filter "is-private" to true.
Note: calling this function with nil ids and filter parameters will result in a very large number of images being returned.
See http://goo.gl/SRBhW for more details.
func (*EC2) Instances ¶
func (ec2 *EC2) Instances(instIds []string, filter *Filter) (resp *InstancesResp, err error)
Instances returns details about instances in EC2. Both parameters are optional, and if provided will limit the instances returned to those matching the given instance ids or filtering rules.
See http://goo.gl/4No7c for more details.
func (*EC2) RebootInstances ¶
func (ec2 *EC2) RebootInstances(ids ...string) (resp *SimpleResp, err error)
RebootInstance requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instance(s). The operation will succeed if the instances are valid and belong to you.
Requests to reboot terminated instances are ignored.
See http://goo.gl/baoUf for more details.
func (*EC2) RevokeSecurityGroup ¶
func (ec2 *EC2) RevokeSecurityGroup(group SecurityGroup, perms []IPPerm) (resp *SimpleResp, err error)
RevokeSecurityGroup revokes permissions from a group.
See http://goo.gl/ZgdxA for more details.
func (*EC2) RunInstances ¶
func (ec2 *EC2) RunInstances(options *RunInstances) (resp *RunInstancesResp, err error)
RunInstances starts new instances in EC2. If options.MinCount and options.MaxCount are both zero, a single instance will be started; otherwise if options.MaxCount is zero, options.MinCount will be used insteead.
See http://goo.gl/Mcm3b for more details.
func (*EC2) SecurityGroups ¶
func (ec2 *EC2) SecurityGroups(groups []SecurityGroup, filter *Filter) (resp *SecurityGroupsResp, err error)
SecurityGroups returns details about security groups in EC2. Both parameters are optional, and if provided will limit the security groups returned to those matching the given groups or filtering rules.
See http://goo.gl/k12Uy for more details.
func (*EC2) Snapshots ¶
func (ec2 *EC2) Snapshots(ids []string, filter *Filter) (resp *SnapshotsResp, err error)
Snapshots returns details about volume snapshots available to the user. The ids and filter parameters, if provided, limit the snapshots returned.
See http://goo.gl/ogJL4 for more details.
func (*EC2) StartInstances ¶
func (ec2 *EC2) StartInstances(ids ...string) (resp *StartInstanceResp, err error)
StartInstances starts an Amazon EBS-backed AMI that you've previously stopped.
See http://goo.gl/awKeF for more details.
func (*EC2) StopInstances ¶
func (ec2 *EC2) StopInstances(ids ...string) (resp *StopInstanceResp, err error)
StopInstances requests stopping one or more Amazon EBS-backed instances.
See http://goo.gl/436dJ for more details.
func (*EC2) TerminateInstances ¶
func (ec2 *EC2) TerminateInstances(instIds []string) (resp *TerminateInstancesResp, err error)
TerminateInstances requests the termination of instances when the given ids.
See http://goo.gl/3BKHj for more details.
type Error ¶
type Error struct { // HTTP status code (200, 403, ...) StatusCode int // EC2 error code ("UnsupportedOperation", ...) Code string // The human-oriented error message Message string RequestId string `xml:"RequestID"` }
Error encapsulates an error returned by EC2.
See http://goo.gl/VZGuC for more details.
type Filter ¶
type Filter struct {
// contains filtered or unexported fields
}
Filter builds filtering parameters to be used in an EC2 query which supports filtering. For example:
filter := NewFilter() filter.Add("architecture", "i386") filter.Add("launch-index", "0") resp, err := ec2.Instances(nil, filter)
type IPPerm ¶
type IPPerm struct { Protocol string `xml:"ipProtocol"` FromPort int `xml:"fromPort"` ToPort int `xml:"toPort"` SourceIPs []string `xml:"ipRanges>item>cidrIp"` SourceGroups []UserSecurityGroup `xml:"groups>item"` }
IPPerm represents an allowance within an EC2 security group.
See http://goo.gl/4oTxv for more details.
type Image ¶
type Image struct { Id string `xml:"imageId"` Name string `xml:"name"` Description string `xml:"description"` Type string `xml:"imageType"` State string `xml:"imageState"` Location string `xml:"imageLocation"` Public bool `xml:"isPublic"` Architecture string `xml:"architecture"` Platform string `xml:"platform"` ProductCodes []string `xml:"productCode>item>productCode"` KernelId string `xml:"kernelId"` RamdiskId string `xml:"ramdiskId"` StateReason string `xml:"stateReason"` OwnerId string `xml:"imageOwnerId"` OwnerAlias string `xml:"imageOwnerAlias"` RootDeviceType string `xml:"rootDeviceType"` RootDeviceName string `xml:"rootDeviceName"` VirtualizationType string `xml:"virtualizationType"` Hypervisor string `xml:"hypervisor"` BlockDevices []BlockDeviceMapping `xml:"blockDeviceMapping>item"` }
Image represents details about an image.
See http://goo.gl/iSqJG for more details.
type Instance ¶
type Instance struct { InstanceId string `xml:"instanceId"` InstanceType string `xml:"instanceType"` ImageId string `xml:"imageId"` PrivateDNSName string `xml:"privateDnsName"` DNSName string `xml:"dnsName"` KeyName string `xml:"keyName"` AMILaunchIndex int `xml:"amiLaunchIndex"` Hypervisor string `xml:"hypervisor"` VirtType string `xml:"virtualizationType"` Monitoring string `xml:"monitoring>state"` AvailZone string `xml:"placement>availabilityZone"` PlacementGroupName string `xml:"placement>groupName"` State InstanceState `xml:"instanceState"` Tags []Tag `xml:"tagSet>item"` }
Instance encapsulates a running instance in EC2.
See http://goo.gl/OCH8a for more details.
type InstanceState ¶
type InstanceState struct { Code int `xml:"code"` // Watch out, bits 15-8 have unpublished meaning. Name string `xml:"name"` }
InstanceState encapsulates the state of an instance in EC2.
See http://goo.gl/y3ZBq for more details.
type InstanceStateChange ¶
type InstanceStateChange struct { InstanceId string `xml:"instanceId"` CurrentState InstanceState `xml:"currentState"` PreviousState InstanceState `xml:"previousState"` }
InstanceStateChange informs of the previous and current states for an instance when a state change is requested.
type InstancesResp ¶
type InstancesResp struct { RequestId string `xml:"requestId"` Reservations []Reservation `xml:"reservationSet>item"` }
Response to a DescribeInstances request.
See http://goo.gl/mLbmw for more details.
type Reservation ¶
type Reservation struct { ReservationId string `xml:"reservationId"` OwnerId string `xml:"ownerId"` RequesterId string `xml:"requesterId"` SecurityGroups []SecurityGroup `xml:"groupSet>item"` Instances []Instance `xml:"instancesSet>item"` }
Reservation represents details about a reservation in EC2.
See http://goo.gl/0ItPT for more details.
type RunInstances ¶
type RunInstances struct { ImageId string MinCount int MaxCount int KeyName string InstanceType string SecurityGroups []SecurityGroup KernelId string RamdiskId string UserData []byte AvailZone string PlacementGroupName string Monitoring bool SubnetId string DisableAPITermination bool ShutdownBehavior string PrivateIPAddress string }
The RunInstances type encapsulates options for the respective request in EC2.
See http://goo.gl/Mcm3b for more details.
type RunInstancesResp ¶
type RunInstancesResp struct { RequestId string `xml:"requestId"` ReservationId string `xml:"reservationId"` OwnerId string `xml:"ownerId"` SecurityGroups []SecurityGroup `xml:"groupSet>item"` Instances []Instance `xml:"instancesSet>item"` }
Response to a RunInstances request.
See http://goo.gl/Mcm3b for more details.
type SecurityGroup ¶
SecurityGroup represents an EC2 security group. If SecurityGroup is used as a parameter, then one of Id or Name may be empty. If both are set, then Id is used.
func SecurityGroupIds ¶
func SecurityGroupIds(ids ...string) []SecurityGroup
SecurityGroupNames is a convenience function that returns a slice of security groups with the given ids.
func SecurityGroupNames ¶
func SecurityGroupNames(names ...string) []SecurityGroup
SecurityGroupNames is a convenience function that returns a slice of security groups with the given names.
type SecurityGroupInfo ¶
type SecurityGroupInfo struct { SecurityGroup OwnerId string `xml:"ownerId"` Description string `xml:"groupDescription"` IPPerms []IPPerm `xml:"ipPermissions>item"` }
SecurityGroup encapsulates details for a security group in EC2.
See http://goo.gl/CIdyP for more details.
type SecurityGroupsResp ¶
type SecurityGroupsResp struct { RequestId string `xml:"requestId"` Groups []SecurityGroupInfo `xml:"securityGroupInfo>item"` }
SecurityGroupsResp represents a response to a DescribeSecurityGroups request in EC2.
See http://goo.gl/k12Uy for more details.
type SimpleResp ¶
SimpleResp represents a response to an EC2 request which on success will return no other information besides a request id.
type Snapshot ¶
type Snapshot struct { Id string `xml:"snapshotId"` VolumeId string `xml:"volumeId"` VolumeSize string `xml:"volumeSize"` Status string `xml:"status"` StartTime string `xml:"startTime"` Description string `xml:"description"` Progress string `xml:"progress"` OwnerId string `xml:"ownerId"` OwnerAlias string `xml:"ownerAlias"` Tags []Tag `xml:"tagSet>item"` }
Snapshot represents details about a volume snapshot.
See http://goo.gl/nkovs for more details.
type SnapshotsResp ¶
type SnapshotsResp struct { RequestId string `xml:"requestId"` Snapshots []Snapshot `xml:"snapshotSet>item"` }
Response to a DescribeSnapshots request.
See http://goo.gl/nClDT for more details.
type StartInstanceResp ¶
type StartInstanceResp struct { RequestId string `xml:"requestId"` StateChanges []InstanceStateChange `xml:"instancesSet>item"` }
Response to a StartInstances request.
See http://goo.gl/awKeF for more details.
type StopInstanceResp ¶
type StopInstanceResp struct { RequestId string `xml:"requestId"` StateChanges []InstanceStateChange `xml:"instancesSet>item"` }
Response to a StopInstances request.
See http://goo.gl/436dJ for more details.
type Tag ¶
ResourceTag represents key-value metadata used to classify and organize EC2 instances.
See http://goo.gl/bncl3 for more details
type TerminateInstancesResp ¶
type TerminateInstancesResp struct { RequestId string `xml:"requestId"` StateChanges []InstanceStateChange `xml:"instancesSet>item"` }
Response to a TerminateInstances request.
See http://goo.gl/3BKHj for more details.
type UserSecurityGroup ¶
type UserSecurityGroup struct { Id string `xml:"groupId"` Name string `xml:"groupName"` OwnerId string `xml:"userId"` }
UserSecurityGroup holds a security group and the owner of that group.
Directories ¶
Path | Synopsis |
---|---|
The ec2test package implements a fake EC2 provider with the capability of inducing errors on any given operation, and retrospectively determining what operations have been carried out.
|
The ec2test package implements a fake EC2 provider with the capability of inducing errors on any given operation, and retrospectively determining what operations have been carried out. |