goamz: launchpad.net/goamz/aws Index | Files

package aws

import "launchpad.net/goamz/aws"

Index

Package Files

attempt.go aws.go sign.go

Constants

const (
    ISO8601BasicFormat      = "20060102T150405Z"
    ISO8601BasicFormatShort = "20060102"
)

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",
    SignV2,
}
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",
    SignV2,
}
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",
    SignV2,
}
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://sdb.cn-north-1.amazonaws.com.cn",
    "https://sns.cn-north-1.amazonaws.com.cn",
    "https://sqs.cn-north-1.amazonaws.com.cn",
    "https://iam.amazonaws.com.cn",
    SignV4Factory("cn-north-1"),
}
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",
    SignV2,
}
var Regions = map[string]Region{
    APNortheast.Name:  APNortheast,
    APSoutheast.Name:  APSoutheast,
    APSoutheast2.Name: APSoutheast2,
    EUWest.Name:       EUWest,
    USEast.Name:       USEast,
    USWest.Name:       USWest,
    USWest2.Name:      USWest2,
    SAEast.Name:       SAEast,
    CNNorth.Name:      CNNorth,
}
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",
    SignV2,
}
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",
    SignV2,
}
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",
    SignV2,
}
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",
    SignV2,
}

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 SignV2 Uses

func SignV2(req *http.Request, auth Auth) (err error)

SignV2 signs an HTTP request utilizing version 2 of the AWS signature, and the given credentials.

func SignV4 Uses

func SignV4(req *http.Request, auth Auth, regionName string) (err error)

SignV4 signs an HTTP request utilizing version 4 of the AWS signature, and the given credentials.

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 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 variables are used as the first preference, but EC2_ACCESS_KEY and EC2_SECRET_KEY environment variables are also supported.

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
    Sign                 Signer // Method which will be used to sign requests.
}

Region defines the URLs where AWS services may be accessed.

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

type Signer Uses

type Signer func(*http.Request, Auth) error

func SignV4Factory Uses

func SignV4Factory(regionName string) Signer

SignV4Factory returns a version 4 Signer which will utilize the given region name.

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