Documentation ¶
Index ¶
- type Address
- type AllocateAddressResp
- type AssociateAddressOptions
- type AssociateAddressResp
- type AttachVolumeResp
- type AttachmentSetStruct
- type BlockDevice
- type BlockDeviceMapping
- type CreateImageResp
- type CreateSecurityGroupResp
- type CreateSnapshotResp
- type CreateVolumeOptions
- type CreateVolumeResp
- type DeregisterImageResponse
- type DescribeAddressesResp
- type DescribeInstanceStatusResponse
- type DescribeInstancesResp
- type DescribeInternetGatewaysResp
- type DescribeReservedInstancesResponse
- type DescribeTagsResp
- type DescribeVolumesResp
- type DescribeVpcsResp
- type DescribeVpnConnectionsResp
- type DescribeVpnGatewaysResp
- type DescribedTag
- type DiassociateAddressResp
- type EBS
- type EC2
- func (ec2 *EC2) AllocateAddress(domain string) (resp *AllocateAddressResp, err error)
- func (ec2 *EC2) AssociateAddress(options *AssociateAddressOptions) (resp *AssociateAddressResp, err error)
- func (ec2 *EC2) AttachVolume(volId string, InstId string, devName string) (resp *AttachVolumeResp, err error)
- func (ec2 *EC2) AuthorizeSecurityGroup(group SecurityGroup, perms []IPPerm) (resp *SimpleResp, err error)
- func (ec2 *EC2) CopyImage(sourceRegion aws.Region, imageId, name, description string) (resp *CreateImageResp, err error)
- func (ec2 *EC2) CreateImage(instanceId, name, description string, noReboot bool) (resp *CreateImageResp, 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) CreateVolume(options CreateVolumeOptions) (resp *CreateVolumeResp, err error)
- func (ec2 *EC2) DeleteSecurityGroup(group SecurityGroup) (resp *SimpleResp, err error)
- func (ec2 *EC2) DeleteSnapshots(ssid string) (resp *SimpleResp, err error)
- func (ec2 *EC2) DeleteTags(instIds []string, tags []Tag) (resp *SimpleResp, err error)
- func (ec2 *EC2) DeregisterImage(imageId string) (resp *DeregisterImageResponse, err error)
- func (ec2 *EC2) DescribeAddresses(publicIps []string, allocationIds []string, filter *Filter) (resp *DescribeAddressesResp, err error)
- func (ec2 *EC2) DescribeInstanceStatus(instIds []string, filter *Filter) (resp *DescribeInstanceStatusResponse, err error)
- func (ec2 *EC2) DescribeInstances(instIds []string, filter *Filter) (resp *DescribeInstancesResp, err error)
- func (ec2 *EC2) DescribeInternetGateways(InternetGatewayIds []string, filter *Filter) (resp *DescribeInternetGatewaysResp, err error)
- func (ec2 *EC2) DescribeReservedInstances(instIds []string, filter *Filter) (resp *DescribeReservedInstancesResponse, err error)
- func (ec2 *EC2) DescribeTags(filter *Filter) (resp *DescribeTagsResp, err error)
- func (ec2 *EC2) DescribeVolumes(volIds []string, filter *Filter) (resp *DescribeVolumesResp, err error)
- func (ec2 *EC2) DescribeVpcs(vpcIds []string, filter *Filter) (resp *DescribeVpcsResp, err error)
- func (ec2 *EC2) DescribeVpnConnections(VpnConnectionIds []string, filter *Filter) (resp *DescribeVpnConnectionsResp, err error)
- func (ec2 *EC2) DescribeVpnGateways(VpnGatewayIds []string, filter *Filter) (resp *DescribeVpnGatewaysResp, err error)
- func (ec2 *EC2) DiassociateAddress(publicIp, associationId string) (resp *DiassociateAddressResp, err error)
- func (ec2 *EC2) Images(ids []string, filter *Filter) (resp *ImagesResp, err error)
- func (ec2 *EC2) RebootInstances(ids ...string) (resp *SimpleResp, err error)
- func (ec2 *EC2) ReleaseAddress(publicIp, allocationId string) (resp *ReleaseAddressResp, err error)
- func (ec2 *EC2) RevokeSecurityGroup(group SecurityGroup, perms []IPPerm) (resp *SimpleResp, err error)
- func (ec2 *EC2) RunInstances(options *RunInstancesOptions) (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) Subnets(ids []string, filter *Filter) (resp *SubnetsResp, err error)
- func (ec2 *EC2) TerminateInstances(instIds []string) (resp *TerminateInstancesResp, err error)
- type Error
- type EventSetStruct
- type Filter
- type IPPerm
- type IamInstanceProfile
- type Image
- type ImagesResp
- type Instance
- type InstanceNetworkInterface
- type InstanceNetworkInterfaceAssociation
- type InstanceNetworkInterfaceAttachment
- type InstancePrivateIpAddress
- type InstanceState
- type InstanceStateChange
- type InstanceStateReason
- type InstanceStatus
- type InternetGatewayStruct
- type NetworkInterface
- type ProductCode
- type RecurringCharge
- type ReleaseAddressResp
- type Reservation
- type ReservedInstancesResponseItem
- type RunInstancesOptions
- type RunInstancesResp
- type SecurityGroup
- type SecurityGroupInfo
- type SecurityGroupsResp
- type SimpleResp
- type Snapshot
- type SnapshotsResp
- type StartInstanceResp
- type StopInstanceResp
- type Subnet
- type SubnetsResp
- type SystemStateStruct
- type Tag
- type TerminateInstancesResp
- type UserSecurityGroup
- type VolumeStruct
- type VpcStruct
- type VpnConnectionStruct
- type VpnGatewayStruct
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Address ¶
type Address struct { PublicIp string `xml:"publicIp"` AllocationId string `xml:"allocationId"` Domain string `xml:"domain"` InstanceId string `xml:"instanceId"` AssociationId string `xml:"associationId"` NetworkInterfaceId string `xml:"networkInterfaceId"` NetworkInterfaceOwnerId string `xml:"networkInterfaceOwnerId"` PrivateIpAddress string `xml:"privateIpAddress"` }
Address represents an Elastic IP Address See http://goo.gl/uxCjp7 for more details
type AllocateAddressResp ¶
type AllocateAddressResp struct { RequestId string `xml:"requestId"` PublicIp string `xml:"publicIp"` Domain string `xml:"domain"` AllocationId string `xml:"allocationId"` }
Response to an AllocateAddress request
See http://goo.gl/aLPmbm for more details
type AssociateAddressOptions ¶
type AssociateAddressOptions struct { PublicIp string InstanceId string AllocationId string NetworkInterfaceId string PrivateIpAddress string AllowReassociation bool }
Options set for AssociateAddress
See http://goo.gl/hhj4z7 for more details
type AssociateAddressResp ¶
type AssociateAddressResp struct { RequestId string `xml:"requestId"` Return bool `xml:"return"` AssociationId string `xml:"associationId"` }
Response to an AssociateAddress request
See http://goo.gl/hhj4z7 for more details
type AttachVolumeResp ¶
type AttachmentSetStruct ¶
type BlockDevice ¶
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 CreateImageResp ¶
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 CreateVolumeOptions ¶
type CreateVolumeResp ¶
type CreateVolumeResp struct { RequestId string `xml:"requestId"` VolumeId string `xml:"volumeId"` Size string `xml:"size"` SnapshotId string `xml:"snapshotId"` AvailabilityZone string `xml:"availabilityZone"` Status string `xml:"status"` CreateTime string `xml:"createTime"` VolumeType string `xml:"volumeType"` IOPS int `xml:"iops"` Encrypted bool `xml:"encrypted"` KmsKeyId string `xml:"kmsKeyId"` }
type DeregisterImageResponse ¶
type DeregisterImageResponse struct { RequestId string `xml:"requestId"` Response bool `xml:"return"` }
DeregisterImage
type DescribeAddressesResp ¶
type DescribeAddressesResp struct { RequestId string `xml:"requestId"` Addresses []Address `xml:"addressesSet>item"` }
Response to a DescribeAddresses request.
See http://goo.gl/zW7J4p for more details.
type DescribeInstanceStatusResponse ¶
type DescribeInstanceStatusResponse struct { RequestId string `xml:"requestId"` InstanceStatuses []InstanceStatus `xml:"instanceStatusSet>item"` }
type DescribeInstancesResp ¶
type DescribeInstancesResp struct { RequestId string `xml:"requestId"` Reservations []Reservation `xml:"reservationSet>item"` }
Response to a DescribeInstances request.
See http://goo.gl/mLbmw for more details.
type DescribeInternetGatewaysResp ¶
type DescribeInternetGatewaysResp struct { RequestId string `xml:"requestId"` InternetGateway []InternetGatewayStruct `xml:"internetGatewaySet>item"` }
type DescribeReservedInstancesResponse ¶
type DescribeReservedInstancesResponse struct { RequestId string `xml:"requestId"` ReservedInstances []ReservedInstancesResponseItem `xml:"reservedInstancesSet>item"` }
DescribeReservedInstancesResponse structure returned from a DescribeReservedInstances request.
See
type DescribeTagsResp ¶
type DescribeTagsResp struct { RequestId string `xml:"requestId"` Tags []DescribedTag `xml:"tagSet>item"` }
Response to a DescribeTags request.
See http://goo.gl/hgJjO7 for more details.
type DescribeVolumesResp ¶
type DescribeVolumesResp struct { RequestId string `xml:"requestId"` Volumes []VolumeStruct `xml:"volumeSet>item"` }
type DescribeVpcsResp ¶
type DescribeVpnConnectionsResp ¶
type DescribeVpnConnectionsResp struct { RequestId string `xml:"requestId"` VpnConnections []VpnConnectionStruct `xml:"vpnConnectionSet>item"` }
type DescribeVpnGatewaysResp ¶
type DescribeVpnGatewaysResp struct { RequestId string `xml:"requestId"` VpnGateway []VpnGatewayStruct `xml:"vpnGatewaySet>item"` }
type DescribedTag ¶
type DescribedTag struct { ResourceId string `xml:"resourceId"` ResourceType string `xml:"resourceType"` Key string `xml:"key"` Value string `xml:"value"` }
DescribedTag represents key-value metadata used to classify and organize EC2 instances. Also includes the Resource ID and type the tag is attached to
See http://goo.gl/hgJjO7 for more details.
type DiassociateAddressResp ¶
type DiassociateAddressResp struct { RequestId string `xml:"requestId"` Return bool `xml:"return"` }
Response to a Diassociate request
See http://goo.gl/Dapkuzfor more details
type EC2 ¶
The EC2 type encapsulates operations with a specific EC2 region.
func (*EC2) AllocateAddress ¶
func (ec2 *EC2) AllocateAddress(domain string) (resp *AllocateAddressResp, err error)
Allocates a new Elastic ip address. The domain parameter is optional and is used for provisioning an ip address in EC2 or in VPC respectively
See http://goo.gl/aLPmbm for more details
func (*EC2) AssociateAddress ¶
func (ec2 *EC2) AssociateAddress(options *AssociateAddressOptions) (resp *AssociateAddressResp, err error)
Associate an Elastic ip address to an instance id or a network interface
See http://goo.gl/hhj4z7 for more details
func (*EC2) AttachVolume ¶
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) CopyImage ¶
func (ec2 *EC2) CopyImage(sourceRegion aws.Region, imageId, name, description string) (resp *CreateImageResp, err error)
CopyImage initiates the copy of an AMI from the specified source region to the current region.
see http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CopyImage.html for more details.
func (*EC2) CreateImage ¶
func (ec2 *EC2) CreateImage(instanceId, name, description string, noReboot bool) (resp *CreateImageResp, err error)
CreateImage creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.
see http://goo.gl/MnMunA 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) CreateVolume ¶
func (ec2 *EC2) CreateVolume(options CreateVolumeOptions) (resp *CreateVolumeResp, err error)
CreateVolume creates an Amazon EBS volume that can be attached to an instance in the same Availability Zone.
See http://goo.gl/DERo1w 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(ssid 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) DeleteTags ¶
func (ec2 *EC2) DeleteTags(instIds []string, tags []Tag) (resp *SimpleResp, err error)
DeleteTags deletes the specified set of tags from the specified set of resources.
See http://goo.gl/t6XvYh for more details
func (*EC2) DeregisterImage ¶
func (ec2 *EC2) DeregisterImage(imageId string) (resp *DeregisterImageResponse, err error)
See
func (*EC2) DescribeAddresses ¶
func (ec2 *EC2) DescribeAddresses(publicIps []string, allocationIds []string, filter *Filter) (resp *DescribeAddressesResp, err error)
DescribeAddresses returns details about one or more Elastic IP Addresses. Returned addresses can be filtered by Public IP, Allocation ID or multiple filters
See http://goo.gl/zW7J4p for more details.
func (*EC2) DescribeInstanceStatus ¶
func (ec2 *EC2) DescribeInstanceStatus(instIds []string, filter *Filter) (resp *DescribeInstanceStatusResponse, err error)
func (*EC2) DescribeInstances ¶
func (ec2 *EC2) DescribeInstances(instIds []string, filter *Filter) (resp *DescribeInstancesResp, 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) DescribeInternetGateways ¶
func (ec2 *EC2) DescribeInternetGateways(InternetGatewayIds []string, filter *Filter) (resp *DescribeInternetGatewaysResp, err error)
func (*EC2) DescribeReservedInstances ¶
func (ec2 *EC2) DescribeReservedInstances(instIds []string, filter *Filter) (resp *DescribeReservedInstancesResponse, err error)
functions DescribeReservedInstances
See
func (*EC2) DescribeTags ¶
func (ec2 *EC2) DescribeTags(filter *Filter) (resp *DescribeTagsResp, err error)
DescribeTags returns tags about one or more EC2 Resources. Returned tags can be filtered.
See http://goo.gl/hgJjO7 for more details.
func (*EC2) DescribeVolumes ¶
func (ec2 *EC2) DescribeVolumes(volIds []string, filter *Filter) (resp *DescribeVolumesResp, err error)
func (*EC2) DescribeVpcs ¶
func (ec2 *EC2) DescribeVpcs(vpcIds []string, filter *Filter) (resp *DescribeVpcsResp, err error)
func (*EC2) DescribeVpnConnections ¶
func (ec2 *EC2) DescribeVpnConnections(VpnConnectionIds []string, filter *Filter) (resp *DescribeVpnConnectionsResp, err error)
func (*EC2) DescribeVpnGateways ¶
func (ec2 *EC2) DescribeVpnGateways(VpnGatewayIds []string, filter *Filter) (resp *DescribeVpnGatewaysResp, err error)
func (*EC2) DiassociateAddress ¶
func (ec2 *EC2) DiassociateAddress(publicIp, associationId string) (resp *DiassociateAddressResp, err error)
Diassociate an elastic ip address from an instance PublicIp - Required for EC2 AssociationId - Required for VPC See http://goo.gl/Dapkuz 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) 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) ReleaseAddress ¶
func (ec2 *EC2) ReleaseAddress(publicIp, allocationId string) (resp *ReleaseAddressResp, err error)
Release existing elastic ip address from the account PublicIp = Required for EC2 AllocationId = Required for VPC
See http://goo.gl/Ciw2Z8 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 *RunInstancesOptions) (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) Subnets ¶
func (ec2 *EC2) Subnets(ids []string, filter *Filter) (resp *SubnetsResp, err error)
Subnets returns details about VPC subnets. The ids are filter parameters, if provided, limit the subnets returned.
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 EventSetStruct ¶
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.DescribeInstances(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 IamInstanceProfile ¶
type IamInstanceProfile struct { ARN string `xml:"arn"` Id string `xml:"id"` Name string `xml:"name"` }
IamInstanceProfile See http://goo.gl/PjyijL 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"` Tags []Tag `xml:"tagSet>item"` 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 { // General instance information InstanceId string `xml:"instanceId"` // The ID of the instance launched InstanceType string `xml:"instanceType"` // The instance type eg. m1.small | m1.medium | m1.large etc AvailabilityZone string `xml:"placement>availabilityZone"` // The Availability Zone the instance is located in Tags []Tag `xml:"tagSet>item"` // Any tags assigned to the resource State InstanceState `xml:"instanceState"` // The current state of the instance Reason string `xml:"reason"` // The reason for the most recent state transition. This might be an empty string StateReason InstanceStateReason `xml:"stateReason"` // The reason for the most recent state transition ImageId string `xml:"imageId"` // The ID of the AMI used to launch the instance KeyName string `xml:"keyName"` // The key pair name, if this instance was launched with an associated key pair Monitoring string `xml:"monitoring>state"` // Valid values: disabled | enabled | pending IamInstanceProfile IamInstanceProfile `xml:"iamInstanceProfile"` // The IAM instance profile associated with the instance LaunchTime string `xml:"launchTime"` // The time the instance was launched OwnerId string // This isn't currently returned in the response, and is taken from the parent reservation // More specific information Architecture string `xml:"architecture"` // Valid values: i386 | x86_64 Hypervisor string `xml:"hypervisor"` // Valid values: ovm | xen KernelId string `xml:"kernelId"` // The kernel associated with this instance RamDiskId string `xml:"ramdiskId"` // The RAM disk associated with this instance Platform string `xml:"platform"` // The value is Windows for Windows AMIs; otherwise blank VirtualizationType string `xml:"virtualizationType"` // Valid values: paravirtual | hvm AMILaunchIndex int `xml:"amiLaunchIndex"` // The AMI launch index, which can be used to find this instance in the launch group PlacementGroupName string `xml:"placement>groupName"` // The name of the placement group the instance is in (for cluster compute instances) Tenancy string `xml:"placement>tenancy"` // (VPC only) Valid values: default | dedicated InstanceLifecycle string `xml:"instanceLifecycle"` // Spot instance? Valid values: "spot" or blank SpotInstanceRequestId string `xml:"spotInstanceRequestId"` // The ID of the Spot Instance request ClientToken string `xml:"clientToken"` // The idempotency token you provided when you launched the instance ProductCodes []ProductCode `xml:"productCodes>item"` // The product codes attached to this instance // Storage RootDeviceType string `xml:"rootDeviceType"` // Valid values: ebs | instance-store RootDeviceName string `xml:"rootDeviceName"` // The root device name (for example, /dev/sda1) BlockDevices []BlockDevice `xml:"blockDeviceMapping>item"` // Any block device mapping entries for the instance EbsOptimized bool `xml:"ebsOptimized"` // Indicates whether the instance is optimized for Amazon EBS I/O // Network DNSName string `xml:"dnsName"` // The public DNS name assigned to the instance. This element remains empty until the instance enters the running state PrivateDNSName string `xml:"privateDnsName"` // The private DNS name assigned to the instance. This DNS name can only be used inside the Amazon EC2 network. This element remains empty until the instance enters the running state IPAddress string `xml:"ipAddress"` // The public IP address assigned to the instance PrivateIPAddress string `xml:"privateIpAddress"` // The private IP address assigned to the instance SubnetId string `xml:"subnetId"` // The ID of the subnet in which the instance is running VpcId string `xml:"vpcId"` // The ID of the VPC in which the instance is running SecurityGroups []SecurityGroup `xml:"groupSet>item"` // A list of the security groups for the instance // Advanced Networking NetworkInterfaces []InstanceNetworkInterface `xml:"networkInterfaceSet>item"` // (VPC) One or more network interfaces for the instance SourceDestCheck bool `xml:"sourceDestCheck"` // Controls whether source/destination checking is enabled on the instance SriovNetSupport string `xml:"sriovNetSupport"` // Specifies whether enhanced networking is enabled. Valid values: simple }
Instance encapsulates a running instance in EC2.
See http://goo.gl/OCH8a for more details.
func (Instance) IsSpotInstance ¶
isSpotInstance returns if the instance is a spot instance
type InstanceNetworkInterface ¶
type InstanceNetworkInterface struct { Id string `xml:"networkInterfaceId"` Description string `xml:"description"` SubnetId string `xml:"subnetId"` VpcId string `xml:"vpcId"` OwnerId string `xml:"ownerId"` // The ID of the AWS account that created the network interface. Status string `xml:"status"` // Valid values: available | attaching | in-use | detaching MacAddress string `xml:"macAddress"` PrivateIPAddress string `xml:"privateIpAddress"` PrivateDNSName string `xml:"privateDnsName"` SourceDestCheck bool `xml:"sourceDestCheck"` SecurityGroups []SecurityGroup `xml:"groupSet>item"` Attachment InstanceNetworkInterfaceAttachment `xml:"attachment"` Association InstanceNetworkInterfaceAssociation `xml:"association"` PrivateIPAddresses []InstancePrivateIpAddress `xml:"privateIpAddressesSet>item"` }
InstanceNetworkInterface represents a network interface attached to an instance See http://goo.gl/9eW02N for more details.
type InstanceNetworkInterfaceAssociation ¶
type InstanceNetworkInterfaceAssociation struct { PublicIP string `xml:"publicIp"` // The address of the Elastic IP address bound to the network interface PublicDNSName string `xml:"publicDnsName"` // The public DNS name IPOwnerId string `xml:"ipOwnerId"` // The ID of the owner of the Elastic IP address }
Describes association information for an Elastic IP address. See http://goo.gl/YCDdMe for more details
type InstanceNetworkInterfaceAttachment ¶
type InstanceNetworkInterfaceAttachment struct { AttachmentID string `xml:"attachmentID"` // The ID of the network interface attachment. DeviceIndex int32 `xml:"deviceIndex"` // The index of the device on the instance for the network interface attachment. Status string `xml:"status"` // Valid values: attaching | attached | detaching | detached AttachTime string `xml:"attachTime"` // Time attached, as a Datetime DeleteOnTermination bool `xml:"deleteOnTermination"` // Indicates whether the network interface is deleted when the instance is terminated. }
InstanceNetworkInterfaceAttachment describes a network interface attachment to an instance See http://goo.gl/0ql0Cg for more details
type InstancePrivateIpAddress ¶
type InstancePrivateIpAddress struct { PrivateIPAddress string `xml:"privateIpAddress"` // The private IP address of the network interface PrivateDNSName string `xml:"privateDnsName"` // The private DNS name Primary bool `xml:"primary"` // Indicates whether this IP address is the primary private IP address of the network interface Association InstanceNetworkInterfaceAssociation `xml:"association"` // The association information for an Elastic IP address for the network interface }
InstancePrivateIpAddress describes a private IP address See http://goo.gl/irN646 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 InstanceStateReason ¶
InstanceStateReason describes a state change for an instance in EC2
See http://goo.gl/KZkbXi for more details
type InstanceStatus ¶
type InstanceStatus struct { InstanceId string `xml:"instanceId"` AvailabilityZone string `xml:"availabilityZone"` InstanceState string `xml:"instanceState>name"` InstanceStatus SystemStateStruct `xml:"instanceStatus"` SystemStatus SystemStateStruct `xml:"systemStatus"` EventDetails EventSetStruct `xml:"eventsSet"` }
type InternetGatewayStruct ¶
type NetworkInterface ¶
type NetworkInterface struct { AssociatePublicIpAddress bool SubnetId string Description string SecurityGroups []SecurityGroup DeleteOnTermination bool PrivateIpAddress string // primary private ip PrivateIpAddresses []InstancePrivateIpAddress }
NetworkInterface is for creating and attaching to ec2 instances on launch
type ProductCode ¶
type ProductCode struct { ProductCode string `xml:"productCode"` // The product code Type string `xml:"type"` // Valid values: devpay | marketplace }
ProductCode represents a product code See http://goo.gl/hswmQm for more details.
type RecurringCharge ¶
See
type ReleaseAddressResp ¶
Response to a ReleaseAddress request
See http://goo.gl/Ciw2Z8 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 ReservedInstancesResponseItem ¶
type ReservedInstancesResponseItem struct { ReservedInstanceId string `xml:"reservedInstancesId"` InstanceType string `xml:"instanceType"` AvailabilityZone string `xml:"availabilityZone"` Start string `xml:"start"` Duration uint64 `xml:"duration"` End string `xml:"end"` FixedPrice float32 `xml:"fixedPrice"` UsagePrice float32 `xml:"usagePrice"` InstanceCount int `xml:"instanceCount"` ProductDescription string `xml:"productDescription"` State string `xml:"state"` Tags []Tag `xml:"tagSet->item"` InstanceTenancy string `xml:"instanceTenancy"` CurrencyCode string `xml:"currencyCode"` OfferingType string `xml:"offeringType"` RecurringCharges []RecurringCharge `xml:"recurringCharges>item"` }
See
type RunInstancesOptions ¶
type RunInstancesOptions struct { ImageId string MinCount int MaxCount int KeyName string InstanceType string SecurityGroups []SecurityGroup KernelId string RamdiskId string UserData []byte AvailabilityZone string PlacementGroupName string Tenancy string Monitoring bool SubnetId string DisableAPITermination bool ShutdownBehavior string PrivateIPAddress string IamInstanceProfile IamInstanceProfile BlockDeviceMappings []BlockDeviceMapping EbsOptimized bool NetworkInterfaces []NetworkInterface }
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"` IPPermsEgress []IPPerm `xml:"ipPermissionsEgress>item"` VpcId string `xml:"vpcId"` Tags []Tag `xml:"tagSet>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 Subnet ¶
type Subnet struct { Id string `xml:"subnetId"` State string `xml:"state"` VpcId string `xml:"vpcId"` CidrBlock string `xml:"cidrBlock"` AvailableIpAddressCount int `xml:"availableIpAddressCount"` AvailabilityZone string `xml:"availabilityZone"` DefaultForAz bool `xml:"defaultForAz"` MapPublicIpOnLaunch bool `xml:"mapPublicIpOnLaunch"` Tags []Tag `xml:"tagSet>item"` }
Subnet represents details about a given VPC subnet
type SubnetsResp ¶
type SystemStateStruct ¶
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.
type VolumeStruct ¶
type VolumeStruct struct { VolumeId string `xml:"volumeId"` Size int `xml:"size"` SnapShotId string `xml:"snapshotId"` AvailabilityZone string `xml:"availabilityZone"` Status string `xml:"status"` CreateTime string `xml:"createTime"` AttachmentSet AttachmentSetStruct `xml:"attachmentSet>item"` VolumeType string `xml:"volumeType"` Encrypted string `xml:"encrypted"` }
type VpnConnectionStruct ¶
type VpnGatewayStruct ¶
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. |