goamz: github.com/mitchellh/goamz/aws Index | Files

package aws

import "github.com/mitchellh/goamz/aws"

goamz - Go packages to interact with the Amazon Web Services.

https://wiki.ubuntu.com/goamz

Copyright (c) 2011 Canonical Ltd.

Written by Gustavo Niemeyer <gustavo.niemeyer@canonical.com>

Index

Package Files

attempt.go aws.go client.go

Variables

var APNortheast = Region{
    "ap-northeast-1",
    "https://ec2.ap-northeast-1.amazonaws.com",
    "https://s3-ap-northeast-1.amazonaws.com",
    "",
    true,
    true,
    "https://sdb.ap-northeast-1.amazonaws.com",
    "https://sns.ap-northeast-1.amazonaws.com",
    "https://sqs.ap-northeast-1.amazonaws.com",
    "https://iam.amazonaws.com",
    "https://elasticloadbalancing.ap-northeast-1.amazonaws.com",
    "https://autoscaling.ap-northeast-1.amazonaws.com",
    "https://rds.ap-northeast-1.amazonaws.com",
    "https://route53.amazonaws.com",
}
var APSoutheast = Region{
    "ap-southeast-1",
    "https://ec2.ap-southeast-1.amazonaws.com",
    "https://s3-ap-southeast-1.amazonaws.com",
    "",
    true,
    true,
    "https://sdb.ap-southeast-1.amazonaws.com",
    "https://sns.ap-southeast-1.amazonaws.com",
    "https://sqs.ap-southeast-1.amazonaws.com",
    "https://iam.amazonaws.com",
    "https://elasticloadbalancing.ap-southeast-1.amazonaws.com",
    "https://autoscaling.ap-southeast-1.amazonaws.com",
    "https://rds.ap-southeast-1.amazonaws.com",
    "https://route53.amazonaws.com",
}
var APSoutheast2 = Region{
    "ap-southeast-2",
    "https://ec2.ap-southeast-2.amazonaws.com",
    "https://s3-ap-southeast-2.amazonaws.com",
    "",
    true,
    true,
    "https://sdb.ap-southeast-2.amazonaws.com",
    "https://sns.ap-southeast-2.amazonaws.com",
    "https://sqs.ap-southeast-2.amazonaws.com",
    "https://iam.amazonaws.com",
    "https://elasticloadbalancing.ap-southeast-2.amazonaws.com",
    "https://autoscaling.ap-southeast-2.amazonaws.com",
    "https://rds.ap-southeast-2.amazonaws.com",
    "https://route53.amazonaws.com",
}
var CNNorth = Region{
    "cn-north-1",
    "https://ec2.cn-north-1.amazonaws.com.cn",
    "https://s3.cn-north-1.amazonaws.com.cn",
    "",
    true,
    true,
    "",
    "https://sns.cn-north-1.amazonaws.com.cn",
    "https://sqs.cn-north-1.amazonaws.com.cn",
    "https://iam.cn-north-1.amazonaws.com.cn",
    "https://elasticloadbalancing.cn-north-1.amazonaws.com.cn",
    "https://autoscaling.cn-north-1.amazonaws.com.cn",
    "https://rds.cn-north-1.amazonaws.com.cn",
    "https://route53.amazonaws.com",
}
var EUCentral = Region{
    "eu-central-1",
    "https://ec2.eu-central-1.amazonaws.com",
    "https://s3-eu-central-1.amazonaws.com",
    "",
    true,
    true,
    "",
    "https://sns.eu-central-1.amazonaws.com",
    "https://sqs.eu-central-1.amazonaws.com",
    "https://iam.amazonaws.com",
    "https://elasticloadbalancing.eu-central-1.amazonaws.com",
    "https://autoscaling.eu-central-1.amazonaws.com",
    "https://rds.eu-central-1.amazonaws.com",
    "https://route53.amazonaws.com",
}
var EUWest = Region{
    "eu-west-1",
    "https://ec2.eu-west-1.amazonaws.com",
    "https://s3-eu-west-1.amazonaws.com",
    "",
    true,
    true,
    "https://sdb.eu-west-1.amazonaws.com",
    "https://sns.eu-west-1.amazonaws.com",
    "https://sqs.eu-west-1.amazonaws.com",
    "https://iam.amazonaws.com",
    "https://elasticloadbalancing.eu-west-1.amazonaws.com",
    "https://autoscaling.eu-west-1.amazonaws.com",
    "https://rds.eu-west-1.amazonaws.com",
    "https://route53.amazonaws.com",
}
var Regions = map[string]Region{
    APNortheast.Name:  APNortheast,
    APSoutheast.Name:  APSoutheast,
    APSoutheast2.Name: APSoutheast2,
    EUWest.Name:       EUWest,
    EUCentral.Name:    EUCentral,
    USEast.Name:       USEast,
    USWest.Name:       USWest,
    USWest2.Name:      USWest2,
    SAEast.Name:       SAEast,
    USGovWest.Name:    USGovWest,
    CNNorth.Name:      CNNorth,
}
var RetryingClient = NewClient(retryingTransport)

