vendor: Update github.com/aws/aws-sdk-go

This commit is contained in:
Radek Simko 2016-04-02 16:17:21 +01:00
parent 0194cfda0a
commit fb91833c80
15 changed files with 1490 additions and 252 deletions

228
Godeps/Godeps.json generated
View File

@ -227,143 +227,143 @@
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/awserr",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/awsutil",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/client",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/client/metadata",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/corehandlers",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/credentials",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/defaults",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/ec2metadata",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/request",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/aws/session",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/endpoints",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/ec2query",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/query",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/rest",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/restjson",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/restxml",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/signer/v4",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/private/waiter",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/apigateway",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/autoscaling",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/cloudformation",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/cloudfront",
@ -372,148 +372,148 @@
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/cloudtrail",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/cloudwatch",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/cloudwatchevents",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/cloudwatchlogs",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/codecommit",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/codedeploy",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/directoryservice",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/dynamodb",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/ec2",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/ecr",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/ecs",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/efs",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/elasticache",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/elasticbeanstalk",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/elasticsearchservice",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/elb",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/firehose",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/glacier",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/iam",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/kinesis",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/kms",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/lambda",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/opsworks",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/rds",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/redshift",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/route53",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/s3",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/sns",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/aws/aws-sdk-go/service/sqs",
"Comment": "v1.1.14",
"Rev": "6876e9922ff299adf36e43e04c94820077968b3b"
"Comment": "v1.1.15",
"Rev": "e7cf1e5986499eea7d4a87868f1eb578c8f2045a"
},
{
"ImportPath": "github.com/bgentry/speakeasy",

View File

@ -32,19 +32,37 @@ func (d DefaultRetryer) MaxRetries() int {
// RetryRules returns the delay duration before retrying this request again
func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration {
// Set the upper limit of delay in retrying at ~five minutes
minTime := 30
throttle := d.shouldThrottle(r)
if throttle {
minTime = 1000
}
retryCount := r.RetryCount
if retryCount > 13 {
retryCount = 13
} else if throttle && retryCount > 8 {
retryCount = 8
}
delay := (1 << uint(retryCount)) * (rand.Intn(30) + 30)
delay := (1 << uint(retryCount)) * (rand.Intn(30) + minTime)
return time.Duration(delay) * time.Millisecond
}
// ShouldRetry returns if the request should be retried.
// ShouldRetry returns true if the request should be retried.
func (d DefaultRetryer) ShouldRetry(r *request.Request) bool {
if r.HTTPResponse.StatusCode >= 500 {
return true
}
return r.IsErrorRetryable()
return r.IsErrorRetryable() || d.shouldThrottle(r)
}
// ShouldThrottle returns true if the request should be throttled.
func (d DefaultRetryer) shouldThrottle(r *request.Request) bool {
if r.HTTPResponse.StatusCode == 502 ||
r.HTTPResponse.StatusCode == 503 ||
r.HTTPResponse.StatusCode == 504 {
return true
}
return r.IsErrorThrottle()
}

View File

@ -2,6 +2,7 @@ package ec2metadata
import (
"encoding/json"
"fmt"
"path"
"strings"
"time"
@ -49,7 +50,7 @@ func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument
resp, err := c.GetDynamicData("instance-identity/document")
if err != nil {
return EC2InstanceIdentityDocument{},
awserr.New("EC2RoleRequestError",
awserr.New("EC2MetadataRequestError",
"failed to get EC2 instance identity document", err)
}
@ -63,6 +64,31 @@ func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument
return doc, nil
}
// IAMInfo retrieves IAM info from the metadata API
func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) {
resp, err := c.GetMetadata("iam/info")
if err != nil {
return EC2IAMInfo{},
awserr.New("EC2MetadataRequestError",
"failed to get EC2 IAM info", err)
}
info := EC2IAMInfo{}
if err := json.NewDecoder(strings.NewReader(resp)).Decode(&info); err != nil {
return EC2IAMInfo{},
awserr.New("SerializationError",
"failed to decode EC2 IAM info", err)
}
if info.Code != "Success" {
errMsg := fmt.Sprintf("failed to get EC2 IAM Info (%s)", info.Code)
return EC2IAMInfo{},
awserr.New("EC2MetadataError", errMsg, nil)
}
return info, nil
}
// Region returns the region the instance is running in.
func (c *EC2Metadata) Region() (string, error) {
resp, err := c.GetMetadata("placement/availability-zone")
@ -85,6 +111,15 @@ func (c *EC2Metadata) Available() bool {
return true
}
// An EC2IAMInfo provides the shape for unmarshalling
// an IAM info from the metadata API
type EC2IAMInfo struct {
Code string
LastUpdated time.Time
InstanceProfileArn string
InstanceProfileID string
}
// An EC2InstanceIdentityDocument provides the shape for unmarshalling
// an instance identity document
type EC2InstanceIdentityDocument struct {

View File

@ -26,8 +26,11 @@ func WithRetryer(cfg *aws.Config, retryer Retryer) *aws.Config {
// retryableCodes is a collection of service response codes which are retry-able
// without any further action.
var retryableCodes = map[string]struct{}{
"RequestError": {},
"RequestTimeout": {},
"RequestError": {},
"RequestTimeout": {},
}
var throttleCodes = map[string]struct{}{
"ProvisionedThroughputExceededException": {},
"Throttling": {},
"ThrottlingException": {},
@ -46,6 +49,11 @@ var credsExpiredCodes = map[string]struct{}{
"RequestExpired": {}, // EC2 Only
}
func isCodeThrottle(code string) bool {
_, ok := throttleCodes[code]
return ok
}
func isCodeRetryable(code string) bool {
if _, ok := retryableCodes[code]; ok {
return true
@ -70,6 +78,17 @@ func (r *Request) IsErrorRetryable() bool {
return false
}
// IsErrorThrottle returns whether the error is to be throttled based on its code.
// Returns false if the request has no Error set
func (r *Request) IsErrorThrottle() bool {
if r.Error != nil {
if err, ok := r.Error.(awserr.Error); ok {
return isCodeThrottle(err.Code())
}
}
return false
}
// IsErrorExpired returns whether the error code is a credential expiry error.
// Returns false if the request has no Error set.
func (r *Request) IsErrorExpired() bool {

View File

@ -61,23 +61,41 @@ func (r ReaderSeekerCloser) Close() error {
type WriteAtBuffer struct {
buf []byte
m sync.Mutex
// GrowthCoeff defines the growth rate of the internal buffer. By
// default, the growth rate is 1, where expanding the internal
// buffer will allocate only enough capacity to fit the new expected
// length.
GrowthCoeff float64
}
// NewWriteAtBuffer creates a WriteAtBuffer with an internal buffer
// provided by buf.
func NewWriteAtBuffer(buf []byte) *WriteAtBuffer {
return &WriteAtBuffer{buf: buf}
}
// WriteAt writes a slice of bytes to a buffer starting at the position provided
// The number of bytes written will be returned, or error. Can overwrite previous
// written slices if the write ats overlap.
func (b *WriteAtBuffer) WriteAt(p []byte, pos int64) (n int, err error) {
pLen := len(p)
expLen := pos + int64(pLen)
b.m.Lock()
defer b.m.Unlock()
expLen := pos + int64(len(p))
if int64(len(b.buf)) < expLen {
newBuf := make([]byte, expLen)
copy(newBuf, b.buf)
b.buf = newBuf
if int64(cap(b.buf)) < expLen {
if b.GrowthCoeff < 1 {
b.GrowthCoeff = 1
}
newBuf := make([]byte, expLen, int64(b.GrowthCoeff*float64(expLen)))
copy(newBuf, b.buf)
b.buf = newBuf
}
b.buf = b.buf[:expLen]
}
copy(b.buf[pos:], p)
return len(p), nil
return pLen, nil
}
// Bytes returns a slice of bytes written to the buffer.

View File

@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK
const SDKVersion = "1.1.14"
const SDKVersion = "1.1.15"

View File

@ -14,15 +14,15 @@ func (c *AutoScaling) WaitUntilGroupExists(input *DescribeAutoScalingGroupsInput
Acceptors: []waiter.WaitAcceptor{
{
State: "success",
Matcher: "pathAll",
Argument: "length(AutoScalingGroups)",
Expected: 1,
Matcher: "path",
Argument: "length(AutoScalingGroups) > `0`",
Expected: true,
},
{
State: "retry",
Matcher: "pathAll",
Argument: "length(AutoScalingGroups)",
Expected: 0,
Matcher: "path",
Argument: "length(AutoScalingGroups) > `0`",
Expected: false,
},
},
}
@ -43,13 +43,13 @@ func (c *AutoScaling) WaitUntilGroupInService(input *DescribeAutoScalingGroupsIn
Acceptors: []waiter.WaitAcceptor{
{
State: "success",
Matcher: "pathAll",
Matcher: "path",
Argument: "contains(AutoScalingGroups[].[length(Instances[?LifecycleState=='InService']) >= MinSize][], `false`)",
Expected: false,
},
{
State: "retry",
Matcher: "pathAll",
Matcher: "path",
Argument: "contains(AutoScalingGroups[].[length(Instances[?LifecycleState=='InService']) >= MinSize][], `false`)",
Expected: true,
},
@ -72,15 +72,15 @@ func (c *AutoScaling) WaitUntilGroupNotExists(input *DescribeAutoScalingGroupsIn
Acceptors: []waiter.WaitAcceptor{
{
State: "success",
Matcher: "pathAll",
Argument: "length(AutoScalingGroups)",
Expected: 0,
Matcher: "path",
Argument: "length(AutoScalingGroups) > `0`",
Expected: false,
},
{
State: "retry",
Matcher: "pathAll",
Argument: "length(AutoScalingGroups)",
Expected: 1,
Matcher: "path",
Argument: "length(AutoScalingGroups) > `0`",
Expected: true,
},
},
}

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@ func (c *CloudFormation) WaitUntilStackCreateComplete(input *DescribeStacksInput
waiterCfg := waiter.Config{
Operation: "DescribeStacks",
Delay: 30,
MaxAttempts: 50,
MaxAttempts: 120,
Acceptors: []waiter.WaitAcceptor{
{
State: "success",
@ -24,6 +24,48 @@ func (c *CloudFormation) WaitUntilStackCreateComplete(input *DescribeStacksInput
Argument: "Stacks[].StackStatus",
Expected: "CREATE_FAILED",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "DELETE_COMPLETE",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "DELETE_IN_PROGRESS",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "DELETE_FAILED",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "ROLLBACK_COMPLETE",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "ROLLBACK_FAILED",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "ROLLBACK_IN_PROGRESS",
},
{
State: "failure",
Matcher: "error",
Argument: "",
Expected: "ValidationError",
},
},
}
@ -39,7 +81,7 @@ func (c *CloudFormation) WaitUntilStackDeleteComplete(input *DescribeStacksInput
waiterCfg := waiter.Config{
Operation: "DescribeStacks",
Delay: 30,
MaxAttempts: 25,
MaxAttempts: 120,
Acceptors: []waiter.WaitAcceptor{
{
State: "success",
@ -59,6 +101,113 @@ func (c *CloudFormation) WaitUntilStackDeleteComplete(input *DescribeStacksInput
Argument: "Stacks[].StackStatus",
Expected: "DELETE_FAILED",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "CREATE_COMPLETE",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "CREATE_FAILED",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "CREATE_IN_PROGRESS",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "ROLLBACK_COMPLETE",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "ROLLBACK_FAILED",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "ROLLBACK_IN_PROGRESS",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_COMPLETE",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_IN_PROGRESS",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_ROLLBACK_COMPLETE",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_ROLLBACK_FAILED",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_ROLLBACK_IN_PROGRESS",
},
},
}
w := waiter.Waiter{
Client: c,
Input: input,
Config: waiterCfg,
}
return w.Wait()
}
func (c *CloudFormation) WaitUntilStackExists(input *DescribeStacksInput) error {
waiterCfg := waiter.Config{
Operation: "DescribeStacks",
Delay: 5,
MaxAttempts: 20,
Acceptors: []waiter.WaitAcceptor{
{
State: "success",
Matcher: "status",
Argument: "",
Expected: 200,
},
{
State: "retry",
Matcher: "error",
Argument: "",
Expected: "ValidationError",
},
},
}
@ -74,7 +223,7 @@ func (c *CloudFormation) WaitUntilStackUpdateComplete(input *DescribeStacksInput
waiterCfg := waiter.Config{
Operation: "DescribeStacks",
Delay: 30,
MaxAttempts: 5,
MaxAttempts: 120,
Acceptors: []waiter.WaitAcceptor{
{
State: "success",
@ -88,6 +237,36 @@ func (c *CloudFormation) WaitUntilStackUpdateComplete(input *DescribeStacksInput
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_FAILED",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_ROLLBACK_COMPLETE",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_ROLLBACK_FAILED",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS",
},
{
State: "failure",
Matcher: "pathAny",
Argument: "Stacks[].StackStatus",
Expected: "UPDATE_ROLLBACK_IN_PROGRESS",
},
{
State: "failure",
Matcher: "error",
Argument: "",
Expected: "ValidationError",
},
},
}

View File

@ -2803,7 +2803,7 @@ type ListDeploymentsInput struct {
// queued deployments in the resulting list. In Progress: Include in-progress
// deployments in the resulting list. Succeeded: Include successful deployments
// in the resulting list. Failed: Include failed deployments in the resulting
// list. Aborted: Include aborted deployments in the resulting list.
// list. Stopped: Include stopped deployments in the resulting list.
IncludeOnlyStatuses []*string `locationName:"includeOnlyStatuses" type:"list"`
// An identifier returned from the previous list deployments call. It can be

View File

@ -1884,8 +1884,6 @@ type CopySnapshotInput struct {
// The name of an existing snapshot from which to copy.
SourceSnapshotName *string `type:"string" required:"true"`
TargetBucket *string `type:"string"`
// A name for the copied snapshot.
TargetSnapshotName *string `type:"string" required:"true"`
}
@ -4737,7 +4735,7 @@ type ResetCacheParameterGroupInput struct {
// An array of parameter names to be reset. If you are not resetting the entire
// cache parameter group, you must specify at least one parameter name.
ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"`
ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"`
// If true, all parameters in the cache parameter group will be reset to default
// values. If false, no such action occurs.

View File

@ -29,6 +29,35 @@ func (c *ELB) WaitUntilAnyInstanceInService(input *DescribeInstanceHealthInput)
return w.Wait()
}
func (c *ELB) WaitUntilInstanceDeregistered(input *DescribeInstanceHealthInput) error {
waiterCfg := waiter.Config{
Operation: "DescribeInstanceHealth",
Delay: 15,
MaxAttempts: 40,
Acceptors: []waiter.WaitAcceptor{
{
State: "success",
Matcher: "pathAll",
Argument: "InstanceStates[].State",
Expected: "OutOfService",
},
{
State: "success",
Matcher: "error",
Argument: "",
Expected: "InvalidInstance",
},
},
}
w := waiter.Waiter{
Client: c,
Input: input,
Config: waiterCfg,
}
return w.Wait()
}
func (c *ELB) WaitUntilInstanceInService(input *DescribeInstanceHealthInput) error {
waiterCfg := waiter.Config{
Operation: "DescribeInstanceHealth",

View File

@ -1696,9 +1696,9 @@ func (c *Redshift) DescribeTableRestoreStatusRequest(input *DescribeTableRestore
// Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot
// API action. If you don't specify a value for the TableRestoreRequestId parameter,
// then DescribeTableRestoreStatus returns the status of all in-progress table
// restore requests. Otherwise DescribeTableRestoreStatus returns the status
// of the table specified by TableRestoreRequestId.
// then DescribeTableRestoreStatus returns the status of all table restore requests
// ordered by the date and time of the request in ascending order. Otherwise
// DescribeTableRestoreStatus returns the status of the table specified by TableRestoreRequestId.
func (c *Redshift) DescribeTableRestoreStatus(input *DescribeTableRestoreStatusInput) (*DescribeTableRestoreStatusOutput, error) {
req, out := c.DescribeTableRestoreStatusRequest(input)
err := req.Send()
@ -1903,6 +1903,36 @@ func (c *Redshift) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutpu
return out, err
}
const opModifyClusterIamRoles = "ModifyClusterIamRoles"
// ModifyClusterIamRolesRequest generates a request for the ModifyClusterIamRoles operation.
func (c *Redshift) ModifyClusterIamRolesRequest(input *ModifyClusterIamRolesInput) (req *request.Request, output *ModifyClusterIamRolesOutput) {
op := &request.Operation{
Name: opModifyClusterIamRoles,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ModifyClusterIamRolesInput{}
}
req = c.newRequest(op, input, output)
output = &ModifyClusterIamRolesOutput{}
req.Data = output
return
}
// Modifies the list of AWS Identity and Access Management (IAM) roles that
// can be used by the cluster to access other AWS services.
//
// A cluster can have up to 10 IAM roles associated at any time.
func (c *Redshift) ModifyClusterIamRoles(input *ModifyClusterIamRolesInput) (*ModifyClusterIamRolesOutput, error) {
req, out := c.ModifyClusterIamRolesRequest(input)
err := req.Send()
return out, err
}
const opModifyClusterParameterGroup = "ModifyClusterParameterGroup"
// ModifyClusterParameterGroupRequest generates a request for the ModifyClusterParameterGroup operation.
@ -2492,6 +2522,10 @@ type Cluster struct {
// Values: active, applying
HsmStatus *HsmStatus `type:"structure"`
// A list of AWS Identity and Access Management (IAM) roles that can be used
// by the cluster to access other AWS services.
IamRoles []*ClusterIamRole `locationNameList:"ClusterIamRole" type:"list"`
// The AWS Key Management Service (KMS) key ID of the encryption key used to
// encrypt data in the cluster.
KmsKeyId *string `type:"string"`
@ -2545,6 +2579,34 @@ func (s Cluster) GoString() string {
return s.String()
}
// An AWS Identity and Access Management (IAM) role that can be used by the
// associated Amazon Redshift cluster to access other AWS services.
type ClusterIamRole struct {
_ struct{} `type:"structure"`
// Describes the status of the IAM role's association with an Amazon Redshift
// cluster.
//
// The following are possible statuses and descriptions. in-sync: The role
// is available for use by the cluster. adding: The role is in the process of
// being associated with the cluster. removing: The role is in the process of
// being disassociated with the cluster.
ApplyStatus *string `type:"string"`
// The Amazon Resource Name (ARN) of the IAM role. For example, arn:aws:iam::123456789012:role/RedshiftCopyUnload.
IamRoleArn *string `type:"string"`
}
// String returns the string representation
func (s ClusterIamRole) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ClusterIamRole) GoString() string {
return s.String()
}
// The identifier of a node in a cluster.
type ClusterNode struct {
_ struct{} `type:"structure"`
@ -3011,6 +3073,14 @@ type CreateClusterInput struct {
// the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
HsmConfigurationIdentifier *string `type:"string"`
// A list of AWS Identity and Access Management (IAM) roles that can be used
// by the cluster to access other AWS services. You must supply the IAM roles
// in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles
// in a single request.
//
// A cluster can have up to 10 IAM roles associated at any time.
IamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
// The AWS Key Management Service (KMS) key ID of the encryption key that you
// want to use to encrypt data in the cluster.
KmsKeyId *string `type:"string"`
@ -6005,6 +6075,50 @@ func (s LoggingStatus) GoString() string {
return s.String()
}
type ModifyClusterIamRolesInput struct {
_ struct{} `type:"structure"`
// Zero or more IAM roles (in their ARN format) to associate with the cluster.
// You can associate up to 10 IAM roles with a single cluster in a single request.
AddIamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
// The unique identifier of the cluster for which you want to associate or disassociate
// IAM roles.
ClusterIdentifier *string `type:"string" required:"true"`
// Zero or more IAM roles (in their ARN format) to disassociate from the cluster.
// You can disassociate up to 10 IAM roles from a single cluster in a single
// request.
RemoveIamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
}
// String returns the string representation
func (s ModifyClusterIamRolesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyClusterIamRolesInput) GoString() string {
return s.String()
}
type ModifyClusterIamRolesOutput struct {
_ struct{} `type:"structure"`
// Describes a cluster.
Cluster *Cluster `type:"structure"`
}
// String returns the string representation
func (s ModifyClusterIamRolesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ModifyClusterIamRolesOutput) GoString() string {
return s.String()
}
type ModifyClusterInput struct {
_ struct{} `type:"structure"`
@ -6816,6 +6930,14 @@ type RestoreFromClusterSnapshotInput struct {
// the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
HsmConfigurationIdentifier *string `type:"string"`
// A list of AWS Identity and Access Management (IAM) roles that can be used
// by the cluster to access other AWS services. You must supply the IAM roles
// in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles
// in a single request.
//
// A cluster can have up to 10 IAM roles associated at any time.
IamRoles []*string `locationNameList:"IamRoleArn" type:"list"`
// The AWS Key Management Service (KMS) key ID of the encryption key that you
// want to use to encrypt data in the cluster that you restore from a shared
// snapshot.
@ -6965,7 +7087,8 @@ type RestoreTableFromClusterSnapshotInput struct {
// The name of the source database that contains the table to restore from.
SourceDatabaseName *string `type:"string" required:"true"`
// The name of the source schema that contains the table to restore from.
// The name of the source schema that contains the table to restore from. If
// you do not specify a SourceSchemaName value, the default is public.
SourceSchemaName *string `type:"string"`
// The name of the source table to restore from.
@ -7316,7 +7439,7 @@ type TableRestoreStatus struct {
ClusterIdentifier *string `type:"string"`
// A description of the status of the table restore request. Status values include
// SUCCEEDED, FAILED, CANCELLED, PENDING, IN_PROGRESS.
// SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS.
Message *string `type:"string"`
// The name of the table to create as a result of the table restore request.
@ -7343,7 +7466,7 @@ type TableRestoreStatus struct {
// A value that describes the current state of the table restore request.
//
// Valid Values: SUCCEEDED, FAILED, CANCELLED, PENDING, IN_PROGRESS
// Valid Values: SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS
Status *string `type:"string" enum:"TableRestoreStatusType"`
// The unique identifier for the table restore request.

View File

@ -0,0 +1,30 @@
// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
package route53
import (
"github.com/aws/aws-sdk-go/private/waiter"
)
func (c *Route53) WaitUntilResourceRecordSetsChanged(input *GetChangeInput) error {
waiterCfg := waiter.Config{
Operation: "GetChange",
Delay: 30,
MaxAttempts: 60,
Acceptors: []waiter.WaitAcceptor{
{
State: "success",
Matcher: "path",
Argument: "ChangeInfo.Status",
Expected: "INSYNC",
},
},
}
w := waiter.Waiter{
Client: c,
Input: input,
Config: waiterCfg,
}
return w.Wait()
}

View File

@ -47,9 +47,7 @@ func (c *SQS) AddPermissionRequest(input *AddPermissionInput) (req *request.Requ
//
// Some API actions take lists of parameters. These lists are specified using
// the param.n notation. Values of n are integers starting from 1. For example,
// a parameter list with two elements looks like this: &Attribute.1=this
//
// &Attribute.2=that
// a parameter list with two elements looks like this:
func (c *SQS) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) {
req, out := c.AddPermissionRequest(input)
err := req.Send()
@ -145,9 +143,7 @@ func (c *SQS) ChangeMessageVisibilityBatchRequest(input *ChangeMessageVisibility
// returns an HTTP status code of 200. Some API actions take lists of parameters.
// These lists are specified using the param.n notation. Values of n are integers
// starting from 1. For example, a parameter list with two elements looks like
// this: &Attribute.1=this
//
// &Attribute.2=that
// this:
func (c *SQS) ChangeMessageVisibilityBatch(input *ChangeMessageVisibilityBatchInput) (*ChangeMessageVisibilityBatchOutput, error) {
req, out := c.ChangeMessageVisibilityBatchRequest(input)
err := req.Send()
@ -196,9 +192,7 @@ func (c *SQS) CreateQueueRequest(input *CreateQueueInput) (req *request.Request,
//
// Some API actions take lists of parameters. These lists are specified using
// the param.n notation. Values of n are integers starting from 1. For example,
// a parameter list with two elements looks like this: &Attribute.1=this
//
// &Attribute.2=that
// a parameter list with two elements looks like this:
func (c *SQS) CreateQueue(input *CreateQueueInput) (*CreateQueueOutput, error) {
req, out := c.CreateQueueRequest(input)
err := req.Send()
@ -283,9 +277,7 @@ func (c *SQS) DeleteMessageBatchRequest(input *DeleteMessageBatchInput) (req *re
//
// Some API actions take lists of parameters. These lists are specified using
// the param.n notation. Values of n are integers starting from 1. For example,
// a parameter list with two elements looks like this: &Attribute.1=this
//
// &Attribute.2=that
// a parameter list with two elements looks like this:
func (c *SQS) DeleteMessageBatch(input *DeleteMessageBatchInput) (*DeleteMessageBatchOutput, error) {
req, out := c.DeleteMessageBatchRequest(input)
err := req.Send()
@ -358,27 +350,27 @@ func (c *SQS) GetQueueAttributesRequest(input *GetQueueAttributesInput) (req *re
}
// Gets attributes for the specified queue. The following attributes are supported:
// All - returns all values. ApproximateNumberOfMessages - returns the approximate
// All - returns all values. ApproximateNumberOfMessages - returns the approximate
// number of visible messages in a queue. For more information, see Resources
// Required to Process Messages (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ApproximateNumber.html)
// in the Amazon SQS Developer Guide. ApproximateNumberOfMessagesNotVisible
// in the Amazon SQS Developer Guide. ApproximateNumberOfMessagesNotVisible
// - returns the approximate number of messages that are not timed-out and not
// deleted. For more information, see Resources Required to Process Messages
// (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/ApproximateNumber.html)
// in the Amazon SQS Developer Guide. VisibilityTimeout - returns the visibility
// in the Amazon SQS Developer Guide. VisibilityTimeout - returns the visibility
// timeout for the queue. For more information about visibility timeout, see
// Visibility Timeout (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html)
// in the Amazon SQS Developer Guide. CreatedTimestamp - returns the time when
// the queue was created (epoch time in seconds). LastModifiedTimestamp - returns
// the time when the queue was last changed (epoch time in seconds). Policy
// - returns the queue's policy. MaximumMessageSize - returns the limit of
// how many bytes a message can contain before Amazon SQS rejects it. MessageRetentionPeriod
// - returns the number of seconds Amazon SQS retains a message. QueueArn -
// returns the queue's Amazon resource name (ARN). ApproximateNumberOfMessagesDelayed
// in the Amazon SQS Developer Guide. CreatedTimestamp - returns the time when
// the queue was created (epoch time in seconds). LastModifiedTimestamp - returns
// the time when the queue was last changed (epoch time in seconds). Policy
// - returns the queue's policy. MaximumMessageSize - returns the limit of how
// many bytes a message can contain before Amazon SQS rejects it. MessageRetentionPeriod
// - returns the number of seconds Amazon SQS retains a message. QueueArn -
// returns the queue's Amazon resource name (ARN). ApproximateNumberOfMessagesDelayed
// - returns the approximate number of messages that are pending to be added
// to the queue. DelaySeconds - returns the default delay on the queue in seconds.
// ReceiveMessageWaitTimeSeconds - returns the time for which a ReceiveMessage
// call will wait for a message to arrive. RedrivePolicy - returns the parameters
// to the queue. DelaySeconds - returns the default delay on the queue in seconds.
// ReceiveMessageWaitTimeSeconds - returns the time for which a ReceiveMessage
// call will wait for a message to arrive. RedrivePolicy - returns the parameters
// for dead letter queue functionality of the source queue. For more information
// about RedrivePolicy and dead letter queues, see Using Amazon SQS Dead Letter
// Queues (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html)
@ -389,9 +381,7 @@ func (c *SQS) GetQueueAttributesRequest(input *GetQueueAttributesInput) (req *re
// handle new attributes gracefully. Some API actions take lists of parameters.
// These lists are specified using the param.n notation. Values of n are integers
// starting from 1. For example, a parameter list with two elements looks like
// this: &Attribute.1=this
//
// &Attribute.2=that
// this:
func (c *SQS) GetQueueAttributes(input *GetQueueAttributesInput) (*GetQueueAttributesOutput, error) {
req, out := c.GetQueueAttributesRequest(input)
err := req.Send()
@ -708,9 +698,7 @@ func (c *SQS) SendMessageBatchRequest(input *SendMessageBatchInput) (req *reques
// returns an HTTP status code of 200. Some API actions take lists of parameters.
// These lists are specified using the param.n notation. Values of n are integers
// starting from 1. For example, a parameter list with two elements looks like
// this: &Attribute.1=this
//
// &Attribute.2=that
// this:
func (c *SQS) SendMessageBatch(input *SendMessageBatchInput) (*SendMessageBatchOutput, error) {
req, out := c.SendMessageBatchRequest(input)
err := req.Send()
@ -886,11 +874,9 @@ func (s ChangeMessageVisibilityBatchOutput) GoString() string {
// starting with 1. For example, a parameter list for this action might look
// like this:
//
// &ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2
//
// &ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=Your_Receipt_Handle
//
// &ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45
// Your_Receipt_Handle]]>
type ChangeMessageVisibilityBatchRequestEntry struct {
_ struct{} `type:"structure"`
@ -981,19 +967,19 @@ type CreateQueueInput struct {
// The following lists the names, descriptions, and values of the special request
// parameters the CreateQueue action uses:
//
// DelaySeconds - The time in seconds that the delivery of all messages
// in the queue will be delayed. An integer from 0 to 900 (15 minutes). The
// default for this attribute is 0 (zero). MaximumMessageSize - The limit of
// how many bytes a message can contain before Amazon SQS rejects it. An integer
// from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this
// attribute is 262144 (256 KiB). MessageRetentionPeriod - The number of seconds
// Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute)
// to 1209600 (14 days). The default for this attribute is 345600 (4 days).
// Policy - The queue's policy. A valid AWS policy. For more information about
// policy structure, see Overview of AWS IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html)
// in the Amazon IAM User Guide. ReceiveMessageWaitTimeSeconds - The time for
// DelaySeconds - The time in seconds that the delivery of all messages in
// the queue will be delayed. An integer from 0 to 900 (15 minutes). The default
// for this attribute is 0 (zero). MaximumMessageSize - The limit of how many
// bytes a message can contain before Amazon SQS rejects it. An integer from
// 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute
// is 262144 (256 KiB). MessageRetentionPeriod - The number of seconds Amazon
// SQS retains a message. Integer representing seconds, from 60 (1 minute) to
// 1209600 (14 days). The default for this attribute is 345600 (4 days). Policy
// - The queue's policy. A valid AWS policy. For more information about policy
// structure, see Overview of AWS IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html)
// in the Amazon IAM User Guide. ReceiveMessageWaitTimeSeconds - The time for
// which a ReceiveMessage call will wait for a message to arrive. An integer
// from 0 to 20 (seconds). The default for this attribute is 0. VisibilityTimeout
// from 0 to 20 (seconds). The default for this attribute is 0. VisibilityTimeout
// - The visibility timeout for the queue. An integer from 0 to 43200 (12 hours).
// The default for this attribute is 30. For more information about visibility
// timeout, see Visibility Timeout (http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html)
@ -1460,13 +1446,13 @@ type ReceiveMessageInput struct {
// The following lists the names and descriptions of the attributes that can
// be returned:
//
// All - returns all values. ApproximateFirstReceiveTimestamp - returns
// the time when the message was first received from the queue (epoch time in
// milliseconds). ApproximateReceiveCount - returns the number of times a message
// has been received from the queue but not deleted. SenderId - returns the
// AWS account number (or the IP address, if anonymous access is allowed) of
// the sender. SentTimestamp - returns the time when the message was sent to
// the queue (epoch time in milliseconds).
// All - returns all values. ApproximateFirstReceiveTimestamp - returns the
// time when the message was first received from the queue (epoch time in milliseconds).
// ApproximateReceiveCount - returns the number of times a message has been
// received from the queue but not deleted. SenderId - returns the AWS account
// number (or the IP address, if anonymous access is allowed) of the sender.
// SentTimestamp - returns the time when the message was sent to the queue (epoch
// time in milliseconds).
AttributeNames []*string `locationNameList:"AttributeName" type:"list" flattened:"true"`
// The maximum number of messages to return. Amazon SQS never returns more messages
@ -1745,22 +1731,22 @@ type SetQueueAttributesInput struct {
// The following lists the names, descriptions, and values of the special request
// parameters the SetQueueAttributes action uses:
//
// DelaySeconds - The time in seconds that the delivery of all messages
// in the queue will be delayed. An integer from 0 to 900 (15 minutes). The
// default for this attribute is 0 (zero). MaximumMessageSize - The limit of
// how many bytes a message can contain before Amazon SQS rejects it. An integer
// from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this
// attribute is 262144 (256 KiB). MessageRetentionPeriod - The number of seconds
// Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute)
// to 1209600 (14 days). The default for this attribute is 345600 (4 days).
// Policy - The queue's policy. A valid AWS policy. For more information about
// policy structure, see Overview of AWS IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html)
// in the Amazon IAM User Guide. ReceiveMessageWaitTimeSeconds - The time for
// DelaySeconds - The time in seconds that the delivery of all messages in
// the queue will be delayed. An integer from 0 to 900 (15 minutes). The default
// for this attribute is 0 (zero). MaximumMessageSize - The limit of how many
// bytes a message can contain before Amazon SQS rejects it. An integer from
// 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute
// is 262144 (256 KiB). MessageRetentionPeriod - The number of seconds Amazon
// SQS retains a message. Integer representing seconds, from 60 (1 minute) to
// 1209600 (14 days). The default for this attribute is 345600 (4 days). Policy
// - The queue's policy. A valid AWS policy. For more information about policy
// structure, see Overview of AWS IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html)
// in the Amazon IAM User Guide. ReceiveMessageWaitTimeSeconds - The time for
// which a ReceiveMessage call will wait for a message to arrive. An integer
// from 0 to 20 (seconds). The default for this attribute is 0. VisibilityTimeout
// from 0 to 20 (seconds). The default for this attribute is 0. VisibilityTimeout
// - The visibility timeout for the queue. An integer from 0 to 43200 (12 hours).
// The default for this attribute is 30. For more information about visibility
// timeout, see Visibility Timeout in the Amazon SQS Developer Guide. RedrivePolicy
// timeout, see Visibility Timeout in the Amazon SQS Developer Guide. RedrivePolicy
// - The parameters for dead letter queue functionality of the source queue.
// For more information about RedrivePolicy and dead letter queues, see Using
// Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.