Exported default client

var SAEast = Region{
    "sa-east-1",
    "https://ec2.sa-east-1.amazonaws.com",
    "https://s3-sa-east-1.amazonaws.com",
    "",
    true,
    true,
    "https://sdb.sa-east-1.amazonaws.com",
    "https://sns.sa-east-1.amazonaws.com",
    "https://sqs.sa-east-1.amazonaws.com",
    "https://iam.amazonaws.com",
    "https://elasticloadbalancing.sa-east-1.amazonaws.com",
    "https://autoscaling.sa-east-1.amazonaws.com",
    "https://rds.sa-east-1.amazonaws.com",
    "https://route53.amazonaws.com",
}
var USEast = Region{
    "us-east-1",
    "https://ec2.us-east-1.amazonaws.com",
    "https://s3.amazonaws.com",
    "",
    false,
    false,
    "https://sdb.amazonaws.com",
    "https://sns.us-east-1.amazonaws.com",
    "https://sqs.us-east-1.amazonaws.com",
    "https://iam.amazonaws.com",
    "https://elasticloadbalancing.us-east-1.amazonaws.com",
    "https://autoscaling.us-east-1.amazonaws.com",
    "https://rds.us-east-1.amazonaws.com",
    "https://route53.amazonaws.com",
}
var USGovWest = Region{
    "us-gov-west-1",
    "https://ec2.us-gov-west-1.amazonaws.com",
    "https://s3-fips-us-gov-west-1.amazonaws.com",
    "",
    true,
    true,
    "",
    "https://sns.us-gov-west-1.amazonaws.com",
    "https://sqs.us-gov-west-1.amazonaws.com",
    "https://iam.us-gov.amazonaws.com",
    "https://elasticloadbalancing.us-gov-west-1.amazonaws.com",
    "https://autoscaling.us-gov-west-1.amazonaws.com",
    "https://rds.us-gov-west-1.amazonaws.com",
    "https://route53.amazonaws.com",
}
var USWest = Region{
    "us-west-1",
    "https://ec2.us-west-1.amazonaws.com",
    "https://s3-us-west-1.amazonaws.com",
    "",
    true,
    true,
    "https://sdb.us-west-1.amazonaws.com",
    "https://sns.us-west-1.amazonaws.com",
    "https://sqs.us-west-1.amazonaws.com",
    "https://iam.amazonaws.com",
    "https://elasticloadbalancing.us-west-1.amazonaws.com",
    "https://autoscaling.us-west-1.amazonaws.com",
    "https://rds.us-west-1.amazonaws.com",
    "https://route53.amazonaws.com",
}
var USWest2 = Region{
    "us-west-2",
    "https://ec2.us-west-2.amazonaws.com",
    "https://s3-us-west-2.amazonaws.com",
    "",
    true,
    true,
    "https://sdb.us-west-2.amazonaws.com",
    "https://sns.us-west-2.amazonaws.com",
    "https://sqs.us-west-2.amazonaws.com",
    "https://iam.amazonaws.com",
    "https://elasticloadbalancing.us-west-2.amazonaws.com",
    "https://autoscaling.us-west-2.amazonaws.com",
    "https://rds.us-west-2.amazonaws.com",
    "https://route53.amazonaws.com",
}

func Encode Uses

func Encode(s string) string

Encode takes a string and URI-encodes it in a way suitable to be used in AWS signatures.

func ExpBackoff Uses

func ExpBackoff(try int)

func GetMetaData Uses

func GetMetaData(path string) (contents []byte, err error)

GetMetaData retrieves instance metadata about the current machine.

See http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html for more details.

func LinearBackoff Uses

func LinearBackoff(try int)

func NewClient Uses

func NewClient(rt *ResilientTransport) *http.Client

Convenience method for creating an http client

type Attempt Uses

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

func (*Attempt) HasNext Uses

func (a *Attempt) HasNext() bool

HasNext returns whether another attempt will be made if the current one fails. If it returns true, the following call to Next is guaranteed to return true.

func (*Attempt) Next Uses

func (a *Attempt) Next() bool

Next waits until it is time to perform the next attempt or returns false if it is time to stop trying.

type AttemptStrategy Uses

type AttemptStrategy struct {
    Total time.Duration // total duration of attempt.
    Delay time.Duration // interval between each try in the burst.
    Min   int           // minimum number of retries; overrides Total
}

AttemptStrategy represents a strategy for waiting for an action to complete successfully. This is an internal type used by the implementation of other goamz packages.

func (AttemptStrategy) Start Uses

func (s AttemptStrategy) Start() *Attempt

Start begins a new sequence of attempts for the given strategy.

type Auth Uses

type Auth struct {
    AccessKey, SecretKey, Token string
}

func EnvAuth Uses

func EnvAuth() (auth Auth, err error)

EnvAuth creates an Auth based on environment information. The AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment For accounts that require a security token, it is read from AWS_SECURITY_TOKEN variables are used.

func GetAuth Uses

func GetAuth(accessKey string, secretKey string) (auth Auth, err error)

GetAuth creates an Auth based on either passed in credentials, environment information or instance based role credentials.

func SharedAuth Uses

func SharedAuth() (auth Auth, err error)

SharedAuth creates an Auth based on shared credentials stored in $HOME/.aws/credentials. The AWS_PROFILE environment variables is used to select the profile.

type DeadlineFunc Uses

type DeadlineFunc func() time.Time

type Region Uses

type Region struct {
    Name                 string // the canonical name of this region.
    EC2Endpoint          string
    S3Endpoint           string
    S3BucketEndpoint     string // Not needed by AWS S3. Use ${bucket} for bucket name.
    S3LocationConstraint bool   // true if this region requires a LocationConstraint declaration.
    S3LowercaseBucket    bool   // true if the region requires bucket names to be lower case.
    SDBEndpoint          string
    SNSEndpoint          string
    SQSEndpoint          string
    IAMEndpoint          string
    ELBEndpoint          string
    AutoScalingEndpoint  string
    RdsEndpoint          string
    Route53Endpoint      string
}

Region defines the URLs where AWS services may be accessed.

See http://goo.gl/d8BP1 for more details.

type ResilientTransport Uses

type ResilientTransport struct {
    // Timeout is the maximum amount of time a dial will wait for
    // a connect to complete.
    //
    // The default is no timeout.
    //
    // With or without a timeout, the operating system may impose
    // its own earlier timeout. For instance, TCP timeouts are
    // often around 3 minutes.
    DialTimeout time.Duration

    // MaxTries, if non-zero, specifies the number of times we will retry on
    // failure. Retries are only attempted for temporary network errors or known
    // safe failures.
    MaxTries    int
    Deadline    DeadlineFunc
    ShouldRetry RetryableFunc
    Wait        WaitFunc
    // contains filtered or unexported fields
}

func (*ResilientTransport) RoundTrip Uses

func (t *ResilientTransport) RoundTrip(req *http.Request) (*http.Response, error)

type RetryableFunc Uses

type RetryableFunc func(*http.Request, *http.Response, error) bool

type WaitFunc Uses

type WaitFunc func(try int)

Package aws imports 10 packages (graph) and is imported by 813 packages. Updated 2016-07-18. Refresh now. Tools for package owners.